TestControl: build the necessary control widgets

- a text input field
- a trigger to invoke the showInfo function on GuiNotification
- triggers to send state mark messages via GuiNotification into the UI-Bus
- a combo box to define the action-ID within those state mark messages

With these controls, it should be possible to execute all the variations
of the Tangible element protocol and verify the respective behaviour
has been coded up properly within the receiving ErrorLogDisplay widget

Note the key point (and the next step to code up) is for #1099 to
invoke a dummy/demo command in Proc-Layer, which in turn pushes an
reaction via the GuiNotification facade back into the UI asynchronously...
This commit is contained in:
Fischlurch 2018-09-27 04:15:27 +02:00
parent 77980ef024
commit 10b9abd79b
2 changed files with 94 additions and 23 deletions

View file

@ -72,14 +72,15 @@ namespace dialog {
* as the widget hierarchy is concerned. Both parts are publicly accessible
* as members, while providing a shortcut for publishing the box.
*/
struct FrameVBox
struct FrameBox
{
Gtk::Frame frame;
Gtk::Box box;
FrameVBox (cuString label)
FrameBox (cuString label,
Gtk::Orientation orientation =Gtk::ORIENTATION_VERTICAL)
: frame{label}
, box{Gtk::ORIENTATION_VERTICAL}
, box{orientation}
{
frame.add (box);
}
@ -166,19 +167,75 @@ namespace dialog {
*/
struct Page1 : Page
{
FrameVBox seg_1_{_("log notification")},
seg_2_{_("mark via UI-Bus")};
Gtk::Button trigger_1_;
Gtk::Entry content_;
FrameBox seg_1_{_("log notification"), Gtk::ORIENTATION_HORIZONTAL},
seg_2_{_("mark via UI-Bus")};
Gtk::Button trig_1_, trig_2_, trig_3_, trig_4_;
Gtk::RadioButton level_info_{"Info"},
level_warn_{"Warn"},
level_erro_{"Error"};
Gtk::Box markParam_;
Gtk::ComboBoxText actionID_{true}; // has free-text entry field
Page1(Bus bus)
{
trigger_1_.set_label ("_doIt");
trigger_1_.set_use_underline();
trigger_1_.set_tooltip_markup (_("<b>Ticket #1099</b>:\ntrigger Proc-GUI roundtrip"));
trigger_1_.signal_clicked().connect(
content_.set_tooltip_markup (_("<b>Ticket #1099</b>:\n"
"text message content\n"
"<i>when invoking a suitable action,\n"
"it will be passed down and sent back</i>"));
trig_1_.set_use_underline();
trig_1_.set_label ("_display text");
trig_1_.set_tooltip_markup (_("Trigger Proc-GUI <b>roundtrip</b>\n"
"Proc invokes GuiNotification::displayInfo"));
trig_1_.signal_clicked().connect(
[&]{ demoGuiRoundtrip(bus); });
seg_1_.pack_start (trigger_1_, Gtk::PACK_SHRINK);
level_warn_.join_group(level_info_);
level_erro_.join_group(level_info_);
level_warn_.set_active();
trig_2_.set_use_underline();
trig_2_.property_xalign() = 0;
trig_2_.set_label ("mark _error");
trig_2_.set_tooltip_markup (_("trigger Proc-command, which in turn\n"
"sends an error state mark via UI-Bus"));
trig_3_.set_use_underline();
trig_3_.property_xalign() = 0;
trig_3_.set_label ("mark _info");
trig_3_.set_tooltip_markup (_("trigger Proc-command, which in turn\n"
"sends an info state mark via UI-Bus"));
trig_4_.set_use_underline();
trig_4_.set_label ("_mark");
trig_4_.set_tooltip_markup (_("trigger Proc-command, which in turn\n"
"sends an <b>state mark</b> message, using\n"
"the message action-ID from the combobox"));
actionID_.append ("Flash");
actionID_.append ("revealYourself");
actionID_.append ("clearErr");
actionID_.append ("clearMsg");
actionID_.append ("expand");
actionID_.append ("reset");
actionID_.set_active(1);
actionID_.set_tooltip_markup("select the specific action-ID\n"
"when sending a <b>mark</b> message.\n"
"<u>note</u>: can enter arbitrary ID");
markParam_.pack_start(trig_4_);
markParam_.pack_start(actionID_, Gtk::PACK_SHRINK);
seg_1_.pack_start (trig_1_, Gtk::PACK_EXPAND_WIDGET);
seg_1_.pack_start (level_info_, Gtk::PACK_SHRINK);
seg_1_.pack_start (level_warn_, Gtk::PACK_SHRINK);
seg_1_.pack_start (level_erro_, Gtk::PACK_SHRINK);
seg_2_.pack_start (trig_2_);
seg_2_.pack_start (trig_3_);
seg_2_.pack_start (markParam_);
pack_start (content_);
pack_start (seg_1_);
pack_start (seg_2_);
}

View file

@ -2231,7 +2231,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1533689065976" ID="ID_1456563113" MODIFIED="1534119944991" TEXT="NotificationController im Wizzard ansiedeln">
<node COLOR="#435e98" CREATED="1533689065976" ID="ID_1456563113" MODIFIED="1538013202439" TEXT="NotificationController im Wizzard ansiedeln">
<icon BUILTIN="full-1"/>
<node CREATED="1533768795377" ID="ID_377710833" MODIFIED="1533768810140" TEXT="wirklich ein eigenst&#xe4;ndiger Controller??">
<icon BUILTIN="help"/>
@ -2277,7 +2277,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1533689076590" ID="ID_321096443" MODIFIED="1534119951865" TEXT="mit Bus verdrahten und ID global konstant definieren">
<node COLOR="#435e98" CREATED="1533689076590" ID="ID_321096443" MODIFIED="1538013206894" TEXT="mit Bus verdrahten und ID global konstant definieren">
<icon BUILTIN="full-2"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1533689098787" ID="ID_191346591" MODIFIED="1537531589557" TEXT="Empfangs-Logik im NotificationHub (Controller)">
@ -2712,8 +2712,8 @@
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1533689225658" ID="ID_662017160" MODIFIED="1533689310654" TEXT="Pling! -Button">
<icon BUILTIN="full-5"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1533689235200" ID="ID_1760873318" MODIFIED="1537848115131" TEXT="non-modal TestControl">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1533689235200" ID="ID_1760873318" MODIFIED="1538013179410" TEXT="non-modal TestControl">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1537836495530" ID="ID_182389429" MODIFIED="1537848042515" TEXT="per Men&#xfc;eintrag &#xf6;ffnen">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1537841662854" ID="ID_451055929" MODIFIED="1537841679676" TEXT="Men&#xfc;eintrag im Hilfe-Men&#xfc;">
@ -2773,20 +2773,22 @@
</node>
<node COLOR="#338800" CREATED="1537961550200" ID="ID_226231657" MODIFIED="1537969666482" TEXT="setup f&#xfc;r Notebook-Widget">
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1537961568746" ID="ID_1553519505" MODIFIED="1537962304729" TEXT="Prototyp f&#xfc;r generischen Helper">
<node COLOR="#435e98" CREATED="1537961568746" ID="ID_1553519505" MODIFIED="1538013249329" TEXT="Prototyp f&#xfc;r generischen Helper">
<arrowlink COLOR="#6ea8be" DESTINATION="ID_591860371" ENDARROW="Default" ENDINCLINATION="1162;51;" ID="Arrow_ID_1534615646" STARTARROW="None" STARTINCLINATION="-185;836;"/>
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="yes"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537836522950" ID="ID_87203159" MODIFIED="1537836526719" TEXT="Radiobuttons">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1537836522950" ID="ID_87203159" MODIFIED="1538013112289" TEXT="Radiobuttons">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537834955977" ID="ID_556296967" MODIFIED="1537834965289" TEXT="Argument-Textbox">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1537834955977" ID="ID_556296967" MODIFIED="1538013155212" TEXT="Argument-Textbox">
<arrowlink COLOR="#19f524" DESTINATION="ID_1072038781" ENDARROW="Default" ENDINCLINATION="-7;-200;" ID="Arrow_ID_746117643" STARTARROW="None" STARTINCLINATION="94;0;"/>
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1537836579647" ID="ID_951515368" MODIFIED="1537848122882" TEXT="Pling!">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1537972817468" ID="ID_443954725" MODIFIED="1537972829195" TEXT="direkt den UI-Bus ansprechen">
<node COLOR="#338800" CREATED="1537972817468" FOLDED="true" ID="ID_443954725" MODIFIED="1537977645522" TEXT="direkt den UI-Bus ansprechen">
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1537973078631" ID="ID_476903403" MODIFIED="1537973140285" TEXT="*** first tangible action sent via UI-Bus ***">
<font NAME="SansSerif" SIZE="28"/>
@ -2803,7 +2805,18 @@
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1533689255174" ID="ID_821013695" MODIFIED="1537835685388" TEXT="Aufruf via Notification_Facade">
<icon BUILTIN="flag-yellow"/>
<node CREATED="1537835197558" ID="ID_1477928890" MODIFIED="1537835197558" TEXT="displayInfo"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537835197558" ID="ID_1477928890" MODIFIED="1537977714184" TEXT="displayInfo">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537977715375" ID="ID_26283848" MODIFIED="1537977727814" TEXT="INFO">
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537977721054" ID="ID_1182006449" MODIFIED="1537977727294" TEXT="WARN">
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537977723454" ID="ID_484673349" MODIFIED="1537977726486" TEXT="ERROR">
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537835015601" ID="ID_1684094906" MODIFIED="1537835021881" TEXT="direkte Bus-Aufrufe">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537835220978" ID="ID_1439086949" MODIFIED="1537835698918" TEXT="markError">
@ -2812,7 +2825,8 @@
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537835228018" ID="ID_1420898810" MODIFIED="1537835700414" TEXT="markNote">
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537835741000" ID="ID_1072038781" MODIFIED="1537835764630" TEXT="mark">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537835741000" ID="ID_1072038781" MODIFIED="1538013147452" TEXT="mark">
<linktarget COLOR="#19f524" DESTINATION="ID_1072038781" ENDARROW="Default" ENDINCLINATION="-7;-200;" ID="Arrow_ID_746117643" SOURCE="ID_556296967" STARTARROW="None" STARTINCLINATION="94;0;"/>
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537835767228" ID="ID_400466516" MODIFIED="1537835899052" TEXT="FLASH">
<icon BUILTIN="flag-yellow"/>