Finale PDK Framework 0.77
Power Up Your Finale Music Software
|
UI class that handles a control with a static image. More...
#include <ff_dialogs.h>
Public Member Functions | |
const char * | ClassName () const override |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. | |
FCCtrlImage (twobyte id) | |
The constructor. | |
bool | SetImageFromFilePath (const char *path, bool preserveControlSize=false) |
Set the image from a fully qualified file name and path. | |
bool | SetImageFromBuffer (const onebyte *data, long dataLength, bool preserveControlSize=false) |
Set the image from an input memory buffer. | |
Public Member Functions inherited from FCControl | |
FCControl (twobyte id, const __FCControlTypedPtr &subclassPtr) | |
The constructor. | |
FCControl (twobyte id) | |
The constructor for external C++ subclasses. | |
virtual | ~FCControl () |
Destructor. | |
bool | GetPointsMeasurement () |
Returns if the measurements and positioning is in points or in a system-native unit. | |
__FCUserWindow * | GetParent () const |
Returns the parent window object for the control. | |
bool | WindowExists () const |
Returns true if a valid parent window handle (and control handle) is available. | |
HWND | _GetWinControlHandle () const |
For internal use only. Returns the handle for the control. | |
virtual void | Repaint () |
Force a visual update of the control. | |
int | GetControlID () const |
Returns the control ID for the control. | |
int | GetAssignedID () const |
Gets the connected ID regardless of platform. | |
CONTROL_ACTIONS | GetAction () const |
Returns the dialog acction assigned to the control. | |
void | SetAction (CONTROL_ACTIONS action) |
Sets the dialog acction assigned to the control. | |
virtual void | SetEnable (bool state) |
Sets the enable/grayed state of the control (if user input should be allowed or not). | |
virtual bool | GetEnable () const |
Returns the enable/grayed state of the control (if user input should be allowed or not). | |
virtual void | SetVisible (bool bShow) |
Sets the visibility of the control. | |
virtual void | SetBold (bool state) |
Sets the boldface appearance for the control. | |
virtual void | SetFont (const FCFontInfo *fontInfo) |
Sets the font information for the text of the control. | |
virtual FCFontInfo * | CreateFontInfo () const |
Creates font information from the current text font of the control. | |
virtual void | SetKeyboardFocus () |
Sets the keyboard focus to the control. | |
void | SetTextAndResize (FCString *pString) |
Cocoa only: Sets the text and resizes the view inside a NSScrollView. | |
virtual bool | AssureWidthForText () |
Lengthens the width of the control to the extent necessary to display all the text in the control. | |
void | AssureNoHorizontalOverlap (const FCControl &control, int padding) |
Shift the control right as needed to the extent necessary so that its GetLeft position will accommodate the width of the specified control plus the specified padding. You can call this function with more than one reference control. | |
void | HorizontallyAlignLeftWith (const FCControl *pControl, double offset=0) |
Specifies a control with which to horizontally align left. All controls set to align with this control align at the location of the one with the largest GetLeft value. This function replaces any previous horizontal alignment options. | |
void | HorizontallyAlignRightWith (const FCControl *pControl, double offset=0) |
Specifies a control with which to horizontally align right. All controls set to align with this control align at the location of the one with the largest right value (GetLeft + GetWidth). This function replaces any previous horizontal alignment options. | |
void | HorizontallyAlignRightWithFurthest (double offset=0) |
Specifies that this control should align with the control that extends furthest to the right. Calling this function replaces any other control that has been set for horizontal alignment. | |
void | DoAutoResizeWidth (std::optional< double > minimumwidth=std::nullopt) |
Sets the autoresize width option for the control. When this value is set, the control calls AssureWidthForText automatically when the window initializes and every time SetText is called while the window is running. | |
void | StretchToAlignWithRight () |
Sets a control to stretch its width to align with the furthest right control. | |
virtual void | SetText (const FCString *pString) |
Sets the text for the control. | |
virtual void | GetText (FCString *pString) const |
Gets the text of the control. | |
void | SetLeft (float pos) |
Sets the left position of the control. | |
float | GetLeft () |
Returns the left position of the control. | |
void | SetTop (float pos) |
Sets the top position of the control. | |
float | GetTop () |
Returns the top position of the control. | |
float | GetHeight () |
Returns the height of the control. | |
float | GetWidth () |
Returns the width of the control. | |
bool | GetVisible () |
Returns the visibility state of a control. | |
void | SetWidth (float width) |
Sets the width of the control. | |
void | SetHeight (float height) |
Sets the height of the control. | |
void | MoveRelative (float horizmove, float vertmove) |
Moves the control relatively to the current position. | |
void | MoveAbsolute (float x, float y) |
Moves the control in absolute coordinates. | |
virtual void | ResizeRelative (float horizresize, float vertresize) |
Resizes the control relatively to the current size. Top left corner will stay fixed. | |
bool | RedrawImmediate () const |
Redraws the control immediately. Calling this allows your program that has blocked the main thread to show immediate results without relinquishing control back to the operating system. | |
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 | DebugDump () |
Outputs the class data/information for debugging purposes. | |
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. | |
virtual bool | IsIdentical (const __FCBase *pCompareObject) const |
Returns true if the data in the passed object is considered to be identical to the current object, otherwise false. | |
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 FCControl | |
enum | CONTROL_ACTIONS { ACTION_NONE = 0 , ACTION_OK = 1 , ACTION_CLOSE = 2 , ACTION_CANCEL = 3 } |
Predefined actions for controls. More... | |
Public Types inherited from __FCBase | |
enum | PDKFRAMEWORK_CLASSID { FCID_UNKNOWN = 0 , FCID_ACCIDENTALMOD , FCID_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 __FCBase | |
__FCBase () | |
The constructor. | |
UI class that handles a control with a static image.
Programmatically created controls of this class default to the size of the assigned image or 100x100 points if none. When a new image is assigned, the control changes size to match the new image. If it has a different size than the previous image and the dialog box is already running, this happens visibly. You can opt to keep the size of the control constant with the optional preserveControlSize parameter when you set the image. (More information is at SetImageFromFilePath.)
The SetWidth and SetHeight methods can be used to change the size of the control to a size other than that of the image. However, Windows and macOS react differently if you do so after the window is running. If you need to manage the size of the control yourself, you will achieve the best results by immediately setting a new image after changing the control's size. This leads to the most consistent behavior across both platforms.
Another way to achieve better platform consistency is only to use images that have been properly annotated with DPI and size information. For example, Apple Preview encodes this information when it saves an image. As long as it is set in the image, the control should display the image at the specified size on both platforms. Generally speaking, the closer to native resolution you display the image, the happier you will be.
Requires PDK_FRAMEWORK_IMAGECTRL to be defined. This is because the Windows implementation requires gdiplus.lib to be included in the link libraries.
|
inlineoverridevirtual |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class.
Lua-supported.
Reimplemented from FCControl.
|
inline |
Set the image from an input memory buffer.
See remarks at SetImageFromFilePath for more details.
One way to get a buffer in memory is to read it directly as a binary file from one of the standard image formats supported on Windows or macOS. Another might be to download it from a URL.
Lua-supported (0.64)
data | A buffer containing the image data. This is not a text string. |
dataLength | The length of the buffer containing image data. |
preserveControlSize | parameter (optional) that tells the control not to resize to the image. (Defaults to false.) |
|
inline |
Set the image from a fully qualified file name and path.
Standard image file types are supported for both Windows and macOS.
Lua-supported (0.64)
path | A string containing the fully-qualified path and filename. On Windows this must include the drive letter. |
preserveControlSize | parameter (optional) that tells the control not to resize to the image. (Defaults to false.) |