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

Class that handles a contol with multiple lines of data, arranged in columns. More...

#include <ff_dialogs.h>

+ Inheritance diagram for FCCtrlDataList:

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.
 
 FCCtrlDataList (twobyte id)
 The constructor.
 
void SetFontSize (int fontsize)
 Sets the font size for the data list. This affects Cocoa only.
 
void SetColumnTitle (int columnindex, FCString *pTitle)
 Changes the title for an existing column.
 
bool AddColumn (FCString *pTitle, float columnwidth)
 Adds a column to the data list view.
 
int AddRow (FCDataListRow *pRow)
 Adds a row to the data list view. The data list view is responsible for deleting the FCDataListRow object.
 
bool InsertRowAt (FCDataListRow *pRow, int)
 Inserts a row at a specific place in the list view.
 
FCDataListRowCreateRow ()
 Creates a new row and adds it to the end of the data list view. The columns should be added before this method is called.
 
bool DeleteRow (int lineindex)
 Deletes a row.
 
void DeleteAll ()
 Removes all items from a data list.
 
void DeleteAllColumns ()
 removes all columns from the data list
 
bool GetUseCheckboxes () const
 Returns if checkboxes should be used for the data list.
 
void SetUseCheckboxes (bool state)
 Sets if checkboxes should be used for the data list. To have any effect, this must be called before the dialog is running.
 
bool UseLeftCheckboxColumn ()
 Indicate that there should be a check mark column at the left side.
 
bool GetAllowsMultipleSelection () const
 Returns if the list should allow multiple selections.
 
void SetAllowsMultipleSelection (bool state)
 Sets if the list should allow multiple selections. To have any effect, this must be called before the dialog is running.
 
bool GetShowHeader () const
 Returns if the list should display its header.
 
void SetShowHeader (bool state)
 Sets if checkboxes should be used for the data list. To have any effect, this must be called before the dialog is running.
 
void UseGrid ()
 Indicate that the data list should use grid lines around the cells.
 
void UseFullRowSelect ()
 Set that the list view (on Windows) should use full row selects.
 
bool GetAlternatingBackgroundRowColors () const
 Returns if the list view (on macOS) should use alternating row colors.
 
void SetAlternatingBackgroundRowColors (bool state)
 Sets if the list view (on macOS) should use alternating row colors.
 
void UseAlternatingBackgroundRowColors ()
 Set that the list view (on macOS) should use alternating row colors.
 
int GetCount ()
 Returns the number of rows in the list.
 
FCDataListRowGetItemAt (int lineindex)
 Returns the row object at the indexed (0-based) row.
 
void Redraw ()
 Updates the data list control visually.
 
bool SelectLine (int lineindex, bool ensurevisible=false)
 Selects a 0-based line index.
 
bool AddSelectedLine (int lineindex, bool ensurevisible=false)
 Selects a 0-based line index, adding it to the existing selected lines is.
 
bool IsLineSelected (int lineindex)
 Returns if the specified 0-based line index is selected. If GetAllowsMultipleSelection is false, this value can only be true for the line index returned by GetSelectedLine, provided that value is non-negative.
 
bool UnselectLine (int lineindex)
 Unselects the specified 0-based line index.
 
bool UnselectAll ()
 Unselects all lines.
 
void ScrollToTop ()
 Scrolls the view to show the top item.
 
bool GetExpandLastColumn () const
 Returns if the list should expand the last column to fill the available space.
 
void SetExpandLastColumn (bool state)
 Sets if the list should expand the last column to fill the available space. To have any effect, this must be called before the dialog is running.
 
void ExpandLastColumn ()
 Expands the last column to fit the view exactly.
 
int GetSelectedLine ()
 Returns the selected line. If GetAllowsMultipleSelection is true, then this will return one of the selected lines or -1 if none. When unselecting lines, there is no guarantee which remaining selected line will be returned, and behavior may vary between Windows and Mac.
 
virtual void HandleSelectChange (int lineindex)
 Called every time there's a user row selection change on any of the items.
 
