Tree Organization
This page shows the locations of some key features in the tree. These locations are ideal for module nodes.
Location | Description |
---|---|
VIEW:/modules | This is where you can put your module's GUIs. Typically you would add a subnode here with your module's name, add it as an addition to your module, and then put you GUIs as sub-nodes of that added not. |
MAIN:/project/events | This is a location where several sets of scripts reside. These scripts are executed at various times in FlexSim, such as when you create a new model or open a model. They are set up so that you can just add a new script into one of these sets so that your module's script will be run at that time. |
MAIN:/project/exec/commandlist | Here is where you can add your own commands to the command list as part of your module. |
MAIN:/project/exec/globals/accelerators | Here you can add custom keyboard accelerators. |
MAIN:/project/exec/globals/customtasks | This location is for displaying the names of custom task types. So in some cases module developers have implemented their own task types and then overridden the TaskExecuter's beginTask() method to implement that task type. Here you can put sub-nodes with the name of the task type and the value that represents that task type. Then when the task is displayed in the tree, the given task type name will be shown. |
MAIN:/project/exec/globals/FlowItemBin | Here you can add your own module's flowitems to the flowitem bin that is used whenever a new model is created. |
MAIN:/project/exec/globals/fsmacros | You can add subnodes to this node and those subnodes' data will be read in generating FlexSim's list of FlexScript-visible macros |
MAIN:/project/exec/globals/nodefunctions; VIEW:/nodefunctions | You can add application commands to either of these two locations. When applicationcommand() is called, it will search these two locations for a node matching the name of the application command, and if it finds that name, then it will execute that script/nodefunction. Usually scripts associated with UI would be put in VIEW:/nodefunctions, whereas scripts associated with execution/model data, etc. would be put in MAIN:/project/exec/globals/nodefunctions. |
MAIN:/project/exec/globals/registeredstatistics | This node holds all of the various options available for users who want to add statistics to the dashboard. Each subnode holds data regarding what the option refers to, which menu it should be placed in etc. So if you want to add your own custom dashboard statistics, you would add subnodes here to have those statistics be available to the dashboard UI. |
MAIN:/project/exec/globals/serverinterface/queryhandlers | If you want to use your module to create a custom web interface, then you can add nodes here that will handle various queries to the web server. |
VIEW:/guiclasses | Here is where we typically store guis that are shared among many different windows, such as the pick list UIs, etc. You can use the guifocusclass attribute in a gui to define a common reference to a gui that will be pulled in to your gui at the time the gui is opened. Typically when we do this we put those references widgets in VIEW:/guiclasses. You can add your own here, or put your gui classes somewhere inside your modules VIEW:/modules node, at your discretion. |
VIEW:/popups | This is where we typically store some of the popup windows used in FlexSim. |
VIEW:/picklists | This is where we typically store pick lists. |
VIEW:/standardviews/modelingutilities/LibraryIconGrid/GroupIconGrid >variables/visibilityLists/base/list | You would add nodes to this location if you want to add your own list to the set of lists shown in the library icon grid. |
VIEW:/rootmenu/replace | This is where FlexSim's main menu resides, so if you want to customize or add your own options to the main menu, here's where you'd do it. |