Finale PDK Framework
0.54
|
A tree UI control. More...
#include <ff_dialogs.h>
Public Member Functions | |
FCCtrlTree (twobyte id) | |
The constructor. | |
virtual const char * | ClassName () |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More... | |
FCTreeNode * | AddNode (FCTreeNode *pParentNode, bool isContainer, FCString *pText) |
Adds a node to the tree. More... | |
FCTreeNode * | InsertNodeAt (FCTreeNode *pParentNode, FCString *pText, int index) |
Inserts a node to a branch in the tree, at a given index. More... | |
bool | DeleteNode (FCTreeNode *pNode) |
Deletes a node from the tree, both visually and internally. More... | |
bool | SwapNodes (FCTreeNode *pNode1, FCTreeNode *pNode2) |
Swaps the locations of 2 nodes. The nodes must belong to the same parent. More... | |
void | ExpandNode (FCTreeNode *pNode) |
Expands a container node visually. More... | |
void | CollapseNode (FCTreeNode *pNode) |
Collapses a container node visually. More... | |
bool | IsNodeAttached (FCTreeNode *pNode2Find, FCTreeNode *pBaseNode) |
Returns true if the specified node is connected to a specific container node. More... | |
FCTreeNode * | FindUserDataNode (void *userdata, FCTreeNode *pBaseNode) |
Finds the first node that contains specific userdata. | |
FCTreeNode * | GetSelectedNode () |
Returns the selected node of the tree. More... | |
int | CalcRootIndex (FCTreeNode *pNode) |
Returns the 0-based root index of a tree node. More... | |
int | CalcNodeIndex (FCTreeNode *pNode, FCTreeNode *pParentNode) |
Returns the 0-based subindex of a tree node in a container. More... | |
void | SetFontSize (int size) |
Sets the font size of the tree control. More... | |
bool | SetSelectedNode (FCTreeNode *pNode) |
Selects a specific node in the tree. If the node is currently out of view, the node is brought into view. More... | |
void | Clear () |
Removes all items from the tree control. More... | |
void | ExpandAllContainers () |
Expand all container nodes in the tree. More... | |
void | CollapseAllContainers () |
Collapses all container nodes in the tree. More... | |
int | GetRootCount () |
Returns the number of container nodes in the tree. More... | |
FCTreeNode * | GetRootItemAt (int index) |
Returns the root node at the 0-based index position. More... | |
int | GetRootIndexOf (FCTreeNode *pNode) |
Returns the index of a node that appears at root level. More... | |
virtual void | Repaint () |
Overridden version of the repaint method. | |
Public Member Functions inherited from FCControl | |
FCControl (twobyte id) | |
The constructor. More... | |
virtual | ~FCControl () |
Destructor. | |
bool | GetPointsMeasurement () |
Returns if the measurements and positioning is in points or in a system-native unit. More... | |
__FCUserWindow * | GetParent () |
Returns the parent window object for the control. | |
bool | WindowExists () |
Returns true if a valid parent window handle (and control handle) is available. | |
HWND | _GetWinControlHandle () |
For internal use only. Returns to handle for the control. | |
int | GetControlID () |
Returns the control ID for the control. More... | |
int | GetAssignedID () |
Gets the connected ID regardless of platform. More... | |
CONTROL_ACTIONS | GetAction () |
Returns the dialog acction assigned to the control. More... | |
void | SetAction (CONTROL_ACTIONS action) |
Sets the dialog acction assigned to the control. More... | |
virtual void | SetEnable (bool state) |
Sets the enable/grayed state of the control (if user input should be allowed or not). More... | |
virtual bool | GetEnable () |
Returns the enable/grayed state of the control (if user input should be allowed or not). More... | |
virtual void | SetVisible (bool bShow) |
Sets the visibility of the control. More... | |
virtual void | SetBold (bool state) |
Sets the boldface appearance for the control. | |
virtual void | SetKeyboardFocus () |
Sets the keyboard focus to the control. More... | |
void | SetTextAndResize (FCString *pString) |
Cocoa only: Sets the text and resizes the view inside a NSScrollView. | |
virtual void | SetText (FCString *pString) |
Sets the text for the control. More... | |
virtual void | GetText (FCString *pString) |
Gets the text of the control. | |
void | SetLeft (float pos) |
Sets the left position of the control. | |
float | GetLeft () |
Returns the left position of the control. | |
void | SetTop (float pos) |
Sets the top position of the control. | |
float | GetTop () |
Returns the top position of the control. | |
float | GetHeight () |
Returns the height of the control. | |
float | GetWidth () |
Returns the width of the control. | |
bool | GetVisible () |
Returns the visibility state of a control. | |
void | SetWidth (float width) |
Sets the width of the control. | |
void | SetHeight (float height) |
Sets the height of the control. | |
void | MoveRelative (float horizmove, float vertmove) |
Moves the control relatively to the current position. More... | |
void | MoveAbsolute (float x, float y) |
Moves the control in absolute coordinates. More... | |
virtual void | ResizeRelative (float horizresize, float vertresize) |
Resizes the control relatively to the current size. Top left corner will stay fixed. More... | |
Public Member Functions inherited from __FCBase | |
virtual const PDKFRAMEWORK_CLASSID | GetClassID () |
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has problems to resolve the true classes of inherited objects. More... | |
__FCBase () | |
The constructor. | |
virtual | ~__FCBase () |
Virtual destructor, so all inherited classes get the virtual destructor. More... | |
void | DebugMsgDigit (const char *pszPrefixText, int i) |
Creates a simple Message Box for debug purposes. The text appears with the extra digit (in decimal presentation) appearing afterwards. More... | |
void | DebugMsgHex (const char *pszPrefixText, int i) |
Creates a simple Message Box for debug purposes. The text appears with the extra digit (as a hexadecimal number) appearing afterwards. More... | |
void | DebugMsgString (const char *pszPrefixText, const char *thestring) |
Creates a simple Message Box for debug purposes. The text appears with the extra string appearing afterwards. More... | |
void | DebugMsg (const char *pszMsg) |
Creates a simple Message Box for debug purposes with just one text string. More... | |
void | DebugOutMenuInfo (FCUI *pUI, int menuixd_horiz, int menuixd_vert) const |
Outputs the menu command info for debugging purposes. More... | |
int | DebugOutFormat (const char *fmt,...) |
Outputs debug text using C style "printf" syntax. More... | |
virtual void | DebugDump () |
Outputs the class data/information for debugging purposes. More... | |
virtual void | DebugDataDump () |
Outputs a memory dump of the data block in the object for debugging purposes. More... | |
virtual void | DebugDataByteArrayDump () |
Outputs a memory dump of the data block in the object for debugging purposes, as a C++ byte array. More... | |
void | Set16BitFlag (FLAG_16 *flag, FLAG_16 flagbits, bool state) |
Sets a 16 bit flag in the data block. More... | |
void | Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state) |
Sets a 32 bit flag in the data block. More... | |
bool | GetBitFlag (FLAG_32 flag, FLAG_32 flagbits) const |
Gets a state from flag bits. Returns true if any bit in the mask is set. More... | |
void | SetUserData (void *pData) |
Sets the user data attached to the instance of an object. More... | |
void | SetUserData2 (void *pData) |
Sets the additional user data attached to the instance of an object. More... | |
void * | GetUserData () const |
Gets the user data attached to the instance of an object. More... | |
void * | GetUserData2 () const |
Gets the additional user data attached to the instance of an object. More... | |
virtual bool | IsIdentical (__FCBase *pCompareObject) |
Returns true if the data in the passed object is considered to be identical to the current object, otherwise false. More... | |
void | StoreXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue) |
Helper function to store FCString objects in the XML file. More... | |
void | StoreXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int value) |
Helper function to store integer objects in the XML file. More... | |
void | StoreXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool value) |
Helper function to store boolean objects in the XML file. More... | |
void | StoreXML_StringAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, FCString *pStringValue) |
Helper function to store FCString objects in the XML file, as an attribute to a node. More... | |
void | StoreXML_IntegerAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, int value) |
Helper function to store integer objects in the XML file, as an attribute to a node. More... | |
void | StoreXML_BoolAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, bool value) |
Helper function to store boolean objects in the XML file, as an attribute to a node. More... | |
void | StoreXML_FloatAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, float value) |
Helper function to store floating point objects in the XML file, as an attribute to a node. More... | |
virtual void | StoreToXML (tinyxml2::XMLElement *pParentNode) |
Virtual method that is used to store an object's data. More... | |
bool | ReadXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue) |
Helper method to read FCString objects from the XML file. More... | |
bool | ReadXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int *pValue) |
Helper method to read integer objects from the XML file. More... | |
bool | ReadXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool *pValue) |
Helper method to read boolean objects from the XML file. More... | |
bool | ReadXML_StringAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, FCString *pStringValue) |
Helper method to read FCString objects from the XML file, as an attribute to a node. More... | |
bool | ReadXML_IntegerAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, int *pValue) |
Helper method to read integer objects from the XML file, as an attribute to a node. More... | |
bool | ReadXML_BoolAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, bool *pValue) |
Helper method to read boolean objects from the XML file, as an attribute to a node. More... | |
bool | ReadXML_FloatAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, float *pValue) |
Helper method to read floating point objects from the XML file, as an attribute to a node. More... | |
virtual bool | ReadFromXML (tinyxml2::XMLElement *pParentNode) |
Virtual method that is used to read object data. More... | |
Additional Inherited Members | |
Public Types inherited from FCControl | |
enum | CONTROL_ACTIONS { ACTION_NONE = 0, ACTION_OK = 1, ACTION_CLOSE = 2, ACTION_CANCEL = 3 } |
Predefined actions for controls. More... | |
Public Types inherited from __FCBase | |
enum | PDKFRAMEWORK_CLASSID { FCID_UNKNOWN = 0, FCID_ACCIDENTALMOD, FCID_ALLOTMENT, FCID_ARTICULATION, FCID_ARTICULATIONDEF, FCID_BACKWARDREPEAT, FCID_BASELINE, FCID_BEAMMOD, FCID_BEATCHARTELEMENT, FCID_BROKENBEAMMOD, FCID_CATEGORYDEF, FCID_CELLCLEFCHANGE, FCID_CELLFRAMEHOLD, FCID_CELLGRAPHIC, FCID_CELLTEXT, FCID_CENTERSMARTSHAPE, FCID_CHORD, FCID_CHORDPREFS, FCID_CHORDSUFFIXELEMENT, FCID_CHORUSSYLLABLE, FCID_CLEFDEF, FCID_COMPOSITETIMESIGBOTTOMELEMENT, FCID_COMPOSITETIMESIGTOPELEMENT, FCID_CROSSSTAFFMOD, FCID_CUSTOMSMARTLINEDEF, FCID_CUSTOMSTEMMOD, FCID_DISTANCEPREFS, FCID_DOTMOD, FCID_ENCLOSURE, FCID_ENDINGREPEAT, FCID_ENTRYALTERMOD, FCID_EXECUTABLESHAPEDEF, FCID_EXPRESSION, FCID_FONTINFO, FCID_FONTPREFS, FCID_FREEZESYSTEM, FCID_FRETBOARDSTYLEDEF, FCID_FRETBOARDSTYLEDEFS, FCID_FRETBOARDGROUPDEF, FCID_FRETBOARDGROUPDEFS, FCID_FRETINSTRUMENTDEF, FCID_GENERALPREFS, FCID_GRIDSGUIDESPREFS, FCID_GROUP, FCID_GROUPNAMEPOSITIONPREFS, FCID_HUMANPLAYBACKPREFS, FCID_INDEPENDENTCELLDETAIL, FCID_INSTRUMENTDEF, FCID_INSTRUMENTPLAYBACKDATA, FCID_KEYSIGNATURE, FCID_LAYERPREFS, FCID_LYRICSPREFS, FCID_MEASURE, FCID_MEASURENUMBERREGION, FCID_METATOOLASSIGNMENT, FCID_MIDIEXPRESSION, FCID_MISCDOCPREFS, FCID_MULTIMEASUREREST, FCID_MULTIMEASURERESTPREFS, FCID_MULTISTAFFINSTRUMENT, FCID_MULTISTAFFINSTRUMENTS, FCID_MUSICCHARACTERPREFS, FCID_MUSICSPACINGPREFS, FCID_NUMBER, FCID_NOTEHEADMOD, FCID_OTHERINCI, FCID_PERCUSSIONLAYOUTNOTE, FCID_PERCUSSIONSTAFF, FCID_PERFORMANCEMOD, FCID_PAGE, FCID_PAGEFORMATPREFS, FCID_PAGEGRAPHIC, FCID_PAGETEXT, FCID_PART, FCID_PARTEXTRACTPREFS, FCID_PARTSCOPEPREFS, FCID_PERCUSSIONNOTEMOD, FCID_PIANOBRACEPREFS, FCID_PLAYBACKPREFS, FCID_RAWTEXT, FCID_REPEATPREFS, FCID_SECONDARYBEAMBREAKMOD, FCID_SECTIONSYLLABLE, FCID_SEPARATEMEASURENUMBER, FCID_SEPARATEPLACEMENT, FCID_SHAPEDEF, FCID_SHAPEEXPRESSIONDEF, FCID_SLURCONTOURPREFS, FCID_SIZEPREFS, FCID_SMARTSHAPE, FCID_SMARTSHAPEENTRYMARK, FCID_SMARTSHAPEMEASUREMARK, FCID_SMARTSHAPEPREFS, FCID_STAFF, FCID_STAFFLIST, FCID_STAFFNAMEPOSITION, FCID_STAFFNAMEPOSITIONPREFS, FCID_STAFFSTYLEASSIGN, FCID_STAFFSTYLEDEF, FCID_STAFFSYSTEM, FCID_STEMCONNECTIONTABLE, FCID_STEMMOD, FCID_STRING, FCID_SYLLABLEENTRYMOD, FCID_SYSTEMSTAFF, FCID_TABLATURENOTEMOD, FCID_TEMPOELEMENT, FCID_TEXTBLOCK, FCID_TEXTEXPRESSIONDEF, FCID_TEXTREPEAT, FCID_TEXTREPEATDEF, FCID_TIEMOD, FCID_TIEPREFS, FCID_TIECONTOURPREFS, FCID_TIEPLACEMENTPREFS, FCID_TIMESIGNATURE, FCID_TUPLET, FCID_TUPLETPREFS, FCID_VERSESYLLABLE } |
Constants for the GetClassID method. More... | |
enum | MEASUREMENTUNITS { MEASUREMENTUNIT_DEFAULT = UNIT_DEFAULT, MEASUREMENTUNIT_EVPUS = UNIT_EVPUS, MEASUREMENTUNIT_INCHES = UNIT_INCHES, MEASUREMENTUNIT_CENTIMETERS = UNIT_CENTS, MEASUREMENTUNIT_POINTS = UNIT_POINTS, MEASUREMENTUNIT_PICAS = UNIT_PICAS, MEASUREMENTUNIT_SPACES = UNIT_SPACES, MEASUREMENTUNIT_MILLIMETERS = 100 } |
Constants for Finale's standard measurement units. More... | |
Static Public Member Functions inherited from __FCBase | |
static void | DebugOutPtr (const char *pszPrefixText, void *ptr) |
Static method that outputs a line for debugging purposes. The prefix text appears with the extra ptr (in hexadeximal representation) appearing afterwards. More... | |
static void | DebugOutDigit (const char *pszPrefixText, int i) |
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in decimal presentation) appearing afterwards. More... | |
static void | DebugOutFloat (const char *pszPrefixText, float f) |
Static method that outputs a line for debugging purposes. The text appears with the extra float value appearing afterwards. More... | |
static void | DebugOutTag (const char *pszPrefixText, EXTAG extag) |
Static method that outputs a line for debugging purposes. The text appears with the EXTAG (in text) appearing afterwards. More... | |
static void | DebugOutHex (const char *pszPrefixText, int i) |
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in hexadecimal presentation) appearing afterwards. More... | |
static void | DebugOutBin (const char *pszPrefixText, int i) |
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in binary presentation) appearing afterwards. More... | |
static void | DebugOutString (const char *pszPrefixText, const char *thestring) |
Static method that outputs a line for debugging purposes (C string version). The text appears with the extra string appearing afterwards. More... | |
static void | DebugOutString (const char *pszPrefixText, FCString *pString) |
Static method that outputs a line for debugging purposes (FCString version). The text appears with the extra string appearing afterwards. More... | |
static void | DebugOutBool (const char *pszPrefixText, bool state) |
Static method that outputs a line for debugging purposes. The boolean state appears afterwards as either "TRUE" or "FALSE". More... | |
static void | DebugOutBlock (const void *pBuffer, int startoffset, int size) |
Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) until the whole memory block is dumped. More... | |
static void | DebugOutByteArrayBlock (const void *pBuffer, int startoffset, int size) |
Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) as a C++ onebyte array, until the whole memory block is dumped. More... | |
static void | DebugOut (const char *pszLine) |
Static method to output a line of text for debugging purposes. More... | |
A tree UI control.
The contents of a tree is created by adding/linking FCTreeNode objects. Nodes are added with AddNode method. The full tree is starting from an imaginary root node that is invisible. Nodes can be either containers or child items. Containers can include multiple child items. Currently, containers can only appear on root level.
On Windows, it's a native treeview control. On Mac-Cocoa, it's a NSOutlineView control.
Programmatically created controls of this class defaults to a width of 150 points and a height of 170 points.
The added FCTreeNode objects are owned by the FCCtrlTree control.
FCTreeNode * FCCtrlTree::AddNode | ( | FCTreeNode * | pParentNode, |
bool | isContainer, | ||
FCString * | pText | ||
) |
Adds a node to the tree.
The method can add both container nodes and child nodes. The container nodes must be at root level, however.
It's the caller's resposibility to delete added/linked nodes from the heap after processing. However, the cleanup must be made after the items have been unlinked from the tree control.
Lua-supported. \param [in] pParentNode The pointer to the parent node object. This parameter must be NULL for container nodes. \param [in] isContainer True if the added node should be a container (that can contain child items). False if the added node should be a child item. \param [in] pText Pointer to the #FCString object that contains the node's text. This can not be NULL. \return A pointer to the added object, or NULL on error.
int FCCtrlTree::CalcNodeIndex | ( | FCTreeNode * | pNode, |
FCTreeNode * | pParentNode | ||
) |
Returns the 0-based subindex of a tree node in a container.
Lua-supported.
[in] | pNode | The node to get the index for. |
[in] | pParentNode | The parent container node. If NULL, the root node will be assumed. |
int FCCtrlTree::CalcRootIndex | ( | FCTreeNode * | pNode | ) |
Returns the 0-based root index of a tree node.
Lua-supported.
[in] | pNode | The node on the root level to calculate retrieve the index for. |
|
inlinevirtual |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class.
Lua-supported.
Reimplemented from FCControl.
void FCCtrlTree::Clear | ( | ) |
Removes all items from the tree control.
Lua-supported.
void FCCtrlTree::CollapseAllContainers | ( | ) |
Collapses all container nodes in the tree.
Lua-supported.
void FCCtrlTree::CollapseNode | ( | FCTreeNode * | pNode | ) |
Collapses a container node visually.
Lua-supported.
[in] | pNode | The FCTreeNode object to collapse. |
bool FCCtrlTree::DeleteNode | ( | FCTreeNode * | pNode | ) |
Deletes a node from the tree, both visually and internally.
void FCCtrlTree::ExpandAllContainers | ( | ) |
Expand all container nodes in the tree.
Lua-supported.
void FCCtrlTree::ExpandNode | ( | FCTreeNode * | pNode | ) |
Expands a container node visually.
Lua-supported.
|
inline |
Returns the number of container nodes in the tree.
Lua-supported.
|
inline |
Returns the index of a node that appears at root level.
Lua-supported.
[in] | pNode | An object that appears at root level. |
|
inline |
Returns the root node at the 0-based index position.
Lua-supported.
index | [in] The 0-based index in the root container. |
FCTreeNode * FCCtrlTree::GetSelectedNode | ( | ) |
Returns the selected node of the tree.
Lua-supported.
FCTreeNode * FCCtrlTree::InsertNodeAt | ( | FCTreeNode * | pParentNode, |
FCString * | pText, | ||
int | index | ||
) |
Inserts a node to a branch in the tree, at a given index.
This method doesn't support insert containers to the root.
[in] | pParentNode | The container node that should be the parent for the new node. |
[in] | index | 0-based index. 0 will insert the node first in the branch. An index equal or larger to the number of available nodes in the branch will add the node last. A value below 0 will return NULL. |
[in] | pText | The text for the inserted node. |
bool FCCtrlTree::IsNodeAttached | ( | FCTreeNode * | pNode2Find, |
FCTreeNode * | pBaseNode | ||
) |
Returns true if the specified node is connected to a specific container node.
Lua-supported.
[in] | pNode2Find | The child node to find. |
[in] | pBaseNode | The container node where the node should be find. If NULL, the root node will scanned. |
|
inline |
Sets the font size of the tree control.
Can be called on any platform, but works only on Cocoa. This has to be called BEFORE tree items are added.
bool FCCtrlTree::SetSelectedNode | ( | FCTreeNode * | pNode | ) |
Selects a specific node in the tree. If the node is currently out of view, the node is brought into view.
Lua-supported.
[in] | pNode | The node to select. |
bool FCCtrlTree::SwapNodes | ( | FCTreeNode * | pNode1, |
FCTreeNode * | pNode2 | ||
) |
Swaps the locations of 2 nodes. The nodes must belong to the same parent.
Lua-supported.
[in] | pNode1 | Pointer to the first FCTreeNode object. |
[in] | pNode2 | Pointer to the second FCTreeNode object. |