virtual void HandleUnselect ()
 Called every time nothing is selected.
 
virtual void HandleCheckChange (int lineindex, bool state)
 Called every time there's a user check change on any of the items.
 
virtual void HandleDoubleClick ()
 Called every time there's a double-click inside the data list.
 
void ReconnectAll ()
 Reconnects FCDataListRow objects to the objects. Use after delete/insert/rearrange/etc.
 
bool HasCheckboxes ()
 Returns true if the data list has check boxes, through the UseLeftCheckboxColumn() method.
 
int GetDetailedColumnCount (bool includecheckboxcolumn)
 Returns the number of columns. Platform-specific version.
 
int GetColumnCount ()
 Returns the number of columns.
 
float GetColumnWidth (int columnindex)
 Returns the width of a column.
 
bool Swap (int rowindex1, int rowindex2, bool redraw)
 Swaps two rows.
 
- 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.
 
__FCUserWindowGetParent () 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 FCFontInfoCreateFontInfo () 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.
 

Detailed Description

Class that handles a contol with multiple lines of data, arranged in columns.

Each row of data is handled by the FCDataListRow class, which basically is a FCStrings collection. The data in the left-most column is at index 0, the next column data is at column 1, etc. A FCCtrlDataList can be made to look and work the same as FCCtrlListBox by creating only one column and hiding the header.

Programmatically created controls of this class defaults to a width of 200 points and a height of 150 points.

A fully functioning sample script may be found here.

Member Function Documentation

◆ AddColumn()

bool FCCtrlDataList::AddColumn ( FCString * pTitle,
float columnwidth )

Adds a column to the data list view.

Lua-supported.

◆ AddRow()

int FCCtrlDataList::AddRow ( FCDataListRow * pRow)

Adds a row to the data list view. The data list view is responsible for deleting the FCDataListRow object.

Remarks
This function is not available in Lua. Lua scripts should use CreateRow instead.
Parameters
[in]pRowThe row to add, as a FCDataListRow object.
Returns
-1 on error. Otherwise, the 0-based index of the added row.

◆ AddSelectedLine()

bool FCCtrlDataList::AddSelectedLine ( int lineindex,
bool ensurevisible = false )

Selects a 0-based line index, adding it to the existing selected lines is.

If GetAllowsMultipleSelection is false then calling AddSelectedLine is the same as calling SelectLine.

Lua-supported (0.70).

Parameters
lineindexthe 0-based line index to select.
ensurevisible(optional) if true, scrolls the line into view if necessary. This parameter is optional in Lua as well as C++.
Returns
true if success; false if error.

◆ ClassName()

const char * FCCtrlDataList::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 FCControl.

◆ CreateRow()

FCDataListRow * FCCtrlDataList::CreateRow ( )

Creates a new row and adds it to the end of the data list view. The columns should be added before this method is called.

Remarks
Unlike nearly all other "Create" methods, this one retains ownership of the pointer. The control handles disposal of the created row.

Lua-supported.

◆ DeleteAll()

void FCCtrlDataList::DeleteAll ( )

Removes all items from a data list.

Lua-supported.

◆ DeleteRow()

bool FCCtrlDataList::DeleteRow ( int lineindex)

Deletes a row.

Lua-supported.

Parameters
[in]lineindexThe 0-based index of the row to delete.
Returns
True on success.

◆ GetAllowsMultipleSelection()

bool FCCtrlDataList::GetAllowsMultipleSelection ( ) const
inline

Returns if the list should allow multiple selections.

Remarks
This value is not used by FCCtrlListBox on macOS.

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

◆ GetAlternatingBackgroundRowColors()

bool FCCtrlDataList::GetAlternatingBackgroundRowColors ( ) const

Returns if the list view (on macOS) should use alternating row colors.

The Windows control does not have the option of alternating background row colors. However, this function returns whichever value you have set with SetAlternatingBackgroundRowColors even on Windows, even though it has no function on Windows.

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

