# TBasicPart Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicPart:

List of all members.

## Public Member Functions
| TBasicPart ()
virtual MCCOMErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj)
virtual uint32 MCCOMAPI | AddRef ()
virtual void MCCOMAPI | ValidateCaches ()
virtual void MCCOMAPI | SelfActivate (boolean beActive)
virtual void MCCOMAPI | SetShown (boolean inShown)
virtual void MCCOMAPI | BaseWindowBecameVisible (boolean inShown)
virtual boolean MCCOMAPI | SelfMouseMoved (const TMCPoint &inWhere, const TMCModifiers &inModifiers)
virtual void MCCOMAPI | SelfMouseEntering (const TMCPoint &inWhere, const TMCModifiers &inModifiers)
virtual void MCCOMAPI | SelfMouseStillInside (const TMCPoint &inWhere, const TMCModifiers &inModifiers)
virtual void MCCOMAPI | SelfMouseLeaving (const TMCModifiers &inModifiers)
virtual TMFEventResult MCCOMAPI | SelfMouseDown (const TMCPoint &inWhere, const TMCPlatformEvent &inEvent)
virtual boolean MCCOMAPI | SelfContextMouseDown (const TMCPoint &inWhere, const TMCPlatformEvent &inEvent)
virtual boolean MCCOMAPI | SelfMiddleMouseDown (const TMCPoint &inWhere, const TMCPlatformEvent &inEvent)
virtual void MCCOMAPI | SelfTrackDragAndDropEntering (const TMCPoint &inWhere, const TMFDragFlavors &inOfferedTypeList)
virtual void MCCOMAPI | SelfTrackDragAndDropStillInside (const TMCPoint &inWhere, const TMFDragFlavors &inOfferedTypeList)
virtual void MCCOMAPI | SelfTrackDragAndDropLeaving (const TMFDragFlavors &inOfferedTypeList)
virtual boolean MCCOMAPI | SelfMouseWheel (const TMCPoint &inWhere, const TMCModifiers &inModifiers, int16 inWheelDelta)
virtual void MCCOMAPI | SelfDraw (IMCGraphicContext *inContext, const TMCRect &inUpdateBBox)
virtual void MCCOMAPI | SelfPrepareToDestroy ()
virtual void MCCOMAPI | FinishRead ()
virtual void MCCOMAPI | FinishCreateFromResource ()
virtual TMCPlatformWindow *MCCOMAPI | GetPlatformWindow ()
virtual void MCCOMAPI | FillContextualMenu (IMFMenu *inMenu)
virtual boolean MCCOMAPI | OverridesContextualMenuID ()
virtual ResourceID MCCOMAPI | GetContextualMenuID ()
virtual boolean MCCOMAPI | ParentChangedBounds (const TMCRect &oldBounds, const TMCRect &newBounds, boolean inval)
virtual void MCCOMAPI | GetDropArea (const TMCPoint &inWhere, IMFDropCandidate &inCandidate, IDType &outAcceptedFlavor, IMFDropArea **outDropArea, boolean &outDrawDropCandidate)
virtual boolean MCCOMAPI | GetValue (void *outValue, MFPartValueType inValueType) const
virtual boolean MCCOMAPI | SetValueLowLevel (const void *inValue, MFPartValueType inValueType)
virtual boolean MCCOMAPI | Receive (int32 message, IMFResponder *source, void *data)
virtual boolean MCCOMAPI | SelfMenuAction (ActionNumber actionNumber)
virtual void MCCOMAPI | SelfPrepareMenus ()
virtual boolean MCCOMAPI | SelfKeyDown (TMCPlatformEvent *event)
virtual void MCCOMAPI | SelfKeyUp (TMCPlatformEvent *event)
virtual boolean MCCOMAPI | SelfToolAction (int32 inOldTool, int32 inNewTool)
virtual boolean MCCOMAPI | GetToolDropCandidate (IMFDropCandidate **outDropCandidate, int32 inToolID, IMFToolbarPart *inToolbarPart)
virtual boolean MCCOMAPI | GetIndirectToolAction (IShMouseAction **outAction, ActionNumber &outActionNumber, IMFResponder **outContext, IMFPart **outPart, const TMCPoint &inWhere, int32 inToolID, IMFToolbarPart *inToolbarPart)
virtual boolean MCCOMAPI | ChangedBounds (const TMCRect &oldBounds, const TMCRect &newBounds, boolean inval)
virtual TComponentClass *MCCOMAPI | GetCursorID (const TMCPoint &inWhere, MFCursorID &outCursorID) const
virtual MFCursorID MCCOMAPI | GetCursorID (const TMCPoint &inWhere) const
virtual void MCCOMAPI | BecameFirstResponder (boolean on)
virtual boolean MCCOMAPI | ReadAttribute (int32 inKeyword, TMCiostream &inStream)
boolean | GetNeverCalledDestroy ()
IMFPart * | GetThisPartNoAddRef () const
virtual void | TrackMouse (const int16 stage, const TMCPoint &first, const TMCPoint &prev, const TMCPoint &cur)
void | BroadcastUp (MessageID message, void *data)
## Protected Attributes
TMCCountedPtr< IMFPart > | fThisPart
boolean | fNeverCalledDestroy

