Members widget

The Members widget displays the members for the class currently selected in the Classes widget. The full set of members available to a class include the members added to a class directly and the members inherited from its superclass all the way up to the Object root class.

SkookumIDE Members widget

The Members widget with the SkookumDemo instance default constructor !() method selected in the member list. Also note the Filters drop-down list at the top left, the Search Members box in the top right, and the collapsed New Class or Member sub-pane at the bottom.

Member list

Depending on the class selected in the Classes widget and the state of the Filters drop-down list and the Search Members box, the member list will be filled with all the matching members.

The different kinds of class members listed include:

The member list has the following columns showing info for each member:

  • c/i (column 1): indicates whether the member is applicable to a class or an instance of a class
  • Name (column 2: indicates the name of the member
  • Scope (column 3): indicates the class where the member is specified - either the current class or inherited from a super class
  • Type/Parameters (column 4): the type or the interface parameters for the member

The bottom of the Members widget is home to the New Class or Member pane.

Interacting with the Member list

The members in the member list can be interacted with in the following manner:

  • select a member - loads up the associated script file that defines the member in an Editor tab and highlights the overlay where it originated in the Overlays widget. If the script file is not already shown in an existing Editor tab, it will be shown it in the reusable preview Editor (Eye) tab.
  • double click a member - changes the preview tab to a pinned (Pin) tab that will remain open even when a new member is selected.
  • right click a member - brings up a context menu with the following options:
    • Delete (shortcut key Del) - deletes the member. [Only enabled for routines.]
      NOTE There is no confirmation or undo so beware! However it uses version control which can be reverted.
    • Show in Explorer (shortcut key Ctrl+Shift+E) - opens up the folder that contains the member file using File Explorer and selects the file.

Members are sorted by Name (column 2) by default. If you toggle a column title, it will use that column to sort. Multiple toggles of the same column title will alternate the sorting order which is indicated by an upward or downward pointing triangle accordingly.

“Filters” drop-down

The filters drop-down list specifies the kinds of members to display in the member list. There can be hundreds or even thousands of members listed in the Members widget so these filters can help to reduce the members listed to only the ones of interest.

SkookumIDE Members widget

The Members widget with the Filters drop-down list open and all filters enabled.

The different filters include:

  • Method: shows class and instance methods
  • Coroutine: shows coroutines
  • Data: shows class and instance data members
  • Inherited: shows matching members inherited from superclasses

At least one of Method, Coroutine, or Data must be enabled or no member will match and the member list will be empty.

“Search Members” box

The search members box does a sub-string search of all the members. It lists the matches for the class currently selected in the Classes widget first and then matches from all other classes in a slightly darker color so that matching members can be easily discovered even outside the current class.

SkookumIDE Members widget

The Members widget with “class” entered in the Search Members box. Note that the darker matches after superclass_of? are from classes other than the currently selected class.

The search is case insensitive and symbols (including underscores _) are ignored.

Note that in addition to the member identifier names being searched, all the &aka annotations are also searched. So searching for “GetLife” will match with the Actor@life_span() member since it has the annotation &aka("GetLifeSpan").

The &aka("AlternateName") annotation is designed for development environments such as Unreal Engine 4 which uses a naming convention different than SkookumScript for Blueprints and the C++ engine identifiers and you may be used to the names in those other systems. It can also just be used for common alternative names so that searches get the results that you expect.

To clear the Search Members box, click the × on the right or replace the search text with something else.