X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;ds=sidebyside;f=demos%2FDemo1.java;h=44333a42b4be7f3a30f93f38c995bf31f5a395c1;hb=7272e49f35db74caa16eead38aa39a80bb9fc641;hp=4c7f631d042ba2f43295e486bfb1afd285709a58;hpb=8e688b9211599d240be67e5cf62dfe48520378f2;p=nikiroo-utils.git diff --git a/demos/Demo1.java b/demos/Demo1.java index 4c7f631..44333a4 100644 --- a/demos/Demo1.java +++ b/demos/Demo1.java @@ -34,6 +34,169 @@ import jexer.*; import jexer.menu.*; +class DemoCheckboxWindow extends TWindow { + + /** + * Constructor + */ + DemoCheckboxWindow(TApplication parent) { + this(parent, CENTERED | RESIZABLE); + } + + /** + * Constructor + */ + DemoCheckboxWindow(TApplication parent, int flags) { + // Construct a demo window. X and Y don't matter because it + // will be centered on screen. + super(parent, "Radiobuttons and Checkboxes", 0, 0, 60, 15, flags); + + int row = 1; + + // Add some widgets + addLabel("Check box example 1", 1, row); + addCheckbox(35, row++, "Checkbox 1", false); + addLabel("Check box example 2", 1, row); + addCheckbox(35, row++, "Checkbox 2", true); + row += 2; + + /* + auto group = addRadioGroup(1, row, "Group 1"); + group.addRadioButton("Radio option 1"); + group.addRadioButton("Radio option 2"); + group.addRadioButton("Radio option 3"); + + addButton("&Close Window", (width - 14) / 2, height - 4, + { + application.closeWindow(this); + } + + ); + */ + } + +} + + +class DemoMsgBoxWindow extends TWindow { + /* + private void openYNCMessageBox() { + application.messageBox("Yes/No/Cancel MessageBox", + q"EOS +This is an example of a Yes/No/Cancel MessageBox. + +Note that the MessageBox text can span multiple +lines. + +The default result (if someone hits the top-left +close button) is CANCEL. +EOS", + TMessageBox.Type.YESNOCANCEL); + } + + private void openYNMessageBox() { + application.messageBox("Yes/No MessageBox", + q"EOS +This is an example of a Yes/No MessageBox. + +Note that the MessageBox text can span multiple +lines. + +The default result (if someone hits the top-left +close button) is NO. +EOS", + TMessageBox.Type.YESNO); + } + + private void openOKCMessageBox() { + application.messageBox("OK/Cancel MessageBox", + q"EOS +This is an example of a OK/Cancel MessageBox. + +Note that the MessageBox text can span multiple +lines. + +The default result (if someone hits the top-left +close button) is CANCEL. +EOS", + TMessageBox.Type.OKCANCEL); + } + + private void openOKMessageBox() { + application.messageBox("OK MessageBox", + q"EOS +This is an example of a OK MessageBox. This is the +default MessageBox. + +Note that the MessageBox text can span multiple +lines. + +The default result (if someone hits the top-left +close button) is OK. +EOS", + TMessageBox.Type.OK); + } + + */ + + /** + * Constructor. + */ + DemoMsgBoxWindow(final TApplication parent) { + this(parent, TWindow.CENTERED | TWindow.RESIZABLE); + } + + /** + * Constructor. + */ + DemoMsgBoxWindow(final TApplication parent, final int flags) { + // Construct a demo window. X and Y don't matter because it + // will be centered on screen. + super(parent, "Message Boxes", 0, 0, 60, 15, flags); + /* + uint row = 1; + + // Add some widgets + addLabel("Default OK message box", 1, row); + addButton("Open O&K MB", 35, row, &openOKMessageBox); + row += 2; + + addLabel("OK/Cancel message box", 1, row); + addButton("O&pen OKC MB", 35, row, &openOKCMessageBox); + row += 2; + + addLabel("Yes/No message box", 1, row); + addButton("Open &YN MB", 35, row, &openYNMessageBox); + row += 2; + + addLabel("Yes/No/Cancel message box", 1, row); + addButton("Ope&n YNC MB", 35, row, &openYNCMessageBox); + row += 2; + + addLabel("Input box", 1, row); + addButton("Open &input box", 35, row, + { + application.inputBox("Input Box", + q"EOS +This is an example of an InputBox. + +Note that the InputBox text can span multiple +lines. +EOS", + "some input text"); + } + ); + + addButton("&Close Window", (width - 14) / 2, height - 4, + { + application.closeWindow(this); + } + ); + */ + } +} + + class DemoMainWindow extends TWindow { /* // Timer that increments a number @@ -55,11 +218,6 @@ class DemoMainWindow extends TWindow { application.closeWindow(modalWindow); } - /// This is an example of having a button call a function. - private void openCheckboxWindow() { - new DemoCheckboxWindow(application); - } - /// We need to override onClose so that the timer will no longer be /// called after we close the window. TTimers currently are completely /// unaware of the rest of the UI classes. @@ -83,15 +241,16 @@ class DemoMainWindow extends TWindow { // centered on screen. super(parent, "Demo Window", 0, 0, 60, 23, flags); - /* int row = 1; // Add some widgets - if (!isModal) { + if (!isModal()) { addLabel("Message Boxes", 1, row); addButton("&MessageBoxes", 35, row, - { - new DemoMsgBoxWindow(application); + new TAction() { + public void DO() { + new DemoMsgBoxWindow(getApplication()); + } } ); } @@ -99,27 +258,38 @@ class DemoMainWindow extends TWindow { addLabel("Open me as modal", 1, row); addButton("W&indow", 35, row, - { - new DemoMainWindow(application, Flag.MODAL); + new TAction() { + public void DO() { + new DemoMainWindow(getApplication(), MODAL); + } } ); row += 2; + /* addLabel("Variable-width text field:", 1, row); addField(35, row++, 15, false, "Field text"); addLabel("Fixed-width text field:", 1, row); addField(35, row, 15, true); row += 2; + */ - if (!isModal) { + if (!isModal()) { addLabel("Radio buttons and checkboxes", 1, row); - addButton("&Checkboxes", 35, row, &openCheckboxWindow); + addButton("&Checkboxes", 35, row, + new TAction() { + public void DO() { + new DemoCheckboxWindow(getApplication(), MODAL); + } + } + ); } row += 2; - if (!isModal) { + /* + if (!isModal()) { addLabel("Editor window", 1, row); addButton("Edito&r", 35, row, { @@ -129,7 +299,7 @@ class DemoMainWindow extends TWindow { } row += 2; - if (!isModal) { + if (!isModal()) { addLabel("Text areas", 1, row); addButton("&Text", 35, row, { @@ -139,7 +309,7 @@ class DemoMainWindow extends TWindow { } row += 2; - if (!isModal) { + if (!isModal()) { addLabel("Tree views", 1, row); addButton("Tree&View", 35, row, { @@ -149,17 +319,15 @@ class DemoMainWindow extends TWindow { } row += 2; - version(Posix) { - if (!isModal) { - addLabel("Terminal", 1, row); - addButton("Termi&nal", 35, row, - { - application.openTerminal(0, 0); - } - ); - } - row += 2; + if (!isModal()) { + addLabel("Terminal", 1, row); + addButton("Termi&nal", 35, row, + { + application.openTerminal(0, 0); + } + ); } + row += 2; TProgressBar bar = addProgressBar(1, row, 22); row++; @@ -192,14 +360,6 @@ class DemoApplication extends TApplication { super(null, null); new DemoMainWindow(this); - // TEMPORARY - TWindow window2 = new DemoMainWindow(this); - window2.setHeight(5); - window2.setWidth(25); - window2.setX(17); - window2.setY(6); - // TEMPORARY - // Add the menus addFileMenu(); addEditMenu();