29#ifndef STAGE_DIALOG_TEST_CONTROL_H
30#define STAGE_DIALOG_TEST_CONTROL_H
78 Gtk::Orientation orientation =Gtk::ORIENTATION_VERTICAL)
85 operator Gtk::Widget&() {
return frame; }
88 pack_start(Gtk::Widget& child, Gtk::PackOptions options =Gtk::PACK_EXPAND_WIDGET, guint padding =0)
90 box.pack_start (child, options, padding);
101 :
Gtk::Box{
Gtk::ORIENTATION_VERTICAL}
127 :
public Gtk::Notebook
131 template<
class PAG,
typename...ARGS>
135 Gtk::Notebook::append_page (this->
manage (
new PAG(forward<ARGS> (ctorArgs)...))
193 return string{
actionID_.get_entry_text()};
199 content_.set_tooltip_markup (
_(
"<b>Ticket #1099</b>:\n"
200 "text message content\n"
201 "<i>when invoking a suitable action,\n"
202 "it will be passed down and sent back</i>"));
204 trig_1_.set_label (
"_display text");
206 trig_1_.set_tooltip_markup (
_(
"Trigger Steam-Stage <b>roundtrip</b>\n"
207 "Steam invokes GuiNotification::displayInfo"));
215 trig_2_.set_label (
"mark _error");
216 trig_2_.set_tooltip_markup (
_(
"trigger Steam-command, which in turn\n"
217 "sends an error state mark via UI-Bus"));
221 trig_3_.set_label (
"mark _info");
222 trig_3_.set_tooltip_markup (
_(
"trigger Steam-command, which in turn\n"
223 "sends an info state mark via UI-Bus"));
228 trig_4_.set_tooltip_markup (
_(
"trigger Steam-command, which in turn\n"
229 "sends an <b>state mark</b> message, using\n"
230 "the message action-ID from the combobox"));
238 actionID_.set_tooltip_markup(
"select the specific action-ID\n"
239 "when sending a <b>mark</b> message.\n"
240 "<u>note</u>: can enter arbitrary ID");
254 pack_start (
content_, Gtk::PACK_SHRINK);
255 pack_start (
seg_1_, Gtk::PACK_SHRINK);
256 pack_start (
seg_2_, Gtk::PACK_SHRINK);
259 trig_1_.signal_clicked().connect(
261 trig_2_.signal_clicked().connect(
263 trig_3_.signal_clicked().connect(
265 trig_4_.signal_clicked().connect(
287 string dummyID = sanitise (
dummy_.get_text());
295 seq_1_.set_label (
"Sequence 1");
296 seq_1_.set_tooltip_markup (
_(
"Push <b>population diff</b> up into the UI\n"
297 "provides the typical simple default timeline structure"));
299 seq_2_.set_label (
"Sequence 2");
300 seq_2_.set_tooltip_markup (
_(
"Push <b>population diff</b> up into the UI\n"
301 "provides a complex nested timeline structure"));
303 dummy_.set_tooltip_markup (
_(
"<i>dummy ID value</i>\n"
304 "used to build names in the generated content"));
305 dummy_.set_max_width_chars(12);
313 mut_1_.set_label (
"move elements");
314 mut_1_.set_tooltip_markup (
_(
"randomly manipulate temporal position of dummy elements"));
318 pack_start (
part_1_, Gtk::PACK_SHRINK);
319 pack_start (
part_2_, Gtk::PACK_SHRINK);
322 seq_1_.signal_clicked().connect(
324 seq_2_.signal_clicked().connect(
327 mut_1_.signal_clicked().connect(
328 [&]{ cerr <<
"gelldaschaugst..." <<endl; });
336 : Dialog(
_(
"Test and Diagnostics"), parent,
Gtk::DIALOG_DESTROY_WITH_PARENT)
341 get_content_area()->pack_start (
notebook_);
Attachment point to the UI-Bus.
Simple vector based collection of pointers, managing lifecycle of the pointed-to objects.
Gtk::Widget & manage(Gtk::Widget *obj)
take ownership of the given object, adding it at the end of the collection
connection point at the UI-Bus.
virtual void act(GenNode const &command)
prepare or trigger invocation of a command.
Helper widget to simplify construction and wiring of a Notebook widget.
Notebook & buildPage(cuString pageLabel, ARGS &&...ctorArgs)
explicitly named shortcut for the typical dialog page content holder
A complex, tabbed-notebook-style non-modal dialog window, dedicated to development,...
TestControl(ctrl::BusTerm &upLink, Gtk::Window &parent)
Any copy and copy construction prohibited.
A front-end for using printf-style formatting.
Common ID definitions for Steam-Layer commands.
Global constants and definitions for dialogs.
Dummy and scaffolding to help development of the UI - Session connection.
Generic building block for tree shaped (meta)data structures.
A set of basic GTK includes for the UI.
Major public Interface of the Lumiera GUI.
int rani(uint bound=_iBOUND())
static const int BorderPadding
The space in pixels to pad the border of Lumiera dialog boxes.
lib::diff::GenNode commandMessage(Symbol cmdID, ARGS &&... args)
convenience shortcut to build a message suitable for command invocation
Lumiera GTK UI implementation root.
const Symbol MARK_clearMsg
@ NOTE_INFO
possibly interesting info that can be safely ignored
@ NOTE_ERROR
severe condition to be indicated prominently
@ NOTE_WARN
something to be aware of, to be indicated unobtrusively
const Symbol MARK_clearErr
CommandSetup test_meta_markAction
CommandSetup test_fake_injectSequence_2
CommandSetup test_meta_markNote
CommandSetup test_fake_injectSequence_1
CommandSetup test_meta_markError
CommandSetup test_meta_displayInfo
std::string sanitise(std::string const &)
produce an identifier based on the given string.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Managing lifecycle for a collection of objects.
generic data element node within a tree
Building block for a segment within a dialog page.
FrameBox(cuString label, Gtk::Orientation orientation=Gtk::ORIENTATION_VERTICAL)
void pack_start(Gtk::Widget &child, Gtk::PackOptions options=Gtk::PACK_EXPAND_WIDGET, guint padding=0)
Ticket #1099 : perform a dummy round-trip to verify Steam-Stage integration.
Gtk::ComboBoxText actionID_
Gtk::RadioButton level_warn_
Gtk::RadioButton level_info_
Gtk::RadioButton level_erro_
Ticket #1014 : populate the Timeline in the GUI.
Abstraction: a tangible element of the User Interface.
A collection of frequently used helper functions to support unit testing.
Hard wired key constants and basic definitions for communication with the GUI.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...