◆ GetColumnCount()

int FCCtrlDataList::GetColumnCount ( )
inline

Returns the number of columns.

Returns
-1 on error

◆ GetColumnWidth()

float FCCtrlDataList::GetColumnWidth ( int columnindex)

Returns the width of a column.

Parameters
columnindexThe 0-based index to a column.
Returns
-1 on error

◆ GetCount()

int FCCtrlDataList::GetCount ( )

Returns the number of rows in the list.

Lua-supported.

◆ GetDetailedColumnCount()

int FCCtrlDataList::GetDetailedColumnCount ( bool includecheckboxcolumn)

Returns the number of columns. Platform-specific version.

Parameters
includecheckboxcolumnIf true, include the check box column in the counting on the Mac. In Windows, check boxes are implemented through an attribute, so this parameter doesn't do anything on Windows.
Returns
-1 on error

◆ GetExpandLastColumn()

bool FCCtrlDataList::GetExpandLastColumn ( ) const
inline

Returns if the list should expand the last column to fill the available space.

Remarks
This value is not used by FCCtrlListBox on macOS.

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

◆ GetItemAt()

FCDataListRow * FCCtrlDataList::GetItemAt ( int lineindex)

Returns the row object at the indexed (0-based) row.

Lua-supported.

◆ GetSelectedLine()

int FCCtrlDataList::GetSelectedLine ( )

Returns the selected line. If GetAllowsMultipleSelection is true, then this will return one of the selected lines or -1 if none. When unselecting lines, there is no guarantee which remaining selected line will be returned, and behavior may vary between Windows and Mac.

Warning
The combination HandleUnselect, HandleSelectChange, GetSelectedLine behaves a bit differently between Windows and Mac.

Lua-supported.

Returns
-1 if no selection

◆ GetShowHeader()

bool FCCtrlDataList::GetShowHeader ( ) const
inline

Returns if the list should display its header.

Remarks
This value is not used by FCCtrlListBox on macOS.

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

◆ GetUseCheckboxes()

bool FCCtrlDataList::GetUseCheckboxes ( ) const
inline

Returns if checkboxes should be used for the data list.

This setting is used for programmatically-created dialog boxes only.