## Detailed Description

Basic Part class. Derive from this to get a default implementation of an IMFExPart.

See also:
  IMFExPart

## Constructor & Destructor Documentation

TBasicPart::TBasicPart | ( |  | ) |

## Member Function Documentation

virtual uint32 MCCOMAPI TBasicPart::AddRef | ( |  | ) | `[inline, virtual]`

Increments the reference count of the object

Reimplemented from TBasicUnknown.

Reimplemented in TBasic3DEditorHostPanePart, TBasicPreviewPart, and TBasicDropCandidate.

virtual void MCCOMAPI TBasicPart::BaseWindowBecameVisible | ( | boolean | inShown | ) | `[virtual]`

When the window that contains the part just became visible/invisible.

Implements IMFExPart.

Reimplemented in TBasic3DEditorHostPanePart.

virtual void MCCOMAPI TBasicPart::BecameFirstResponder | ( | boolean | on | ) | `[virtual]`

Implements IMFExResponder.

void TBasicPart::BroadcastUp | ( | MessageID | message,
|  | void * | data |
| ) |  |  |

virtual boolean MCCOMAPI TBasicPart::ChangedBounds | ( | const TMCRect & | oldBounds,
|  | const TMCRect & | newBounds,
|  | boolean | inval |
| ) |  |  | `[virtual]`

Notifies the EXPart that its bounds have changed. It is notification only. the internal has already adjusted

Parameters:

  | oldBounds | Old bounds of the part
  | newBounds | New bounds of the part
  | inval | True if the part should be invalidated.

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::FillContextualMenu | ( | IMFMenu * | inMenu | ) | `[inline, virtual]`

When the part's contextual menuid is kEmptyMenuID this function will be called so that you can dynamically fill it. SelfMenuAction will give you the chosen menu action

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::FinishCreateFromResource | ( |  | ) | `[inline, virtual]`

Override if you need to perform some initialisations that you couldn't do in FinishRead (eg because you need the part's parent).

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::FinishRead | ( |  | ) | `[virtual]`

Called just after reading the part from the resource.

Implements IMFExPart.

Reimplemented in TBasicPreviewPart.

virtual ResourceID MCCOMAPI TBasicPart::GetContextualMenuID | ( |  | ) | `[inline, virtual]`

Implements IMFExPart.

virtual MFCursorID MCCOMAPI TBasicPart::GetCursorID | ( | const TMCPoint & | inWhere | ) | const`[virtual]`

virtual TComponentClass* MCCOMAPI TBasicPart::GetCursorID | ( | const TMCPoint & | inWhere,
|  | MFCursorID & | outCursorID |
| ) |  |  | const`[inline, virtual]`

Returns the Identifier of the cursor that should be used when the mouse pointer is over the part.

