Finale PDK Framework 0.62
Public Member Functions | List of all members
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:
FCCustomWindow FCResourceWindow __FCUserWindow __FCCollection __FCIteratorBase __FCBase

Public Member Functions

 FCCustomLuaWindow (lua_State *L)
 The constructor. More...
 
const char * ClassName () override
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More...
 
bool ShowModeless ()
 Displays the dialog box as a modeless window. The dialog must have been registered with finenv.RegisterModelessDialog() or else ShowModeless fails. More...
 
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. More...
 
bool RegisterHandleControlEvent (FCControl *pControl, luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleControlEvent() event handler. More...
 
bool RegisterHandleUpDownPressed (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleUpDownPressed() event handler. More...
 
bool RegisterHandleDataListSelect (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleDataListSelect() event handler. More...
 
bool RegisterHandleDataListCheck (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleDataListCheck() event handler. More...
 
bool RegisterHandleCancelButtonPressed (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the CancelButtonPressed() event handler. More...
 
bool RegisterHandleOkButtonPressed (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the OkButtonPressed() event handler. More...
 
bool RegisterInitWindow (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the InitWindow() event handler. More...
 
bool RegisterCloseWindow (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the CloseWindow() event handler. More...
 
bool RegisterHandleTimer (luabridge::LuaRef lua_callback_function)
 Registers a Lua function to the HandleTimer() event handler. More...
 
bool HandleControlEvent (FCControl *pControl)
 Virtual method that is called when an event occurs on a registered control. More...
 
bool HandleCommand (FCControl *pControl) override
 Virtual method that is called when a user command occurs, such as a button press. More...
 
void HandleUpDownPressed (FCControl *pControl, int delta) override
 Virtual handler method for up/down arrow controls when they are clicked. More...
 
void HandleDataListSelect (FCCtrlDataList *pControl, int lineindex) override
 Virtual handler method for when FCCtrlDataList selection state changes. More...
 
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). More...
 
void CancelButtonPressed () override
 Virtual handler method that is called when a control with a "Cancel" action is pressed by the user. More...
 
void OkButtonPressed () override
 Virtual handler method that is called when a control with a "OK" action is pressed by the user. More...
 
void InitWindow () override
 Virtual handler method that is called when a window just has been created, but not yet shown. More...
 
void CloseWindow () override
 Virtual handler method that is called when a window is closing. The Lua handler is called first. More...
 
void HandleTimer (twobyte timerID) override
 Virtual handler method that is called for each timer event. More...
 
- Public Member Functions inherited from FCCustomWindow
 FCCustomWindow ()
 The constructor. 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...
 
FCCtrlStaticCreateStatic (float x, float y)
 Adds a static text object to the window. More...
 
FCCtrlEditCreateEdit (float x, float y)
 Adds an edit 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...
 
FCCtrlLineCreateHorizontalLine (float x, float y, float width)
 Creates and connects a horizontal line control to the window. More...
 
FCCtrlLineCreateVerticalLine (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...
 
- 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.

 
__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)
 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.
 
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.
 
FCCtrlComboBoxAddComboBox (twobyte id)
 Links a combo box object to the dialog resource.
 
FCCtrlEditAddEdit (twobyte id)
 Links an edit field 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
FLAG_32 _GetLastCommandModifierKeys () const
 For internal use only.
 
void _SetLastCommandModifierKeys (FLAG_32 value)
 For internal use only.
 
 __FCUserWindow ()
 The constuctor.
 
bool GetPointsMeasurement ()
 Returns if the measurements and positioning is in points or in a system-native unit for this window. More...
 
bool IsModal ()
 Returns true if the dialog currently is running in a modal state.
 
void SetEnabled (bool state)
 Sets the enabled state of the window. More...
 
FCControlGetItemAt (int index)
 Overloaded implementation of GetItemAt(). More...
 
void _SetModelessEnabledState ()
 For internal use only. 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...
 
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 ()
 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 CloseButtonPressed ()
 Virtual method that is called when a control with a "Close" action is pressed by the user. 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 HandleActivate (bool activated)
 Virtual method that is called when the window is activated or deactivated. Overwrite in child classes.
 
virtual void HandleResize (int newwidth, int newheight, int oldwidth, int oldheight)
 Handler called when user resizes the window. More...
 
FCControlFindControl (int controlid)
 Finds a control based on the control's ID. More...
 
void SetTimer (twobyte timerID, ufourbyte msInterval)
 Creates a timer with the supplied ID and the timeout/refresh interval. More...
 
void StopTimer (twobyte timerID)
 Destroys a previously created timer (created with SetTimer). More...
 
void Activate ()
 Activates the window and sets it in user focus. More...
 
virtual bool CanClose ()
 Virtual method that decides if the window can close or not. More...
 
bool IsVisible ()
 Returns true if the window is visible.
 
void StorePosition (bool storesize)
 Stores the window position for use with RestorePosition. More...
 
bool RestorePosition ()
 Restores the window's position and size (if the size is stored). More...
 
void SetRestorePositionData (float x, float y, float width, float height)
 Sets the restore position and size. More...
 
void SetRestorePositionOnlyData (float x, float y)
 Sets the restore position, but with no size. More...
 
float GetStoredX () const
 Returns the stored horizonal position, for use in the restore feature. More...
 
float GetStoredY () const
 Returns the stored vertical position, for use in the restore feature. More...
 
float GetStoredWidth () const
 Returns the stored width. -1 if no width has been stored. More...
 
float GetStoredHeight () const
 Returns the stored height. -1 if no height has been stored. More...
 
bool IsWindowshade ()
 Returns true if the window is in window shade mode.
 
void Windowshade (bool windowshade)
 Sets the window in a "windowshade" mode (where only the title bar is visible) - or restore the window to full size. More...
 
void SetWindowAlpha (twobyte alphapercent)
 Sets the transparency for the window. More...
 
void StartBufferControlMovement ()
 Marks a start of buffered movement for the controls in the dialog. More...
 
bool EndBufferControlMovement ()
 Resizes/moves all buffered control movements made since the StartBufferControlMovement call.
 
bool IsInBufferMode ()
 Returns true if buffered movement has been started with StartBufferControlMovement. More...
 
void _WinSetInitWindowCalled (bool value)
 For internal use only - Windows only!
 
void _WinSetRestorePositionCalled (bool value)
 For internal use only - Windows only!
 
void _WinPostRestorePosition ()
 For internal use only! On Windows, a position restore has to be made after InitWindow()
 
- Public Member Functions inherited from __FCCollection
 __FCCollection ()
 The constructor.
 
virtual ~__FCCollection ()
 The virtual destructor, which deallocates the array and also all its elements. More...
 
int GetCount () const
 Returns the number of elements of the collection. More...
 
void Add (__FCBase *pNewItem)
 Adds an element to the end of the collection. More...
 
bool UniqueAdd (__FCBase *pNewItem)
 Adds an element to the end of the collection, but only if it doesn't exist in the collection before. More...
 
void InsertItemAt (__FCBase *pNewItem, int index)
 Inserts an item into the collection. More...
 
bool ElementExists (__FCBase *pQueryItem)
 Returns true if the element is found in the collection, otherwise false.
 
void ClearAll ()
 Destroys all the objects in the collection and empties the collection. More...
 
void DetachAll ()
 Removes all the objects from the collection, without freeing/destroying the objects. More...
 
__FCBaseGetItemAt (int index)
 Returns the object at the index position. Index is 0-based. More...
 
__FCBaseGetLastItem ()
 Returns the last item in the collection.
 
__FCBaseoperator[] (int index)
 Identical to the GetItemAt method.
 
int GetIndexOf (__FCBase *pObject)
 Returns the 0-based order index for the object within the collection. More...
 
__FCBaseDetachItemAt (int index)
 Removes the object at the index position. Index is 0-based. More...
 
bool ClearItemAt (int index)
 Deletes the object at the index position and disposes the object. Index is 0-based. More...
 
int ToEndFrom (int index, FCIteratorHandler *pIterator)
 Processes one element after another and iterates from one specific index to the end of the collection. More...
 
int ForEach (FCIteratorHandler *pIterator) override
 Processes all elements in the collection (starting with item 0), or until the iterator Iterate() returns false. More...
 
virtual int ForEachIndex (FCIteratorHandler *pIterator)
 Same as ForEach, but the IterateIndex callback of the iterator handler is used instead.
 
__FCBaseFindFirst (FCIteratorHandler *pIterator) override
 Process elements until a match is found. More...
 
__FCBaseFindUserData (void *data_to_find)
 Returns the first element in the collection that has the indicated userdata. More...
 
bool Sort (FCIteratorHandler *pIterator)
 Sorts the elements of. More...
 
bool Swap (int index1, int index2)
 Swaps to items in the collection. More...
 
bool IsEmpty ()
 Returns true if the collection contains no elements. More...
 
int MoveFrom (__FCCollection *pOtherCollection, bool unique=false)
 Moves elements from another collection into this collection. The other will be empty after the operation. More...
 
bool IsIdentical (__FCBase *pCompareObject) override
 Returns true if two collections are considered to be identical. More...
 
void DebugDump () override
 Outputs the class data/information for debugging purposes. More...
 
- Public Member Functions inherited from __FCIteratorBase
 __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...
 
 __FCBase ()
 The constructor.
 
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...
 
- Public Types inherited from __FCBase
enum  PDKFRAMEWORK_CLASSID {
  FCID_UNKNOWN = 0 , FCID_ACCIDENTALMOD , FCID_ALLOTMENT , FCID_ARTICULATION ,
  FCID_ARTICULATIONDEF , FCID_BACKWARDREPEAT , FCID_BASELINE , FCID_BEAMMOD ,
  FCID_BEATCHARTELEMENT , FCID_BROKENBEAMMOD , FCID_CATEGORYDEF , FCID_CELLCLEFCHANGE ,
  FCID_CELLFRAMEHOLD , FCID_CELLGRAPHIC , FCID_CELLTEXT , FCID_CENTERSMARTSHAPE ,
  FCID_CHORD , FCID_CHORDPREFS , FCID_CHORDSUFFIXELEMENT , FCID_CHORUSSYLLABLE ,
  FCID_CLEFDEF , FCID_COMPOSITETIMESIGBOTTOMELEMENT , FCID_COMPOSITETIMESIGTOPELEMENT , FCID_CROSSSTAFFMOD ,
  FCID_CUSTOMSMARTLINEDEF , FCID_CUSTOMSTEMMOD , FCID_DISTANCEPREFS , FCID_DOTMOD ,
  FCID_ENCLOSURE , FCID_ENDINGREPEAT , FCID_ENTRYALTERMOD , FCID_EXECUTABLESHAPEDEF ,
  FCID_EXPRESSION , FCID_FONTINFO , FCID_FONTPREFS , FCID_FREEZESYSTEM ,
  FCID_FRETBOARDSTYLEDEF , FCID_FRETBOARDSTYLEDEFS , FCID_FRETBOARDGROUPDEF , FCID_FRETBOARDGROUPDEFS ,
  FCID_FRETINSTRUMENTDEF , FCID_GENERALPREFS , FCID_GRIDSGUIDESPREFS , FCID_GROUP ,
  FCID_GROUPNAMEPOSITIONPREFS , FCID_HUMANPLAYBACKPREFS , FCID_INDEPENDENTCELLDETAIL , FCID_INSTRUMENTDEF ,
  FCID_INSTRUMENTPLAYBACKDATA , FCID_KEYSIGNATURE , FCID_LAYERPREFS , FCID_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_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, float f)
 Static method that outputs a line for debugging purposes. The text appears with the extra float value appearing afterwards. More...
 
static void DebugOutTag (const char *pszPrefixText, EXTAG extag)
 Static method that outputs a line for debugging purposes. The text appears with the EXTAG (in text) appearing afterwards. More...
 
static void DebugOutHex (const char *pszPrefixText, int i)
 Static method that outputs a line for debugging purposes. The text appears with the extra digit (in hexadecimal presentation) appearing afterwards. More...
 
static void DebugOutBin (const char *pszPrefixText, int i)
 Static method that outputs a line for debugging purposes. The text appears with the extra digit (in binary presentation) appearing afterwards. More...
 
static void DebugOutString (const char *pszPrefixText, const char *thestring)
 Static method that outputs a line for debugging purposes (C string version). The text appears with the extra string appearing afterwards. More...
 
static void DebugOutString (const char *pszPrefixText, FCString *pString)
 Static method that outputs a line for debugging purposes (FCString version). The text appears with the extra string appearing afterwards. More...
 
static void DebugOutBool (const char *pszPrefixText, bool state)
 Static method that outputs a line for debugging purposes. The boolean state appears afterwards as either "TRUE" or "FALSE". More...
 
static void DebugOutBlock (const void *pBuffer, int startoffset, int size)
 Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) until the whole memory block is dumped. More...
 
static void DebugOutByteArrayBlock (const void *pBuffer, int startoffset, int size)
 Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) as a C++ onebyte array, until the whole memory block is dumped. More...
 
static void DebugOut (const char *pszLine)
 Static method to output a line of text for debugging purposes. More...
 
- Protected Member Functions inherited from __FCUserWindow
twobyte GetModalResult ()
 

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 ( )
inlineoverridevirtual

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

Lua-supported.

Reimplemented from FCCustomWindow.

◆ 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.

Reimplemented from FCResourceWindow.

◆ 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.

\param pControl Pointer to the control the raised the command event.

\return 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.

◆ HandleTimer()

void FCCustomLuaWindow::HandleTimer ( twobyte  timerID)
inlineoverridevirtual

Virtual handler method that is called for each timer event.

Lua-supported through a callback function.

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 FCResourceWindow.

◆ 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 FCCustomWindow.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

FCString::SetRunningLuaFolderPath and FCString::SetRunningLuaFilePath may not be accurate once the modeless window is running. Use finenv.RunningLuaFolderPath() and finenv.RunningLuaFilePath() instead.

Lua-supported (0.56).

Example of usage:

function plugindef()
finaleplugin.HandlesUndo = true -- suppresses automatic Undo handling
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()