[gst-debugger] gst-debugger: move submodules to main module



commit 31fcda735106de12b0f07b905ba658224cb36fd4
Author: Marcin Kolny <marcin kolny gmail com>
Date:   Mon Aug 31 15:53:12 2015 +0200

    gst-debugger: move submodules to main module

 src/gst-debugger/main_window.cpp         |   30 ------------------------------
 src/gst-debugger/main_window.h           |   12 +-----------
 src/gst-debugger/modules/main_module.cpp |   29 +++++++++++++++++++++++++++++
 src/gst-debugger/modules/main_module.h   |    9 +++++++++
 4 files changed, 39 insertions(+), 41 deletions(-)
---
diff --git a/src/gst-debugger/main_window.cpp b/src/gst-debugger/main_window.cpp
index 118d9fe..c810c9f 100644
--- a/src/gst-debugger/main_window.cpp
+++ b/src/gst-debugger/main_window.cpp
@@ -14,9 +14,6 @@
 
 #include "controller/controller.h"
 
-#include "modules/pad_data_modules.h"
-#include "modules/log_module.h"
-
 MainWindow::MainWindow(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder)
 : IMainView(cobject),
   builder(builder),
@@ -70,28 +67,6 @@ MainWindow::MainWindow(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>
                graph_module->free_graph();
                return false;
        });
-
-       load_base_main_modules(builder);
-}
-
-void MainWindow::load_base_main_modules(const Glib::RefPtr<Gtk::Builder>& builder)
-{
-       main_modules["logMessages"].module = std::make_shared<LogModule>();
-       main_modules["queries"].module = std::make_shared<QueryModule>();
-       //main_modules["busMessages"].module = std::make_shared<GstMessageModule>();
-       main_modules["buffers"].module = std::make_shared<BufferModule>();
-       main_modules["events"].module = std::make_shared<EventModule>();
-
-       for (auto m : main_modules)
-       {
-               builder->get_widget(m.first + "ToolButton", m.second.switch_button);
-               m.second.switch_button->signal_toggled().connect([this, m] {
-                       if (m.second.switch_button->get_active())
-                       {
-                               main_module->update_module(m.second.module);
-                       }
-               });
-       }
 }
 
 void MainWindow::set_controller(const std::shared_ptr<Controller> &controller)
@@ -104,11 +79,6 @@ void MainWindow::set_controller(const std::shared_ptr<Controller> &controller)
        graph_module->set_controller(controller);
        properties_module->set_controller(controller);
 
-       for (auto m : main_modules)
-       {
-               m.second.module->set_controller(controller);
-       }
-
        enums_dialog->set_controller(controller);
        enums_dialog->set_transient_for(*this);
 
diff --git a/src/gst-debugger/main_window.h b/src/gst-debugger/main_window.h
index 95aba85..a813a07 100644
--- a/src/gst-debugger/main_window.h
+++ b/src/gst-debugger/main_window.h
@@ -12,8 +12,8 @@
 #include "dialogs/connection_properties_dialog.h"
 #include "dialogs/enums_dialog.h"
 #include "dialogs/factories_dialog.h"
-#include "modules/main_module.h"
 #include "modules/gst_properties_module.h"
+#include "modules/main_module.h"
 #include "pipeline-drawer/graph_module.h"
 
 #include <gtkmm.h>
@@ -25,18 +25,10 @@
 
 class MainWindow : public IMainView
 {
-       struct MainModuleInfo
-       {
-               std::shared_ptr<BaseMainModule> module;
-               Gtk::RadioToolButton *switch_button;
-       };
-
        void connectionPropertiesMenuItem_activate_cb();
        void connectMenuItem_activate_cb();
        void connection_status_changed(bool connected);
 
-       void load_base_main_modules(const Glib::RefPtr<Gtk::Builder>& builder);
-
        Glib::RefPtr<Gtk::Builder> builder;
        Gtk::MenuItem *connection_properties;
        Gtk::MenuItem *remote_enum_types;
@@ -56,8 +48,6 @@ class MainWindow : public IMainView
        std::shared_ptr<GraphModule> graph_module;
        std::shared_ptr<GstPropertiesModule> properties_module;
 
-       std::map<std::string, MainModuleInfo> main_modules;
-
        GstreamerInfo info;
 
 public:
diff --git a/src/gst-debugger/modules/main_module.cpp b/src/gst-debugger/modules/main_module.cpp
index 5fbaea5..23de899 100644
--- a/src/gst-debugger/modules/main_module.cpp
+++ b/src/gst-debugger/modules/main_module.cpp
@@ -7,6 +7,9 @@
 
 #include "main_module.h"
 
+#include "pad_data_modules.h"
+#include "log_module.h"
+
 #include "controller/controller.h"
 #include "controller/element_path_processor.h"
 
@@ -32,6 +35,27 @@ MainModule::MainModule(const Glib::RefPtr<Gtk::Builder> &builder)
 
        create_dispatcher("selected-object", sigc::mem_fun(*this, &MainModule::selected_object_changed), 
nullptr);
 
+       load_submodules(builder);
+}
+
+void MainModule::load_submodules(const Glib::RefPtr<Gtk::Builder>& builder)
+{
+       submodules["logMessages"].module = std::make_shared<LogModule>();
+       submodules["queries"].module = std::make_shared<QueryModule>();
+       //main_modules["busMessages"].module = std::make_shared<GstMessageModule>();
+       submodules["buffers"].module = std::make_shared<BufferModule>();
+       submodules["events"].module = std::make_shared<EventModule>();
+
+       for (auto m : submodules)
+       {
+               builder->get_widget(m.first + "ToolButton", m.second.switch_button);
+               m.second.switch_button->signal_toggled().connect([this, m] {
+                       if (m.second.switch_button->get_active())
+                       {
+                               update_module(m.second.module);
+                       }
+               });
+       }
 }
 
 void MainModule::set_controller(const std::shared_ptr<Controller> &controller)
@@ -39,6 +63,11 @@ void MainModule::set_controller(const std::shared_ptr<Controller> &controller)
        IBaseView::set_controller(controller);
 
        controller->on_selected_object_changed.connect([this]{gui_emit("selected-object");});
+
+       for (auto m : submodules)
+       {
+               m.second.module->set_controller(controller);
+       }
 }
 
 void MainModule::selected_object_changed()
diff --git a/src/gst-debugger/modules/main_module.h b/src/gst-debugger/modules/main_module.h
index 34ed4a3..60f1cdc 100644
--- a/src/gst-debugger/modules/main_module.h
+++ b/src/gst-debugger/modules/main_module.h
@@ -16,6 +16,12 @@
 
 class MainModule : public IBaseView
 {
+       struct MainModuleInfo
+       {
+               std::shared_ptr<BaseMainModule> module;
+               Gtk::RadioToolButton *switch_button;
+       };
+
        Gtk::TreeView *list_tree_view;
        Gtk::TreeView *details_tree_view;
        Gtk::Button *add_hook_button;
@@ -31,7 +37,10 @@ class MainModule : public IBaseView
 
        std::shared_ptr<BaseMainModule> current_module;
 
+       std::map<std::string, MainModuleInfo> submodules;
+
        void selected_object_changed();
+       void load_submodules(const Glib::RefPtr<Gtk::Builder>& builder);
 
        void mainListTreeView_row_activated_cb(const Gtk::TreeModel::Path &path, Gtk::TreeViewColumn *column);
        void mainDetailsTreeView_row_activated_cb(const Gtk::TreeModel::Path &path, Gtk::TreeViewColumn 
*column);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]