Finale PDK Framework 0.71
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
__FCUserWindow Class Referenceabstract

Base class for all other dialog/window classes. More...

#include <ff_dialogs.h>

Inheritance diagram for __FCUserWindow:
__FCCollection __FCIteratorBase __FCBase FCResourceWindow FCCustomWindow FCCustomLuaWindow

Public Types

enum  COMMAND_MOD_KEYS {
  CMDMODKEY_SHIFT = 0x00000001 , CMDMODKEY_ALT = 0x00000002 , CMDMODKEY_CTRL = 0x00000004 , CMDMODKEY_COMMAND = 0x00000008 ,
  CMDMODKEY_FUNCTION = 0x00000010
}
 Constants for the QueryLastCommandModifierKeys() method. More...
 
enum  MENU_COMMAND_TYPES { MENUCMDTYPE_SELECTION = 0 , MENUCMDTYPE_ACCELERATOR = 1 }
 Constants for menu command types. More...
 
- Public Types inherited from __FCBase
enum  PDKFRAMEWORK_CLASSID {
  FCID_UNKNOWN = 0 , FCID_ACCIDENTALMOD , FCID_ACTIVELYRIC , FCID_ALLOTMENT ,
  FCID_ARTICULATION , FCID_ARTICULATIONDEF , FCID_BACKWARDREPEAT , FCID_BASELINE ,
  FCID_BEAMMOD , FCID_BEATCHARTELEMENT , FCID_BOOKMARK , 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_ENIGMATEXTSTYLE , 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_LYRICSBASELINE , 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_PARTSTAFFVOICING , FCID_PERCUSSIONNOTEMOD , FCID_PIANOBRACEPREFS , FCID_PLAYBACKPREFS ,
  FCID_RAWTEXT , FCID_REPEATPREFS , FCID_SECONDARYBEAMBREAKMOD , FCID_BEAMEXTENSIONMOD ,
  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...
 

Public Member Functions