(Lua-supported (also as property).

◆ HandleCheckChange()

virtual void FCCtrlDataList::HandleCheckChange ( int lineindex,
bool state )
inlinevirtual

Called every time there's a user check change on any of the items.

Any inherited class must call the parent class implementation first.

◆ HandleDoubleClick()

virtual void FCCtrlDataList::HandleDoubleClick ( )
inlinevirtual

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

Any inherited class must call the parent class implementation first.

◆ HandleSelectChange()

void FCCtrlDataList::HandleSelectChange ( int lineindex)
virtual

Called every time there's a user row selection change on any of the items.

Unselection and selection must be handled separately due to Windows weirdness...

Warning
The combination HandleUnselect, HandleSelectChange, GetSelectedLine behaves a bit differently between Windows and Mac.

Any inherited class must call the parent class implementation first.

◆ HandleUnselect()

void FCCtrlDataList::HandleUnselect ( )
virtual

Called every time nothing is selected.

Unselection and selection must be handled separately due to Windows weirdness...

Warning
The combination HandleUnselect, HandleSelectChange, GetSelectedLine behaves a bit differently between Windows and Mac.

Any inherited class must call the parent class implementation first.

◆ IsLineSelected()

bool FCCtrlDataList::IsLineSelected ( int lineindex)

Returns if the specified 0-based line index is selected. If GetAllowsMultipleSelection is false, this value can only be true for the line index returned by GetSelectedLine, provided that value is non-negative.

Lua-supported (0.70).

Parameters
lineindexthe 0-based line index to select.
Returns
true if line is selected; false if line is not selected or error.

◆ SelectLine()

bool FCCtrlDataList::SelectLine ( int lineindex,
bool ensurevisible = false )

Selects a 0-based line index.

Even if GetAllowsMultipleSelection is true, SelectLine still unselects other selected lines. To select multiple lines, use AddSelectedLine instead.

Lua-supported.

Parameters
lineindexthe 0-based line index to select.
ensurevisible(optional) if true, scrolls the line into view if necessary. This parameter is optional in Lua as well as C++.
Returns
true if success; false if error.

◆ SetAllowsMultipleSelection()

void FCCtrlDataList::SetAllowsMultipleSelection ( bool state)
inline

Sets if the list should allow multiple selections. To have any effect, this must be called before the dialog is running.

For the best user experience, choose either SetAllowsMultipleSelection or SetUseCheckboxes. Do not enable them both.

Remarks
This value is not used by FCCtrlListBox on macOS.

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

◆ SetAlternatingBackgroundRowColors()

void FCCtrlDataList::SetAlternatingBackgroundRowColors ( bool state)

Sets if the list view (on macOS) should use alternating row colors.

This method does nothing on Windows, but the control tracks the value you set and returns it with GetAlternatingBackgroundRowColors.

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

◆ SetColumnTitle()

void FCCtrlDataList::SetColumnTitle ( int columnindex,
FCString * pTitle )

Changes the title for an existing column.

columnindex is 0-based. If the Mac version has a checkbox at the first column, the column index will differ between Windows and Mac.

◆ SetExpandLastColumn()

void FCCtrlDataList::SetExpandLastColumn ( bool state)
inline

Sets if the list should expand the last column to fill the available space. To have any effect, this must be called before the dialog is running.

Remarks
This value is not used by FCCtrlListBox on macOS.

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

◆ SetFontSize()

void FCCtrlDataList::SetFontSize ( int fontsize)
inline

Sets the font size for the data list. This affects Cocoa only.

The font size must be set before the column is added to have any effect.

◆ SetShowHeader()

void FCCtrlDataList::SetShowHeader ( bool state)
inline

Sets if checkboxes should be used for the data list. To have any effect, this must be called before the dialog is running.

Remarks
This value is not used by FCCtrlListBox on macOS.

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

◆ SetUseCheckboxes()

void FCCtrlDataList::SetUseCheckboxes ( bool state)
inline

Sets if checkboxes should be used for the data list. To have any effect, this must be called before the dialog is running.

This setting is used for programmatically-created dialog boxes only.

Lua-supported (also as property).

◆ Swap()

bool FCCtrlDataList::Swap ( int rowindex1,
int rowindex2,
bool redraw )

Swaps two rows.

This method doesn't update the control visually.

Returns
True if a swap was made.

◆ UnselectAll()

bool FCCtrlDataList::UnselectAll ( )

Unselects all lines.

Lua-supported (0.70).

Returns
true if success; false if error.

◆ UnselectLine()

bool FCCtrlDataList::UnselectLine ( int lineindex)

Unselects the specified 0-based line index.

Lua-supported (0.70).

Parameters
lineindexthe 0-based line index to select.
Returns
true if success; false if error.

◆ UseAlternatingBackgroundRowColors()

void FCCtrlDataList::UseAlternatingBackgroundRowColors ( )
inline

Set that the list view (on macOS) should use alternating row colors.

This method does nothing on Windows.

Deprecated
This function is deprecated. Use SetAlternatingBackgroundRowColors instead.

Lua-supported (0.56).

◆ UseFullRowSelect()

void FCCtrlDataList::UseFullRowSelect ( )

Set that the list view (on Windows) should use full row selects.

This method should be called when the window has been created. It will do nothing on Mac.

◆ UseGrid()

void FCCtrlDataList::UseGrid ( )

Indicate that the data list should use grid lines around the cells.

This method should be called when the window has been created, but before any rows are added.

◆ UseLeftCheckboxColumn()

bool FCCtrlDataList::UseLeftCheckboxColumn ( )

Indicate that there should be a check mark column at the left side.

This method should be called when the window has been created, but before any rows are added.

Returns
True if the configuration was set up correctly.