When JMP is run maximized on Windows with this check box on, you get a list on the left that groups reports to the data tables they belong to and the most recent work is on the top. This makes working with the loads of windows that JMP spawns a lot easier.
If you start a new analysis like distribution, you get the Distriution launch dialog that does not maximize itself and becomes a floating window. You can still click away to the tables and other reports that you have open.
If I script a new window("Test",some display box); this will maximize just like the rest of the JMP windows.
If I script a new window("Test",<<modal, some display box); this will float like the launch dialog of the other JMP platforms but you can not click away from this window and go look at your data table anymore.
How can I script a launch dialog that behaves like a standard JMP launch dialog?
Hi @pauldeen. In essence you answered your own question: you need to script a non-modal dialog. JMP platform launch dialogs are non-modal. Open Main Menu > Books/Documentation > JMP Scripting Guide and search for non-modal.
If you are asking how to create a launch dialog that is non-modal, the scripting guide provides several examples.
If you know how to script a modal launch dialog, the main concept to convert it to non-modal is to recognize that all the action that should be taken from the user inputs should be scripted as a function or expression or include file that is called when the OK button is pressed. If you are new to scripting, there is a bit of a learning curve.
I've attached a script and related file that builds almost all the functionality of the FitYbyX platform. It was written for the book, JSL Companion, Applications of the JMP Scripting Language, 2nd Ed. This text shows how to build a custom dialog in steps. The attached script is the final step, step 5. See the picture below. JMP also provides the interactive Application Builder and an example launch application.
Please note the attached script:
Thanks for your comment, unfortunately that does not look like you think it does. Because I want to make maximum use of screen real estate and have JMP maximized, the non-modal window will also be maximized and that kills the styling:
I do not have time to test this idea but you might try using another inline message in the launch of the new window:
nw = New Window( "Small Window", << Maximize Window( 0 ), // display boxes );
Note the script can control auto stretching. The script I sent had <<Set AutoStrectching(1,0) which allows stretching in X but not in Y. By changing the code near line 180 to disallow autostretching in X, <<Set AutoStrectching(0,0), the maximized window will appear as shown in the picture below. There is no "distortion." The script was written to emulate the behavior of FitYbyX. Have you tried launching FitYbyX with a maximized window? It has autostretching in X enabled.
Hope that helps. BTW, the JMP Application Buider UI displays all the attributes of each display box, so you are just choosing attributes vs. having to find the equivalent JSL message. It does take a little learning and getting use to, but it has built-in features and can make it an application. I use both ApplicationBuilder and JSL.
//--Set ColListBox (clb) attributes //Max width set at 500 to see the effect. Stretch the window horizontally, note where clb's no longer stretch //or set to something really large like 9000. _inputCol << Set Min Size(80,100) << Set Max Size(500,1000) << Set AutoStretching(0,0); _yvar_clb << Set Min Size(80,25) << Set Max Size(500,125) << Set Auto Stretching(0,0); _xvar_clb << Set Min Size(80,25) << Set Max Size(500,125) << Set Auto Stretching(0,0); _blk_clb << Set Min Size(80,25) << Set Max Size(500,125) << Set Auto Stretching(0,0); _wt_clb << Set Min Size(80,25) << Set Max Size(500,125) << Set Auto Stretching(0,0); _freq_clb << Set Min Size(80,25) << Set Max Size(500,125) << Set Auto Stretching(0,0); _by_clb << Set Min Size(80,25) << Set Max Size(500,125) << Set Auto Stretching(0,0);