NotificationDisplay: solved that nasty topic of dock access for now

phew...
This commit is contained in:
Fischlurch 2018-08-17 19:38:50 +02:00
parent 67ac8601d8
commit a151f28d86
5 changed files with 49 additions and 23 deletions

View file

@ -179,6 +179,15 @@ namespace ctrl {
/** collaboration with a log display allocated elsewhere */
WLink<widget::ErrorLogDisplay> widget_;
widget::ErrorLogDisplay&
getWidget()
{
if (not widget_)
widget_.connect (allocateWidget_());
return *widget_;
}
};

View file

@ -42,6 +42,7 @@
#include "gui/panel/timeline-panel-obsolete.hpp"
#include "include/logging.h"
#include "lib/util-foreach.hpp"
using namespace boost; ////////////////////////////////////////////////////////////////////////////////TICKET #1071 no wildcard includes please!
using namespace std; ////////////////////////////////////////////////////////////////////////////////TICKET #1071 no wildcard includes please!
@ -143,6 +144,15 @@ namespace workspace {
}
bool
DockArea::hasPanel (const int description_index)
{
return util::has_any (panels_, [=](panel::Panel* panel)
{
return getPanelType(panel) == description_index;
});
}
panel::Panel&
DockArea::showPanel (const int description_index)
{

View file

@ -125,6 +125,9 @@ namespace workspace {
*/
panel::Panel& showPanel (const int description_index);
/** was the indicated panel already allocated within this PanelManager's realm? */
bool hasPanel (const int description_index);
/**
* Switches a panel from one type to another,
* without touching the underlying GdlDockItem.

View file

@ -37,6 +37,7 @@
#include "gui/panel/timeline-panel-obsolete.hpp"
#include "include/logging.h"
#include "lib/util-foreach.hpp"
using namespace boost; ////////////////////////////////////////////////////////////////////////////////TICKET #1071 no wildcard includes please!
using namespace std; ////////////////////////////////////////////////////////////////////////////////TICKET #1071 no wildcard includes please!
@ -139,7 +140,10 @@ namespace workspace {
bool
PanelManager::hasPanel (const int description_index)
{
UNIMPLEMENTED ("search for a specific panel");
return util::has_any (panels_, [=](panel::Panel* panel)
{
return getPanelType(panel) == description_index;
});
}
panel::Panel&

View file

@ -1608,8 +1608,8 @@
<node CREATED="1504200793444" ID="ID_340215113" MODIFIED="1533608441263" TEXT="mi&#xdf;brauche InfoBox">
<arrowlink COLOR="#f5dd67" DESTINATION="ID_19179662" ENDARROW="Default" ENDINCLINATION="743;-1563;" ID="Arrow_ID_1195014928" STARTARROW="None" STARTINCLINATION="-452;605;"/>
<icon BUILTIN="idea"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1504200974955" ID="ID_1182589184" MODIFIED="1534513052343" TEXT="neues Dock(Panel)">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1504200974955" FOLDED="true" ID="ID_1182589184" MODIFIED="1534527069860" TEXT="neues Dock(Panel)">
<icon BUILTIN="button_ok"/>
<node CREATED="1522936169270" ID="ID_1991244597" MODIFIED="1522936194888" TEXT="vorl&#xe4;ufig eingeh&#xe4;ngt...">
<richcontent TYPE="NOTE"><html>
<head>
@ -1629,9 +1629,9 @@
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534513356842" HGAP="34" ID="ID_1371608668" MODIFIED="1534513691371" TEXT="Begriffe kl&#xe4;ren...">
<node COLOR="#435e98" CREATED="1534513356842" HGAP="34" ID="ID_1371608668" MODIFIED="1534527057298" TEXT="Begriffe kl&#xe4;ren...">
<arrowlink COLOR="#8a9dae" DESTINATION="ID_1031484560" ENDARROW="Default" ENDINCLINATION="1135;-5718;" ID="Arrow_ID_1369217030" STARTARROW="None" STARTINCLINATION="1238;-672;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1534513604257" ID="ID_724835920" MODIFIED="1534513612859" TEXT="Dock == DockArea"/>
<node CREATED="1534513617543" ID="ID_1874506167" MODIFIED="1534513631737" TEXT="DockItem == Panel"/>
</node>
@ -1669,9 +1669,9 @@
<node CREATED="1533608822826" ID="ID_1772827095" MODIFIED="1533608834604" TEXT="Schema zur reproduzierbaren ID-Generierung ist notwendig"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534513723209" ID="ID_592805858" MODIFIED="1534519994733" TEXT="PanelManger liefert Panel">
<node COLOR="#338800" CREATED="1534513723209" ID="ID_592805858" MODIFIED="1534526968091" TEXT="PanelManger liefert Panel">
<arrowlink COLOR="#99a7bd" DESTINATION="ID_1360472787" ENDARROW="Default" ENDINCLINATION="772;-6907;" ID="Arrow_ID_1137118362" STARTARROW="None" STARTINCLINATION="698;1616;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1534513739655" ID="ID_1688346556" MODIFIED="1534516101304" TEXT="Suche per Typ-ID">
<icon BUILTIN="button_ok"/>
</node>
@ -1682,9 +1682,9 @@
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534513723209" ID="ID_1131466377" MODIFIED="1534520036655" TEXT="Zugang durch WindowLocator / PanelLocator">
<node COLOR="#338800" CREATED="1534513723209" ID="ID_1131466377" MODIFIED="1534526965635" TEXT="Zugang durch WindowLocator / PanelLocator">
<arrowlink COLOR="#aab7cb" DESTINATION="ID_1614049284" ENDARROW="Default" ENDINCLINATION="772;-6907;" ID="Arrow_ID_139428133" STARTARROW="None" STARTINCLINATION="676;1738;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1534520043319" ID="ID_1510680356" MODIFIED="1534520065894" TEXT="vorl&#xe4;ufige Implementierung">
<icon BUILTIN="idea"/>
</node>
@ -1696,10 +1696,10 @@
</node>
</node>
</node>
<node CREATED="1504203667130" ID="ID_1745777873" MODIFIED="1534508658599" TEXT="vorl&#xe4;ufig Empf&#xe4;nger f&#xfc;r Fehler-Log">
<node CREATED="1504203667130" ID="ID_1745777873" MODIFIED="1534527104730" TEXT="vorl&#xe4;ufig Empf&#xe4;nger f&#xfc;r Fehler-Log">
<linktarget COLOR="#7893b2" DESTINATION="ID_1745777873" ENDARROW="Default" ENDINCLINATION="-499;-464;" ID="Arrow_ID_1590510093" SOURCE="ID_812129962" STARTARROW="None" STARTINCLINATION="808;0;"/>
<linktarget COLOR="#628195" DESTINATION="ID_1745777873" ENDARROW="Default" ENDINCLINATION="231;350;" ID="Arrow_ID_1743659141" SOURCE="ID_1981930639" STARTARROW="None" STARTINCLINATION="397;197;"/>
<icon BUILTIN="pencil"/>
<linktarget COLOR="#628195" DESTINATION="ID_1745777873" ENDARROW="Default" ENDINCLINATION="245;349;" ID="Arrow_ID_1743659141" SOURCE="ID_1981930639" STARTARROW="None" STARTINCLINATION="397;197;"/>
<icon BUILTIN="forward"/>
<node CREATED="1504203746239" ID="ID_697660682" MODIFIED="1518487921054" TEXT="Scroll-Pane">
<icon BUILTIN="button_ok"/>
</node>
@ -1746,7 +1746,7 @@
</node>
<node COLOR="#338800" CREATED="1533689055601" ID="ID_335901895" MODIFIED="1533689061409" TEXT="InfoboxPanel anlegen">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1534523190695" ID="ID_1941760302" MODIFIED="1534524666023" TEXT="ErrorLog bei Bedarf belegen">
<node COLOR="#338800" CREATED="1534523190695" FOLDED="true" ID="ID_1941760302" MODIFIED="1534527439233" TEXT="ErrorLog bei Bedarf belegen">
<arrowlink COLOR="#88a8b3" DESTINATION="ID_1806645586" ENDARROW="Default" ENDINCLINATION="-186;-20;" ID="Arrow_ID_948128706" STARTARROW="None" STARTINCLINATION="-4;127;"/>
<linktarget COLOR="#7ca8bc" DESTINATION="ID_1941760302" ENDARROW="Default" ENDINCLINATION="-1967;5936;" ID="Arrow_ID_192358692" SOURCE="ID_329149746" STARTARROW="None" STARTINCLINATION="670;0;"/>
<icon BUILTIN="button_ok"/>
@ -1820,15 +1820,15 @@
<icon BUILTIN="full-3"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534119968325" ID="ID_1630503080" MODIFIED="1534119972876" TEXT="Einrichtung">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534336479160" ID="ID_203145360" MODIFIED="1534508403856" TEXT="Link zum Widget herstellen">
<node COLOR="#338800" CREATED="1534336479160" ID="ID_203145360" MODIFIED="1534527345585" TEXT="Link zum Widget herstellen">
<arrowlink COLOR="#a66b86" DESTINATION="ID_1326202399" ENDARROW="Default" ENDINCLINATION="279;-1333;" ID="Arrow_ID_664593340" STARTARROW="None" STARTINCLINATION="-1296;0;"/>
<icon BUILTIN="pencil"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1534334830126" ID="ID_932140820" MODIFIED="1534508409365" TEXT="als Funktor konfiguriert">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534334822288" ID="ID_1305015272" MODIFIED="1534451691196" TEXT="Allozieren">
<node COLOR="#338800" CREATED="1534334822288" ID="ID_1305015272" MODIFIED="1534527003796" TEXT="Allozieren">
<arrowlink COLOR="#726b86" DESTINATION="ID_1806645586" ENDARROW="Default" ENDINCLINATION="232;27;" ID="Arrow_ID_246715972" STARTARROW="None" STARTINCLINATION="180;-21;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
</node>
</node>
<node COLOR="#338800" CREATED="1533689120536" ID="ID_1806645586" MODIFIED="1534525243617" TEXT="View belegen">
@ -1943,8 +1943,8 @@
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534334029619" ID="ID_1981930639" MODIFIED="1534508668953" TEXT="ErrorLogView vorl&#xe4;ufig...">
<arrowlink COLOR="#628195" DESTINATION="ID_1745777873" ENDARROW="Default" ENDINCLINATION="231;350;" ID="Arrow_ID_1743659141" STARTARROW="None" STARTINCLINATION="397;197;"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534334029619" ID="ID_1981930639" MODIFIED="1534527104730" TEXT="ErrorLogView vorl&#xe4;ufig...">
<arrowlink COLOR="#628195" DESTINATION="ID_1745777873" ENDARROW="Default" ENDINCLINATION="245;349;" ID="Arrow_ID_1743659141" STARTARROW="None" STARTINCLINATION="397;197;"/>
<icon BUILTIN="flag-yellow"/>
</node>
</node>
@ -14536,9 +14536,9 @@
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534515750767" ID="ID_1614049284" MODIFIED="1534520027505" TEXT="Panel-Lookup/Allocation">
<node COLOR="#338800" CREATED="1534515750767" FOLDED="true" ID="ID_1614049284" MODIFIED="1534527036807" TEXT="Panel-Lookup/Allocation">
<linktarget COLOR="#aab7cb" DESTINATION="ID_1614049284" ENDARROW="Default" ENDINCLINATION="772;-6907;" ID="Arrow_ID_139428133" SOURCE="ID_1131466377" STARTARROW="None" STARTINCLINATION="676;1738;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1534520212473" ID="ID_172585735" MODIFIED="1534526235983" TEXT="durch alle WorkspaceWindows iterieren">
<icon BUILTIN="button_ok"/>
</node>
@ -14547,7 +14547,7 @@
</node>
<node COLOR="#338800" CREATED="1534520258251" ID="ID_634139165" MODIFIED="1534526246434" TEXT="wenn nicht gefunden, dann erzeugen">
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1534520271354" ID="ID_1722998809" MODIFIED="1534522392135" TEXT="PanelManager: reine Anfrage">
<node COLOR="#338800" CREATED="1534520271354" ID="ID_1722998809" MODIFIED="1534526944653" TEXT="PanelManager: reine Anfrage">
<richcontent TYPE="NOTE"><html>
<head>
@ -14559,7 +14559,7 @@
</body>
</html>
</richcontent>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1534520304493" ID="ID_1795676672" MODIFIED="1534522378245" TEXT="wo erzeugen?">
<icon BUILTIN="help"/>