Finale PDK Framework 0.73
Public Member Functions | List of all members
FCCustomWindow Class Reference

A class that supports programmatically created controls (that are not defined in resource files). More...

#include <ff_dialogs.h>

Inheritance diagram for FCCustomWindow:
FCResourceWindow __FCUserWindow __FCCollection __FCIteratorBase __FCBase FCCustomLuaWindow

Public Member Functions

 FCCustomWindow ()
 The constructor. More...
 
const char * ClassName () const override
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More...
 
int _CalcAvailableCtrlID ()
 For internal use only! More...
 
FCControl_AddCreatedCtrl (FCControl *pControl, float x, float y)
 For internal use only.
 
void SetOkButtonCanClose (bool value)
 Sets the closability state of the window for the Ok button. More...
 
bool GetOkButtonCanClose () const
 Gets the closability state of the Ok button. See SetOkButtonCanClose for more information. More...
 
void OkButtonPressed () override
 Override method for __FCUserWindow::OkButtonPressed. More...
 
FCCtrlStaticCreateStatic (float x, float y)
 Adds a static text object to the window. More...
 
FCCtrlImageCreateImage (float x, float y)
 Adds an image object to the window. More...
 
FCCtrlEditCreateEdit (float x, float y)
 Adds an edit control object to the window. More...
 
FCCtrlTextEditorCreateTextEditor (float x, float y)
 Adds an edit text control object to the window. More...
 
FCCtrlComboBoxCreateComboBox (float x, float y)
 Adds a combobox control object to the window. More...
 
FCCtrlButtonCreateButton (float x, float y)
 Creates and connects a push button to the window. More...
 
FCCtrlCheckboxCreateCheckbox (float x, float y)
 Creates and connects a checkbox control to the window. More...
 
FCCtrlRadioButtonCreateRadioButton (float x, float y)
 Creates and connects a radio button control to the window. More...
 
FCCtrlButtonCreateOkButton ()
 Creates an "Ok" push button, with default positioning and appearance/behaviour. More...
 
FCCtrlButtonCreateCancelButton ()
 Creates a "Cancel" push button, with default positioning and appearance/behaviour. More...
 
FCCtrlButtonCreateCloseButton (float x, float y)
 Creates a "Close" push button at the specified position and connects it to the window. More...
 
FCCtrlPopupCreatePopup (float x, float y)
 Creates and connects a popup/drop-down list control to the window. More...
 
FCCtrlHorizontalLineCreateHorizontalLine (float x, float y, float width)
 Creates and connects a horizontal line control to the window. More...
 
FCCtrlVerticalLineCreateVerticalLine (float x, float y, float height)
 Creates and connects a vertical line control to the window. More...
 
FCCtrlSliderCreateSlider (float x, float y)
 Creates and connects a horizontal slider control to the window. More...
 
FCCtrlListBoxCreateListBox (float x, float y)
 Creates and connects a list box control to the window. More...
 
FCCtrlUpDownCreateUpDown (float x, float y)
 Creates and connects a up/down (stepper) control to the window. More...
 
FCCtrlRadioButtonGroupCreateRadioButtonGroup (float x, float y, int no_of_items)
 Creates and connects a radio button group to the window. More...
 
FCCtrlTreeCreateTree (float x, float y)
 Creates and connects a tree view control to the window. More...
 
FCCtrlSwitcherCreateSwitcher (float x, float y)
 Creates and connects a page switcher control to the window. More...
 
FCCtrlDataListCreateDataList (float x, float y)
 Creates and connects a data list view control to the window. More...
 
void MoveAllControls (int horizoffset, int vertoffset)
 Moves all controls on the window by the specified amount. More...
 
- Public Member Functions inherited from FCResourceWindow
 FCResourceWindow (int resid)
 The constructor for FCResourceWindow. More...
 
virtual ~FCResourceWindow ()
 The destructor.
 
void DestroyWindow ()
 Destroys the window. Mainly for internal use.

 
void InitWindow () override
 Inherited implementation of InitWindow(). More...
 
void CloseWindow () override
 Closes the window. This method is usually not overridden. Use methods like CanClose() instead. More...
 
__FCUserWindowGetParent ()
 Returns the parent window object.
 
