From 08f8d9fb36a155ff1351b00d541be7cd2495a182 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Mon, 27 Mar 2023 10:46:53 +0600 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B2=D0=B5=D1=88=D0=B0=D0=BB=20?= =?UTF-8?q?=D1=81=D0=BE=D0=B1=D1=8B=D1=82=D0=B8=D1=8F=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=20TreeView?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 32 ++++++++++++++++++++++++------- source/ubl-settings-bootloader.h | 7 ++++--- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index 959c740..68b7e32 100644 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -111,9 +111,27 @@ void MainWindow::fill_in_view() { } -void MainWindow::item_selected(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator&) +void MainWindow::item_selected_kernel(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator&) { - const auto iter = list_store_kernel->get_iter(path); + + template_item_selected(path, list_store_kernel); + +} + +void MainWindow::item_selected_OTT(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator&) +{ + template_item_selected(path, list_store_OTT); + +} +void MainWindow::item_selected_IPT(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator&) +{ + template_item_selected(path, list_store_IPT); + +} + +void MainWindow::template_item_selected(const Gtk::TreeModel::Path& path, Glib::RefPtr &list_store) { + + const auto iter = list_store->get_iter(path); if(iter) { const auto row = *iter; Glib::ustring cmd; @@ -132,9 +150,6 @@ void MainWindow::item_selected(const Gtk::TreeModel::Path& path, const Gtk::Tree } } -void MainWindow::item_selected_row_changed(const Gtk::TreeModel::Path &, const Gtk::TreeModel::iterator &) { - cout << "item selected" << endl; -} void MainWindow::read_file_and_view(string file_name ,Gtk::TreeModel::Row &row, Glib::RefPtr list_store_m) { std::array, 5> arr_view = read_csv(path_resources + "/" + file_name); @@ -273,8 +288,11 @@ void MainWindow::event(){ //TreeView_TreeSelection = treeViewKernel->get_selection(); //TreeView_TreeSelection->signal_changed().connect(sigc::mem_fun(treeViewKernel, &MainWindow::item_selected) ); Glib::RefPtr treeViewKernelModel = treeViewKernel->get_model(); - treeViewKernelModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::item_selected)); - + treeViewKernelModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::item_selected_kernel)); + Glib::RefPtr treeViewIPTModel = treeViewIPT->get_model(); + treeViewIPTModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::item_selected_IPT)); + Glib::RefPtr treeViewOTTModel = treeViewOTT->get_model(); + treeViewOTTModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::item_selected_OTT)); } void MainWindow::save_global_local_cfg(){ diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index 4ec5629..f422f84 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -140,9 +140,10 @@ class MainWindow : public Gtk::ApplicationWindow { void info_warning_error(int mess); int check_root(); void fill_in_view(); - void item_selected(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator&); - void item_selected_row_changed(const Gtk::TreeModel::Path &, const Gtk::TreeModel::iterator &); - + void item_selected_kernel(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator&); + void item_selected_OTT(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator&); + void item_selected_IPT(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator&); + void template_item_selected(const Gtk::TreeModel::Path& path, Glib::RefPtr &list_store); }; class SettingsPlug : public Gtk::Plug{