identify items which force GtkLumiera to be a singleton

- WindowList (ex WindowManager)
- Project & Controller

the latter ones are defunct and can be replicated down into each
of the old timeline pannel instances. They just serve the purpose
to keep this old code barely functional, so it can be used as reference
for building the new timeline
This commit is contained in:
Fischlurch 2017-01-27 22:17:58 +01:00
parent 86d6e11505
commit d49983d4cb
4 changed files with 132 additions and 12 deletions

View file

@ -53,6 +53,8 @@ namespace panel {
TimelinePanelObsolete::TimelinePanelObsolete (workspace::PanelManager& panelManager,
Gdl::DockItem& dockItem)
: Panel(panelManager, dockItem, getTitle(), getStockID())
, obsoleteProject_{}
, obsoleteController_{obsoleteProject_}
, timeCode("sequence_clock", "timecode_widget", true)
, previousButton(Stock::MEDIA_PREVIOUS)
, rewindButton(Stock::MEDIA_REWIND)

View file

@ -33,6 +33,8 @@
#include "gui/widget/timecode-widget.hpp"
#include "gui/widget/timeline-widget.hpp"
#include "gui/widget/timeline/timeline-zoom-scale.hpp"
#include "gui/model/project.hpp"
#include "gui/ui-bus.hpp" ////////////TODO for the obsolete Controller
#include "lib/time/timevalue.hpp"
#include "lib/util-coll.hpp"
@ -51,6 +53,8 @@ namespace model{
using std::shared_ptr;
using std::weak_ptr;
using lib::time::Time;
using model::Project;
using controller::Controller;
@ -144,6 +148,11 @@ namespace model{
//----- Data -----//
// the obsolete and defunct UI model
Project obsoleteProject_;
Controller obsoleteController_; /////////////////////////////////////////TICKET #1048 GtkLumiera must not be a singleton
// Grip Widgets
ButtonBar toolbar;

View file

@ -272,7 +272,7 @@ namespace workspace {
void
Actions::onMenu_file_render()
{
dialog::Render dialog(workspaceWindow_);
dialog::Render dialog(workspaceWindow_); ////////////////////////////////////TICKET #1069 how to refer to the _current window_
dialog.run();
}
@ -291,7 +291,7 @@ namespace workspace {
void
Actions::onMenu_edit_preferences()
{
dialog::PreferencesDialog dialog(workspaceWindow_);
dialog::PreferencesDialog dialog(workspaceWindow_); ////////////////////////////////TICKET #1069 how to refer to the _current window_
dialog.run();
}
@ -331,7 +331,7 @@ namespace workspace {
void
Actions::onMenu_sequence_add()
{
dialog::NameChooser dialog(workspaceWindow_,
dialog::NameChooser dialog(workspaceWindow_, ////////////////////////////////////TICKET #1069 how to refer to the _current window_
_("Add Sequence"), _("New Sequence"));
if(dialog.run() == RESPONSE_OK)
workspaceWindow_.getProject().add_new_sequence(dialog.getName());
@ -369,7 +369,7 @@ namespace workspace {
void
Actions::onMenu_show_panel(int panel_index)
{
workspaceWindow_.getPanelManager().showPanel(panel_index);
workspaceWindow_.getPanelManager().showPanel(panel_index); /////////////////////////TICKET #1069 how to refer to the _current window_
}

View file

@ -1636,8 +1636,18 @@
<icon BUILTIN="bell"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1485126400233" ID="ID_885004423" MODIFIED="1485126409402" TEXT="unsauberes Design">
<icon BUILTIN="flag-yellow"/>
<node CREATED="1485126410424" ID="ID_1158773288" MODIFIED="1485126414947" TEXT="wir haben mehrere Fenster"/>
<node CREATED="1485126418431" ID="ID_1145950660" MODIFIED="1485126426673" TEXT="GtkLumiera sollte kein Singleton sein"/>
<node CREATED="1485126410424" ID="ID_1158773288" MODIFIED="1485549693700" TEXT="wir haben mehrere Fenster">
<icon BUILTIN="idea"/>
</node>
<node CREATED="1485126418431" ID="ID_1145950660" MODIFIED="1485550989113" TEXT="GtkLumiera sollte kein Singleton sein">
<arrowlink COLOR="#80b3ef" DESTINATION="ID_164246989" ENDARROW="Default" ENDINCLINATION="-42;-74;" ID="Arrow_ID_401425747" STARTARROW="None" STARTINCLINATION="348;19;"/>
</node>
<node CREATED="1485549610040" ID="ID_699947133" MODIFIED="1485549690035" TEXT="Aktionen f&#xfc;r jedes top-level Window repliziert">
<icon BUILTIN="pencil"/>
<node CREATED="1485549646739" ID="ID_1714638860" MODIFIED="1485549664604" TEXT="Abh&#xe4;ngigkeit vom Fenster identifizieren"/>
<node CREATED="1485549666424" ID="ID_1909892697" MODIFIED="1485549672163" TEXT="generisch machen"/>
<node CREATED="1485549672943" ID="ID_1716269299" MODIFIED="1485549679298" TEXT="Aktionen in UiManager verschieben"/>
</node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1485126429445" ID="ID_832156304" MODIFIED="1485126432879" TEXT="aufr&#xe4;umen">
<icon BUILTIN="flag-pink"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1485126506699" ID="ID_1776936645" MODIFIED="1485126569343" TEXT="#1067 rearrange GUI Application top-level">
@ -1650,6 +1660,30 @@
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1485126609878" ID="ID_815018040" MODIFIED="1485126614405" TEXT="#1064 investigate WindowManager lifecycle">
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1485550950793" ID="ID_50100583" MODIFIED="1485550964368" TEXT="#1048 rectify UI Lifecycle">
<icon BUILTIN="flag-yellow"/>
<node CREATED="1485550968230" ID="ID_164246989" MODIFIED="1485550989113" TEXT="GtkLumiera darf kein Singleton mehr sein">
<linktarget COLOR="#80b3ef" DESTINATION="ID_164246989" ENDARROW="Default" ENDINCLINATION="-42;-74;" ID="Arrow_ID_401425747" SOURCE="ID_1145950660" STARTARROW="None" STARTINCLINATION="348;19;"/>
</node>
<node CREATED="1485550992299" ID="ID_1685125156" MODIFIED="1485550997398" TEXT="es blocken">
<node CREATED="1485550999762" ID="ID_249139218" MODIFIED="1485551006493" TEXT="WindowList"/>
<node CREATED="1485551007297" ID="ID_1398242341" MODIFIED="1485551011676" TEXT="Project &amp; Controller"/>
</node>
</node>
<node CREATED="1485551018975" ID="ID_1865473127" MODIFIED="1485551025682" TEXT="obsoletes Project &amp; Controller">
<node CREATED="1485551030086" ID="ID_1052165402" MODIFIED="1485551034969" TEXT="in GtkLumiera definiert"/>
<node CREATED="1485551035413" ID="ID_1861899005" MODIFIED="1485551056342" TEXT="tats&#xe4;chlich im Panel (Basisklasse) gespeichert"/>
<node CREATED="1485551056834" ID="ID_538186909" MODIFIED="1485551066884" TEXT="tats&#xe4;chlich nur im alten TimelinePannel gebraucht"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1485551067353" ID="ID_1684200224" MODIFIED="1485551114389" TEXT="&#xdc;bergangsl&#xf6;sung">
<icon BUILTIN="pencil"/>
<node CREATED="1485551080687" ID="ID_405147511" MODIFIED="1485551083866" TEXT="als Felder dort"/>
<node CREATED="1485551085454" ID="ID_472031977" MODIFIED="1485551095662" TEXT="ist ohnehin defunkt">
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="idea"/>
</node>
<node CREATED="1485551096445" ID="ID_258972556" MODIFIED="1485551103416" TEXT="dann Parameter entfernen"/>
</node>
</node>
<node COLOR="#ae1856" CREATED="1485126686643" ID="ID_405470138" MODIFIED="1485126732565" TEXT="sauberer Shutdown">
<arrowlink COLOR="#872666" DESTINATION="ID_286857196" ENDARROW="Default" ENDINCLINATION="272;63;" ID="Arrow_ID_1606936924" STARTARROW="Default" STARTINCLINATION="1461;0;"/>
</node>
@ -1668,8 +1702,9 @@
<node CREATED="1485463525736" ID="ID_1608786246" MODIFIED="1485463536587" TEXT="h&#xe4;lt alle zentralen Komponenten"/>
<node CREATED="1485463537111" ID="ID_929585985" MODIFIED="1485463543226" TEXT="wird nie selber direkt angesprochen"/>
</node>
<node CREATED="1485126457025" ID="ID_1698853761" MODIFIED="1485463647942" TEXT="workspace::UiManger">
<node CREATED="1485126457025" ID="ID_1698853761" MODIFIED="1485549731115" TEXT="workspace::UiManger">
<linktarget COLOR="#667b93" DESTINATION="ID_1698853761" ENDARROW="Default" ENDINCLINATION="19;-86;" ID="Arrow_ID_1952755524" SOURCE="ID_40172420" STARTARROW="None" STARTINCLINATION="-290;0;"/>
<icon BUILTIN="pencil"/>
<node CREATED="1485454242368" ID="ID_482639947" MODIFIED="1485454312303" TEXT="Hub f&#xfc;r Framework">
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="info"/>
@ -1688,6 +1723,34 @@
<node CREATED="1485457108425" ID="ID_152284167" MODIFIED="1485457124586" TEXT="man erzeugt Gio::SimpleActionGroup"/>
<node CREATED="1485457141853" ID="ID_1841602685" MODIFIED="1485457147592" TEXT="man f&#xfc;gt diese dem Fenster hinzu"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1485549716225" ID="ID_1584608575" MODIFIED="1485549726513" TEXT="passende Repr&#xe4;sentation hierf&#xfc;r finden">
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1485549049388" ID="ID_530209145" MODIFIED="1485549070887" TEXT="Problem: Aktionen binden">
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1485549075929" ID="ID_1887127861" MODIFIED="1485549081236" TEXT="spezifische Aktionen">
<node CREATED="1485549803366" ID="ID_1969698948" MODIFIED="1485549809977" TEXT="Fenster-Bindung">
<node CREATED="1485549810780" ID="ID_71301392" MODIFIED="1485549822342" TEXT="Pop-Ups brauchen ein Vater-Fenster"/>
<node CREATED="1485549828450" ID="ID_1089795419" MODIFIED="1485549841655">
<richcontent TYPE="NODE"><html>
<head>
</head>
<body>
<p>
eigentlich wollen wir <i>&quot;das aktuelle&quot;</i>
</p>
</body>
</html>
</richcontent>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1485549081728" ID="ID_1122969153" MODIFIED="1485549214471" TEXT="globale Aktionen">
<arrowlink COLOR="#824f68" DESTINATION="ID_826011549" ENDARROW="Default" ENDINCLINATION="-678;-1180;" ID="Arrow_ID_1373278707" STARTARROW="Default" STARTINCLINATION="670;252;"/>
<icon BUILTIN="flag-yellow"/>
</node>
</node>
<node CREATED="1485454243767" ID="ID_3699127" MODIFIED="1485454247467" TEXT="konsistentes UI">
<node CREATED="1485454248335" ID="ID_623536019" MODIFIED="1485454252273" TEXT="globales Men&#xfc;"/>
<node CREATED="1485454259637" ID="ID_432211008" MODIFIED="1485454262840" TEXT="globale Toolbar"/>
@ -1695,7 +1758,7 @@
<node CREATED="1485454263876" ID="ID_543704434" MODIFIED="1485454270615" TEXT="globale Keybindings"/>
</node>
</node>
<node CREATED="1485126466520" ID="ID_717310004" MODIFIED="1485546455540" TEXT="WindowManager">
<node CREATED="1485126466520" FOLDED="true" ID="ID_717310004" MODIFIED="1485548666258" TEXT="WindowManager">
<icon BUILTIN="button_cancel"/>
<node CREATED="1485457325724" ID="ID_1954589768" MODIFIED="1485457325724" TEXT="nur f&#xfc;r die Hauptfenster zust&#xe4;ndig"/>
<node CREATED="1485457328043" ID="ID_1787642462" MODIFIED="1485457367904" TEXT="wir haben kein ApplicationWindow">
@ -1731,15 +1794,25 @@
<icon BUILTIN="idea"/>
<node CREATED="1485546325993" ID="ID_1335197005" MODIFIED="1485546333460" TEXT="n&#xe4;mlich eine Liste der Fenster verwalten"/>
</node>
<node CREATED="1485546344471" ID="ID_582242471" MODIFIED="1485546422834" TEXT="WindowList">
<arrowlink DESTINATION="ID_298060478" ENDARROW="Default" ENDINCLINATION="-3;-38;" ID="Arrow_ID_683571287" STARTARROW="None" STARTINCLINATION="-62;0;"/>
<node CREATED="1485546344471" ID="ID_582242471" MODIFIED="1485546463212" TEXT="WindowList">
<arrowlink DESTINATION="ID_298060478" ENDARROW="Default" ENDINCLINATION="25;-40;" ID="Arrow_ID_683571287" STARTARROW="None" STARTINCLINATION="-62;0;"/>
<icon BUILTIN="forward"/>
</node>
</node>
<node CREATED="1485546396952" ID="ID_298060478" MODIFIED="1485546422834" TEXT="WindowList">
<linktarget COLOR="#a9b4c1" DESTINATION="ID_298060478" ENDARROW="Default" ENDINCLINATION="-3;-38;" ID="Arrow_ID_683571287" SOURCE="ID_582242471" STARTARROW="None" STARTINCLINATION="-62;0;"/>
<node CREATED="1485546396952" ID="ID_298060478" MODIFIED="1485546463212" TEXT="WindowList">
<linktarget COLOR="#a9b4c1" DESTINATION="ID_298060478" ENDARROW="Default" ENDINCLINATION="25;-40;" ID="Arrow_ID_683571287" SOURCE="ID_582242471" STARTARROW="None" STARTINCLINATION="-62;0;"/>
<node CREATED="1485546400807" ID="ID_1118405222" MODIFIED="1485546415097" TEXT="macht, was vom gro&#xdf;en Manager &#xfc;brig blieb"/>
<node CREATED="1485546425452" ID="ID_1088557274" MODIFIED="1485546450588" TEXT="wird von GtkLumiera gehalten und verdrahtet"/>
<node CREATED="1485548669665" ID="ID_285796853" MODIFIED="1485548744609" TEXT="Problem: wie erreichbar?">
<icon BUILTIN="pencil"/>
<node CREATED="1485548702476" ID="ID_1295550090" MODIFIED="1485548707407" TEXT="Aufgabe: new_window"/>
<node CREATED="1485548713610" ID="ID_1984416789" MODIFIED="1485548737760" TEXT="wird als Action verdrahtet">
<icon BUILTIN="idea"/>
</node>
<node CREATED="1485548727401" ID="ID_1344937285" MODIFIED="1485548731869" TEXT="was ist die Closure">
<icon BUILTIN="help"/>
</node>
</node>
</node>
<node CREATED="1485126481023" ID="ID_943652445" MODIFIED="1485126488201" TEXT="pro Fenster">
<node CREATED="1485126488981" ID="ID_1346100835" MODIFIED="1485126494129" TEXT="WorkspaceWindow"/>
@ -9541,6 +9614,42 @@
<icon BUILTIN="button_ok"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1485548830035" HGAP="5" ID="ID_1295711115" MODIFIED="1485548844056" TEXT="Nutzen" VSHIFT="17">
<icon BUILTIN="bell"/>
<node CREATED="1485548856639" ID="ID_1677281474" MODIFIED="1485548861522" TEXT="spezifische Aktionen">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1485548894522" ID="ID_826011549" MODIFIED="1485549189191" TEXT="Problem: globale Aktionen">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Beispiel: Aktionen, die im globalen Men&#252; stehen.
</p>
<p>
&quot;Add Sequence&quot;
</p>
<ul>
<li>
wer bildet daraus ein Command?
</li>
<li>
auf welchen Kontext bezieht sich das
</li>
<li>
wen kann die Men&#252;-Registrierung konkret ansprechen (Verdrahtung ist statisch)
</li>
</ul>
</body>
</html>
</richcontent>
<linktarget COLOR="#824f68" DESTINATION="ID_826011549" ENDARROW="Default" ENDINCLINATION="-678;-1180;" ID="Arrow_ID_1373278707" SOURCE="ID_1122969153" STARTARROW="Default" STARTINCLINATION="670;252;"/>
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
<node CREATED="1485548866990" ID="ID_664933854" MODIFIED="1485548877800" TEXT="Commands"/>
<node CREATED="1485548878292" ID="ID_49934573" MODIFIED="1485548882087" TEXT="Broadcast"/>
</node>
</node>
<node CREATED="1453545812389" HGAP="43" ID="ID_202253849" MODIFIED="1483920891840" TEXT="Core-Services" VSHIFT="2">
<richcontent TYPE="NOTE"><html>