HPropertyInfo Class Reference

Father class for all property UI contexts. More...

#include <HPropert.h>

Inheritance diagram for HPropertyInfo:

Inheritance graph
[legend]
List of all members.

Public Types

enum  DrawWhen {
  DRAWNEVER, DRAWALWAYS, DRAWIFSHADED, DRAWIFFLARES,
  DRAWIFMATERIALS, DRAWIFPARTICLES
}
enum  VisibleWhen {
  VISIBLENEVER, VISIBLEALWAYS, VISIBLECACHEONLY, VISIBLEINSTANCEONLY,
  VISIBLESOMETIMES
}

Public Member Functions

void operator delete (void *ptr)
void SetLocalizedName (const char *name)
 For backward comp with V9.0o and older.
void SetMatchName (const char *name)
 For backward comp with V9.0o and older.
void SetLocalizedName (const String &name)
void SetMatchName (const String &name)
String GetLocalizedName ()
String GetMatchName ()
void SetDocumentation (const char *doc)
DrawWhen GetDrawWhen ()
void SetDrawWhen (DrawWhen dw)
VisibleWhen GetVisibleWhen ()
void SetVisibleWhen (VisibleWhen vw)
BOOL IsConstant ()
void SetConstant (BOOL state)
BOOL IsReadOnly ()
void SetReadOnly (BOOL state)
BOOL IsReadOnlyOnCache ()
void SetReadOnlyOnCache (BOOL state)
BOOL IsReadOnlyOnInstance ()
void SetReadOnlyOnInstance (BOOL state)
BOOL IsAdvanced ()
void SetAdvanced (BOOL state)
BOOL IsSaveProperty ()
void SetSaveProperty (BOOL state)
BOOL IsNotifyAnimObjectValueChanged ()
void SetNotifyAnimObjectValueChanged (BOOL state)
BOOL IsDeletable ()
void SetDeletable (BOOL state)
void SetCacheAnimatable (BOOL state)
BOOL GetCacheAnimatable ()

Static Public Member Functions

static HPropertyInfoNew (const char *localizedname, const char *matchname)
static void DeleteHandle (HPropertyInfo *handle)

Detailed Description

Father class for all property UI contexts.

Classes under HPropertyInfo are used to supply a UI context for corresponding HProperty classes to be set and manipulated by the user in the PWS. Since the UI context is the same for each instance which uses the same property, the HPropertyInfo derived classes should be declared inside the application class. In other words inside the InitInstance of the CWinApp derived class.

Note:
In order for the HPropertyInfo derived classes and their associated HProperty derived classes property to show in the property panel of the PWS, the associated HProperty must be assigned an index through the DLLPlugin::GetPropertyAt.
See also:
HProperty, DLLPlugin::GetPropertyAt

Definition at line 23 of file HPropert.h.


Member Enumeration Documentation

enum HPropertyInfo::DrawWhen
 

Controls when the property will be displayed in the PWS for the user to enter values.

From the SDK point of view, a plugin possess a list of properties which are all grouped together inside a property panel. The panel is displayable by clicking on the little expand triangle that is visible on a node of the PWS tree.

A plugin property pannel may be accessible from different context. For example, the properties for a turbulence plugin may be accessible from a material node, from a material shortcut on a model or on a group and from a material shortcut on a model shortcut in choreography. For some particular properties, it may be desirable to let the user modify them only when inside a material node for instance.

See also:
HPropertyInfo::GetDrawWhen, HPropertyInfo::SetDrawWhen
Enumerator:
DRAWNEVER  The property will never be displayed in the PWS. This can be used for a plugin to store values that might be retrieved from call to call.
DRAWALWAYS  The property will always be displayed in the PWS, no matter the context in which the property panel is displayed.
DRAWIFSHADED 
DRAWIFFLARES 
DRAWIFMATERIALS  The property will only be displayed if the property panel is displayed inside a material node. It will not be displayed when the property panel is inside a material shortcut on a model or group or is inside a material shortcut on a model shortcut in choreography.
DRAWIFPARTICLES 

Definition at line 26 of file HPropert.h.

enum HPropertyInfo::VisibleWhen
 

Controls how a plugin can switch visibility of a property in the PWS for the user to enter values.

This is different than DrawWhen in that VisibleWhen imposes restriction on the actions of HProperty::Show during plugin execution.

See also:
HPropertyInfo::GetVisibleWhen, HPropertyInfo::SetVisibleWhen
Enumerator:
VISIBLENEVER  The property will never be visible. Even when HProperty::Show(TRUE) is called.
VISIBLEALWAYS  The property will always be visible. Even when HProperty::Show(FALSE) is called. This is the default visibility behavior.
VISIBLECACHEONLY  The property will be visible or hidden only when the property pannel is in the original model, material, etc. It will not be visible and cannot be made visible when on an instance of a model, a material, etc.
VISIBLEINSTANCEONLY  The property may only be made visible or hidden when the property pannel is on an instance (a shortcut) of an original model, material, etc. It will not be visible and cannot be made visible when on an original model, material, etc.
VISIBLESOMETIMES  The property may be visible or hidden as required by the plugin internal status by calling HProperty::Show.

Definition at line 27 of file HPropert.h.


Member Function Documentation

static void HPropertyInfo::DeleteHandle HPropertyInfo handle  )  [static]
 

BOOL HPropertyInfo::GetCacheAnimatable  ) 
 

DrawWhen HPropertyInfo::GetDrawWhen  ) 
 

See also:
HPropertyInfo::DrawWhen

String HPropertyInfo::GetLocalizedName  ) 
 

String HPropertyInfo::GetMatchName  ) 
 

VisibleWhen HPropertyInfo::GetVisibleWhen  ) 
 