Parameters:

  | inWhere | The position of the mouse cursor.
  | outCursorID | the Identifier of the cursor

Returns:
  a pointer to the component class the app needs to use in order to load the cursor's resource (very rarely needed). Returning null will use this (IMFExPart) resources.

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::GetDropArea | ( | const TMCPoint & | inWhere,
|  | IMFDropCandidate & | inCandidate,
|  | IDType & | outAcceptedFlavor,
|  | IMFDropArea ** | outDropArea,
|  | boolean & | outDrawDropCandidate |
| ) |  |  | `[virtual]`

Returns a pointer to a drop area for this part. Called when the users drops an object on the part.

Parameters:

  | inWhere | The position of the mouse
  | inCandidate | The object that is dropped
  | outAcceptedFlavor | Returns the type that is accepted if any.
  | outDropArea | Returns a drop area if there is one, NULL otherwise.
  | outDrawDropCandidate | Draw the drop candidate or not.

Implements IMFExPart.

virtual boolean MCCOMAPI TBasicPart::GetIndirectToolAction | ( | IShMouseAction ** | outAction,
|  | ActionNumber & | outActionNumber,
|  | IMFResponder ** | outContext,
|  | IMFPart ** | outPart,
|  | const TMCPoint & | inWhere,
|  | int32 | inToolID,
|  | IMFToolbarPart * | inToolbarPart |
| ) |  |  | `[virtual]`

Implements IMFExResponder.

boolean TBasicPart::GetNeverCalledDestroy | ( |  | ) | `[inline]`

virtual TMCPlatformWindow* MCCOMAPI TBasicPart::GetPlatformWindow | ( |  | ) | `[inline, virtual]`

Returns the plaform window attached to the part if any. Usually you do not need to implement this method. Return NULL if no platform windows is attached to this part in which the platform window of the parent window should be used

Implements IMFExPart.

IMFPart* TBasicPart::GetThisPartNoAddRef | ( |  | ) | const

virtual boolean MCCOMAPI TBasicPart::GetToolDropCandidate | ( | IMFDropCandidate ** | outDropCandidate,
|  | int32 | inToolID,
|  | IMFToolbarPart * | inToolbarPart |
| ) |  |  | `[virtual]`

Implements IMFExResponder.

virtual boolean MCCOMAPI TBasicPart::GetValue | ( | void * | outValue,
|  | MFPartValueType | inValueType |
| ) |  |  | const`[virtual]`

Returns the value of the part.

Returns:
  true if outValue is valid (i.e., the external part handled the GetValue) and false otherwise

Parameters:

  | outValue | A pointer to a buffer when the value should be stored.
  | inValueType | The type of value requested.

Implements IMFExPart.

virtual boolean MCCOMAPI TBasicPart::OverridesContextualMenuID | ( |  | ) | `[inline, virtual]`

Returns the part's contextual menu id. The id is meaningful only if OverridesContextualMenuID() returns true.

Implements IMFExPart.

virtual boolean MCCOMAPI TBasicPart::ParentChangedBounds | ( | const TMCRect & | oldBounds,
|  | const TMCRect & | newBounds,
|  | boolean | inval |
| ) |  |  | `[virtual]`

Called each time the bounds of the parent's part were changed.

Parameters:

  | oldBounds | The old bounds of the parent.
  | newBounds | The new bounds of the parent.
  | inval | True if the part should be invalidated.

Implements IMFExPart.

Reimplemented in TBasicPreviewPart.

virtual MCCOMErr MCCOMAPI TBasicPart::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.

Reimplemented in TBasic3DEditorHostPanePart, TBasicPreviewPart, and TBasicDropCandidate.

virtual boolean MCCOMAPI TBasicPart::ReadAttribute | ( | int32 | inKeyword,
|  | TMCiostream & | inStream |
| ) |  |  | `[inline, virtual]`

Reads an attribute of the part from a stream (file usually).

Parameters:

  | inKeyword | The keyword identifying the attribute.
  | inStream | The stream.

Returns:
  true if the attribute has been read.