void ShowModeless (EWND WINCODE(hParent))
 Displays the dialog box as a modeless window.
 
void ShowModeless (__FCUserWindow *pParent)
 Displays the dialog box as a modeless window. More...
 
EXECMODAL_RETURNS ExecuteModal_EWND (EWND hParent)
 Executes a dialog in a modal state (EWND version). More...
 
EXECMODAL_RETURNS ExecuteModal (__FCUserWindow *pParent=nullptr)
 Executes a dialog box in a modal state. More...
 
virtual bool HandleWMNotify (WPARAM wparam, LPARAM lparam)
 Handles notifications on Windows.
 
void _SetupInternalWindowCode ()
 For internal use only.
 
bool GetWantsDpiAwareness () const
 Gets the HiDPI awareness state of the window. More...
 
void SetWantsDpiAwareness (bool WINCODE(state))
 Sets the HiDPI awareness state of the window. More...
 
FCControlAddCtrl (FCControl *pControl)
 Adds a control object to the dialog collection.
 
FCCtrlLineAddLine (twobyte id)
 Links a line object to the dialog resource.
 
FCCtrlStaticAddStatic (twobyte id)
 Links a static text object to the dialog resource.
 
FCCtrlImageAddImage (twobyte id)
 Links an image object to the dialog resource.
 
FCCtrlComboBoxAddComboBox (twobyte id)
 Links a combo box object to the dialog resource.
 
FCCtrlEditAddEdit (twobyte id)
 Links an edit field object to the dialog resource.
 
FCCtrlTextEditorAddTextEditor (twobyte id)
 Links an edit text object to the dialog resource.
 
FCCtrlPopupAddPopup (twobyte id)
 Links a popup object to the dialog resource.
 
FCCtrlListBoxAddListBox (twobyte id)
 Links a list box object to the dialog resource.
 
FCCtrlButtonAddButton (twobyte id)
 Links a button object to the dialog resource.
 
FCCtrlSliderAddSlider (twobyte id)
 Links a slider object to the dialog resource.
 
FCCtrlRadioButtonAddRadioButton (twobyte id)
 Links a radio button object to the dialog resource.
 
FCCtrlCheckboxAddCheckbox (twobyte id)
 Links a checkbox object to the dialog resource.
 
FCCtrlUpDownAddUpDown (twobyte id)
 Links a up/down object to the dialog resource.
 
FCCtrlDataListAddDataList (twobyte id)
 Links a tree view to the dialog resource.
 
FCCtrlTreeAddTree (twobyte id)
 Links a data list to the dialog resource.
 
- Public Member Functions inherited from __FCUserWindow
 __FCUserWindow ()
 The constuctor.
 
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) const
 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...
 
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 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 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...
 
virtual void MouseTrackingStarted (FCControl *pControl)
 Virtual method that is called when a mouse tracking starts. Currently only supported fo FCCtrlSlider. More...
 
virtual void MouseTrackingStopped (FCControl *pControl)
 Virtual method that is called when a mouse tracking stops. Currently only supported fo FCCtrlSlider. 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...
 
bool GetPreventClosing () const
 Returns whether the window may be closed. More...
 
void SetPreventClosing (bool state)
 Sets whether the window may be closed. Note that certain situations may still close the window even when this value is true, such as when the Finale app shuts down. 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) const
 Returns the object at the index position. Index is 0-based. More...
 
__FCBaseGetLastItem () const
 Returns the last item in the collection.
 
__FCBaseoperator[] (int index) const
 Identical to the GetItemAt method.
 
int GetIndexOf (__FCBase *pObject) const
 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 () const
 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 (const __FCBase *pCompareObject) const 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...
 

Additional Inherited Members

- Public Types inherited from FCResourceWindow
enum  EXECMODAL_RETURNS { EXECMODAL_CLOSE = 0 , EXECMODAL_OK = 1 , EXECMODAL_CANCEL = 2 }
 The return codes for the ExecuteModal() method. More...
 
- Public Types inherited from __FCUserWindow
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_KEYMODEDEF , 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...
 
- 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...
 
- Protected Member Functions inherited from __FCUserWindow
twobyte GetModalResult ()
 Returns the value that will be returned for a modal dialog.
 
