Administrator
|
It is one thing to make something easy to use, another thing to make it worth using!!!
OTOH: It is far superior the complete piece of crap in the old SAX dialogs. How about making it Custom enough so we can specify the sizes and positions of controls? Custom enough to be able to have a group without a title? (I just want a frame!) Custom enough to provide a grid (or ultra-cheesy a multiline text control)? I want to allow my user to specify a 2 dimensional matrix I am stuck with 1,2,3;4,5,6;7,8,9;... etc. (At least it is ready to get sucked into MATRIX, OTOH, probably will need to resize the dialog and hope the user to get it right ;-( Maybe more than one level of sub-dialogs? Maybe a little event logic? If option Blech display subdialog x If option ARGHHHH! Display subdialog y .... Documentation? It is so simple it doesn't need much explanation.
Please reply to the list and not to my personal email.
Those desiring my consulting or training services please feel free to email me. --- "Nolite dare sanctum canibus neque mittatis margaritas vestras ante porcos ne forte conculcent eas pedibus suis." Cum es damnatorum possederunt porcos iens ut salire off sanguinum cliff in abyssum?" |
Good points. I wonder whether that's doable by manually editing the .xml file underlying it. If so, you could perhaps create your own 'template' once and save it under different filenames in order to reuse it for different custom dialogs.
Pity they aren't dynamic as the old SaxBasic scripts used to be. In V21 the CDB is kinda buggy too (see this unresolved post for instance: http://spssx-discussion.1045642.n5.nabble.com/Frequent-Error-when-Building-Custom-Dialog-Error-saving-dialog-td5722348.html). |
Administrator
|
Thanks Ruben, Any pointers to where I might locate that XML file for possible editing? Yeah, dynamic is the word. OTOH, those were a grey hair inducing adventures wrangling the events etc...
I built a few back in the day and turned to VB for the GUI, attached the exe to a menu and all was good. I haven't yet explored the successor to SAX. I just opened a script and a dialog. Looks like the SOS from before.
I wonder if the problems you experienced in 21 are still in 22. I have 22 loaded. If you don't I would be happy to attempt to replicate if you send me relevant files and step by step repro.
Funny that Jon or someone (er actually Jon seems to be the only someone from IBM that gives a flying monkey turd about what's going on in the wild) hasn't stepped up to comment on your 1 post thread ;-(.
Hacking the XML file is an interesting idea. OTOH, is this stuff documented anywhere? David On Sat, Oct 26, 2013 at 12:01 AM, Ruben Geert van den Berg [via SPSSX Discussion] <[hidden email]> wrote: Good points. I wonder whether that's doable by manually editing the .xml file underlying it. If so, you could perhaps create your own 'template' once and save it under different filenames in order to reuse it for different custom dialogs.
Please reply to the list and not to my personal email.
Those desiring my consulting or training services please feel free to email me. --- "Nolite dare sanctum canibus neque mittatis margaritas vestras ante porcos ne forte conculcent eas pedibus suis." Cum es damnatorum possederunt porcos iens ut salire off sanguinum cliff in abyssum?" |
In reply to this post by David Marso
The first goal in developing the CDB was
to make it really easy to use for non-gui programmers, which is most of
us. So the automatic drag and drop layout was a really important
feature. While it doesn't give you complete control over the layout,
since it is restricted to two columns plus a subdialog column, it works
pretty well in most cases. The old coordinate-based dialog technology
is long since dead. These dialogs are all resizeable by the user,
and the controls automatically adapt to the size of the text, which makes
them easily translatable. The dialogs are managed and drawn mostly
by the same classes that render the built-in dialogs. You can't modify
the layout by hacking the XML, since it only specifics the columns and
control order within columns. There is no static size information.
Note also that you can use \n in control text to force wrapping,
which will affect the size of the control. The spd file, btw, is
a zip container containing an xml file and one or more properties files
that define the dialog. In theory you could generate an entire dialog
programmatically by creating or modifying those files, but it would be
tricky.
You can have a textless frame. Just drag an Item Group control onto the canvas and give it an empty title, and drag other controls inside it. A grid control is number 1 on my wish list for the CDB, but it is a complex control to get right, especially when it comes to specifying the syntax that it should generate and the validation conditions for the cells, since it needs to be able to handle columns with different rules. Someday we will have this. Some event logic would also be nice (Python conditions, most likely), but look into the enabling rules and validation conditions that are already there for controls. In most cases I have been able to make those work reasonably well with the many dialogs I have done. Note especially that empty or disabled controls simply generate no syntax so using checkbox groups and radio buttons with nested controls goes pretty far. Sometimes a little static text information or a tooltip on a control helps. Complex conditions, though, need to be left for programmatic checking when the dialog is executed. All this is thoroughly documented in the help. Jon Peck (no "h") aka Kim Senior Software Engineer, IBM [hidden email] phone: 720-342-5621 From: David Marso <[hidden email]> To: [hidden email], Date: 10/25/2013 04:26 PM Subject: [SPSSX-L] The Custom Dialog Builder Sent by: "SPSSX(r) Discussion" <[hidden email]> It is one thing to make something easy to use, another thing to make it worth using!!! OTOH: It is far superior the complete piece of crap in the old SAX dialogs. How about making it Custom enough so we can specify the sizes and positions of controls? Custom enough to be able to have a group without a title? (I just want a frame!) Custom enough to provide a grid (or ultra-cheesy a multiline text control)? I want to allow my user to specify a 2 dimensional matrix I am stuck with 1,2,3;4,5,6;7,8,9;... etc. (At least it is ready to get sucked into MATRIX, OTOH, probably will need to resize the dialog and hope the user to get it right ;-( Maybe more than one level of sub-dialogs? Maybe a little event logic? If option Blech display subdialog x If option ARGHHHH! Display subdialog y .... Documentation? It is so simple it doesn't need much explanation. ----- Please reply to the list and not to my personal email. Those desiring my consulting or training services please feel free to email me. --- "Nolite dare sanctum canibus neque mittatis margaritas vestras ante porcos ne forte conculcent eas pedibus suis." Cum es damnatorum possederunt porcos iens ut salire off sanguinum cliff in abyssum?" -- View this message in context: http://spssx-discussion.1045642.n5.nabble.com/The-Custom-Dialog-Builder-tp5722736.html Sent from the SPSSX Discussion mailing list archive at Nabble.com. ===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD |
Administrator
|
This post was updated on .
Thanks for your response Jon,
See an example of issue: Note on left in dev mode, right in preview. Note odd spacing in titled version, NO frame in non-title version. Also it would be nice to be able to populate a listbox or combo and be able to copy/paste control similar to VB and other normal IDEs ---
Please reply to the list and not to my personal email.
Those desiring my consulting or training services please feel free to email me. --- "Nolite dare sanctum canibus neque mittatis margaritas vestras ante porcos ne forte conculcent eas pedibus suis." Cum es damnatorum possederunt porcos iens ut salire off sanguinum cliff in abyssum?" |
@Jon: " In theory you could generate an entire dialog programmatically by creating or modifying those files, but it would be tricky."
I actually tried that but I didn't know what "re-zip" format to use for the .spd file... It wasn't recognized as a valid .spd format in the end :-/ @David: FWIW I usually use a free text field for specifying variables (sometimes directories as well) so one can nicely use the "to" and "all" keywords for this. Pity there seem to be some tiny bugs but they're not quite on my top priorities list for now... |
--------------------------------------------
On Sun, 10/27/13, Ruben Geert van den Berg <[hidden email]> wrote: Subject: Re: [SPSSX-L] The Custom Dialog Builder To: [hidden email] Date: Sunday, October 27, 2013, 7:13 AM @Jon: " In theory you could generate an entire dialog programmatically by creating or modifying those files, but it would be tricky." I actually tried that but I didn't know what "re-zip" format to use for the .spd file... It wasn't recognized as a valid .spd format in the end :-/ ===> I've done this with both .spd files and .str (clementine/modeller streams). IIRC I just used the Python zipfile module to zip and unzip and elementtree to parse the xml. ===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD |
In reply to this post by David Marso
The uneven display seems to be limited
to preview mode in the CDB. If you install the dialog are use it
from the menus, it displays properly. This did not happen in V21,
The disappearing frame can be remedied by just using a single blank as the title. Or an em dash character such as U2014 (Dialogs are always displayed using Unicode.) I have filed bugs on these, but they are minor problems. Listbox and combo boxes can be populated with a static list, based on the contents of a target list, or from a custom attribute in a dataset. That means for the last one that if you programmatically generate a custom attribute in the dataset, the dialog can automatically pick up the contents. And, if you are really brave, you could extract the xml and insert new contents for a control, but, of course, you would have to do this before opening the dialog that would get modified. Jon Peck (no "h") aka Kim Senior Software Engineer, IBM [hidden email] phone: 720-342-5621 From: David Marso <[hidden email]> To: [hidden email], Date: 10/26/2013 09:20 AM Subject: Re: [SPSSX-L] The Custom Dialog Builder Sent by: "SPSSX(r) Discussion" <[hidden email]> Thanks for your response Jon, See an example of issue: Note on left in dev mode, right in preview. Note odd spacing in titled version, NO frame in non-title version. Also it would be nice to be able to populate a listbox or combo and be able to copy/paste control similar to VB and other normal IDEs --- Jon K Peck wrote > The first goal in developing the CDB was to make it really easy to use for > non-gui programmers, which is most of us. So the automatic drag and drop > layout was a really important feature. While it doesn't give you complete > control over the layout, since it is restricted to two columns plus a > subdialog column, it works pretty well in most cases. The old > coordinate-based dialog technology is long since dead. These dialogs are > all resizeable by the user, and the controls automatically adapt to the > size of the text, which makes them easily translatable. The dialogs are > managed and drawn mostly by the same classes that render the built-in > dialogs. You can't modify the layout by hacking the XML, since it only > specifics the columns and control order within columns. There is no > static size information. Note also that you can use \n in control text to > force wrapping, which will affect the size of the control. The spd file, > btw, is a zip container containing an xml file and one or more properties > files that define the dialog. In theory you could generate an entire > dialog programmatically by creating or modifying those files, but it would > be tricky. > > You can have a textless frame. Just drag an Item Group control onto the > canvas and give it an empty title, and drag other controls inside it. > > A grid control is number 1 on my wish list for the CDB, but it is a > complex control to get right, especially when it comes to specifying the > syntax that it should generate and the validation conditions for the > cells, since it needs to be able to handle columns with different rules. > Someday we will have this. > > Some event logic would also be nice (Python conditions, most likely), but > look into the enabling rules and validation conditions that are already > there for controls. In most cases I have been able to make those work > reasonably well with the many dialogs I have done. Note especially that > empty or disabled controls simply generate no syntax so using checkbox > groups and radio buttons with nested controls goes pretty far. Sometimes > a little static text information or a tooltip on a control helps. Complex > conditions, though, need to be left for programmatic checking when the > dialog is executed. > > All this is thoroughly documented in the help. > > > Jon Peck (no "h") aka Kim > Senior Software Engineer, IBM > peck@.ibm > phone: 720-342-5621 > > > > > From: David Marso < > david.marso@ > > > To: > SPSSX-L@.uga > , > Date: 10/25/2013 04:26 PM > Subject: [SPSSX-L] The Custom Dialog Builder > Sent by: "SPSSX(r) Discussion" < > SPSSX-L@.uga > > > > > > It is one thing to make something easy to use, another thing to make it > worth > using!!! > OTOH: It is far superior the complete piece of crap in the old SAX > dialogs. > How about making it > Custom enough so we can specify the sizes and positions of controls? > Custom enough to be able to have a group without a title? (I just want a > frame!) > Custom enough to provide a grid (or ultra-cheesy a multiline text > control)? > I want to allow my user to specify a 2 dimensional matrix > I am stuck with 1,2,3;4,5,6;7,8,9;... etc. > (At least it is ready to get sucked into MATRIX, OTOH, probably will need > to > resize the dialog and hope the user to get it right ;-( > Maybe more than one level of sub-dialogs? > Maybe a little event logic? > If option Blech display subdialog x > If option ARGHHHH! Display subdialog y > .... > Documentation? It is so simple it doesn't need much explanation. > > > > > > ----- > Please reply to the list and not to my personal email. > Those desiring my consulting or training services please feel free to > email me. > --- > "Nolite dare sanctum canibus neque mittatis margaritas vestras ante porcos > ne forte conculcent eas pedibus suis." > Cum es damnatorum possederunt porcos iens ut salire off sanguinum cliff in > abyssum?" > -- > View this message in context: > http://spssx-discussion.1045642.n5.nabble.com/The-Custom-Dialog-Builder-tp5722736.html > > Sent from the SPSSX Discussion mailing list archive at Nabble.com. > > ===================== > To manage your subscription to SPSSX-L, send a message to > LISTSERV@.UGA > (not to SPSSX-L), with no body text except the > command. To leave the list, send the command > SIGNOFF SPSSX-L > For a list of commands to manage subscriptions, send the command > INFO REFCARD ----- Please reply to the list and not to my personal email. Those desiring my consulting or training services please feel free to email me. --- "Nolite dare sanctum canibus neque mittatis margaritas vestras ante porcos ne forte conculcent eas pedibus suis." Cum es damnatorum possederunt porcos iens ut salire off sanguinum cliff in abyssum?" -- View this message in context: http://spssx-discussion.1045642.n5.nabble.com/The-Custom-Dialog-Builder-tp5722736p5722746.html Sent from the SPSSX Discussion mailing list archive at Nabble.com. ===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD |
Free forum by Nabble | Edit this page |