See also:
HPropertyInfo::VisibleWhen

BOOL HPropertyInfo::IsAdvanced  ) 
 

Only shows up if user has Show Advanced Proerties on

BOOL HPropertyInfo::IsConstant  ) 
 

The property does not animate over time

BOOL HPropertyInfo::IsDeletable  ) 
 

BOOL HPropertyInfo::IsNotifyAnimObjectValueChanged  ) 
 

BOOL HPropertyInfo::IsReadOnly  ) 
 

Both cache and instanes are read only

BOOL HPropertyInfo::IsReadOnlyOnCache  ) 
 

Cache is read only meaning that the user will not be able to change the values of the cache's property. The user may be able to change the values of the instance's property though.

See also:
void HPropertyInfo::SetReadOnly(BOOL state)

void HPropertyInfo::SetReadOnlyOnInstance(BOOL state)

BOOL HPropertyInfo::IsReadOnlyOnInstance  ) 
 

Instance is read only meaning that the user will not be able to change the values of the instance's property. The user may be able to change the values of the cache's property though.

See also:
void HPropertyInfo::SetReadOnly(BOOL state)

void HPropertyInfo::SetReadOnlyOnCache(BOOL state)

BOOL HPropertyInfo::IsSaveProperty  ) 
 

HPropertyInfo * HPropertyInfo::New const char *  localizedname,
const char *  matchname
[static]
 

Creates a new HPropertyInfo or any of its derived class UI slot in a property panel in the PWS.

Parameters:
localizedname - String of text used to name the property as it will appear on the left column of the property panel in the PWS.
matchname - String used in the saved A:M file as a tag to identify and retrieve the saved property value.
See also:
HPropertyInfo::SetLocalizedName and HPropertyInfo::SetMatchName

Reimplemented in HBoolPropertyInfo, HAttrPropertyInfo, HFloatPropertyInfo, HPercentPropertyInfo, HIntPropertyInfo, HRotatePropertyInfo, HButtonPropertyInfo, HBiasPropertyInfo, HStringPropertyInfo, HFilenamePropertyInfo, HDirPropertyInfo, HTimePropertyInfo, HTimeRangePropertyInfo, HTransformPropertyInfo, HVectorPropertyInfo, HVectorPropertyNoSubsInfo, HVector2PropertyInfo, HColorPropertyInfo, HScalePropertyInfo, HTranslatePropertyInfo, HPointerPropertyInfo, HClipPropertyInfo, HGradientPropertyInfo, and HDataPropertyInfo.

void HPropertyInfo::operator delete void *  ptr  )  [inline]
 

Definition at line 30 of file HPropert.h.

void HPropertyInfo::SetAdvanced BOOL  state  ) 
 

Will only show up if user has Show Advanced Proerties on

void HPropertyInfo::SetCacheAnimatable BOOL  state  ) 
 

void HPropertyInfo::SetConstant BOOL  state  ) 
 

Constant will not animate over time

void HPropertyInfo::SetDeletable BOOL  state  ) 
 

void HPropertyInfo::SetDocumentation const char *  doc  ) 
 

void HPropertyInfo::SetDrawWhen DrawWhen  dw  ) 
 

See also:
HPropertyInfo::DrawWhen

void HPropertyInfo::SetLocalizedName const String name  ) 
 

Localized names are the names of properties that appears in the left column of the property panel in the PWS. This name should be retrieved from a string resource to allow easy localization (ie: translation). For example:

string.LoadString(IDS_BUMPSTRENGTH);
m_bumpinfo = HFloatPropertyInfo::SetLocalizedName( string, String("Bump Strength") );

void HPropertyInfo::SetLocalizedName const char *  name  ) 
 

For backward comp with V9.0o and older.

void HPropertyInfo::SetMatchName const String name  ) 
 

Match names are labels used to identify the property when the property value is stored in an A:M file (project, model, meterial, etc. files). Any HProperty derived class associated to a corresponding HPropertyInfo derived class will automatically have its properties values stored in the appropriate A:M file.

Match names should not be localized.

DLLPlugins derived classes also have the possibility to store and retrieve data other than properties with the Save and ParseArg functions.

See also:
DLLPlugin

void HPropertyInfo::SetMatchName const char *  name  ) 
 

For backward comp with V9.0o and older.

void HPropertyInfo::SetNotifyAnimObjectValueChanged BOOL  state  ) 
 

Use this to have HxtOnPtrMessage called for your property. This is a speed hit (it is slow) so only set it if you really want the function to be called.

void HPropertyInfo::SetReadOnly BOOL  state  ) 
 

Both cache and instanes will be read only meaning the user will not be able to change the values of the property

void HPropertyInfo::SetReadOnlyOnCache BOOL  state  ) 
 

User will not be able to change the value on the cache, SetReadOnly should be set to FALSE if you want the instances to be able to be editied

void HPropertyInfo::SetReadOnlyOnInstance BOOL  state  ) 
 

User will not be able to change the value on the instance, SetReadOnly should be set to FALSE if you want the caches to be able to be editied

void HPropertyInfo::SetSaveProperty BOOL  state  ) 
 

void HPropertyInfo::SetVisibleWhen VisibleWhen  vw  ) 
 

See also:
HPropertyInfo::VisibleWhen


The documentation for this class was generated from the following files:
This A:M SDK v12.0 documentation is maintained by Hash Inc. Please address any comments concerning this documentation to AMReports. If you have any information, knowledge, or documentation to share with the A:M developer community, please post them on the Hash SDK forum.

Generated on Thu Oct 27 11:46:57 2005 with doxygen 1.4.5 written by Dimitri van Heesch, © 1997-2001