Implements IMFExPart.

virtual boolean MCCOMAPI TBasicPart::Receive | ( | int32 | message,
|  | IMFResponder * | source,
|  | void * | data |
| ) |  |  | `[virtual]`

Implements IMFExResponder.

Reimplemented in TBasic3DEditorHostPanePart.

virtual void MCCOMAPI TBasicPart::SelfActivate | ( | boolean | beActive | ) | `[virtual]`

Called when the part is activated/deactivated.

Parameters:

  | beActive | True if the part is activated. False if it is deactivated.

Implements IMFExPart.

virtual boolean MCCOMAPI TBasicPart::SelfContextMouseDown | ( | const TMCPoint & | inWhere,
|  | const TMCPlatformEvent & | inEvent |
| ) |  |  | `[virtual]`

Handles a click with the right button of the mouse within the part's bounds

Parameters:

  | inWhere | point in local coordinates of the mouse down
  | inEvent | event information (like clickcount)

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::SelfDraw | ( | IMCGraphicContext * | inContext,
|  | const TMCRect & | inUpdateBBox |
| ) |  |  | `[virtual]`

Called to ask the part to draw itself.

Parameters:

  | inContext | The graphic context to use for the drawing.
  | inUpdateBBox | The rectangle that should be drawn.

Implements IMFExPart.

Reimplemented in TBasic3DEditorHostPanePart.

virtual boolean MCCOMAPI TBasicPart::SelfKeyDown | ( | TMCPlatformEvent * | event | ) | `[virtual]`

Implements IMFExResponder.

Reimplemented in TBasic3DEditorHostPanePart.

virtual void MCCOMAPI TBasicPart::SelfKeyUp | ( | TMCPlatformEvent * | event | ) | `[virtual]`

Implements IMFExResponder.

virtual boolean MCCOMAPI TBasicPart::SelfMenuAction | ( | ActionNumber | actionNumber | ) | `[virtual]`

Implements IMFExResponder.

virtual boolean MCCOMAPI TBasicPart::SelfMiddleMouseDown | ( | const TMCPoint & | inWhere,
|  | const TMCPlatformEvent & | inEvent |
| ) |  |  | `[virtual]`

Handles a click with the middle button of the mouse within the part's bounds

Parameters:

  | inWhere | point in local coordinates of the mouse down
  | inEvent | event information (like clickcount)

Implements IMFExPart.

virtual TMFEventResult MCCOMAPI TBasicPart::SelfMouseDown | ( | const TMCPoint & | inWhere,
|  | const TMCPlatformEvent & | inEvent |
| ) |  |  | `[virtual]`

Handles a click with the left button of the mouse within the part's bounds

Note: When the previous implementation returned a boolean result, you should now return TMFEventResult(result, result) in most cases.

Parameters:

  | inWhere | point in local coordinates of the mouse down
  | inEvent | event information (like clickcount)

Implements IMFExPart.

Reimplemented in TBasic3DEditorHostPanePart, and TBasicPreviewPart.

virtual void MCCOMAPI TBasicPart::SelfMouseEntering | ( | const TMCPoint & | inWhere,
|  | const TMCModifiers & | inModifiers |
| ) |  |  | `[virtual]`

Called when the mouse cursor enters the part.

Parameters:

  | inWhere | The position of the mouse.
  | inModifiers | The modifier keys (Shift, Ctrl...)

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::SelfMouseLeaving | ( | const TMCModifiers & | inModifiers | ) | `[virtual]`

Called when the mouse has just left the part.

Parameters:

  | inModifiers | The modifier keys (Shift, Ctrl...)

Implements IMFExPart.

virtual boolean MCCOMAPI TBasicPart::SelfMouseMoved | ( | const TMCPoint & | inWhere,
|  | const TMCModifiers & | inModifiers |
| ) |  |  | `[virtual]`

Called when the mouse has moved over the part.

Parameters:

  | inWhere | The position of the mouse.
  | inModifiers | The modifier keys (Shift, Ctrl...)

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::SelfMouseStillInside | ( | const TMCPoint & | inWhere,
|  | const TMCModifiers & | inModifiers |
| ) |  |  | `[virtual]`

