TBasicPropertiesClient Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicPropertiesClient:
TBasicUnknown IChangeListener IPropertiesClient TMCObject IMCUnknown IMCUnknown IMCUnknown

List of all members.

Public Member Functions

 TBasicPropertiesClient (IPropertiesModule *inPropertiesModule)
 ~TBasicPropertiesClient ()
MCCOMErr MCCOMAPI QueryInterface (const MCIID &riid, void **ppvObj)
uint32 MCCOMAPI AddRef ()
uint32 MCCOMAPI Release ()
void MCCOMAPI DataChanged (IChangeChannel *channel, IDType changeKind, IMCUnknown *changedData)
void MCCOMAPI GetSelectionChannel (IChangeChannel **outChannel)
ResourceID MCCOMAPI GetToolPropResID ()
int32 MCCOMAPI GetToolTabSize ()
void MCCOMAPI LoadPageData (IMFPart *inTopPart)
void MCCOMAPI LoadToolPageData (IMFPart *inTopPart)
boolean MCCOMAPI HandlePageHit (IMFPart *inTopPart, int32 inMessage, IMFResponder *inResponder, void *inData)
boolean MCCOMAPI HandleToolPageHit (IMFPart *inTopPart, int32 inMessage, IMFResponder *inResponder, void *inData)
void MCCOMAPI GetExtraPart (IMFPart **outExtraPart)
void MCCOMAPI GetExtraTabs (TMCClassArray< TPropertyTab > &extraTabs)
void MCCOMAPI ExtraTabsLoaded (IMFPart *inHostPart)
void MCCOMAPI UnLoadProperties (IMFSplitBarPart *inPropertiesSplitBar)
void MCCOMAPI PreLoadProperties (IMFSplitBarPart *inPropertiesSplitBar)
void MCCOMAPI Validate ()

Protected Member Functions

virtual void GetPreferedSplit (int32 &outPreferedSize, boolean &outForTopPart)=0
virtual void StorePreferedSplit (int32 inPreferedSize)=0

Protected Attributes

TMCCountedPtr< IPropertiesModulefPropertiesModule

Detailed Description

Basic Properties Client class. Derive from this for a default implementation of IPropertiesClient. Don't forget STANDARD_RELEASE in your derived class.

See also:
IPropertiesClient

Constructor & Destructor Documentation

TBasicPropertiesClient::TBasicPropertiesClient ( IPropertiesModule inPropertiesModule  ) 
TBasicPropertiesClient::~TBasicPropertiesClient (  ) 

Member Function Documentation

uint32 MCCOMAPI TBasicPropertiesClient::AddRef (  )  [inline, virtual]

Increments the reference count of the object

Reimplemented from TBasicUnknown.

void MCCOMAPI TBasicPropertiesClient::DataChanged ( IChangeChannel channel,
IDType  changeKind,
IMCUnknown changedData 
) [inline, virtual]

This function is called when a change has been posted on a channel on which this IChangeListener registered itself.

Parameters:
channel The channel that is notifying of the change.
changeKind The kind of change.
changedData Data associated with the type of change.

Implements IChangeListener.

void MCCOMAPI TBasicPropertiesClient::ExtraTabsLoaded ( IMFPart inHostPart  )  [inline, virtual]

Tells the client that the extra tabs have been loaded

Parameters:
inHostPart The properties host part (so you can find things by ID if you need to)

Implements IPropertiesClient.

void MCCOMAPI TBasicPropertiesClient::GetExtraPart ( IMFPart **  outExtraPart  )  [virtual]

This is called when the properties module needs the extra part that will be placed above the tabs part in the properties window. If you do not want any extra part, return NULL in outExtraPart.

Note:
The properties module will handle the addition and removal of the part from the host - however, the properties client is in charge of calling CallPrepareToDestroy (typically when it is destroyed), so keep a reference to the extra part.
The Extra Part should have left and right constraints so that it is properly refreshed when the drawer is opened.
Parameters:
outExtraPart Returns a pointer to the extra part.

Implements IPropertiesClient.

void MCCOMAPI TBasicPropertiesClient::GetExtraTabs ( TMCClassArray< TPropertyTab > &  extraTabs  )  [virtual]

Returns the list of the extra tabs that are to be displayed under the regular properties tabs.

Parameters:
extraTabs Returns the additional tabs to be displayed under the regular properties tabs.

Implements IPropertiesClient.

virtual void TBasicPropertiesClient::GetPreferedSplit ( int32 &  outPreferedSize,
boolean outForTopPart 
) [protected, pure virtual]
void MCCOMAPI TBasicPropertiesClient::GetSelectionChannel ( IChangeChannel **  outChannel  )  [virtual]

