[gst-debugger] gst-debugger: move submodules to main module
- From: Marcin Kolny <mkolny src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gst-debugger] gst-debugger: move submodules to main module
- Date: Mon, 31 Aug 2015 14:03:08 +0000 (UTC)
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]