- Protected Member Functions inherited from __FCBase
 __FCBase ()
 The constructor.
 

Detailed Description

A class that supports programmatically created controls (that are not defined in resource files).

The controls are designed to be device and system indepentent. The window handles auto layout, and automatically handles operating system-dependent tasks like Ok/Cancel button placements and dialog margin sizes.

All layout measurements and coordinates are in points. The origin of all measurement is based on measurement from the top left corner.

The measurement between Windows and Mac should match reasonable well, but calculate with a 20% layout difference between systems.

Single-line controls, like push buttons, check boxes, edit boxes, etc are automatically resized vertically to the proper height. Only change the vertical size on multi-line controls.

A subclass, FCCustomLuaWindow is also available for Lua scripts that need event handling.

Constructor & Destructor Documentation

◆ FCCustomWindow()

FCCustomWindow::FCCustomWindow ( )
inline

The constructor.

Lua-supported.

Member Function Documentation

◆ _CalcAvailableCtrlID()

int FCCustomWindow::_CalcAvailableCtrlID ( )
inline

For internal use only!

Finds a free control ID. Range 10001 until 19999 is reserved IDs for programmatically created controls.

◆ ClassName()

const char * FCCustomWindow::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 FCResourceWindow.

Reimplemented in FCCustomLuaWindow.

◆ CreateButton()

FCCtrlButton * FCCustomWindow::CreateButton ( float  x,
float  y 
)
inline

Creates and connects a push button to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateCancelButton()

FCCtrlButton * FCCustomWindow::CreateCancelButton ( )
inline

Creates a "Cancel" push button, with default positioning and appearance/behaviour.

There can only be one Cancel button per window. By default, the Cancel button is auto-positioned based on the OS standard positioning.

Lua-supported.

Returns
NULL if no Cancel push button could be added. Otherwise, the created object.

◆ CreateCheckbox()

FCCtrlCheckbox * FCCustomWindow::CreateCheckbox ( float  x,
float  y 
)
inline

Creates and connects a checkbox control to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateCloseButton()

FCCtrlButton * FCCustomWindow::CreateCloseButton ( float  x,
float  y 
)
inline

Creates a "Close" push button at the specified position and connects it to the window.

Lua-supported (0.56).

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateComboBox()

FCCtrlComboBox * FCCustomWindow::CreateComboBox ( float  x,
float  y 
)
inline

Adds a combobox control object to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateDataList()

FCCtrlDataList * FCCustomWindow::CreateDataList ( float  x,
float  y 
)
inline

Creates and connects a data list view control to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateEdit()

FCCtrlEdit * FCCustomWindow::CreateEdit ( float  x,
float  y 
)
inline

Adds an edit control object to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateHorizontalLine()

FCCtrlHorizontalLine * FCCustomWindow::CreateHorizontalLine ( float  x,
float  y,
float  width 
)
inline

Creates and connects a horizontal line control to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
[in]widthThe horizontal length (going to the right) of the line.
Returns
The pointer to the created object.

◆ CreateImage()

FCCtrlImage * FCCustomWindow::CreateImage ( float  x,
float  y 
)
inline

Adds an image object to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateListBox()

FCCtrlListBox * FCCustomWindow::CreateListBox ( float  x,
float  y 
)
inline

Creates and connects a list box control to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateOkButton()

FCCtrlButton * FCCustomWindow::CreateOkButton ( )
inline

Creates an "Ok" push button, with default positioning and appearance/behaviour.

There can only be one Ok button per window. By default, the Ok button is auto-positioned based on the OS standard positioning.

Lua-supported.

Returns
NULL if no Ok push button could be added. Otherwise, the created object.

◆ CreatePopup()

FCCtrlPopup * FCCustomWindow::CreatePopup ( float  x,
float  y 
)
inline

Creates and connects a popup/drop-down list control to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateRadioButton()

FCCtrlRadioButton * FCCustomWindow::CreateRadioButton ( float  x,
float  y 
)
inline

Creates and connects a radio button control to the window.

This function is not available in Lua. Lua scripts should use CreateRadioButtonGroup.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateRadioButtonGroup()

