FCMCtrlPopup

Summary of Modifications

  • Setters that accept FCString will also accept a Lua string or number.
  • FCString parameter in getters is optional and if omitted, the result will be returned as a Lua string.
  • Setters that accept FCStrings will also accept multiple arguments of FCString, Lua string, or number.
  • Added AddStrings that accepts multiple arguments of table, FCString, Lua string, or number.
  • Added numerous methods for accessing and modifying popup items.
  • Added SelectionChange custom control event.
  • Added hooks for preserving control state

Functions

Init

fcmctrlpopup.Init(self)

View source

[Internal]

Input Type Description
self FCMCtrlPopup

StoreState

fcmctrlpopup.StoreState(self)

View source

[Fluid] [Internal] [Override]

Override Changes:

  • Stores FCMCtrlPopup-specific properties.

Do not disable this method. Override as needed but call the parent first.

Input Type Description
self FCMCtrlPopup

RestoreState

fcmctrlpopup.RestoreState(self)

View source

[Fluid] [Internal] [Override]

Override Changes:

  • Restores FCMCtrlPopup-specific properties.

Do not disable this method. Override as needed but call the parent first.

Input Type Description
self FCMCtrlPopup

Clear

fcmctrlpopup.Clear(self)

View source

[Fluid] [Override]

Override Changes:

  • Ensures that SelectionChange event is triggered.
  • Hooks into control state preservation.
Input Type Description
self FCMCtrlPopup

GetCount

fcmctrlpopup.GetCount(self)

View source

[Override]

Override Changes:

  • Hooks into control state preservation.
Input Type Description
self FCMCtrlPopup
Return type Description
number

GetSelectedItem

fcmctrlpopup.GetSelectedItem(self)

View source

[Override]

Override Changes:

  • Hooks into control state preservation.
Input Type Description
self FCMCtrlPopup
Return type Description
number

SetSelectedItem

fcmctrlpopup.SetSelectedItem(self, index)

View source

[Fluid] [Override]

Override Changes:

  • Ensures that SelectionChange event is triggered.
  • Hooks into control state preservation.
Input Type Description
self FCMCtrlPopup
index number

SetSelectedLast

fcmctrlpopup.SetSelectedLast(self)

View source

[Fluid]

Selects the last item in the popup. If the popup is empty, SelectedItem will be set to -1.

Input Type Description
self FCMCtrlPopup

HasSelection

fcmctrlpopup.HasSelection(self)

View source

Checks if the popup has a selection. If the parent window does not exist (ie WindowExists() == false), this result is theoretical.

Input Type Description
self FCMCtrlPopup
Return type Description
boolean true if something is selected, false if no selection.

ItemExists

fcmctrlpopup.ItemExists(self, index)

View source

Checks if there is an item at the specified index.

Input Type Description
self FCMCtrlPopup
index number 0-based item index.
Return type Description
boolean true if the item exists, false if it does not exist.

AddString

fcmctrlpopup.AddString(self, str)

View source

[Fluid] [Override]

Override Changes:

  • Accepts Lua string or number in addition to FCString.
  • Hooks into control state preservation.
