09.03.2015 Views

An IVIB Primer - Unicon

An IVIB Primer - Unicon

An IVIB Primer - Unicon

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

method on_text_button_exit(ev)<br />

dispose()<br />

end<br />

Add the following code to on_dialogmain so the dialog will close for the X event<br />

method on_dialogmain(ev)<br />

if \ev.param = -11 then #windows x box<br />

on_text_button_exit(ev)<br />

end<br />

Save main.icn<br />

Edit edit.icn and add the bolded code to on_text_button_exit() to close the dialog.<br />

method on_text_button_exit(ev)<br />

dispose()<br />

end<br />

Also add the bolded code to 'on_dialogedit'.<br />

method on_dialogedit(ev)<br />

if \ev.param = -11 then #windows x box<br />

on_text_button_exit(ev)<br />

end<br />

Save edit.icn<br />

Compile the program:<br />

>unicon –o demo -G main.icn edit.icn<br />

Run the program<br />

>demo<br />

When the main dialog comes up, you can click on the 'Modeless' button and a new edit dialog will<br />

appear. Notice you can go back and forth from main dialog to edit dialogs. Every time you click, a new<br />

dialog will be created.This is different from the show_modal dialogs where the focus was only given to<br />

one dialog at a time.<br />

We may not want our users creating too many dialog boxes. Let’s add Some code to limit them to one<br />

only. If they click on the modeless button, and there is already a dialog open, we will set the focus on<br />

the already opened dialog box.<br />

In main.icn:<br />

Add the global variable dedit at the top of main.icn (before the class declaration). This is the edit<br />

dialog variable that will tell us if the dialog is open.<br />

24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!