1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
#include "tpi-image-builder.h"
#include <QObject>
#include <QRect>
#include <QVector>
#include <Tui/ZCommandNotifier.h>
#include <Tui/ZMenu.h>
#include <Tui/ZMenuItem.h>
#include <Tui/ZMenubar.h>
#include <Tui/ZRoot.h>
#include <Tui/ZTerminal.h>
#include <Tui/ZTest.h>
#include <Tui/ZWindow.h>
void menubar() {
Tui::ZTerminal terminal(Tui::ZTerminal::OffScreen(40, 40));
Tui::ZRoot root;
terminal.setMainWidget(&root);
root.setGeometry({0, 0, 80, 24});
root.setFocus();
QVector<Tui::ZMenuItem> items = { { "<m>F</m>ile", "", {}, {
{ "<m>N</m>ew", "", "NewFile", {}},
{ "<m>O</m>pen", "", "OpenFile", {}},
{ "<m>S</m>ave", "", "SaveFile", {}},
{ },
{ "<m>Q</m>uit", "Ctrl-q", "Quit", {}},
} },
{ "<m>H</m>elp", "", {}, {
{ "<m>A</m>bout", "", "AboutDialog", {}}
}}};
// Default
{
Tui::ZMenubar menubar(&root);
menubar.setGeometry({1, 1, 24, 1});
menubar.setItems(items);
export_tpi(&terminal, "menu", 0, 0, 26, 10);
}
// disabled
{
Tui::ZMenubar menubar(&root);
menubar.setGeometry({1, 1, 24, 1});
menubar.setItems(items);
menubar.setEnabled(false);
export_tpi(&terminal, "menu-disabled", 0, 0, 26, 10);
}
// submenu Default
{
Tui::ZMenubar menubar(&root);
menubar.setGeometry({1, 1, 24, 1});
menubar.setItems(items);
QObject::connect(new Tui::ZCommandNotifier("NewFile", &root), &Tui::ZCommandNotifier::activated, [&] {
});
QObject::connect(new Tui::ZCommandNotifier("OpenFile", &root), &Tui::ZCommandNotifier::activated, [&] {
});
QObject::connect(new Tui::ZCommandNotifier("Quit", &root), &Tui::ZCommandNotifier::activated, [&] {
});
Tui::ZTest::sendKey(&terminal, Tui::Key_F10, {});
export_tpi(&terminal, "menu-submenu", 0, 0, 26, 10);
}
}
void popupmenu() {
Tui::ZTerminal terminal (Tui::ZTerminal::OffScreen(40, 40));
Tui::ZRoot root;
terminal.setMainWidget(&root);
root.setGeometry({0, 0, 40, 40});
root.setFocus();
Tui::ZWindow win(&root);
win.setGeometry({0, 0, 40, 40});
win.setFocus();
win.setBorderEdges({});
QVector<Tui::ZMenuItem> items = { {"Kilo", "", "kilo", {}},
{"Mega", "", "mega", {}},
{"<m>G</m>iga", "", "giga", {}},
{"Tera", "", "tera", {}},
{},
{"Peta", "", "peta", {}},
{"Exa", "", "exa", {}},
{"Zetta", "", "zetta", {}},
{"Yotta", "", "yotta", {}}
};
// Default
{
root.ensureCommandManager();
new Tui::ZCommandNotifier("mega", &root);
new Tui::ZCommandNotifier("giga", &root);
new Tui::ZCommandNotifier("tera", &root);
Tui::ZMenu *menu = new Tui::ZMenu(&root);
menu->setItems(items);
menu->popup({1, 1});
export_tpi(&terminal, "menue-popupmenu", 0, 0, 22, 13);
}
}
void menu() {
menubar();
popupmenu();
}
|