Gtk::TreePath RFO::createFile(RFO_Object *parent, const Slicer &stl, std::string location) { RFO_File r; r.stl = stl; r.location = location; parent->files.push_back(r); update_model(); Gtk::TreePath path; path.push_back (0); // root path.push_back (parent->idx); path.push_back (parent->files.size() - 1); return path; }
//------------------------------------------------------------------------------ void QueryOutputView::refresh() { const int mode = _mode.get_active_row_number(); switch (mode) { case 2: // History output { const Glib::RefPtr<Gtk::TreeModel> entry_model = _entries_grid.get_model(); const Gtk::TreeModel::Children children = entry_model->children(); const int size = children.size(); if (size > 0) { const Gtk::TreeIter iter = (--children.end()); const Gtk::TreePath path = entry_model->get_path(iter); _entries_grid.set_cursor(path); } _details_grid.scroll_to(1); } case 0: // Action Output - always need refresh even if it's not visible case 1: //Text output { _action_output.refresh(false); const int log_row_count = _action_output.row_count(); if (log_row_count > 0) { Gtk::TreePath path; path.push_back(log_row_count-1); _action_output.scroll_to_row(path); _action_output.set_cursor(path); } break; } } }
//------------------------------------------------------------------------------ void QueryOutputView::refresh() { const int mode = _mode.get_active_row_number(); switch (mode) { case 2: // History output { _entries_grid.scroll_to(0); // newest entry is always first _details_grid.scroll_to(1); } case 0: // Action Output - always need refresh even if it's not visible case 1: // Text output { _action_output.refresh(false); const int log_row_count = _action_output.row_count(); if (log_row_count > 0) { Gtk::TreePath path; path.push_back(log_row_count - 1); _action_output.scroll_to_row(path); _action_output.set_cursor(path); } break; } } }