Interface::MenuManipulator Class Reference

Interface::MenuManipulator Class Reference

#include <interface.h>

Class Description

Definition at line 114 of file interface.h.

+ Inheritance diagram for Interface::MenuManipulator:

Public Types

enum  MarkingMenuItemLocation {
  mmlocNorth, mmlocNorthwest, mmlocWest, mmlocSouthwest,
  mmlocSouth, mmlocSoutheast, mmlocEast, mmlocNortheast,
  mmlocOverflow
}
 
enum  CheckState { csChecked, csUnchecked, csNoCheckbox }
 
- Public Types inherited from Node
enum  DiagnosticLevel { dgnLevel1, dgnLevel2, dgnLevel3 }
 Indicates the level of validity checking that is performed in CheckValidity() More...
 

Public Member Functions

virtual MenuType Type (void) const
 Returns the type of the current menu. More...
 
virtual QMenuMenu (void) const
 Returns the associated QMenu object to the menu, which can be used to manipulate the menu. More...
 
virtual NodeObject (void) const
 Returns the associated object for the menu. This pointer is only valid for context menues, otherwise it is null. More...
 
virtual QString MarkingMenuID (void) const
 Returns the string ID of the current marking menu. Only valid if type is ddmMarking. More...
 
virtual QActionAddMenuItem (const QString &sName, void(*pCallback)(void), int iIndex=-1, bool bDisabled=false)
 This is a function added only for convenience. It adds a new menu item, which calls the given callback function when activated. More...
 
virtual void AddClassMenuItem (const QString &sName, const ClassDesc *pClass, const QString &sCreatorText, const int &index=-1, bool bDisable=false, int version=0)
 This is a function added only for convenience. It adds a new menu item that can be used to create and edit instances of a class you define in your plug-in. More...
 
virtual void AddHotboxItem (const QString &sName, const QString &sMarkingID, const QImage &cIcon, int iRadius=40, int bRing=1)
 This function can be called only if type is ddmHotbox, to add a new item. More...
 
virtual void AddMarkingMenuItem (const QString &sName, MarkingMenuItemLocation eLocation, void(*pCallback)(void), CheckState eCheckState=csNoCheckbox, const QString &sParent="")
 This function can be called only if type is ddmMarking, in that case it adds a new item to the marking menu. More...
 
virtual void ClearMarkingMenu (const QString &sNewMarkingMenuID)
 This function can be called only if type is ddmMarking, in that case it deletes all existing elements from the menu. More...
 
- Public Member Functions inherited from Node
 Node (const QString &sStringID="", const QString &sDisplayName="")
 Standard constructor. More...
 
virtual ~Node (void)
 
virtual void Initialize (void)
 
void LoadTemplate (const QString &sFileName="", bool bStartEvent=false)
 Use an external XML file to initialize the attributes. More...
 
void SaveTemplate (const QString &sFileName="", bool bSaveOnlyVisible=false)
 Save current attributes as an XML template. More...
 
unsigned int Version (void) const
 Returns the current version of the node. This number increases when the content of the node changed (when ContentChanged() called). More...
 
void SetVersion (unsigned int iVersion)
 Sets the current version number for the node. More...
 
unsigned int ReferenceCount (void) const
 Returns the number of pointers referencing this node. More...
 
AttributeReferencePointer (unsigned int iIndex) const
 Returns the address of an attribute which refers to this node. The type of the attribute is always aptr. More...
 
NodeReferenceNode (unsigned int iIndex) const
 Returns the address of a node referencing this node. More...
 
virtual QString Name (const ClassDesc *pClass=0) const
 Deprecated. More...
 
virtual void SetName (const QString &sName)
 Deprecated. More...
 
virtual QString StringID (const ClassDesc *pClass=0) const
 Returns the string id of the node. More...
 
virtual void SetStringID (const QString &sStringID)
 Sets the string id of the node. More...
 
virtual QString DisplayName (void) const
 Returns the display name of the node. More...
 
virtual void SetDisplayName (const QString &sDisplayName)
 Sets the display name of the node. More...
 
virtual QString HelpID (void) const
 Returns the help entry id of the node. Can be overwritten in derived classes. More...
 
virtual void SetHelpID (const QString &sHelpID)
 Sets the help entry id of the node. More...
 
void Annex (Node *pSource, const QString &sCategory="")
 Relink all the attributes of the source node to this one. More...
 
virtual void Serialize (Stream &s)
 Serializes the node. More...
 
bool IsKindOf (const ClassDesc *pClass) const
 Returns true if this node is derived from the pClass class. More...
 
void ContentChanged (void) const
 This function must be called if the content of the node is changed. More...
 
virtual void CheckValidity (DiagnosticLevel iLevel=dgnLevel2) const
 Checks the validity of this node. More...
 
virtual void CopyTo (Node *pNode) const
 
virtual NodeDuplicate (void) const
 
virtual void OnNodeEvent (const Attribute &cAttribute, NodeEventType cType)
 This function is called if an event occurs with any of the attributes of the node. More...
 
virtual void OnEvent (const EventGate &cEvent)
 This function is called when a generic event occurs. See EventGate class. More...
 
void RequestDeferredEvent (Attribute &cAttribute)
 Request for a deferred event, which will occur only in the main loop. More...
 
unsigned int AttributeCount (void) const
 Returns the number of attributes owned by the node. More...
 
AttributeAttributeByIndex (int iIndex) const
 Returns a specified attribute (or 0 if iIndex is greater than the number of attributes). More...
 
