Hiding and Disabling Menu and Dialog Items

This page describes the mechanism for hiding or disabling menu items and dialog elements in SerialEM.  This can be done either to prevent users from doing some operations, or to simplify the interface for some users.  There can be two different files, corresponding to these two main purposes, listing items to be hidden or disabled.  One kind of file modifies the interface unconditionally during the run of the program; it is specified with the property entry 'DisableOrHideFile' followed by the full path of the file, which can be anywhere.  The other kind of file defines a basic mode for the interface that can be toggled with the Basic Mode command in the Settings menu.  By default, the program will look for such a file, named 'SEMbasicModeItems.txt' in the system directory where the properties and calibration files reside.  The property 'BasicModeDisableHideFile' can be entered with the full path to an alternative file, which can be anywhere and named anything.

Before you add a 'DisableOrHideFile' entry that makes settings unavailable, be sure that the settings files being used have good values for those settings, since it will become impossible for users to fix a bad value.

Each line in one of these files consists of two entries: an initial value of 1 or 2 to indicate whether the item should be disabled or hidden, and a unique identifier for the item.  The first table below lists items for which the identifier is a string that is defined in the program; when using one of these, you need to copy the exact string shown.  However, any item in the program's menus can be hidden simply by entering its numeric ID as the identifier for that item, so the second table below lists these IDs for all menu items.  That table also shows the menu strings; these are not required in the file, but you should copy enough of the string so that you know what the item is afterwards.

These files can also have blank lines and comment lines with a # as the first character.  A special line can be included to make the program skip the rest of the file if its version is too low:
      EndIfVersionBelow ######
The integer version '#####' is 10000 times the first digit, plus 100 times the release number, plus the update value; thus use 40100 to skip properties not defined in version 4.0.  More than one entry is allowed; the one for the earlier version should come before the later version.

Guenter Resch has constructed a web page at https://www.nexperion.net/basicmodefile that will prepare a Basic mode file customized for a specific set of activities; this should be a good starting point for your own Basic mode file.

An example file for a Basic mode constructed by Tillman Schaefer is available at https://bio3d.colorado.edu/ftp/SerialEM/Tools/SEMbasicModeItems.txt.

Table of Items Defined by Strings

These are items currently eligible to be hidden.  (No disabling has been requested, and it would be more difficult to implement generically than hiding).  If you want to have an item added to this table, contact the SerialEM developers.  To hide or disable an item, you must copy the whole identifier string shown here into your file to use it.  The entries in this table start with '1' if the item can disabled but not hidden, '2' if the item can be hidden but not disabled, or '1 OR 2' if it can both hidden and disabled.  In the latter case, after copying the line, remove the 'OR 2' to disable the item or '1 OR' to hide the item.

The first few lines of this table illustrate some features:

        INSERT TABLE LIST HERE
      

Table of All Menu Items and Their IDs

To hide a menu item not listed above, you can copy the line for that item from this table into your file.  The text after the ID number is optional but will help you identify the entry.

        INSERT MENU ID LIST HERE