Input Type Description
self FCMCtrlPopup
str `FCString string

AddStringLocalized

fcmctrlpopup.AddStringLocalized(self, key)

View source

[Fluid]

Localized version of AddString.

Input Type Description
self FCMCtrlPopup
key `string FCString`

AddStrings

fcmctrlpopup.AddStrings(self)

View source

[Fluid]

Adds multiple strings to the popup.

@ … (FCStrings | FCString | string | number | table)

Input Type Description
self FCMCtrlPopup

AddStringsLocalized

fcmctrlpopup.AddStringsLocalized(self)

View source

[Fluid]

Adds multiple localized strings to the popup.

@ … (FCStrings | FCString | string | number | table) keys of strings to be added. If no localization is found, the key is added.

Input Type Description
self FCMCtrlPopup

GetStrings

fcmctrlpopup.GetStrings(self, strs)

View source

[?Fluid]

Returns a copy of all strings in the popup.

Input Type Description
self FCMCtrlPopup
strs (optional) FCStrings An optional FCStrings object to populate with strings.
Return type Description
table Returned if strs is omitted. A table of strings (1-indexed - beware when accessing by key!).

SetStrings

fcmctrlpopup.SetStrings(self)

View source

[Fluid] [Override]

Override Changes:

  • Acccepts FCString or Lua string or number in addition to FCStrings.
  • Accepts multiple arguments.
  • Hooks into control state preservation.

@ … (FCStrings | FCString | string | number) numbers will be automatically cast to string

Input Type Description
self FCMCtrlPopup

GetItemText

fcmctrlpopup.GetItemText(self, index, str)

View source

[?Fluid]

Returns the text for an item in the popup.

Input Type Description
self FCMCtrlPopup
index number 0-based index of the item.
str (optional) FCString Optional FCString object to populate with text.
Return type Description
string | nil Returned if str is omitted. nil if the item doesn’t exist

SetItemText

fcmctrlpopup.SetItemText(self, index, str)

View source

[Fluid] [PDK Port]

Sets the text for an item.

Port Changes:

  • Accepts Lua string or number in addition to FCString.
  • Hooks into control state preservation.
Input Type Description
self FCMCtrlPopup
index number 0-based index of the item.
str `FCString string

GetSelectedString

fcmctrlpopup.GetSelectedString(self, str)

View source

[?Fluid]

Returns the text for the item that is currently selected.

Input Type Description
self FCMCtrlPopup
str (optional) FCString Optional FCString object to populate with text. If no item is currently selected, it will be populated with an empty string.
Return type Description
string | nil Returned if str is omitted. nil if no item is currently selected.

SetSelectedString

fcmctrlpopup.SetSelectedString(self, str)

View source

[Fluid]

Sets the currently selected item to the first item with a matching text value.

If no match is found, the current selected item will remain selected. Matching is case-sensitive.

Input Type Description
self FCMCtrlPopup
str `FCString string

InsertString

fcmctrlpopup.InsertString(self, index, str)

View source

[Fluid] [PDKPort]

Inserts a string at the specified index. If index is <= 0, will insert at the start. If index is >= GetCount(), will insert at the end.

Port Changes:

  • Accepts Lua string or number in addition to FCString.
  • Hooks into control state preservation.
Input Type Description
self FCMCtrlPopup
index number 0-based index to insert new item.
str `FCString string

DeleteItem

fcmctrlpopup.DeleteItem(self, index)

View source

[Fluid] [PDK Port]

Deletes an item from the popup. If the currently selected item is deleted, it will be deselected (ie SelectedItem = -1)

Input Type Description
self FCMCtrlPopup
index number 0-based index of item to delete.

HandleSelectionChange

fcmctrlpopup.HandleSelectionChange(control, last_item, last_item_text, is_deleted)

View source

[Callback Template]

Input Type Description
control FCMCtrlPopup
last_item number The 0-based index of the previously selected item. If no item was selected, the value will be -1.
last_item_text string The text value of the previously selected item.
is_deleted boolean true if the previously selected item is no longer in the control.

AddHandleSelectionChange

fcmctrlpopup.AddHandleSelectionChange(self, callback)

View source

[Fluid]

Adds a handler for SelectionChange events. If the selected item is changed by a handler, that same handler will not be called again for that change.

The event will fire in the following cases:

  • When the window is created (if an item is selected)
  • Change in selected item by user or programatically (inserting an item before or after will not trigger the event)
  • Changing the text value of the currently selected item
  • Deleting the currently selected item
  • Clearing the control (including calling Clear and SetStrings)
Input Type Description
self FCMCtrlPopup
callback function See HandleSelectionChange for callback signature.

RemoveHandleSelectionChange

fcmctrlpopup.RemoveHandleSelectionChange(self, callback)

View source

[Fluid]

Removes a handler added with AddHandleSelectionChange.

Input Type Description
self FCMCtrlPopup
callback function Handler to remove.