AttributeAttributeByName (const QString &sName) const
 Returns a specified attribute by its name. Returns 0 if the attribute not found. More...
 
AttributeAttributeByID (const QString &sID) const
 Returns a specified attribute by its ID. Returns 0 if the attribute not found. More...
 
void SetAttributeValue (const QString &sAttributeID, const QString &sNewValue)
 Set the value of an attribute from a string. More...
 
QString AttributeValue (const QString &sAttributeID) const
 Returns the current value of an attribute as a string. More...
 
void LogAttributes (void) const
 Write all attributes into the log file. More...
 
virtual QWidgetCreatePropertiesWindow (QWidget *pParent)
 Create a window which displays the attributes of the node. Can be overriden to provide a custom interface. More...
 
AttributeAddAttribute (Attribute::AttributeType type, const QString &id)
 Allows SDK users to add attributes at runtime. More...
 
NodeNext (void) const
 Returns the next node in the chain. Used to enumerate the current nodes. See also First(). More...
 
int ID (void) const
 Returns an ID for the node. The ID is unique in the whole application life. More...
 
bool SetID (int iID)
 Set ID for the node. More...
 

Protected Member Functions

 MenuManipulator (void)
 Never create this type of object directly. See Interface::CurrentMenu. More...
 

Protected Attributes

 DECLARE_CLASS
 

Additional Inherited Members

- Static Public Member Functions inherited from Node
static void StartHashing ()
 This is called once in main once static ctors are done. More...
 
static NodeFirst (void)
 This function will return the first node in the memory. Used to enumerate all the current nodes. See also Next(). More...
 
static NodeByID (int iID)
 Returns the node with the specified ID, or zero if such a node does not exists. More...
 
static NodeByName (const QString &sClass, const QString &sName)
 Search for a node with the name sName. More...
 
- Public Attributes inherited from Node
AttributeThisPointer m_pThis
 
 DECLARE_CLASS
 

Member Enumeration Documentation

enum CheckState
Enumerator
csChecked 
csUnchecked 
csNoCheckbox 

Definition at line 130 of file interface.h.

Constructor & Destructor Documentation

MenuManipulator ( void  )
protected

Never create this type of object directly. See Interface::CurrentMenu.

Member Function Documentation

virtual MenuType Type ( void  ) const
virtual

Returns the type of the current menu.

virtual QMenu* Menu ( void  ) const
virtual

Returns the associated QMenu object to the menu, which can be used to manipulate the menu.

This pointer is null, when type is ddmHotbox or ddmMarking. In those cases, the corresponding Add function must be called. See AddHotboxItem and AddMarkingMenuItem.

virtual Node* Object ( void  ) const
virtual

Returns the associated object for the menu. This pointer is only valid for context menues, otherwise it is null.

virtual QString MarkingMenuID ( void  ) const
virtual

Returns the string ID of the current marking menu. Only valid if type is ddmMarking.

virtual QAction* AddMenuItem ( const QString sName,
void(*)(void pCallback,
int  iIndex = -1,
bool  bDisabled = false 
)
virtual

This is a function added only for convenience. It adds a new menu item, which calls the given callback function when activated.

Parameters
[in]sNameName of the menu item. If this string is empty, a separator will be added.
[in]pCallbackAddress of the function which should be called, when the menu item is activated.
[in]iIndexIndex of the new menu item. If this value is -1, then the menu item will be added to the end.
[in]bDisabledTrue if the menu item should be added in a disabled state.
virtual void AddClassMenuItem ( const QString sName,
const ClassDesc pClass,
const QString sCreatorText,
const int index = -1,
bool  bDisable = false,
int  version = 0 
)
virtual

This is a function added only for convenience. It adds a new menu item that can be used to create and edit instances of a class you define in your plug-in.

Parameters
[in]sNameThe name of the menu item to be created
[in]pClassThe class to be created by the new menu item
[in]sCreatorTextThe name of the menu item that will create your new class
[in]indexThe index where you want to insert the new menu item. -1 means append to the end of menu
[in]bDisableTrue if the menu item should be added in a disabled state.
[in]versionThe version of Mudbox where this functionality was added. Use constants found in mudboxVersions.h
virtual void AddHotboxItem ( const QString sName,
const QString sMarkingID,
const QImage cIcon,
int  iRadius = 40,
int  bRing = 1 
)
virtual

This function can be called only if type is ddmHotbox, to add a new item.

Parameters
[in]sNameName of the item.
[in]sMarkingIDID of the marking menu, which this item will open.
[in]cIconIcon to be displayed for the item.
[in]iRadiusRadius of the item in pixels.
[in]bRingIndex of the ring where the item should be (0=inner ring, 1=outer ring);
virtual void AddMarkingMenuItem ( const QString sName,
MarkingMenuItemLocation  eLocation,
void(*)(void pCallback,
CheckState  eCheckState = csNoCheckbox,
const QString sParent = "" 
)
virtual

This function can be called only if type is ddmMarking, in that case it adds a new item to the marking menu.

Parameters
[in]sNameName of the item.
[in]eLocationLocation of the new item.
[in]pCallbackCallback function which will be called if the item is activated.
[in]eCheckStateState of the checkbox at the end of the item.
sParent

[in] Name of the parent item, if the new item should be added into a submenu.

virtual void ClearMarkingMenu ( const QString sNewMarkingMenuID)
virtual

This function can be called only if type is ddmMarking, in that case it deletes all existing elements from the menu.

Member Data Documentation

DECLARE_CLASS
protected

Definition at line 139 of file interface.h.


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