I was just wondering about the difference between journals & GUI's. I've attempted to create a journal but it asks me to save it everytime I run it, this is a very basic question but why does it ask me to save the window when I haven't actually created or changed anything? Overall, in what cases would you create a journal and in what cases a GUI? I am trying to create a user interface from my script file so that non-JMP/JSL users can use it with ease. Below is the code for the very basic journal I created:
New Window( "Data Tagger", << Journal,
Current Journal() << Append( Text Box( "Hello World" ) );
Button Box( "Button One", New Window( "Hi there1", << Modal ) ),
Button Box( "Button Two", New Window( "Hi there2", << Modal ) )
I was also wondering if anyone knows of any detailed documentation available for creating journals & GUI's in JSL as I've looked through various scripting guides and the guidance provided is very brief and doesn't provide any information on how to do advanced things.
Journals were originally intended to be a collection of static output from JMP platforms: make a distribution, journal it, make a bivariate, add it to the journal. The live output in the original distribution or bivariate requires a data table. The journal is captured at a moment in time and the reports in the journal are not linked together and don't need the data table.
Journals then get used in presentations. To enhance the presentations, journals can add buttons and text; the buttons run scripts that might launch new platforms. Some journal presentations are created from scratch, as in your example.
The journal attribute on the window makes the window be the target of journal commands. control-J, from a platform window, will add the platform to the end of the journal. You probably don't want that. The journal-specific commands for appending to the journal are not powerful enough to make more complicated applications; you may want more control.
Journal windows do prompt to save changes. Everything you added to the window was a change to the journal.
You probably want to use a regular window, created from a script. Rather than launching the .JRN file, launch the .JSL file to start your application. (Or use the app builder, which has a different learning curve, and can help you manage bigger projects.)
Here, the VListBox hints at the extra power you get from using JMP's displayboxes to organize your GUI.
New Window( "Data Tagger",
V List Box(
Text Box( "Hello World" ),
Button Box( "Button One", New Window( "Hi there1", <<Modal ) ),
Button Box( "Button Two", New Window( "Hi there2", <<Modal ) )