30 :
DialogBase(
"/dialogs/undo-history",
"UndoHistory"),
31 _event_list_selection(_event_list_view.get_selection())
35 set_size_request(-1, -1);
38 _scrolled_window.set_policy(Gtk::PolicyType::NEVER, Gtk::PolicyType::AUTOMATIC);
43 auto const icon_renderer = Gtk::make_managed<Gtk::CellRendererPixbuf>();
44 icon_renderer->property_xpad() = 2;
45 icon_renderer->property_width() = 24;
49 icon_column->add_attribute(icon_renderer->property_icon_name(), columns->icon_name);
51 auto const children_renderer = Gtk::make_managed<CellRendererInt>(
greater_than_1);
52 children_renderer->property_weight() = 600;
53 children_renderer->property_xalign() = 1.0;
54 children_renderer->property_xpad() = 2;
55 children_renderer->property_width() = 24;
59 children_column->add_attribute(children_renderer->property_number(), columns->child_count);
61 auto const description_renderer = Gtk::make_managed<Gtk::CellRendererText>();
62 description_renderer->property_ellipsize() = Pango::EllipsizeMode::END;
64 cols_count =
_event_list_view.append_column(
"Description", *description_renderer);
66 description_column->add_attribute(description_renderer->property_text(), columns->description);
67 description_column->set_resizable();
68 description_column->set_sizing(Gtk::TreeViewColumn::Sizing::AUTOSIZE);
69 description_column->set_min_width (150);
133 auto const curr_event_parent = curr_event->parent();
135 if (curr_event_parent) {
138 auto const last = --curr_event_parent->children().end();
139 for (; curr_event != last ; ++curr_event ) {
157 if ( !selected->children().empty() &&
160 selected = selected->children().end();
171 while ( selected != last_selected ) {
174 if ( last_selected->parent() &&
175 last_selected == last_selected->parent()->children().begin() )
177 last_selected = last_selected->parent();
181 if ( !last_selected->children().empty() ) {
183 last_selected = last_selected->children().end();
195 while (last_selected && selected != last_selected ) {
198 if ( !last_selected->children().empty() ) {
200 last_selected = last_selected->children().begin();
204 if ( last_selected->parent() &&
205 last_selected == last_selected->parent()->children().end() )
207 last_selected = last_selected->parent();
EventLog::CallbackMap _callback_connections
void _onExpandEvent(const Gtk::TreeModel::iterator &iter, const Gtk::TreeModel::Path &path)
Glib::RefPtr< Gtk::TreeModel > _event_list_store
void disconnectEventLog()
Gtk::TreeView _event_list_view
void documentReplaced() override
Glib::RefPtr< Gtk::TreeSelection > _event_list_selection
void _onListSelectionChange()
static const CellRendererInt::Filter & greater_than_1
void _onCollapseEvent(const Gtk::TreeModel::iterator &iter, const Gtk::TreeModel::Path &path)
Gtk::ScrolledWindow _scrolled_window
void pack_start(Gtk::Box &box, Gtk::Widget &child, bool const expand, bool const fill, unsigned const padding)
Adds child to box, packed with reference to the start of box.