mark some code smells (#1026)
This commit is contained in:
parent
5981f35650
commit
c8b6e7a699
4 changed files with 159 additions and 3 deletions
|
|
@ -48,6 +48,7 @@ namespace panel{
|
|||
g_object_set_property (G_OBJECT (dockItem.gobj()), "long-name", val.gobj());
|
||||
|
||||
/* Set the grip handle */
|
||||
///////////////////////////////////////////////////////TICKET #1027 : find out how to do this with gdlmm (C++ binding). No direct usage of GDL !
|
||||
GdlDockItemGrip *grip = GDL_DOCK_ITEM_GRIP(
|
||||
gdl_dock_item_get_grip(dockItem.gobj()));
|
||||
gdl_dock_item_grip_show_handle(grip);
|
||||
|
|
@ -73,6 +74,7 @@ namespace panel{
|
|||
|
||||
#if false /////////////////////////////////////////////////TICKET #937 : disabled for GTK-3 transition. TODO investigate why this logic existed...
|
||||
/* Detach the panel bar */
|
||||
///////////////////////////////////////////////////////TICKET #1027 !!
|
||||
GdlDockItemGrip *grip = GDL_DOCK_ITEM_GRIP(
|
||||
gdl_dock_item_get_grip(dockItem_.gobj()));
|
||||
gtk_container_remove (GTK_CONTAINER(grip),
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ namespace workspace {
|
|||
///////////////////////////////////////////////////////TICKET #172 : observed as a reason for crashes when closing the GUI. It was invoked after end of main, when the GUI as already gone.
|
||||
|
||||
#if false ///////////////////////////////////////////////////TICKET #937 : disabled for GTK-3 transition. TODO investigate why this logic existed...
|
||||
///////////////////////////////////////////////////////TICKET #1027
|
||||
for(int i = 0; i < 4; i++)
|
||||
if(dockPlaceholders_[i])
|
||||
g_object_unref(dockPlaceholders_[i]);
|
||||
|
|
@ -84,6 +85,8 @@ namespace workspace {
|
|||
void
|
||||
PanelManager::setupDock()
|
||||
{
|
||||
///////////////////////////////////////////////////////TICKET #1027 : investigate what would be the proper way to do this with gdlmm (C++ binding). No direct usage of GDL !
|
||||
|
||||
REQUIRE(dockPlaceholders_[0] == NULL && dockPlaceholders_[1] == NULL &&
|
||||
dockPlaceholders_[2] == NULL && dockPlaceholders_[3] == NULL);
|
||||
dockPlaceholders_[0] = GDL_DOCK_PLACEHOLDER(gdl_dock_placeholder_new(
|
||||
|
|
@ -223,6 +226,7 @@ namespace workspace {
|
|||
void
|
||||
PanelManager::createPanels()
|
||||
{
|
||||
///////////////////////////////TICKET #1026 : code smell, use types directly instead
|
||||
panel::Panel* assetsPanel = createPanel_by_name("AssetsPanel");
|
||||
panel::Panel* viewerPanel = createPanel_by_name("ViewerPanel");
|
||||
panel::Panel* timelinePanel = createPanel_by_name("TimelinePanel");
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ namespace workspace {
|
|||
|
||||
/**
|
||||
* A class to manage DockItem objects for WorkspaceWindow.
|
||||
* @todo this code is smelly and needs some clean-up ///////////////////////////////TICKET #1026
|
||||
*/
|
||||
class PanelManager
|
||||
{
|
||||
|
|
@ -91,7 +92,7 @@ namespace workspace {
|
|||
|
||||
/**
|
||||
* Gets a pointer to the dock object.
|
||||
* @remarks Note that this must not be called before setup_dock.
|
||||
* @remarks Note that this must not be called before setup_dock. ///////////////////////////////TICKET #1026 : code smell
|
||||
*/
|
||||
Gdl::Dock& getDock();
|
||||
|
||||
|
|
@ -104,7 +105,7 @@ namespace workspace {
|
|||
/**
|
||||
* Returns a reference to the owner workspace window.
|
||||
*/
|
||||
WorkspaceWindow& getWorkspaceWindow();
|
||||
WorkspaceWindow& getWorkspaceWindow(); ///////////////////////////////TICKET #1026 : code smell, unclear dependency relation
|
||||
|
||||
/**
|
||||
* Shows a panel given a description index.
|
||||
|
|
@ -218,7 +219,7 @@ namespace workspace {
|
|||
{
|
||||
protected:
|
||||
typedef panel::Panel* (*const CreatePanelProc)(PanelManager&, Gdl::DockItem&);
|
||||
|
||||
///////////////////////////////TICKET #1026 : code smell, why not just using inheritance?
|
||||
private:
|
||||
/** reference to the typeID of this class */
|
||||
const std::type_info& classInfo_;
|
||||
|
|
|
|||
|
|
@ -26,6 +26,155 @@
|
|||
</node>
|
||||
<node CREATED="1476376943985" ID="ID_1422206856" MODIFIED="1476376946021" TEXT="Viewer"/>
|
||||
<node CREATED="1476376927660" ID="ID_688318446" MODIFIED="1476376932070" TEXT="Docks"/>
|
||||
<node CREATED="1477342616175" HGAP="37" ID="ID_954058801" MODIFIED="1477342623660" TEXT="Workspace" VSHIFT="33">
|
||||
<node CREATED="1477342624942" ID="ID_56920104" MODIFIED="1477342628449" TEXT="ist-Zustand">
|
||||
<node CREATED="1477342634181" ID="ID_930340610" MODIFIED="1477342640272" TEXT="ein globaler WindowManager">
|
||||
<node CREATED="1477342640932" ID="ID_950379507" MODIFIED="1477342666356" TEXT="hat Liste von WorkspaceWindow-s"/>
|
||||
<node CREATED="1477342694237" ID="ID_1913986184" MODIFIED="1477342711039" TEXT="diese deregistrieren sich beim Schließen"/>
|
||||
<node CREATED="1477342711442" ID="ID_500847959" MODIFIED="1477342721373" TEXT="wenn letztes Fenster zu, dann Main->quit"/>
|
||||
<node CREATED="1477342816853" ID="ID_205499879" MODIFIED="1477342865641" TEXT="steuert Zusand von Menu>Window>CloseWindow">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...nur <i>enabled</i> wenn
|
||||
</p>
|
||||
<p>
|
||||
mehr als ein top-level Fenster offen
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1477342868574" ID="ID_679226593" MODIFIED="1477342875681" TEXT="WorkspaceWindow">
|
||||
<node CREATED="1477342962345" ID="ID_1801410798" MODIFIED="1477342970428" TEXT="verbunden mit">
|
||||
<node CREATED="1477342985710" ID="ID_1944710826" MODIFIED="1477342988103" TEXT="Project"/>
|
||||
<node CREATED="1477342971448" ID="ID_1574175266" MODIFIED="1477342982842" TEXT="Controller"/>
|
||||
</node>
|
||||
<node CREATED="1477343022529" ID="ID_1585028268" MODIFIED="1477343028308" TEXT="owns">
|
||||
<node CREATED="1477343030104" ID="ID_350881879" MODIFIED="1477343237313" TEXT="gtk::UiManager">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
A Gtk::UIManager constructs a user interface (menus and toolbars) from one or more UI definitions,
|
||||
</p>
|
||||
<p>
|
||||
which reference actions from one or more action groups.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1477343041295" ID="ID_1874325062" MODIFIED="1477343048450" TEXT="PanelManager">
|
||||
<node CREATED="1477343244428" ID="ID_513688853" MODIFIED="1477343252255" TEXT="managed die Docks"/>
|
||||
<node CREATED="1477345531413" ID="ID_1082348568" MODIFIED="1477345540367" TEXT="Liste möglicher Panel-Typen"/>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1477345852274" HGAP="30" ID="ID_1401392249" MODIFIED="1477345881876" TEXT="Kritik" VSHIFT="15">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1477345882862" ID="ID_1342647727" MODIFIED="1477345901848" TEXT="arbeitet zu viel mit Pointern ohe RAII"/>
|
||||
<node CREATED="1477345906723" ID="ID_906895860" MODIFIED="1477345934939" TEXT=""poor man's reflection""/>
|
||||
<node CREATED="1477345939063" ID="ID_984848221" MODIFIED="1477346048791">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
realisiert Vererbung <i>zu fuß</i>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...anstatt eine auf den konkreten Typ getemplatete Subklasse zu verwenden,
|
||||
</p>
|
||||
<p>
|
||||
wird eine "CreatePanelProc" in einen PanelDescriptor eingewickelt.
|
||||
</p>
|
||||
<p>
|
||||
Letzten Endes wird dieser dann per Match auf die Typ-ID ausgewählt.
|
||||
</p>
|
||||
<p>
|
||||
AUA!
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1477347390430" HGAP="46" ID="ID_138529757" MODIFIED="1477347400283" TEXT="Panel" VSHIFT="31">
|
||||
<node CREATED="1477347401045" ID="ID_919458304" MODIFIED="1477347404816" TEXT="Timeline">
|
||||
<node CREATED="1477347410884" ID="ID_507837490" MODIFIED="1477347414199" TEXT="im Umbau"/>
|
||||
</node>
|
||||
<node CREATED="1477347405332" ID="ID_1735199230" MODIFIED="1477347406904" TEXT="Asset"/>
|
||||
<node CREATED="1477347407324" ID="ID_1325322495" MODIFIED="1477347409463" TEXT="Viewer">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1477347416659" ID="ID_1220196828" MODIFIED="1477347423723" TEXT="kaputt">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node CREATED="1477347424858" ID="ID_439722309" MODIFIED="1477347445263" TEXT="wird nicht mehr erzeugt">
|
||||
<icon BUILTIN="clanbomber"/>
|
||||
</node>
|
||||
<node CREATED="1477347448199" ID="ID_432416001" MODIFIED="1477347459131" TEXT="Grund: kein Displayer">
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1477343061900" ID="ID_589166101" MODIFIED="1477343063991" TEXT="Statusbar"/>
|
||||
<node CREATED="1477343071827" ID="ID_369966079" MODIFIED="1477343100245" TEXT="Actions">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Helper to build the menu and for registering and handling of user action events
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1477344354329" ID="ID_1683945104" MODIFIED="1477344359708" TEXT="createUi()">
|
||||
<node CREATED="1477344605448" ID="ID_960836253" MODIFIED="1477344608195" TEXT="panelManager_.setupDock();"/>
|
||||
<node CREATED="1477344610087" ID="ID_844257690" MODIFIED="1477344615706" TEXT="baut auf">
|
||||
<node CREATED="1477344616486" ID="ID_466606949" MODIFIED="1477344619001" TEXT="Menübar"/>
|
||||
<node CREATED="1477344619541" ID="ID_1111690482" MODIFIED="1477344658636" TEXT="dockContainer"/>
|
||||
<node CREATED="1477344659440" ID="ID_1310811438" MODIFIED="1477344662236" TEXT="statusBar"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1477343115357" ID="ID_213954404" MODIFIED="1477343118368" TEXT="Kritik">
|
||||
<node CREATED="1477343120660" ID="ID_1940152250" MODIFIED="1477343150595" TEXT="Multiplizität unklar">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
es sieht so aus, als wäre es "das" WorkspaceWindow
|
||||
</p>
|
||||
<p>
|
||||
aber es kann davon mehrere geben
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1477343152288" ID="ID_1267678981" MODIFIED="1477343164378" TEXT="Vermengung von Fenster und Workspace"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1448070434915" HGAP="64" ID="ID_257833497" MODIFIED="1450390417230" VSHIFT="7">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
|
|
|
|||
Loading…
Reference in a new issue