FCCtrlRadioButtonGroup * FCCustomWindow::CreateRadioButtonGroup ( float  x,
float  y,
int  no_of_items 
)
inline

Creates and connects a radio button group to the window.

Lua-supported (0.64).

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
[in]no_of_itemsNumber of items in the radio button group. The number must be between 1 and 20.
Returns
The pointer to the created object, or NULL on error.

◆ CreateSlider()

FCCtrlSlider * FCCustomWindow::CreateSlider ( float  x,
float  y 
)
inline

Creates and connects a horizontal slider control to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateStatic()

FCCtrlStatic * FCCustomWindow::CreateStatic ( float  x,
float  y 
)
inline

Adds a static text object to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateSwitcher()

FCCtrlSwitcher * FCCustomWindow::CreateSwitcher ( float  x,
float  y 
)
inline

Creates and connects a page switcher control to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateTextEditor()

FCCtrlTextEditor * FCCustomWindow::CreateTextEditor ( float  x,
float  y 
)
inline

Adds an edit text control object to the window.

Lua-supported (0.68).

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateTree()

FCCtrlTree * FCCustomWindow::CreateTree ( float  x,
float  y 
)
inline

Creates and connects a tree view control to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateUpDown()

FCCtrlUpDown * FCCustomWindow::CreateUpDown ( float  x,
float  y 
)
inline

Creates and connects a up/down (stepper) control to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
Returns
The pointer to the created object.

◆ CreateVerticalLine()

FCCtrlVerticalLine * FCCustomWindow::CreateVerticalLine ( float  x,
float  y,
float  height 
)
inline

Creates and connects a vertical line control to the window.

Lua-supported.

Parameters
[in]xInitial horizontal position from the left side.
[in]yInitial vertical position from the top.
[in]heightThe vertical length (going downwards) of the line.
Returns
The pointer to the created object.

◆ GetOkButtonCanClose()

bool FCCustomWindow::GetOkButtonCanClose ( ) const
inline

Gets the closability state of the Ok button. See SetOkButtonCanClose for more information.

Lua-supported (also as property) (0.56).

◆ MoveAllControls()

void FCCustomWindow::MoveAllControls ( int  horizoffset,
int  vertoffset 
)
inline

Moves all controls on the window by the specified amount.

A common use for this might be to re-position all the controls on a macOS window after resizing so that they match the position of Windows controls after resizing. This allows the caller to compensate for the difference in vertical coordinates between macOS and Windows. (Windows coordinates count down from the top, with greater values being lower. This matches nearly all human language systems. Meanwhile, macOS coordinates count up from the bottom, with greater values being higher. This corresponds to mathematical coordinate systems.) Normally the Framework takes care of this discrepancy for you, but when a window is resized it doesn't know how the caller wants to accommodate the resize. This function provides a simple fix for a common case.

The following Lua code gives an example of how to use MoveAllControls to make a window behave similarly after resizing in both macOS and Windows.

local oldpos = dlg:GetClientHeight()
dlg:SetClientWidth(newwidth) -- whatever newwidth value you want
dlg:SetClientHeight(newheight) -- whatever newheight value you want
local newpos = dlg:GetClientHeight()
if finenv.UI():IsOnMac() then
-- repositions all controls on macOS to be in the same positon relative to the top of the window
dlg:MoveAllControls(0, oldpos - newpos)
end

Lua-supported (0.63).

Parameters
horizoffsetthe horizontal amount to move the controls
vertoffsetthe vertical amount to move the controls

◆ OkButtonPressed()

void FCCustomWindow::OkButtonPressed ( )
inlineoverridevirtual

Override method for __FCUserWindow::OkButtonPressed.

Reimplemented from __FCUserWindow.

Reimplemented in FCCustomLuaWindow.

◆ SetOkButtonCanClose()

void FCCustomWindow::SetOkButtonCanClose ( bool  value)
inline

Sets the closability state of the window for the Ok button.

The OK button normally closes the window. You can prevent it from closing the window by setting this value to false.

One use might be to prevent the OK button from closing the window on a modeless dialog.

Lua-supported (also as property) (0.56).

Parameters
[in]valueThe value (true or false) to set it to.