Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members Related Pages

# ParamFileC Class Reference

File parameter class. More...

`#include <ParamI.h>`

Inheritance diagram for ParamFileC:

List of all members.

## Public Member Functions
virtual Edit::DataBlockI * | create ()
| Creates new parameter.
virtual Edit::DataBlockI * | create (Edit::EditableI *pOriginal)
| Creates new datablock, with reference to the original.
virtual void | copy (Edit::EditableI *pEditable)
| Deep copy from a data block, see Edit::DataBlockI::copy().
virtual void | restore (Edit::EditableI *pEditable)
| Shallow copy from a editable, see Edit::EditableI::restore().
virtual PajaTypes::uint32 | get_type () const
| Returns the type of the parameter.
virtual void | set_controller (ControllerC *cnt)
| Sets the controller of the parameter.
virtual ControllerC * | get_controller ()
| Returns the conroller attached to the parameter.
virtual void | set_style (PajaTypes::uint32 style)
| Sets the style of the parameter.
virtual PajaTypes::uint32 | get_style () const
| Returns the style of the parameter.
virtual void | set_id (PajaTypes::uint32 id)
| Sets the ID of the parmeter.
virtual PajaTypes::uint32 | get_id () const
| Returns the ID of the parameter.
virtual void | set_increment (PajaTypes::float32 inc)
| Sets the spinner increment of the parameter.
virtual PajaTypes::float32 | get_increment () const
| Returns the spinner increment.
virtual bool | get_min_max (PajaTypes::float32 *pMin, PajaTypes::float32 *pMax)
| Returns the range of the parameter.
virtual PajaTypes::uint32 | set_file (PajaTypes::int32 t, Import::FileHandleC *pHandle)
| Sets the file handle.
virtual Import::FileHandleC * | get_file (PajaTypes::int32 t)
| Returns the file handle.
virtual void | get_file (PajaTypes::int32 t, Import::FileHandleC *&pHandle, PajaTypes::int32 &i32FileTime)
| Returns the file handle and file evaluation time.
virtual PluginClass::SuperClassIdC | get_super_class_filter ()
| Returns the super class filter.
virtual PluginClass::ClassIdC | get_class_filter ()
| Returns the super filter.
virtual void | set_super_class_filter (PluginClass::SuperClassIdC rSuperClassId)
| Sets the super class filter.
virtual void | set_class_filter (PluginClass::ClassIdC rClassId)
| Sets the class filter.
virtual PajaTypes::uint32 | set_time_offset (PajaTypes::int32 t, PajaTypes::int32 i32TimeOffset)
| Sets the time offset which is used to display the file duration.
virtual PajaTypes::uint32 | set_time_scale (PajaTypes::int32 t, PajaTypes::float32 f32TimeScale)
| Sets the scaling factor which is used to scale the duration got from the file.
virtual PajaTypes::int32 | get_time_offset (PajaTypes::int32 t)
| Returns the time offset\. See: set_time_offset().
virtual PajaTypes::float32 | get_time_scale (PajaTypes::int32 t)
| Returns the time scale factor\. See: set_time_scale().
virtual PajaTypes::int32 | get_duration (PajaTypes::int32 t, PajaSystem::TimeContextC *pTimeContext)
| Returns the duration of the file.
virtual PajaTypes::float32 | get_start_label (PajaTypes::int32 t, PajaSystem::TimeContextC *pTimeContext)
| Returns start label/frame.
virtual PajaTypes::float32 | get_end_label (PajaTypes::int32 t, PajaSystem::TimeContextC *pTimeContext)
| Returns end label/frame.
virtual PajaTypes::uint32 | update_file_handles (Import::FileHandleC *pNewHandle)
| Used internally (updates all file handles this parameter has, including controller).
virtual void | update_file_references ()
| Used internally (updates all file handles' reference information this parameter has, including controller).
virtual PajaTypes::uint32 | save (FileIO::SaveC *pSave)
| Serialize the parameter to a Demopaja output stream.
virtual PajaTypes::uint32 | load (FileIO::LoadC *pLoad)
| Serialize the parameter from a Demopaja input stream.
## Static Public Member Functions
ParamFileC * | create_new (GizmoI *pParent, const char *szName, PluginClass::SuperClassIdC rSuperClassFilter, PluginClass::ClassIdC rClassFilter, PajaTypes::uint32 ui32ID, PajaTypes::uint32 ui32Style=PARAM_STYLE_FILE, bool bAnimatable=false)
| Creates a new file parameter.
## Protected Member Functions
| ParamFileC ()
| Default constructor.
| ParamFileC (GizmoI *pParent, const char *name, PluginClass::SuperClassIdC rSuperClassFilter, PluginClass::ClassIdC rClassFilter, PajaTypes::uint32 id, PajaTypes::uint32 style=PARAM_STYLE_EDITBOX, bool bAnimatable=true)
| Constructor.
| ParamFileC (Edit::EditableI *pOriginal)
| Constructor with reference to the original.
virtual | ~ParamFileC ()
| Default destructor.

## Detailed Description

File parameter class.

The file parameter provodes access to the imported files in the Demopaja system for the effect plugins.

Range and spinner increment are not used.

A new file parameter is created using the create_new() static method.

## Constructor & Destructor Documentation

ParamFileC | ( |  | ) | `[protected]`

| Default constructor.

ParamFileC | ( | GizmoI * | pParent,
|  | const char * | name,
|  | PluginClass::SuperClassIdC | rSuperClassFilter,
|  | PluginClass::ClassIdC | rClassFilter,
|  | PajaTypes::uint32 | id,
|  | PajaTypes::uint32 | style = PARAM_STYLE_EDITBOX,
|  | bool | bAnimatable = true
| ) | `[protected]`

| Constructor.

ParamFileC | ( | Edit::EditableI * | pOriginal | ) | `[protected]`

| Constructor with reference to the original.

virtual ~ParamFileC | ( |  | ) | `[protected, virtual]`

| Default destructor.

## Member Function Documentation

virtual void copy | ( | Edit::EditableI * | pEditable | ) | `[virtual]`

| Deep copy from a data block, see Edit::DataBlockI::copy(). Reimplemented from ParamI.

virtual Edit::DataBlockI* create | ( | Edit::EditableI * | pOriginal | ) | `[virtual]`

  | Creates new datablock, with reference to the original. Parameters:
  pOriginal | Pointer to the original editable. This method is used by the undo system to create a copy of the editable while keeping reference to the original.
The method restore() is used to restore the data from the original copy. Implements EditableI.

virtual Edit::DataBlockI* create | ( |  | ) | `[virtual]`

| Creates new parameter. Following default values are used:
                pParent = 0,
                rSuperClassFilter = NULL_SUPERCLASSID,
                rClassFilter = NULL_CLASSID,
                ui32ID = 0,
                ui32Style = 0,
                bAnimatable = false
See also: create_new Implements EditableI.

ParamFileC* create_new | ( | GizmoI * | pParent,
|  | const char * | szName,
|  | PluginClass::SuperClassIdC | rSuperClassFilter,
|  | PluginClass::ClassIdC | rClassFilter,
|  | PajaTypes::uint32 | ui32ID,
|  | PajaTypes::uint32 | ui32Style = PARAM_STYLE_FILE,
|  | bool | bAnimatable = false
| ) | `[static]`

  | Creates a new file parameter. Parameters:
  pParent | Pointer to the parent gizmo.
  rSuperClassFilter | Specifies super class filter.
  rClassFilter | Specifies class filter.
  ui32ID | ID of the parameter.
  ui32Style | The style of the parameter. Must be PARAM_STYLE_FILE. Default PARAM_STYLE_FILE.
The only type-in style is file selector. The super class filter and class filter enables only a defined set of files to be set via this parameter. For example if the superclass filter is SUPERCLASS_IMAGE all the files that are selected via this parameter implement the Import::ImportableImageI interface. Passing null (super) class ID disables the filtering. Example 1: This example creates new parameter. The name of the parameter is "Image", it's super class filter is set to enable only files which support the ImportableImageI interface, any sub-type can be used. Parameter's ID is ID_IMAGE (constant defined by the plugin writer), the type-in style is the default file selector.
                m_pParamFile = ParamFileC::create_new( this, "Image", SUPERCLASS_IMAGE, NULL_CLASSID, ID_IMAGE );
Example 2: This example creates new parameter. The name of the parameter is "Scene", the class filters are set to enable only specified file type to be set. Parameter's ID is ID_SCENE (constant defined by the plugin writer), the type-in style is the default file selector.
                m_pParamFile = ParamFileC::create_new( this, "Scene", NULL_SUPERCLASSID, MY_3DFILE_CLASSID, ID_3DSCENE );

virtual PluginClass::ClassIdC get_class_filter | ( |  | ) | `[virtual]`

| Returns the super filter.

virtual ControllerC* get_controller | ( |  | ) | `[virtual]`

| Returns the conroller attached to the parameter. NULL is returned if the parameter cannot be animated. Implements ParamI.

virtual PajaTypes::int32 get_duration | ( | PajaTypes::int32 | t,
|  | PajaSystem::TimeContextC * | pTimeContext
| ) | `[virtual]`

| Returns the duration of the file. If the duration cannot be determined (for example the data is a still image) negative value is returned. This information is used by the system to draw the duration of the file. See also: set_time_scale() set_time_offset()

virtual PajaTypes::float32 get_end_label | ( | PajaTypes::int32 | t,
|  | PajaSystem::TimeContextC * | pTimeContext
| ) | `[virtual]`

| Returns end label/frame.

virtual void get_file | ( | PajaTypes::int32 | t,
|  | Import::FileHandleC *& | pHandle,
|  | PajaTypes::int32 & | i32FileTime
| ) | `[virtual]`

| Returns the file handle and file evaluation time.

virtual Import::FileHandleC* get_file | ( | PajaTypes::int32 | t | ) | `[virtual]`

| Returns the file handle.

virtual PajaTypes::uint32 get_id | ( |  | ) | const`[virtual]`

| Returns the ID of the parameter. Implements ParamI.

virtual PajaTypes::float32 get_increment | ( |  | ) | const`[virtual]`

| Returns the spinner increment. Implements ParamI.

virtual bool get_min_max | ( | PajaTypes::float32 * | pMin,
|  | PajaTypes::float32 * | pMax
| ) | `[virtual]`

  | Returns the range of the parameter. Parameters:
  pMin | pointer to a array of maximum of KEY_MAXCHANNEL floats.
  pMax | pointer to a array of maximum of KEY_MAXCHANNEL floats.
If the type of the parameter id not know use arrays of KEY_MAXCHANNEL floats. Returns: true if the range is valid, false if the range is not used. Implements ParamI.

virtual PajaTypes::float32 get_start_label | ( | PajaTypes::int32 | t,
|  | PajaSystem::TimeContextC * | pTimeContext
| ) | `[virtual]`

| Returns start label/frame.

virtual PajaTypes::uint32 get_style | ( |  | ) | const`[virtual]`

| Returns the style of the parameter. Implements ParamI.

virtual PluginClass::SuperClassIdC get_super_class_filter | ( |  | ) | `[virtual]`

| Returns the super class filter.

virtual PajaTypes::int32 get_time_offset | ( | PajaTypes::int32 | t | ) | `[virtual]`

| Returns the time offset\. See: set_time_offset().

virtual PajaTypes::float32 get_time_scale | ( | PajaTypes::int32 | t | ) | `[virtual]`

| Returns the time scale factor\. See: set_time_scale().

virtual PajaTypes::uint32 get_type | ( |  | ) | const`[virtual]`

| Returns the type of the parameter. Implements ParamI.

virtual PajaTypes::uint32 load | ( | FileIO::LoadC * | pLoad | ) | `[virtual]`

| Serialize the parameter from a Demopaja input stream. Reimplemented from ParamI.

virtual void restore | ( | Edit::EditableI * | pEditable | ) | `[virtual]`

| Shallow copy from a editable, see Edit::EditableI::restore(). Reimplemented from ParamI.

virtual PajaTypes::uint32 save | ( | FileIO::SaveC * | pSave | ) | `[virtual]`

| Serialize the parameter to a Demopaja output stream. Reimplemented from ParamI.

virtual void set_class_filter | ( | PluginClass::ClassIdC | rClassId | ) | `[virtual]`

| Sets the class filter.

virtual void set_controller | ( | ControllerC * | cnt | ) | `[virtual]`

| Sets the controller of the parameter. Implements ParamI.

virtual PajaTypes::uint32 set_file | ( | PajaTypes::int32 | t,
|  | Import::FileHandleC * | pHandle
| ) | `[virtual]`

| Sets the file handle.

virtual void set_id | ( | PajaTypes::uint32 | id | ) | `[virtual]`

| Sets the ID of the parmeter. Implements ParamI.

virtual void set_increment | ( | PajaTypes::float32 | inc | ) | `[virtual]`

| Sets the spinner increment of the parameter. The spinner increment is the smallest value the parameter is meant to control. For 1/10th accuracy use spinner increment of 0.1. The spinner increment is used in the spinners of the type-ins and also to draw the values in the GUI. Implements ParamI.

virtual void set_style | ( | PajaTypes::uint32 | style | ) | `[virtual]`

| Sets the style of the parameter. Implements ParamI.

virtual void set_super_class_filter | ( | PluginClass::SuperClassIdC | rSuperClassId | ) | `[virtual]`

| Sets the super class filter.

virtual PajaTypes::uint32 set_time_offset | ( | PajaTypes::int32 | t,
|  | PajaTypes::int32 | i32TimeOffset
| ) | `[virtual]`

| Sets the time offset which is used to display the file duration. See also: set_time_scale()

virtual PajaTypes::uint32 set_time_scale | ( | PajaTypes::int32 | t,
|  | PajaTypes::float32 | f32TimeScale
| ) | `[virtual]`

| Sets the scaling factor which is used to scale the duration got from the file. See also: set_time_offset()

virtual PajaTypes::uint32 update_file_handles | ( | Import::FileHandleC * | pNewHandle | ) | `[virtual]`

| Used internally (updates all file handles this parameter has, including controller).

virtual void update_file_references | ( |  | ) | `[virtual]`

| Used internally (updates all file handles' reference information this parameter has, including controller).