Called when the mouse cursor moves inside the part.

Parameters:

  | inWhere | The position of the mouse.
  | inModifiers | The modifier keys (Shift, Ctrl...)

Implements IMFExPart.

virtual boolean MCCOMAPI TBasicPart::SelfMouseWheel | ( | const TMCPoint & | inWhere,
|  | const TMCModifiers & | inModifiers,
|  | int16 | inWheelDelta |
| ) |  |  | `[virtual]`

Overide this if you want to handle the mouse wheel. Return true if you handled it

Parameters:

  | inWhere | The position of the mouse cursor.
  | inModifiers | The state of the modifier keys (Shift, Ctrl,...)
  | inWheelDelta | The delta of the mouse wheel.

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::SelfPrepareMenus | ( |  | ) | `[virtual]`

Implements IMFExResponder.

virtual void MCCOMAPI TBasicPart::SelfPrepareToDestroy | ( |  | ) | `[virtual]`

Called when the part is about to be destroyed to give it an opportunity to release all counted references and caches.

Implements IMFExPart.

Reimplemented in TBasic3DEditorHostPanePart, and TBasicPreviewPart.

virtual boolean MCCOMAPI TBasicPart::SelfToolAction | ( | int32 | inOldTool,
|  | int32 | inNewTool |
| ) |  |  | `[virtual]`

Implements IMFExResponder.

virtual void MCCOMAPI TBasicPart::SelfTrackDragAndDropEntering | ( | const TMCPoint & | inWhere,
|  | const TMFDragFlavors & | inOfferedTypeList |
| ) |  |  | `[virtual]`

Function called when the mouse enters the Part during a drag and drop.

Parameters:

  | inWhere | Point in local coordinate space where the cursor is
  | inOfferedTypeList | Flavors offered by the current drop candiadate.

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::SelfTrackDragAndDropLeaving | ( | const TMFDragFlavors & | inOfferedTypeList | ) | `[virtual]`

Function called when the mouse leaves the Part during a drag and drop.

Parameters:

  | inOfferedTypeList | Flavors offered by the current drop candiadate.

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::SelfTrackDragAndDropStillInside | ( | const TMCPoint & | inWhere,
|  | const TMFDragFlavors & | inOfferedTypeList |
| ) |  |  | `[virtual]`

Function called when the mouse track within the Part during a drag and drop.

Parameters:

  | inWhere | Point in local coordinate space where the cursor is
  | inOfferedTypeList | Flavors offered by the current drop candiadate.

Implements IMFExPart.

virtual void MCCOMAPI TBasicPart::SetShown | ( | boolean | inShown | ) | `[virtual]`

Sets the visibility of the part.

Parameters:

  | inShown |

Implements IMFExPart.

Reimplemented in TBasic3DEditorHostPanePart.

virtual boolean MCCOMAPI TBasicPart::SetValueLowLevel | ( | const void * | inValue,
|  | MFPartValueType | inValueType |
| ) |  |  | `[virtual]`

Sets the value of the part.

Parameters:

  | inValue | A pointer to the value
  | inValueType | The type of the value

Returns:
  true if the value changed

Implements IMFExPart.

virtual void TBasicPart::TrackMouse | ( | const int16 | stage,
|  | const TMCPoint & | first,
|  | const TMCPoint & | prev,
|  | const TMCPoint & | cur |
| ) |  |  | `[inline, virtual]`

virtual void MCCOMAPI TBasicPart::ValidateCaches | ( |  | ) | `[inline, virtual]`

Tells us that we can validate our caches because we're going to need them in the next draw

Implements IMFExPart.

## Member Data Documentation

boolean TBasicPart::fNeverCalledDestroy`[protected]`

TMCCountedPtr<IMFPart> TBasicPart::fThisPart`[mutable, protected]`

Reimplemented in TBasicPreviewPart.

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

- BasicMCFCOMImplementations.h