# IPropertiesClient Struct Reference
[Shell Interfaces]

Inheritance diagram for IPropertiesClient:

List of all members.

## Public Member Functions
virtual void MCCOMAPI | GetSelectionChannel (IChangeChannel **outChannel)=0
virtual IDType MCCOMAPI | GetControllingModuleID ()=0
virtual ResourceID MCCOMAPI | GetPropResID ()=0
virtual ResourceID MCCOMAPI | GetToolPropResID ()=0
virtual int32 MCCOMAPI | GetToolTabSize ()=0
virtual void MCCOMAPI | LoadPageData (IMFPart *inTopPart)=0
virtual void MCCOMAPI | LoadToolPageData (IMFPart *inTopPart)=0
virtual boolean MCCOMAPI | HandlePageHit (IMFPart *inTopPart, int32 inMessage, IMFResponder *inResponder, void *inData)=0
virtual boolean MCCOMAPI | HandleToolPageHit (IMFPart *inTopPart, int32 inMessage, IMFResponder *inResponder, void *inData)=0
virtual void MCCOMAPI | GetExtraPart (IMFPart **outExtraPart)=0
virtual void MCCOMAPI | GetExtraTabs (TMCClassArray< TPropertyTab > &extraTabs)=0
virtual void MCCOMAPI | ExtraTabsLoaded (IMFPart *inHostPart)=0
virtual void MCCOMAPI | UnLoadProperties (IMFSplitBarPart *inPropertiesSplitBar)=0
virtual void MCCOMAPI | PreLoadProperties (IMFSplitBarPart *inPropertiesSplitBar)=0
virtual void MCCOMAPI | Validate ()=0

## Detailed Description

The properties client that hosts the properties of the current selected object. The properties are displayed as one or more tabs. Above the tabs, an optional "Extra Part" can be displayed.

## Member Function Documentation

virtual void MCCOMAPI IPropertiesClient::ExtraTabsLoaded | ( | IMFPart * | inHostPart | ) | `[pure 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)

Implemented in TBasicPropertiesClient.

virtual IDType MCCOMAPI IPropertiesClient::GetControllingModuleID | ( |  | ) | `[pure virtual]`

Called when the properties module needs to know the ID of the controlling module. This is used to set up component resources, etc.

virtual void MCCOMAPI IPropertiesClient::GetExtraPart | ( | IMFPart ** | outExtraPart | ) | `[pure 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.

Implemented in TBasicPropertiesClient.

virtual void MCCOMAPI IPropertiesClient::GetExtraTabs | ( | TMCClassArray< TPropertyTab > & | extraTabs | ) | `[pure 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.

Implemented in TBasicPropertiesClient.

virtual ResourceID MCCOMAPI IPropertiesClient::GetPropResID | ( |  | ) | `[pure virtual]`

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

virtual void MCCOMAPI IPropertiesClient::GetSelectionChannel | ( | IChangeChannel ** | outChannel | ) | `[pure 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 |

Implemented in TBasicPropertiesClient.

virtual ResourceID MCCOMAPI IPropertiesClient::GetToolPropResID | ( |  | ) | `[pure virtual]`

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

Implemented in TBasicPropertiesClient.

virtual int32 MCCOMAPI IPropertiesClient::GetToolTabSize | ( |  | ) | `[pure virtual]`

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

Implemented in TBasicPropertiesClient.

virtual boolean MCCOMAPI IPropertiesClient::HandlePageHit | ( | IMFPart * | inTopPart,
|  | int32 | inMessage,
|  | IMFResponder * | inResponder,
|  | void * | inData |
| ) |  |  | `[pure 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.

Implemented in TBasicPropertiesClient.

virtual boolean MCCOMAPI IPropertiesClient::HandleToolPageHit | ( | IMFPart * | inTopPart,
|  | int32 | inMessage,
|  | IMFResponder * | inResponder,
|  | void * | inData |
| ) |  |  | `[pure 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.

Implemented in TBasicPropertiesClient.

virtual void MCCOMAPI IPropertiesClient::LoadPageData | ( | IMFPart * | inTopPart | ) | `[pure 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.

Implemented in TBasicPropertiesClient.

virtual void MCCOMAPI IPropertiesClient::LoadToolPageData | ( | IMFPart * | inTopPart | ) | `[pure 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.

Implemented in TBasicPropertiesClient.

virtual void MCCOMAPI IPropertiesClient::PreLoadProperties | ( | IMFSplitBarPart * | inPropertiesSplitBar | ) | `[pure 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.

Implemented in TBasicPropertiesClient.

virtual void MCCOMAPI IPropertiesClient::UnLoadProperties | ( | IMFSplitBarPart * | inPropertiesSplitBar | ) | `[pure 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.

Implemented in TBasicPropertiesClient.

virtual void MCCOMAPI IPropertiesClient::Validate | ( |  | ) | `[pure 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

Implemented in TBasicPropertiesClient.

The documentation for this struct was generated from the following file:

- IPropertiesModule.h