Finale PDK Framework 0.77
Power Up Your Finale Music Software
Loading...
Searching...
No Matches
FCCustomLuaWindow Class Reference

Special FCCustomWindow child class, that provides the additional functionality to hook up JW Lua callback functions as dialog handlers (that can be called during the run of the dialog). More...

#include <fflua_customluawindow.h>

+ Inheritance diagram for FCCustomLuaWindow:

Public Member Functions

 FCCustomLuaWindow (lua_State *L)
 The constructor.
 
const char * ClassName () const override
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class.
 
bool ShowModeless ()
 Displays the dialog box as a modeless window. The dialog must have been registered with finenv.RegisterModelessDialog() or else ShowModeless fails.
 
bool ShowModelessWithGrabbyFocus ()
 Displays the macOS version of the dialog box as a modeless window with grabby focus behavior.
 
bool RegisterHandleCommand (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleCommand() event handler. This handler is a catch-all for all controls that are not otherwise handled by HandleControlEvent.
 
bool RegisterHandleControlEvent (FCControl *pControl, luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleControlEvent() event handler.
 
bool RegisterTextSelectionChanged (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the TextSelectionChanged() event handler.
 
bool RegisterScrollChanged (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the ScrollChanged() event handler.
 
bool RegisterHandleKeyboardCommand (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleKeyboardCommand() event handler.
 
bool RegisterHandleUpDownPressed (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleUpDownPressed() event handler.
 
bool RegisterHandleDataListSelect (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleDataListSelect() event handler.
 
bool RegisterHandleDataListCheck (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleDataListCheck() event handler.
 
bool RegisterHandleListDoubleClick (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleListDoubleClick() event handler.
 
bool RegisterHandleListEnterKey (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleListEnterKey() event handler.
 
bool RegisterHandleCancelButtonPressed (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the CancelButtonPressed() event handler.
 
bool RegisterHandleOkButtonPressed (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the OkButtonPressed() event handler.
 
bool RegisterInitWindow (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the InitWindow() event handler.
 
bool RegisterCloseWindow (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the CloseWindow() event handler.
 
bool RegisterHandleActivate (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleActivate() event handler.
 
bool RegisterHandleTimer (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleTimer() event handler.
 
bool RegisterDarkModeIsChanging (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the DarkModeIsChanging() event handler.
 
bool RegisterOSMenuCommandExecuted (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the OSMenuCommandExecuted() event handler.
 
bool RegisterMouseTrackingStarted (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the MouseTrackingStarted() event handler.
 
bool RegisterMouseTrackingStopped (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the MouseTrackingStopped() event handler.
 
bool HandleControlEvent (FCControl *pControl)
 Virtual method that is called when an event occurs on a registered control.
 
bool HandleCommand (FCControl *pControl) override
 Virtual method that is called when a user command occurs, such as a button press.
 
void TextSelectionChanged (FCControl *pControl) override
 Virtual handler method for detecing when the text selection changes on edit text controls.
 
void ScrollChanged (FCControl *pControl) override
 Virtual handler method for detecing when the scrollbar changes.
 
bool HandleKeyboardCommand (FCControl *pControl, eUniChar16 character) override
 Virtual handler method for handling keyboard save requests.
 
void HandleUpDownPressed (FCControl *pControl, int delta) override
 Virtual handler method for up/down arrow controls when they are clicked.
 
void HandleDataListSelect (FCCtrlDataList *pControl, int lineindex) override
 Virtual handler method for when FCCtrlDataList selection state changes.
 
void HandleDataListCheck (FCCtrlDataList *pControl, int lineindex, bool checkstate) override
 Virtual handler method for when FCCtrlDataList check state changes (for data list controls with check boxes).
 
void HandleListDoubleClick (FCControl *pControl) override
 Virtual handler method for when there's a double-click inside a data list or list box.
 
bool HandleListEnterKey (FCControl *pControl) override
 Virtual handler method there's an enter key hit inside a data list or list box.
 
void CancelButtonPressed () override
 Virtual handler method that is called when a control with a "Cancel" action is pressed by the user.
 
void OkButtonPressed () override
 Virtual handler method that is called when a control with a "OK" action is pressed by the user.
 
void InitWindow () override
 Virtual handler method that is called when a window just has been created, but not yet shown.
 
void CloseWindow () override
 Virtual handler method that is called when a window is closing. The Lua handler is called first.
 
void HandleActivate (bool activated) override
 Virtual handler method that is called when a window is activated or deactivated.
 
void HandleTimer (twobyte timerID) override
 Virtual handler method that is called for each timer event.
 
void DarkModeIsChanging (bool isDarkMode) override
 Virtual handler method that is called when Dark Mode changes. (Currently macOS only.)
 
void OSMenuCommandExecuted (EMENUID menuCommand, int menuCommandType) override
 Virtual handler method that is called after a menu command is executed.
 
void MouseTrackingStarted (FCControl *pControl) override
 Virtual handler method that is called when a mouse tracking starts. Currently only supported fo FCCtrlSlider.
 
void MouseTrackingStopped (FCControl *pControl) override
 Virtual handler method that is called when a mouse tracking stops. Currently only supported fo FCCtrlSlider.
 
- Public Member Functions inherited from FCCustomWindow
 FCCustomWindow ()
 The constructor.
 
const char * ClassName () const override
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class.
 
int _CalcAvailableCtrlID ()
 For internal use only!
 
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.
 
bool GetOkButtonCanClose () const
 Gets the closability state of the Ok button. See SetOkButtonCanClose for more information.
 
void OkButtonPressed () override
 Override method for __FCUserWindow::OkButtonPressed.
 
FCCtrlStaticCreateStatic (float x, float y)
 Adds a static text object to the window.
 
FCCtrlImageCreateImage (float x, float y)
 Adds an image object to the window.
 
FCCtrlEditCreateEdit (float x, float y)
 Adds an edit control object to the window.
 
FCCtrlTextEditorCreateTextEditor (float x, float y)
 Adds an edit text control object to the window.
 
FCCtrlComboBoxCreateComboBox (float x, float y)
 Adds a combobox control object to the window.
 
FCCtrlButtonCreateButton (float x, float y)
 Creates and connects a push button to the window.
 
FCCtrlCheckboxCreateCheckbox (float x, float y)
 Creates and connects a checkbox control to the window.
 
FCCtrlRadioButtonCreateRadioButton (float x, float y)
 Creates and connects a radio button control to the window.
 
FCCtrlButtonCreateOkButton ()
 Creates an "Ok" push button, with default positioning and appearance/behaviour.
 
FCCtrlButtonCreateCancelButton ()
 Creates a "Cancel" push button, with default positioning and appearance/behaviour.
 
FCCtrlButtonCreateCloseButton (float x, float y)
 Creates a "Close" push button at the specified position and connects it to the window.
 
FCCtrlPopupCreatePopup (float x, float y)
 Creates and connects a popup/drop-down list control to the window.
 
FCCtrlHorizontalLineCreateHorizontalLine (float x, float y, float width)
 Creates and connects a horizontal line control to the window.
 
FCCtrlVerticalLineCreateVerticalLine (float x, float y, float height)
 Creates and connects a vertical line control to the window.
 
FCCtrlSliderCreateSlider (float x, float y)
 Creates and connects a horizontal slider control to the window.
 
FCCtrlListBoxCreateListBox (float x, float y)
 Creates and connects a list box control to the window.
 
FCCtrlUpDownCreateUpDown (float x, float y)
 Creates and connects a up/down (stepper) control to the window.
 
FCCtrlRadioButtonGroupCreateRadioButtonGroup (float x, float y, int no_of_items)
 Creates and connects a radio button group to the window.
 
FCCtrlTreeCreateTree (float x, float y)
 Creates and connects a tree view control to the window.
 
FCCtrlSwitcherCreateSwitcher (float x, float y)
 Creates and connects a page switcher control to the window.
 
FCCtrlDataListCreateDataList (float x, float y)
 Creates and connects a data list view control to the window.
 
void MoveAllControls (int horizoffset, int vertoffset)
 Moves all controls on the window by the specified amount.
 
- Public Member Functions inherited from FCResourceWindow
 FCResourceWindow (int resid)
 The constructor for FCResourceWindow.
 
virtual ~FCResourceWindow ()
 The destructor.
 
const char * ClassName () const override
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class.
 
void DestroyWindow ()
 Destroys the window. Mainly for internal use.

 
void InitWindow () override
 Inherited implementation of InitWindow().
 
void CloseWindow () override
 Closes the window. This method is usually not overridden. Use methods like CanClose() instead.
 
__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.
 
EXECMODAL_RETURNS ExecuteModal_EWND (EWND hParent)
 Executes a dialog in a modal state (EWND version).
 
EXECMODAL_RETURNS ExecuteModal (__FCUserWindow *pParent=nullptr)
 Executes a dialog box in a modal state.
 
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.
 
void SetWantsDpiAwareness (bool WINCODE(state))
 Sets the HiDPI awareness state of the window.
 
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.)
 
bool GetPointsMeasurement ()
 Returns if the measurements and positioning is in points or in a system-native unit for this window.
 
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.
 
FCControlGetItemAt (int index) const
 Overloaded implementation of GetItemAt().
 
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.
 
float GetHeight ()
 Returns the current height of the window frame.
 
void SetClientWidth (float newwidth)
 Changes the width of the window client area.
 
float GetClientWidth ()
 Returns the current width of the window client area.
 
void SetClientHeight (float newheight)
 Changes the height of the window client area (excluding the title bar).
 
float GetClientHeight ()
 Returns the current height of the window client area, excluding the title bar.
 
bool IsDarkModeAppearance () const
 Returns the current Dark Mode state of the window. (Currently macOS only.)
 
void SetTitle (FCString *pTitle)
 Sets the caption (title) for the window.
 
void GetTitle (FCString *pTitle)
 Gets the caption (title) for the window.
 
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().
 
bool TryToCloseWindow ()
 Tries to close the window. This method calls the CanClose() virtual method before calling CloseWindow().
 
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.
 
void Hide ()
 Hides the window.
 
void ShowAndActivate ()
 Makes the window visible and sets it focused.
 
virtual void CloseButtonPressed ()
 Virtual method that is called when a control with a "Close" action is pressed by the user.
 
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.
 
virtual void HandleResize (int newwidth, int newheight, int oldwidth, int oldheight)
 Handler called when user resizes the window.
 
FCControlFindControl (int controlid)
 Finds a control based on the control's ID.
 
void SetTimer (twobyte timerID, ufourbyte msInterval)
 Creates a timer with the supplied ID and the timeout/refresh interval.
 
void StopTimer (twobyte timerID)
 Destroys a previously created timer (created with SetTimer).
 
void Activate ()
 Activates the window and sets it in user focus.
 
bool GetPreventClosing () const
 Returns whether the window may be closed.
 
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.
 
virtual bool CanClose ()
 Virtual method that decides if the window can close or not.
 
bool IsVisible ()
 Returns true if the window is visible.
 
void StorePosition (bool storesize)
 Stores the window position for use with RestorePosition.
 
bool RestorePosition ()
 Restores the window's position and size (if the size is stored).
 
void SetRestorePositionData (float x, float y, float width, float height)
 Sets the restore position and size.
 
void SetRestorePositionOnlyData (float x, float y)
 Sets the restore position, but with no size.
 
float GetStoredX () const
 Returns the stored horizonal position, for use in the restore feature.
 
float GetStoredY () const
 Returns the stored vertical position, for use in the restore feature.
 
float GetStoredWidth () const
 Returns the stored width. -1 if no width has been stored.
 
float GetStoredHeight () const
 Returns the stored height. -1 if no height has been stored.
 
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.
 
void SetWindowAlpha (twobyte alphapercent)
 Sets the transparency for the window.
 
void StartBufferControlMovement ()
 Marks a start of buffered movement for the controls in the dialog.
 
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.
 
- Public Member Functions inherited from __FCCollection
 __FCCollection ()
 The constructor.
 
virtual ~__FCCollection ()
 The virtual destructor, which deallocates the array and also all its elements.
 
int GetCount () const
 Returns the number of elements of the collection.
 
void Add (__FCBase *pNewItem)
 Adds an element to the end of the collection.
 
bool UniqueAdd (__FCBase *pNewItem)
 Adds an element to the end of the collection, but only if it doesn't exist in the collection before.
 
void InsertItemAt (__FCBase *pNewItem, int index)
 Inserts an item into the collection.
 
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.
 
void DetachAll ()
 Removes all the objects from the collection, without freeing/destroying the objects.
 
__FCBaseGetItemAt (int index) const
 Returns the object at the index position. Index is 0-based.
 
__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.
 
__FCBaseDetachItemAt (int index)
 Removes the object at the index position. Index is 0-based.
 
bool ClearItemAt (int index)
 Deletes the object at the index position and disposes the object. Index is 0-based.
 
int ToEndFrom (int index, FCIteratorHandler *pIterator)
 Processes one element after another and iterates from one specific index to the end of the collection.
 
int ForEach (FCIteratorHandler *pIterator) override
 Processes all elements in the collection (starting with item 0), or until the iterator Iterate() returns false.
 
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.
 
__FCBaseFindUserData (void *data_to_find)
 Returns the first element in the collection that has the indicated userdata.
 
bool Sort (FCIteratorHandler *pIterator)
 Sorts the elements of.
 
bool Swap (int index1, int index2)
 Swaps to items in the collection.
 
bool IsEmpty () const
 Returns true if the collection contains no elements.
 
int MoveFrom (__FCCollection *pOtherCollection, bool unique=false)
 Moves elements from another collection into this collection. The other will be empty after the operation.
 
bool IsIdentical (const __FCBase *pCompareObject) const override
 Returns true if two collections are considered to be identical.
 
void DebugDump () override
 Outputs the class data/information for debugging purposes.
 
- Public Member Functions inherited from __FCIteratorBase
 __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.
 
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.
 
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.
 
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.
 
void DebugMsg (const char *pszMsg)
 Creates a simple Message Box for debug purposes with just one text string.
 
void DebugOutMenuInfo (FCUI *pUI, int menuixd_horiz, int menuixd_vert) const
 Outputs the menu command info for debugging purposes.
 
int DebugOutFormat (const char *fmt,...)
 Outputs debug text using C style "printf" syntax.
 
virtual void DebugDataDump ()
 Outputs a memory dump of the data block in the object for debugging purposes.
 
virtual void DebugDataByteArrayDump ()
 Outputs a memory dump of the data block in the object for debugging purposes, as a C++ byte array.
 
void Set16BitFlag (FLAG_16 *flag, FLAG_16 flagbits, bool state)
 Sets a 16 bit flag.
 
void Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state)
 Sets/resets a 32 bit flag, by using a bit mask.
 
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.
 
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.
 
void SetUserData (void *pData)
 Sets the user data attached to the instance of an object.
 
void SetUserData2 (void *pData)
 Sets the additional user data attached to the instance of an object.
 
void * GetUserData () const
 Gets the user data attached to the instance of an object.
 
void * GetUserData2 () const
 Gets the additional user data attached to the instance of an object.
 
void StoreXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue)
 Helper function to store FCString objects in the XML file.
 
void StoreXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int value)
 Helper function to store integer objects in the XML file.
 
void StoreXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool value)
 Helper function to store boolean objects in the XML file.
 
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.
 
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.
 
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.
 
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.
 
virtual void StoreToXML (tinyxml2::XMLElement *pParentNode)
 Virtual method that is used to store an object's data.
 
bool ReadXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue)
 Helper method to read FCString objects from the XML file.
 
bool ReadXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int *pValue)
 Helper method to read integer objects from the XML file.
 
bool ReadXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool *pValue)
 Helper method to read boolean objects from the XML file.
 
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.
 
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.
 
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.
 
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.
 
virtual bool ReadFromXML (tinyxml2::XMLElement *pParentNode)
 Virtual method that is used to read object data.
 

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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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".
 
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.
 
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.
 
static void DebugOut (const char *pszLine)
 Static method to output a line of text for debugging purposes.
 
- 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

Special FCCustomWindow child class, that provides the additional functionality to hook up JW Lua callback functions as dialog handlers (that can be called during the run of the dialog).

Use the "Register" methods (such as RegisterHandleCommand) to connect a Lua function to a handler.

Constructor & Destructor Documentation

◆ FCCustomLuaWindow()

FCCustomLuaWindow::FCCustomLuaWindow ( lua_State * L)
inline

The constructor.

Parameters
LThe running Lua state. For Lua scripts, the Lua environment supplies it automatically, and the script supplies no parameters.

Lua-supported.

Member Function Documentation

◆ CancelButtonPressed()

void FCCustomLuaWindow::CancelButtonPressed ( )
inlineoverridevirtual

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

Lua-supported through a callback function.

Reimplemented from __FCUserWindow.

◆ ClassName()

const char * FCCustomLuaWindow::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 __FCUserWindow.

◆ CloseWindow()

void FCCustomLuaWindow::CloseWindow ( )
inlineoverridevirtual

Virtual handler method that is called when a window is closing. The Lua handler is called first.

Lua-supported through a callback function.

Implements __FCUserWindow.

◆ DarkModeIsChanging()

void FCCustomLuaWindow::DarkModeIsChanging ( bool isDarkMode)
inlineoverridevirtual

Virtual handler method that is called when Dark Mode changes. (Currently macOS only.)

Lua-supported through a callback function.

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

Reimplemented from __FCUserWindow.

◆ HandleActivate()

void FCCustomLuaWindow::HandleActivate ( bool activated)
inlineoverridevirtual

Virtual handler method that is called when a window is activated or deactivated.

Lua-supported through a callback function (0.66).

Parameters
activatedtrue if the window was activated and false if deactivated.

Reimplemented from __FCUserWindow.

◆ HandleCommand()

bool FCCustomLuaWindow::HandleCommand ( FCControl * pControl)
inlineoverridevirtual

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

Lua-supported through a callback function.

The handler for HandleCommand is only called for controls that have not been registered with RegisterHandleControlEvent or if the registered control's callback function returns false.

Parameters
pControlPointer to the control the raised the command event.
Returns
Return true if the command is handled.

Reimplemented from __FCUserWindow.

◆ HandleControlEvent()

bool FCCustomLuaWindow::HandleControlEvent ( FCControl * pControl)
inline

Virtual method that is called when an event occurs on a registered control.

Lua-supported through a callback function (0.56).

Parameters
pControlPointer to the control that registered the command event.
Returns
Return true if the command is handled.

◆ HandleDataListCheck()

void FCCustomLuaWindow::HandleDataListCheck ( FCCtrlDataList * pControl,
int lineindex,
bool checkstate )
inlineoverridevirtual

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

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 from __FCUserWindow.

◆ HandleDataListSelect()

void FCCustomLuaWindow::HandleDataListSelect ( FCCtrlDataList * pControl,
int lineindex )
inlineoverridevirtual

Virtual handler method for when FCCtrlDataList selection state changes.

Lua-supported through a callback function.

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

Reimplemented from __FCUserWindow.

◆ HandleKeyboardCommand()

bool FCCustomLuaWindow::HandleKeyboardCommand ( FCControl * pControl,
eUniChar16 character )
inlineoverridevirtual

Virtual handler method for handling keyboard save requests.

Lua-supported through a callback function.

Returns
Return true if you have handled the keyboard command. Return false if you want the base class to handle it. Normally, returning false means either the control will handle it or Finale will handle it, if the control doesn't recognize it.

Reimplemented from __FCUserWindow.

◆ HandleListDoubleClick()

void FCCustomLuaWindow::HandleListDoubleClick ( FCControl * pControl)
inlineoverridevirtual

Virtual handler method for when there's a double-click inside a data list or list box.

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

Reimplemented from __FCUserWindow.

◆ HandleListEnterKey()

bool FCCustomLuaWindow::HandleListEnterKey ( FCControl * pControl)
inlineoverridevirtual

Virtual handler method 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.

Reimplemented from __FCUserWindow.

◆ HandleTimer()

void FCCustomLuaWindow::HandleTimer ( twobyte timerID)
inlineoverridevirtual

Virtual handler method that is called for each timer event.

Lua-supported through a callback function.

Parameters
timerIDThe id used to start the timer.

Reimplemented from __FCUserWindow.

◆ HandleUpDownPressed()

void FCCustomLuaWindow::HandleUpDownPressed ( FCControl * pControl,
int delta )
inlineoverridevirtual

Virtual handler method for up/down arrow controls when they are clicked.

Lua-supported through a callback function.

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

Reimplemented from __FCUserWindow.

◆ InitWindow()

void FCCustomLuaWindow::InitWindow ( )
inlineoverridevirtual

Virtual handler method that is called when a window just has been created, but not yet shown.

Lua-supported through a callback function.

Reimplemented from __FCUserWindow.

◆ MouseTrackingStarted()

void FCCustomLuaWindow::MouseTrackingStarted ( FCControl * pControl)
inlineoverridevirtual

Virtual handler method that is called when a mouse tracking starts. Currently only supported fo FCCtrlSlider.

Lua-supported through a callback function.

Parameters
pControlthe control where mouse tracking stared. (Currently only works with FCCtrlSlider)

Reimplemented from __FCUserWindow.

◆ MouseTrackingStopped()

void FCCustomLuaWindow::MouseTrackingStopped ( FCControl * pControl)
inlineoverridevirtual

Virtual handler method that is called when a mouse tracking stops. Currently only supported fo FCCtrlSlider.

Lua-supported through a callback function.

Parameters
pControlthe control where mouse tracking stared. (Currently only works with FCCtrlSlider)

Reimplemented from __FCUserWindow.

◆ OkButtonPressed()

void FCCustomLuaWindow::OkButtonPressed ( )
inlineoverridevirtual

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

Lua-supported through a callback function.

Reimplemented from __FCUserWindow.

◆ OSMenuCommandExecuted()

void FCCustomLuaWindow::OSMenuCommandExecuted ( EMENUID menuCommand,
int menuCommandType )
inlineoverridevirtual

Virtual handler method that is called after a menu command is executed.

Lua-supported through a callback function.

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

Reimplemented from __FCUserWindow.

◆ RegisterCloseWindow()

bool FCCustomLuaWindow::RegisterCloseWindow ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the CloseWindow() event handler.

Lua-supported.

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the InitWindow event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterDarkModeIsChanging()

bool FCCustomLuaWindow::RegisterDarkModeIsChanging ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the DarkModeIsChanging() event handler.

Lua-supported (0.64).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the DarkModeIsChanging event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleActivate()

bool FCCustomLuaWindow::RegisterHandleActivate ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the HandleActivate() event handler.

Lua-supported (0.66).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the HandleActivate event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleCancelButtonPressed()

bool FCCustomLuaWindow::RegisterHandleCancelButtonPressed ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the CancelButtonPressed() event handler.

Lua-supported.

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the CancelButtonPressed event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleCommand()

bool FCCustomLuaWindow::RegisterHandleCommand ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the HandleCommand() event handler. This handler is a catch-all for all controls that are not otherwise handled by HandleControlEvent.

Lua-supported.

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the HandleCommand event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleControlEvent()

bool FCCustomLuaWindow::RegisterHandleControlEvent ( FCControl * pControl,
luabridge::LuaRef lua_callback_function )
inline

Registers a Lua function to the HandleControlEvent() event handler.

You can use this function to register a handler to be called when a specific control raises an event. Each control may register a different callback function, or some or all controls may share a callback function. However, if all controls share the same callback function, use RegisterHandleCommand instead.

Lua-supported (0.56).

Parameters
pControlThe control for which this handler function will be called.
lua_callback_functionThe Lua callback function. Please refer to the documentation for the HandleControlEvent event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleDataListCheck()

bool FCCustomLuaWindow::RegisterHandleDataListCheck ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the HandleDataListCheck() event handler.

Lua-supported.

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the HandleDataListCheck event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleDataListSelect()

bool FCCustomLuaWindow::RegisterHandleDataListSelect ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the HandleDataListSelect() event handler.

Lua-supported.

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the HandleDataListSelect event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleKeyboardCommand()

bool FCCustomLuaWindow::RegisterHandleKeyboardCommand ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the HandleKeyboardCommand() event handler.

Lua-supported (0.69).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the HandleKeyboardCommand event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleListDoubleClick()

bool FCCustomLuaWindow::RegisterHandleListDoubleClick ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the HandleListDoubleClick() event handler.

Lua-supported (0.70).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the HandleListDoubleClick event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleListEnterKey()

bool FCCustomLuaWindow::RegisterHandleListEnterKey ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the HandleListEnterKey() event handler.

Lua-supported (0.70).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the HandleListEnterKey event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleOkButtonPressed()

bool FCCustomLuaWindow::RegisterHandleOkButtonPressed ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the OkButtonPressed() event handler.

Lua-supported.

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the OkButtonPressed event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleTimer()

bool FCCustomLuaWindow::RegisterHandleTimer ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the HandleTimer() event handler.

Lua-supported (0.56).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the HandleTimer event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterHandleUpDownPressed()

bool FCCustomLuaWindow::RegisterHandleUpDownPressed ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the HandleUpDownPressed() event handler.

Lua-supported.

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the HandleUpDownPressed event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterInitWindow()

bool FCCustomLuaWindow::RegisterInitWindow ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the InitWindow() event handler.

Lua-supported.

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the InitWindow event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterMouseTrackingStarted()

bool FCCustomLuaWindow::RegisterMouseTrackingStarted ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the MouseTrackingStarted() event handler.

Lua-supported (0.72).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the MouseTrackingStarted event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterMouseTrackingStopped()

bool FCCustomLuaWindow::RegisterMouseTrackingStopped ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the MouseTrackingStopped() event handler.

Lua-supported (0.72).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the MouseTrackingStopped event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterOSMenuCommandExecuted()

bool FCCustomLuaWindow::RegisterOSMenuCommandExecuted ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the OSMenuCommandExecuted() event handler.

See FCUI::GetOSMenuCommandFromItemText for more information about OS menu commands.

An example usage of this callback is allowing a modeless window to track whether a menu item has been executed as a trigger for an update of its display. These might include tracking if the user calls Undo or creates a Bookmark.

Lua-supported (0.68).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the OSMenuCommandExecuted event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterScrollChanged()

bool FCCustomLuaWindow::RegisterScrollChanged ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the ScrollChanged() event handler.

Lua-supported (0.68).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the ScrollChanged event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ RegisterTextSelectionChanged()

bool FCCustomLuaWindow::RegisterTextSelectionChanged ( luabridge::LuaRef lua_callback_function)
inline

Registers a Lua function to the TextSelectionChanged() event handler.

Lua-supported (0.68).

Parameters
lua_callback_functionThe Lua callback function. Please refer to the documentation for the TextSelectionChanged event handler for the callback syntax.
Returns
True on succesful callback registration.

◆ ScrollChanged()

void FCCustomLuaWindow::ScrollChanged ( FCControl * pControl)
inlineoverridevirtual

Virtual handler method for detecing when the scrollbar changes.

Lua-supported through a callback function.

Parameters
pControlPointer to the edit text control.

Reimplemented from __FCUserWindow.

◆ ShowModeless()

bool FCCustomLuaWindow::ShowModeless ( )
inline

Displays the dialog box as a modeless window. The dialog must have been registered with finenv.RegisterModelessDialog() or else ShowModeless fails.

Lua-supported (0.56).

Example of usage:

function plugindef()
finaleplugin.HandlesUndo = true -- suppresses automatic saving of Undo block
end
-- scratch FCString
local str = finale.FCString()
-- create a new dialog
-- it must be a global variable,
-- or else Lua garbage collection may destroy it out from under you
global_dialog = finale.FCCustomLuaWindow()
-- add a button to say "Hello World"
local hello_world_button = global_dialog:CreateButton(0, 0)
str.LuaString = "Hello World"
hello_world_button:SetWidth(100)
hello_world_button:SetText(str)
global_dialog:RegisterHandleControlEvent (
hello_world_button,
function(control)
-- if this modifies the Finale document, first call finenv.StartNewUndoBlock("My Undo Text", false)
finenv.UI():AlertInfo("Hello World", "") -- replace this with something productive
-- if updates were successful, call finenv.EndUndoBlock(true)
-- if updates were not successful, call finenv.EndUndoBlock(false)
end
)
global_dialog:CreateOkButton()
finenv.RegisterModelessDialog(global_dialog) -- must register, or ShowModeless does nothing
global_dialog:ShowModeless()

A fully functioning sample script may be found here.

◆ ShowModelessWithGrabbyFocus()

bool FCCustomLuaWindow::ShowModelessWithGrabbyFocus ( )
inline

Displays the macOS version of the dialog box as a modeless window with grabby focus behavior.

The default focus behavior for modeless plugin dialogs in macOS Finale is that they grab focus whenever possible. This can cause difficulties for users who leave them open while doing other Finale tasks. To mitigate this, the typical behavior for FCCustomLuaWindow modeless macOS windows is to override Finale's grabby focus behavior and instead open a type of window that never grabs focus. (These are similar to the window types of built-in modeless windows like palettes or the Playback Controls.) In very rare circumstances, this can present problems.

Warning
Do not use this function unless there is a specific issue you have to address. The issue is likely to be the need to workaround an annoying Finale behavior. If that behavior is subsequently modified, you could implement a version check to decide which ShowModeless function to use. See the comments at FCMusicRegion::Playback for an example of when you might choose to use ShowModelessWithGrabbyFocus.

The details of how to use ShowModelessWithGrabbyFocus are the same as those for ShowModeless. On Windows there is no difference between them.

Lua-supported (0.68)

◆ TextSelectionChanged()

void FCCustomLuaWindow::TextSelectionChanged ( FCControl * pControl)
inlineoverridevirtual

Virtual handler method for detecing when the text selection changes on edit text controls.

Lua-supported through a callback function.

Parameters
pControlPointer to the edit text control.

Reimplemented from __FCUserWindow.