Called when the properties module needs to know the selection channel associated with this client. Note: remember to AddRef outChannel before returning!

Parameters:
outChannel 

Implements IPropertiesClient.

ResourceID MCCOMAPI TBasicPropertiesClient::GetToolPropResID (  )  [inline, virtual]

This is called when a tool changes, and should return the resource ID of the 'Prop' resource containing the pages to be loaded.

Implements IPropertiesClient.

int32 MCCOMAPI TBasicPropertiesClient::GetToolTabSize (  )  [inline, virtual]

Returns the size of the tool tabs (or 0 if not visible).

Implements IPropertiesClient.

boolean MCCOMAPI TBasicPropertiesClient::HandlePageHit ( IMFPart inTopPart,
int32  inMessage,
IMFResponder inResponder,
void *  inData 
) [inline, virtual]

This is called when a user event happens inside the client's pages (e.g. a slider moved or a text edit field was validated). This function is similar to IMFExResponder::Receive() (the last three arguments are the same), and should take the appropriate changed data and post an undoable action to make the change in the selection.

Parameters:
inTopPart Pointer to host part in which the Properties Client sits.
inMessage Message passed by the event. See EMFPartMessage
inResponder Pointer to responder that initiated the event.
inData Data passed along with the event.
Returns:
true if the event has been handled, and false otherwise.

Implements IPropertiesClient.

boolean MCCOMAPI TBasicPropertiesClient::HandleToolPageHit ( IMFPart inTopPart,
int32  inMessage,
IMFResponder inResponder,
void *  inData 
) [inline, virtual]

This is called when a user even happens inside the client's tool pages (e.g. a slider moved or a text edit field was validated). This function is similar to IMFExResponder::Receive() (the last three arguments are the same), and should take the appropriate changed data and post an undoable action to make the change in the selection.

Parameters:
inTopPart Pointer to host part in which the Properties Client sits.
inMessage Message passed by the event. See EMFPartMessage
inResponder Pointer to responder that initiated the event.
inData Data passed along with the event.
Returns:
true if the event has been handled, and false otherwise.

Implements IPropertiesClient.

void MCCOMAPI TBasicPropertiesClient::LoadPageData ( IMFPart inTopPart  )  [inline, virtual]

This is called when the Properties Client's pages need to be loaded.

Parameters:
inTopPart Pointer to the Part that will hold the pages.

Implements IPropertiesClient.

void MCCOMAPI TBasicPropertiesClient::LoadToolPageData ( IMFPart inTopPart  )  [inline, virtual]

This is called when the Properties Client's tool pages need to be loaded.

Parameters:
inTopPart Pointer to the Part that will hold the pages.

Implements IPropertiesClient.

void MCCOMAPI TBasicPropertiesClient::PreLoadProperties ( IMFSplitBarPart inPropertiesSplitBar  )  [virtual]

Called when the client is about to be put in the properties. The client should set the splitbar to the position it prefers for it.

Parameters:
inPropertiesSplitBar Pointer to the properties window split bar part.

Implements IPropertiesClient.

MCCOMErr MCCOMAPI TBasicPropertiesClient::QueryInterface ( const MCIID riid,
void **  ppvObj 
) [virtual]

Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.

Parameters:
riid GUID of the interface
ppvObj A pointer to the pointer being returned.

Reimplemented from TBasicUnknown.

uint32 MCCOMAPI TBasicPropertiesClient::Release (  )  [virtual]

Decrements the reference count of the object. If the reference count reaches zero, the object is destroyed.

Implements IMCUnknown.

virtual void TBasicPropertiesClient::StorePreferedSplit ( int32  inPreferedSize  )  [protected, pure virtual]
void MCCOMAPI TBasicPropertiesClient::UnLoadProperties ( IMFSplitBarPart inPropertiesSplitBar  )  [virtual]

Called when the client is removed from the properties so that it can release references it shouldn't keep

Parameters:
inPropertiesSplitBar Pointer to the properties window split bar. Use to store its position in the client's preferences.

Implements IPropertiesClient.

void MCCOMAPI TBasicPropertiesClient::Validate (  )  [inline, virtual]

Called during the validation of the property module (usually before drawing the UI) => this is the place where you should load panels invalidated during a data changed

Implements IPropertiesClient.


Member Data Documentation


The documentation for this class was generated from the following file:
Generated on Mon Apr 26 22:47:58 2010 for Carrara SDK Doc by  doxygen 1.6.3