 __FCUserWindow ()
 The constuctor.
 
const char * ClassName () const override
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More...
 
FCUICreateChildUI () const
 Creates and returns an instance of FCUI with this window as the parent window. This is mainly for launching built-in modeless dialogs on top of the current window. (This is especially important on the Windows platform.) More...
 
bool GetPointsMeasurement ()
 Returns if the measurements and positioning is in points or in a system-native unit for this window. More...
 
bool IsModal ()
 Returns true if the dialog currently is running in a modal state.
 
void SetEnabled (bool state)
 Sets the enabled state of the window. More...
 
FCControlGetItemAt (int index)
 Overloaded implementation of GetItemAt(). More...
 
void SetWidth (float newwidth)
 Changes the width of the window frame.
 
float GetWidth ()
 Returns the current width of the window frame.
 
void SetHeight (float newheight)
 Changes the height of the window frame. More...
 
float GetHeight ()
 Returns the current height of the window frame.
 
void SetClientWidth (float newwidth)
 Changes the width of the window client area. More...
 
float GetClientWidth ()
 Returns the current width of the window client area. More...
 
void SetClientHeight (float newheight)
 Changes the height of the window client area (excluding the title bar). More...
 
float GetClientHeight ()
 Returns the current height of the window client area, excluding the title bar. More...
 
bool IsDarkModeAppearance () const
 Returns the current Dark Mode state of the window. (Currently macOS only.) More...
 
void SetTitle (FCString *pTitle)
 Sets the caption (title) for the window. More...
 
void GetTitle (FCString *pTitle)
 Gets the caption (title) for the window. More...
 
bool QueryLastCommandModifierKeys (FLAG_32 modifiers)
 Returns if the user held down a specific set of modifier keys at the last "command" event, such as HandleCommand(). More...
 
virtual void CloseWindow ()=0
 Closes the window. Functionality is provided by the child classes. More...
 
bool TryToCloseWindow ()
 Tries to close the window. This method calls the CanClose() virtual method before calling CloseWindow(). More...
 
void SetMaximumResizeWidth (int width)
 Sets the maximum resize width for resizable dialogs/windows.
 
void SetMaximumResizeHeight (int height)
 Sets the maximum resize height for resizable dialogs/windows.
 
float GetMinimumResizeWidth ()
 Returns the minimum resize width for resizable dialogs/windows.
 
float GetMinimumResizeHeight ()
 Returns the minimum resize height for resizable dialogs/windows.
 
float GetMaximumResizeWidth ()
 Returns the maximum resize width for resizable dialogs/windows.
 
float GetMaximumResizeHeight ()
 Returns the maximum resize height for resizable dialogs/windows.
 
bool WindowExists () const
 Returns true if the window exists in the user interface. More...
 
void Hide ()
 Hides the window.
 
void ShowAndActivate ()
 Makes the window visible and sets it focused.
 
virtual void InitWindow ()
 Called once just when the window/dialog has been created. More...
 
virtual void WindowDestroyed ()
 Called once just when the window/dialog has been destroyed. More...
 
virtual void DarkModeIsChanging (bool isDarkMode)
 Called whenever Dark Mode changes. (Currently macOS only.) More...
 
virtual void OSMenuCommandExecuted (EMENUID menuCommand, int menuCommandType)
 Called after a menu command on the main menu tree is executed. This function is also called when keyboard shortcuts are used to execute the menu item. On Windows, the command value for a keyboard shortcut (aka "accelerator") is sometimes different than that of the equivalent menu command. You can use the menuCommandType parameter to distinguish them. More...
 
virtual void CloseButtonPressed ()
 Virtual method that is called when a control with a "Close" action is pressed by the user. More...
 
virtual void OkButtonPressed ()
 Virtual handler method that is called when a control with a "OK" action is pressed by the user. More...
 
virtual void CancelButtonPressed ()
 Virtual handler method that is called when a control with a "Cancel" action is pressed by the user. More...
 
virtual bool HandleCommand (FCControl *pControl)
 Virtual method that is called when a user command occurs, such as a button press. More...
 
virtual void TextSelectionChanged (FCControl *pControl)
 Virtual method that is called when the selected text on a FCCtrlTextEditor control changes. More...
 
virtual void ScrollChanged (FCControl *pControl)
 Virtual method that is called when the scroll changes on a control with a scrollbar. More...
 
virtual bool HandleKeyboardCommand (FCControl *pControl, eUniChar16 character)
 Virtual method that notifies when a keyboard command has been requested with the Command key (macOS) or Control key (Windows) sent to a control that supports it. Some examples of standard keyboard commands that a caller might choose to handle are. More...
 
virtual void HandleSwitcherSelect (FCCtrlSwitcher *pControl, int switchindex)
 Virtual method that is called when a switcher control is clicked. Please note that switcher selections also produces calls to HandleCommand. More...
 
virtual void HandleUpDownPressed (FCControl *pControl, int delta)
 Virtual handler method for up/down arrow controls when they are clicked. Overwrite to provide functionality. More...
 
virtual void HandleDataListSelect (FCCtrlDataList *pControl, int lineindex)
 Virtual handler method for when FCCtrlDataList selection state changes. Overwrite to provide functionality. More...
 
virtual void HandleDataListCheck (FCCtrlDataList *pControl, int lineindex, bool checkstate)
 Virtual handler method for when FCCtrlDataList check state changes (for data list controls with check boxes). Overwrite to provide functionality. More...
 
virtual void HandleListDoubleClick (FCControl *pControl)
 Called every time there's a double-click inside a data list or list box. More...
 
virtual bool HandleListEnterKey (FCControl *pControl)
 Called every time there's an enter key hit inside a data list or list box. More...
 
virtual void HandleTimer (twobyte timerID)
 Virtual handler method that is called on timer events. Overwrite in child classes. More...
 
virtual void HandleActivate (bool activated)
 Virtual method that is called when the window is activated or deactivated. Overwrite in child classes. More...
 
virtual void HandleResize (int newwidth, int newheight, int oldwidth, int oldheight)
 Handler called when user resizes the window. More...
 
FCControlFindControl (int controlid)
 Finds a control based on the control's ID. More...
 
void SetTimer (twobyte timerID, ufourbyte msInterval)
 Creates a timer with the supplied ID and the timeout/refresh interval. More...
 
void StopTimer (twobyte timerID)
 Destroys a previously created timer (created with SetTimer). More...
 
void Activate ()
 Activates the window and sets it in user focus. More...
 
virtual bool CanClose ()
 Virtual method that decides if the window can close or not. More...
 
bool IsVisible ()
 Returns true if the window is visible.
 
void StorePosition (bool storesize)
 Stores the window position for use with RestorePosition. More...
 
bool RestorePosition ()
 Restores the window's position and size (if the size is stored). More...
 
void SetRestorePositionData (float x, float y, float width, float height)
 Sets the restore position and size. More...
 
void SetRestorePositionOnlyData (float x, float y)
 Sets the restore position, but with no size. More...
 
float GetStoredX () const
 Returns the stored horizonal position, for use in the restore feature. More...
 
float GetStoredY () const
 Returns the stored vertical position, for use in the restore feature. More...
 
float GetStoredWidth () const
 Returns the stored width. -1 if no width has been stored. More...
 
float GetStoredHeight () const
 Returns the stored height. -1 if no height has been stored. More...
 
bool IsWindowshade ()
 Returns true if the window is in window shade mode.
 
void Windowshade (bool windowshade)
 Sets the window in a "windowshade" mode (where only the title bar is visible) - or restore the window to full size. More...
 
void SetWindowAlpha (twobyte alphapercent)
 Sets the transparency for the window. More...
 
void StartBufferControlMovement ()
 Marks a start of buffered movement for the controls in the dialog. More...
 
bool EndBufferControlMovement ()
 Resizes/moves all buffered control movements made since the StartBufferControlMovement call.
 
bool IsInBufferMode ()
 Returns true if buffered movement has been started with StartBufferControlMovement. More...
 
- Public Member Functions inherited from __FCCollection
 __FCCollection ()
 The constructor.
 
virtual ~__FCCollection ()
 The virtual destructor, which deallocates the array and also all its elements. More...
 
int GetCount () const
 Returns the number of elements of the collection. More...
 
void Add (__FCBase *pNewItem)
 Adds an element to the end of the collection. More...
 
bool UniqueAdd (__FCBase *pNewItem)
 Adds an element to the end of the collection, but only if it doesn't exist in the collection before. More...
 
void InsertItemAt (__FCBase *pNewItem, int index)
 Inserts an item into the collection. More...
 
bool ElementExists (__FCBase *pQueryItem)
 Returns true if the element is found in the collection, otherwise false.
 
void ClearAll ()
 Destroys all the objects in the collection and empties the collection. More...
 
void DetachAll ()
 Removes all the objects from the collection, without freeing/destroying the objects. More...
 
__FCBaseGetItemAt (int index)
 Returns the object at the index position. Index is 0-based. More...
 
__FCBaseGetLastItem ()
 Returns the last item in the collection.
 
__FCBaseoperator[] (int index)
 Identical to the GetItemAt method.
 
int GetIndexOf (__FCBase *pObject)
 Returns the 0-based order index for the object within the collection. More...
 
__FCBaseDetachItemAt (int index)
 Removes the object at the index position. Index is 0-based. More...
 
bool ClearItemAt (int index)
 Deletes the object at the index position and disposes the object. Index is 0-based. More...
 
int ToEndFrom (int index, FCIteratorHandler *pIterator)
 Processes one element after another and iterates from one specific index to the end of the collection. More...
 
int ForEach (FCIteratorHandler *pIterator) override
 Processes all elements in the collection (starting with item 0), or until the iterator Iterate() returns false. More...
 
virtual int ForEachIndex (FCIteratorHandler *pIterator)
 Same as ForEach, but the IterateIndex callback of the iterator handler is used instead.
 
__FCBaseFindFirst (FCIteratorHandler *pIterator) override
 Process elements until a match is found. More...
 
__FCBaseFindUserData (void *data_to_find)
 Returns the first element in the collection that has the indicated userdata. More...
 
bool Sort (FCIteratorHandler *pIterator)
 Sorts the elements of. More...
 
bool Swap (int index1, int index2)
 Swaps to items in the collection. More...
 
bool IsEmpty ()
 Returns true if the collection contains no elements. More...
 
int MoveFrom (__FCCollection *pOtherCollection, bool unique=false)
 Moves elements from another collection into this collection. The other will be empty after the operation. More...
 
bool IsIdentical (__FCBase *pCompareObject) override
 Returns true if two collections are considered to be identical. More...
 
void DebugDump () override
 Outputs the class data/information for debugging purposes. More...
 
- Public Member Functions inherited from __FCIteratorBase
const char * ClassName () const override
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More...
 
