NotificationDisplay: integrate for warning and error display

Surprise, surprise.... it really works
our "bang" messages are fantastic, yellow and bold now
This commit is contained in:
Fischlurch 2018-09-24 04:17:04 +02:00
parent fa55ff63d5
commit 245a07bc16
3 changed files with 65 additions and 32 deletions

View file

@ -117,7 +117,7 @@ namespace panel{
static uint bangNo{0};
static _Fmt msgTemplate{"Bang #%d\n"};
getLog().addMsg (msgTemplate % ++bangNo);
getLog().addError (msgTemplate % ++bangNo);
}

View file

@ -49,6 +49,9 @@
**
** @todo WIP-WIP-WIP as of 9/2017 this is a first draft of a widget to be
** used as receiver by the GuiNotificationService.
** @todo WIP-WIP and in 9/2018 this draft gradually shifts towards a prototype
** how to deal with custom configured widget behaviour, and how to integrate
** with our GUI framework /////////////////////////////////////////////////////////////TICKET #1099 : build a prototype/dummy for UI <-> Proc integration
**
*/
@ -76,6 +79,7 @@ namespace widget {
namespace {
const Literal TAG_ERROR{"ERROR"}; /////////////////////////////////////////////////////////////TICKET #1168 : find a way to manage style of custom extended UI elements
const Literal TAG_WARN{"WARN"};
using Tag = Glib::RefPtr<Gtk::TextBuffer::Tag>;
@ -88,9 +92,14 @@ namespace widget {
inline void
populateStandardTextTags (Glib::RefPtr<TextBuffer::TagTable> tagTable)
{
Tag errorTag = Gtk::TextBuffer::Tag::create();
errorTag->property_background() = "yellow"; ////////////////////////////////////////////TICKET #1168 : should be retrieved from a central location
Tag errorTag = Gtk::TextBuffer::Tag::create (cuString{TAG_ERROR});
errorTag->property_background() = "Yellow"; ////////////////////////////////////////////TICKET #1168 : should be retrieved from a central location
errorTag->property_weight() = PANGO_WEIGHT_BOLD;
tagTable->add (errorTag);
Tag warnTag = Gtk::TextBuffer::Tag::create (cuString{TAG_WARN});
warnTag->property_background() = "LightYellow"; ////////////////////////////////////////////TICKET #1168 : should be retrieved from a central location
tagTable->add (warnTag);
}
}
@ -194,12 +203,15 @@ namespace widget {
* [insert-mark]: https://developer.gnome.org/gtkmm/3.22/classGtk_1_1TextMark.html#details
*/
auto
addEntry (string const& text)
addEntry (string const& text, Literal markupTagName =nullptr)
{
auto buff = textLog_.get_buffer();
auto cursor = buff->get_insert();
buff->move_mark (cursor, buff->end());
buff->insert (buff->end(), text);
if (markupTagName)
buff->insert_with_tag(buff->end(), text, cuString{markupTagName});
else
buff->insert (buff->end(), text);
textLog_.scroll_to (cursor);
return cursor;
}
@ -211,10 +223,12 @@ namespace widget {
switch (severity) {
case NOTE_ERROR:
errorMarks_.emplace_back(
addEntry ("ERROR: "+text));
addEntry ("ERROR: "+text, TAG_ERROR));
if (not expand.isExpanded())
expand (true);
break;
case NOTE_WARN:
addEntry ("WARN: "+text);
addEntry ("WARN: "+text, TAG_WARN);
break;
default:
addEntry (text);

View file

@ -1740,10 +1740,27 @@
<node CREATED="1504203763606" ID="ID_877984616" MODIFIED="1518487921054" TEXT="in ein Widget verpacken">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1504203754175" ID="ID_580465154" MODIFIED="1537572046781" TEXT="Fehler-Level erkennen">
<node COLOR="#338800" CREATED="1504203754175" ID="ID_580465154" MODIFIED="1537754756867" TEXT="Fehler-Level erkennen">
<arrowlink DESTINATION="ID_1459967459" ENDARROW="Default" ENDINCLINATION="-73;-253;" ID="Arrow_ID_424075973" STARTARROW="None" STARTINCLINATION="225;0;"/>
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537754684692" HGAP="65" ID="ID_494305022" MODIFIED="1537754798372" TEXT="Rolle im API kl&#xe4;ren" VSHIFT="-12">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
brauchen wir diese zwischengeschaltete Methode <b>showMsg()</b>?
</p>
<p>
w&#228;re es nicht sinnvoller, sie direkt auf das API zu heben?
</p>
</body>
</html>
</richcontent>
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725200588" ID="ID_871562482" MODIFIED="1535752292770" TEXT="Operationen">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1534725109137" ID="ID_694776463" MODIFIED="1535752255561" TEXT="expand">
@ -1966,13 +1983,13 @@
<node COLOR="#338800" CREATED="1534725131214" ID="ID_1479834475" MODIFIED="1537533467539" TEXT="addMsg">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725152139" ID="ID_887758432" MODIFIED="1534725420632" TEXT="addError">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725152139" ID="ID_887758432" MODIFIED="1537754649532" TEXT="addError">
<icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725422454" ID="ID_1459967459" MODIFIED="1537572046781" TEXT="spezieller Markup">
<linktarget COLOR="#a9b4c1" DESTINATION="ID_1459967459" ENDARROW="Default" ENDINCLINATION="-73;-253;" ID="Arrow_ID_424075973" SOURCE="ID_580465154" STARTARROW="None" STARTINCLINATION="225;0;"/>
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537571906634" ID="ID_1839759637" MODIFIED="1537571965556" TEXT="Tags anlegen">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1537571906634" ID="ID_1839759637" MODIFIED="1537754555384" TEXT="Tags anlegen">
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537571917625" ID="ID_1900926418" MODIFIED="1537571926822" TEXT="k&#xe4;ren: CSS?">
<icon BUILTIN="help"/>
<node COLOR="#435e98" CREATED="1535629564615" HGAP="43" ID="ID_1432671260" MODIFIED="1537576577055" TEXT="GTK-Styling, CSS f&#xfc;r Custom-Widgets" VSHIFT="-35">
@ -1983,8 +2000,8 @@
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537661764454" ID="ID_1004400727" MODIFIED="1537661786205" TEXT="Untersuchen per Inspector">
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537661787387" ID="ID_20967740" MODIFIED="1537661797859" TEXT="vorl&#xe4;ufig hart verdrahten">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1537661787387" ID="ID_20967740" MODIFIED="1537754544278" TEXT="vorl&#xe4;ufig hart verdrahten">
<icon BUILTIN="button_ok"/>
<node CREATED="1537752420235" ID="ID_922959985" MODIFIED="1537752432342" TEXT="Funktion zum Populieren der Tag-Table"/>
<node CREATED="1537752434280" ID="ID_1053927695" MODIFIED="1537752468330" TEXT="k&#xf6;nnte in den StyleManager wandern">
<arrowlink COLOR="#b3a9c1" DESTINATION="ID_758790930" ENDARROW="Default" ENDINCLINATION="96;-5;" ID="Arrow_ID_1283375190" STARTARROW="None" STARTINCLINATION="-17;39;"/>
@ -1998,22 +2015,23 @@
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537571928143" ID="ID_221069673" MODIFIED="1537571967923" TEXT="Tag f&#xfc;r Warnung">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1537571928143" ID="ID_221069673" MODIFIED="1537754539816" TEXT="Tag f&#xfc;r Warnung">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1537571934143" ID="ID_447258227" MODIFIED="1537752476750" TEXT="Tag f&#xfc;r Fehler">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537571949893" ID="ID_328949056" MODIFIED="1537571962861" TEXT="Tags zuweisen">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1537571949893" ID="ID_328949056" MODIFIED="1537754568804" TEXT="Tags zuweisen">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537571956436" ID="ID_1806243350" MODIFIED="1537571961484" TEXT="Tags entfernen">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537571956436" ID="ID_1806243350" MODIFIED="1537754595581" TEXT="Tags entfernen">
<linktarget COLOR="#a9b4c1" DESTINATION="ID_1806243350" ENDARROW="Default" ENDINCLINATION="294;-15;" ID="Arrow_ID_52974407" SOURCE="ID_383201596" STARTARROW="None" STARTINCLINATION="294;-15;"/>
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725501467" ID="ID_1420459325" MODIFIED="1534725506867" TEXT="Bookmark speichern">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725501467" ID="ID_1420459325" MODIFIED="1537754628081" TEXT="Bookmark speichern">
<icon BUILTIN="pencil"/>
<node COLOR="#435e98" CREATED="1537535919147" ID="ID_1338221225" MODIFIED="1537571978137" TEXT="Technologie">
<icon BUILTIN="info"/>
<node CREATED="1537535925874" ID="ID_196796680" MODIFIED="1537535937395" TEXT="Tag / TagTable">
@ -2031,10 +2049,10 @@
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537571771685" ID="ID_1198199438" MODIFIED="1537571817032" TEXT="ErrorIndex">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537571794801" ID="ID_1255966338" MODIFIED="1537571888654" TEXT="einf&#xfc;gen">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1537571771685" ID="ID_1198199438" MODIFIED="1537754632532" TEXT="ErrorIndex">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1537571794801" ID="ID_1255966338" MODIFIED="1537754634178" TEXT="einf&#xfc;gen">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537571882918" ID="ID_620353485" MODIFIED="1537571889438" TEXT="reorganisieren">
<icon BUILTIN="flag-yellow"/>
@ -2078,10 +2096,10 @@
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537531676045" ID="ID_548104404" MODIFIED="1537531681238" TEXT="addWarning">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1537531682564" ID="ID_1510582702" MODIFIED="1537531692044" TEXT="nur speziell ausgezeichnete Meldung">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1537531676045" ID="ID_548104404" MODIFIED="1537754856503" TEXT="addWarning">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1537531682564" ID="ID_1510582702" MODIFIED="1537754858082" TEXT="nur speziell ausgezeichnete Meldung">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725142756" ID="ID_343395831" MODIFIED="1534725674269" TEXT="clearInfoMsg">
@ -2098,7 +2116,8 @@
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725160618" ID="ID_1981616896" MODIFIED="1534725672469" TEXT="turnError_into_InfoMsg">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725575098" ID="ID_383201596" MODIFIED="1534725585810" TEXT="Markup reduzieren">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725575098" ID="ID_383201596" MODIFIED="1537754595581" TEXT="Markup reduzieren">
<arrowlink DESTINATION="ID_1806243350" ENDARROW="Default" ENDINCLINATION="294;-15;" ID="Arrow_ID_52974407" STARTARROW="None" STARTINCLINATION="294;-15;"/>
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534725587112" ID="ID_31905080" MODIFIED="1534725593152" TEXT="Bookmarks entfernen">
@ -2624,8 +2643,8 @@
<icon BUILTIN="info"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534120150463" ID="ID_1967851591" MODIFIED="1534725759893" TEXT="doErr(text)">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1534120150463" ID="ID_1967851591" MODIFIED="1537754665384" TEXT="doErr(text)">
<icon BUILTIN="button_ok"/>
<node CREATED="1534120150463" ID="ID_764543121" MODIFIED="1534120282524">
<richcontent TYPE="NODE"><html>
<head>