Gtk Inheriting TreeView - PullRequest
       57

Gtk Inheriting TreeView

0 голосов
/ 27 декабря 2018

Я только начал работать с gtk (в частности, с gtkmm), и я пытаюсь определить наилучший способ построения моих представлений.

Я использую Glade для сборки foo.glade, которая содержит TreeView звонил myTreeView.

В настоящее время я делаю следующее:

Glib::RefPtr<Gtk::Builder> p_builder;
p_builder = Gtk::Builder::create_from_file("/my/glade/file");

...
// I want to instantiate a new view, called MyView, which is just a treeView. This class contains all the logic related to setting up the view and linking it to some store
std::shared_ptr<MyView> my_view;
Gtk::TreeView* raw_view;
p_builder->get_widget<Gtk::TreeView>("myTreeView", raw_view);
my_view = std::make_shared<MyView>(raw_view);

Это похоже на очень плохую модель.Я хочу разбить свои представления на эти пользовательские классы, но это не самый элегантный способ сделать это.

Есть ли здесь рекомендуемый подход?Что-то вроде

class MyView final : public Gtk::TreeView

Правильно ли я это делаю?

Примечание: мне кажется, это дает мне большую гибкость, так как я могу пройти свой курс и получить помощь RAIIс разрушением.Тем не менее, это кажется некрасивым, поэтому я спрашиваю.

...