Subscribe Bookmark RSS Feed
brady_brady

Staff

Joined:

Jun 9, 2012

How to create custom menus in JMP

Two of the biggest reasons our users love JMP are its interactivity and its ability to dramatically reduce the time needed to perform routine yet critical analysis tasks. Indeed, the primary strengths of JMP lie in the ways in which it differs from conventional software, and we repeatedly hear from users who can’t imagine doing their jobs with any other tool.

New users, however, may want a little assistance as they make the transition to JMP, and the JMP Starter (View > JMP Starter in Windows and Window > JMP Starter on Macs) is often where they begin. Options are categorized and described. And by clicking a button, the appropriate platform in JMP launches.

JMP Starter Menu

JMP Starter Menu

The case for custom menus

Periodically, users have explained that it would be nice to have the ability to create a modified version of the JMP Starter, or a general-purpose menu, for reasons like these:

  • Providing context-specific menus for a variety of job roles.
  • Linking to documents, web pages and other resources.
  • Launching custom applications.
  • Including additional instructive or descriptive text.
  • Now, you can quickly and easily create and manage customized menus like the ones in the JMP Starter, with a script, data table and example add-in that I’ve uploaded to the JMP User Community’s File Exchange (a free SAS.com Profile is required to access the files.) While the add-in is chiefly for illustrative purposes, it also installs with many icons that you may find useful as you create your custom menus -- see the download page for details.

    Creating a custom menu

    To create a custom menu, first place your information into the first five columns of the Specifications data table:

    • Category: Give a name for the submenu in which you want the selection to appear.
    • Icon: If you would like an icon to appear next to the button, include a link to it here. NOTE: Icons are not resized!
    • Button: Enter the text you’d like to appear on the button.
    • Script: Enter the JSL you want to execute when the button is pressed. This could be anything from a single-word platform launch, to an entire JSL script.
    • Description: Enter any helpful text you’d like to include next to the button.
    • The next two images show a specifications table and the custom menu produced by it.

      Specification Table

      Specification Table

      Sample Menu

      Sample Menu

      Once you’ve entered in all the information for each button, create a column of 1/0 flags for each menu you’d like to create. Use a 1 to show the item, and a 0 if you do not want to show the item. In the screenshot below, we see that the Beginner, Intermediate and Advanced menus will each present a different combination of buttons.

      Menu Flags in Specifications File

      Menu Flags in Specifications File

      Now, run the Create Custom Menu Scripts data table script (included in the table), which will prompt you to select one or more menus to create:

      pic5

      When you press OK, a script is produced for each of the selected menus. Run the appropriate script to produce each menu. (The example below corresponds to the Intermediate menu.)

      pic6

      It is also easy to package a collection of menu scripts as an add-in, allowing users to access any of them as desired.

      pic7

      Article Tags