 __FCIteratorBase ()
 The constructor.
 
- Public Member Functions inherited from __FCBase
virtual const PDKFRAMEWORK_CLASSID GetClassID () const
 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...
 
virtual ~__FCBase ()
 Virtual destructor, so all inherited classes get the virtual destructor.
 
void DebugMsgInt (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 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. More...
 
void Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state)
 Sets/resets a 32 bit flag, by using a bit mask. 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...
 
int GetBitCount (FLAG_32 flag)
 Returns the total number of set bits in a 32-bit unsigned int.
 
void SetSpecific32Bit (FLAG_32 *flag, int bitnumber, bool state)
 Sets/resets a single bit in a 32 bit flag, by specifying one specific bit. 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...
 
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...
 

Protected Member Functions

twobyte GetModalResult ()
 Returns the value that will be returned for a modal dialog.
 
- Protected Member Functions inherited from __FCBase
 __FCBase ()
 The constructor.
 

Friends

class _FCWindowController_cocoa
 

Additional Inherited Members

- 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 DebugOutInt (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, double 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...
 

Detailed Description

Base class for all other dialog/window classes.

The __FCUserWindow is a collection of FCControl objects.

Member Enumeration Documentation

◆ COMMAND_MOD_KEYS

Constants for the QueryLastCommandModifierKeys() method.

Lua-supported.

Enumerator
CMDMODKEY_SHIFT 

The user has pressed the Shift key

CMDMODKEY_ALT 

The user has pressed the Alt/Opt key

CMDMODKEY_CTRL 

The user has pressed the Ctrl key

CMDMODKEY_COMMAND 

The user has pressed the Command (Cmd) key (Mac Only)

CMDMODKEY_FUNCTION 

The user has pressed the Function (Fn) key (Mac Only)

◆ MENU_COMMAND_TYPES

Constants for menu command types.

Lua-supported (0.68).

Enumerator
MENUCMDTYPE_SELECTION 

The menu command is from a menu selection.

MENUCMDTYPE_ACCELERATOR 

The menu command is from an accelerator key (Windows only).

Member Function Documentation

◆ Activate()

void __FCUserWindow::Activate ( )

Activates the window and sets it in user focus.

Lua-supported.

◆ CancelButtonPressed()

virtual void __FCUserWindow::CancelButtonPressed ( )
inlinevirtual

Virtual handler method that is called when a control with a "Cancel" action is pressed by the user.

Sets the modal result to 2.

Overwrite in child classes, if necessary. In C++, to provide the correct functionality, make sure to call the inherited version of the method after the new behaviour.

Reimplemented in FCCustomLuaWindow.

◆ CanClose()

virtual bool __FCUserWindow::CanClose ( )
inlinevirtual

Virtual method that decides if the window can close or not.

Overwrite this for conditional closing behavior.

◆ ClassName()

const char * __FCUserWindow::ClassName ( ) const
inlineoverridevirtual

Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class.

Lua-supported.

Reimplemented from __FCCollection.

Reimplemented in FCResourceWindow, FCCustomWindow, and FCCustomLuaWindow.

◆ CloseButtonPressed()

virtual void __FCUserWindow::CloseButtonPressed ( )
inlinevirtual

Virtual method that is called when a control with a "Close" action is pressed by the user.

Sets the modal result to 0.

Overwrite in child classes, if necessary. To provide the correct functionality, make sure to call the inherited version of the method after the new behaviour.

◆ CloseWindow()

virtual void __FCUserWindow::CloseWindow ( )
pure virtual

Closes the window. Functionality is provided by the child classes.

If conditional window closing is needed, override the CanClose() method and use TryToCloseWindow().

Implemented in FCResourceWindow, and FCCustomLuaWindow.

◆ CreateChildUI()

FCUI * __FCUserWindow::CreateChildUI ( ) const
inline

Creates and returns an instance of FCUI with this window as the parent window. This is mainly for launching built-in modeless dialogs on top of the current window. (This is especially important on the Windows platform.)

C++ clients must dispose of the instance after use, either with delete or by assigning it to a smart pointer.

Lua-supported (0.68)

Returns
created FCUI instance or nullptr if the window is not running.

◆ DarkModeIsChanging()

virtual void __FCUserWindow::DarkModeIsChanging ( bool  isDarkMode)
inlinevirtual

Called whenever Dark Mode changes. (Currently macOS only.)

Parameters
isDarkModetrue if changing to Dark Mode, false if changing to Light Mode

Reimplemented in FCCustomLuaWindow.

◆ FindControl()

FCControl * __FCUserWindow::FindControl ( int  controlid)

Finds a control based on the control's ID.

Returns
NULL if not found. Otherwise, the pointer to the object.

◆ GetClientHeight()

float __FCUserWindow::GetClientHeight ( )

Returns the current height of the window client area, excluding the title bar.

Lua-supported.

Returns
The height of the window's client area.

◆ GetClientWidth()

float __FCUserWindow::GetClientWidth ( )

Returns the current width of the window client area.

Lua-supported.

Returns
The width of the client area.

◆ GetItemAt()

FCControl * __FCUserWindow::GetItemAt ( int  index)
inline

Overloaded implementation of GetItemAt().

Lua-supported.

◆ GetPointsMeasurement()

bool __FCUserWindow::GetPointsMeasurement ( )
inline

Returns if the measurements and positioning is in points or in a system-native unit for this window.

This is set automatically by the class implementation.

◆ GetStoredHeight()

float __FCUserWindow::GetStoredHeight ( ) const

Returns the stored height. -1 if no height has been stored.

Lua-supported (also as read-only property) (0.60).

◆ GetStoredWidth()

float __FCUserWindow::GetStoredWidth ( ) const

Returns the stored width. -1 if no width has been stored.

Lua-supported (also as read-only property) (0.60).

◆ GetStoredX()

float __FCUserWindow::GetStoredX ( ) const

Returns the stored horizonal position, for use in the restore feature.

Lua-supported (also as read-only property) (0.60).

◆ GetStoredY()

float __FCUserWindow::GetStoredY ( ) const

Returns the stored vertical position, for use in the restore feature.

Lua-supported (also as read-only property) (0.60).

◆ GetTitle()

void __FCUserWindow::GetTitle ( FCString pTitle)

Gets the caption (title) for the window.

Lua-supported.

Parameters
[out]pTitleThe FCString object that should contain the window title text.

◆ HandleActivate()

virtual void __FCUserWindow::HandleActivate ( bool  activated)
inlinevirtual

Virtual method that is called when the window is activated or deactivated. Overwrite in child classes.

Reimplemented in FCCustomLuaWindow.

◆ HandleCommand()

virtual bool __FCUserWindow::HandleCommand ( FCControl pControl)
inlinevirtual

Virtual method that is called when a user command occurs, such as a button press.

Overwrite in child classes. Return true if the command is handled.

Reimplemented in FCCustomLuaWindow.

◆ HandleDataListCheck()

virtual void __FCUserWindow::HandleDataListCheck ( FCCtrlDataList pControl,
int  lineindex,
bool  checkstate 
)
inlinevirtual

Virtual handler method for when FCCtrlDataList check state changes (for data list controls with check boxes). Overwrite to provide functionality.

Parameters
[in]pControlPointer to the FCCtrlDataList control.
[in]lineindexThe 0-based line index. -1 if the control becomes unselected.
[in]checkstateThe new check state.

Reimplemented in FCCustomLuaWindow.

◆ HandleDataListSelect()

virtual void __FCUserWindow::HandleDataListSelect ( FCCtrlDataList pControl,
int  lineindex 
)
inlinevirtual

Virtual handler method for when FCCtrlDataList selection state changes. Overwrite to provide functionality.

\param [in] pControl Pointer to the #FCCtrlDataList control.

\param [in] lineindex The 0-based line index. -1 if the control becomes unselected.

Reimplemented in FCCustomLuaWindow.

◆ HandleKeyboardCommand()

virtual bool __FCUserWindow::HandleKeyboardCommand ( FCControl pControl,
eUniChar16  character 
)
inlinevirtual

Virtual method that notifies when a keyboard command has been requested with the Command key (macOS) or Control key (Windows) sent to a control that supports it. Some examples of standard keyboard commands that a caller might choose to handle are.

  • cmd/ctrl-F (find)
  • cmd/ctrl-N (new)
  • cmd/ctrl-O (open)
  • cmd/ctrl-S (save)

Callers receive other commands (such as commands for Cut, Copy, and Paste), but some controls handle these automatically and do not require special code. For example, FCCtrlTextEditor handles them automatically, but FCCtrlListBox and FCCtrlDataList do not.

Remarks
As of version 0.70, The PDK Framework implements this for FCCtrlTextEditor, FCCtrlListBox, and FCCtrlDataList. It will not fire for other controls.

Overwrite in child classes.

Parameters
pControlthe control that received the keyboard command
characterthe uppercase character of the keyboard command. (If you need to distinguish between upper and lower case, you can use QueryLastCommandModifierKeys to see if the shift key was pressed.)
Returns
true if the save request was handled by your window, false if the control (or Finale) should handle it

Reimplemented in FCCustomLuaWindow.

◆ HandleListDoubleClick()

virtual void __FCUserWindow::HandleListDoubleClick ( FCControl pControl)
inlinevirtual

Called every time there's a double-click inside a data list or list box.

Parameters
[in]pControlPointer to the FCCtrlDataList or FCCtrlListBox control.

Reimplemented in FCCustomLuaWindow.

◆ HandleListEnterKey()

virtual bool __FCUserWindow::HandleListEnterKey ( FCControl pControl)
inlinevirtual

Called every time there's an enter key hit inside a data list or list box.

Parameters
[in]pControlPointer to the FCCtrlDataList or FCCtrlListBox control.
Returns
true if the key was handled; false if the system should handle process it. If the function returns true, the default button will not be hit.

Reimplemented in FCCustomLuaWindow.

◆ HandleResize()

virtual void __FCUserWindow::HandleResize ( int  newwidth,
int  newheight,
int  oldwidth,
int  oldheight 
)
inlinevirtual

Handler called when user resizes the window.

Override to handle control replacement etc.

◆ HandleSwitcherSelect()

void __FCUserWindow::HandleSwitcherSelect ( FCCtrlSwitcher pControl,
int  switchindex 
)
virtual

Virtual method that is called when a switcher control is clicked. Please note that switcher selections also produces calls to HandleCommand.

This implementation handles automatic hide/show states for controls based on the switcher state.

If this is overwritten in a child class, the inherited version has to be called as well.

◆ HandleTimer()

virtual void __FCUserWindow::HandleTimer ( twobyte  timerID)
inlinevirtual

Virtual handler method that is called on timer events. Overwrite in child classes.

Reimplemented in FCCustomLuaWindow.

◆ HandleUpDownPressed()

virtual void __FCUserWindow::HandleUpDownPressed ( FCControl pControl,
int  delta 
)
inlinevirtual

Virtual handler method for up/down arrow controls when they are clicked. Overwrite to provide functionality.

Parameters
[in]pControlPointer to the up/down arrow control. NULL if unknown.
[in]deltaPositive if "Up" has been clicked. Negative value if "Down" has been clicked.

Reimplemented in FCCustomLuaWindow.

◆ InitWindow()

void __FCUserWindow::InitWindow ( )
virtual

Called once just when the window/dialog has been created.

Overwrite in inherited windows to provide additional functionality when the dialog/window is created. The inherited class MUST be called on inheritance.

Reimplemented in FCResourceWindow, and FCCustomLuaWindow.

◆ IsDarkModeAppearance()

bool __FCUserWindow::IsDarkModeAppearance ( ) const

Returns the current Dark Mode state of the window. (Currently macOS only.)

If the window has not started running yet, the Dark Mode state of the Finale application is returned. Finale versions before 26.3 always return false, because 26.3 is the first version to support Dark Mode.

When running on Windows, this function always returns false.

Lua-supported (0.64)

◆ IsInBufferMode()

bool __FCUserWindow::IsInBufferMode ( )
inline

Returns true if buffered movement has been started with StartBufferControlMovement.

Normally not needed to be called directly.

◆ OkButtonPressed()

virtual void __FCUserWindow::OkButtonPressed ( )
inlinevirtual

Virtual handler method that is called when a control with a "OK" action is pressed by the user.

Sets the modal result to 1.

Overwrite in child classes, if necessary. In C++, to provide the correct functionality, make sure to call the inherited version of the method after the new behaviour.

Reimplemented in FCCustomWindow, and FCCustomLuaWindow.

◆ OSMenuCommandExecuted()

virtual void __FCUserWindow::OSMenuCommandExecuted ( EMENUID  menuCommand,
int  menuCommandType 
)
inlinevirtual

Called after a menu command on the main menu tree is executed. This function is also called when keyboard shortcuts are used to execute the menu item. On Windows, the command value for a keyboard shortcut (aka "accelerator") is sometimes different than that of the equivalent menu command. You can use the menuCommandType parameter to distinguish them.

Parameters
menuCommandthe menu command that was executed
menuCommandTypeone of the MENU_COMMAND_TYPES constants. For macOS, this value is always MENUCMDTYPE_SELECTION.

Reimplemented in FCCustomLuaWindow.

◆ QueryLastCommandModifierKeys()

bool __FCUserWindow::QueryLastCommandModifierKeys ( FLAG_32  modifiers)
inline

Returns if the user held down a specific set of modifier keys at the last "command" event, such as HandleCommand().

Lua-supported.

Parameters
[in]modifiersAny of the CMDMODKEY_ constants. Multiple modifiers can be added.
Returns
True if the keys held down by the user matches the queried modifier(s).

◆ RestorePosition()

bool __FCUserWindow::RestorePosition ( )

Restores the window's position and size (if the size is stored).

Lua-supported (0.60).

Returns
True on success.

◆ ScrollChanged()

virtual void __FCUserWindow::ScrollChanged ( FCControl pControl)
inlinevirtual

Virtual method that is called when the scroll changes on a control with a scrollbar.

Remarks
The PDK Framework only implements this for FCCtrlTextEditor. It will not fire for other controls with scrollbars.
Todo:
Add support for other control types as needed.

Overwrite in child classes.

Reimplemented in FCCustomLuaWindow.

◆ SetClientHeight()

void __FCUserWindow::SetClientHeight ( float  newheight)

Changes the height of the window client area (excluding the title bar).

Lua-supported.

Parameters
[in]newheightThe new height of the window.

◆ SetClientWidth()

void __FCUserWindow::SetClientWidth ( float  newwidth)

Changes the width of the window client area.

Lua-supported.

Parameters
[in]newwidthThe width of the window's client area.

◆ SetEnabled()

void __FCUserWindow::SetEnabled ( bool  state)

Sets the enabled state of the window.

Only implemented on Windows.

◆ SetHeight()

void __FCUserWindow::SetHeight ( float  newheight)

Changes the height of the window frame.

Parameters
[in]newheightThe new height of the window.

◆ SetRestorePositionData()

void __FCUserWindow::SetRestorePositionData ( float  x,
float  y,
float  width,
float  height 
)

Sets the restore position and size.

Lua-supported (0.60).

◆ SetRestorePositionOnlyData()

void __FCUserWindow::SetRestorePositionOnlyData ( float  x,
float  y 
)

Sets the restore position, but with no size.

Lua-supported (0.60.)

◆ SetTimer()

void __FCUserWindow::SetTimer ( twobyte  timerID,
ufourbyte  msInterval 
)

Creates a timer with the supplied ID and the timeout/refresh interval.

The timer events are sent to the HandleTimer method. Code running in the timer handler blocks the UI, so normally it should run quickly. An exception could be the need to show progress while gathering data in a modeless dialog.

You must wait until the window is running to call SetTimer. The earliest point at which it will work is in your InitWindow handler.

Lua-supported (0.56)

Parameters
[in]timerIDThe user-defined timer ID. When choosing a timer ID, start with 1 and go upwards if more timers are needed.
[in]msIntervalThe timer interval in milliseconds. Don't choose too short timer intervals, since it hurts the performance of the system.

◆ SetTitle()

void __FCUserWindow::SetTitle ( FCString pTitle)

Sets the caption (title) for the window.

Lua-supported.

Parameters
[in]pTitleThe pointer to the FCString object containing the title. NULL pointers are not processed.

◆ SetWindowAlpha()

void __FCUserWindow::SetWindowAlpha ( twobyte  alphapercent)

Sets the transparency for the window.

Parameters
alphapercent100 = opaque (turn off transparency), 0 = totally transparent window.

◆ StartBufferControlMovement()

void __FCUserWindow::StartBufferControlMovement ( )

Marks a start of buffered movement for the controls in the dialog.

EndBufferControlMovement must be called after this call.

After this method has been called, methods like FCControl::ResizeRelative, etc will not do anything visually until EndBufferControlMovement is called.

◆ StopTimer()

void __FCUserWindow::StopTimer ( twobyte  timerID)

Destroys a previously created timer (created with SetTimer).

Lua-supported (0.56)

Parameters
[in]timerIDThe timer ID to stop. This should be the same as the ID that was registered with SetTimer.

◆ StorePosition()

void __FCUserWindow::StorePosition ( bool  storesize)

Stores the window position for use with RestorePosition.

Lua-supported (0.60).

Parameters
storesizeIf true, store the window size as well (for user-resizable windows).

◆ TextSelectionChanged()

virtual void __FCUserWindow::TextSelectionChanged ( FCControl pControl)
inlinevirtual

Virtual method that is called when the selected text on a FCCtrlTextEditor control changes.

Overwrite in child classes.

Reimplemented in FCCustomLuaWindow.

◆ TryToCloseWindow()

bool __FCUserWindow::TryToCloseWindow ( )
inline

Tries to close the window. This method calls the CanClose() virtual method before calling CloseWindow().

Returns
True if the window was closed.

◆ WindowDestroyed()

virtual void __FCUserWindow::WindowDestroyed ( )
inlinevirtual

Called once just when the window/dialog has been destroyed.

Overwrite in inherited windows to provide additional functionality when the dialog/window is destroyed.

◆ WindowExists()

bool __FCUserWindow::WindowExists ( ) const

Returns true if the window exists in the user interface.

Lua-supported.

Returns
True if the window exists as a user interface element.

◆ Windowshade()

void __FCUserWindow::Windowshade ( bool  windowshade)

Sets the window in a "windowshade" mode (where only the title bar is visible) - or restore the window to full size.

Parameters
windowshadeTrue - set to windowshade. False - restore window size.