70825d193e5f686030e76f86c0a08c016397adbf
1 /**
2 * \brief Extension editor
3 *
4 * Authors:
5 * Bryce W. Harrington <bryce@bryceharrington.org>
6 * Ted Gould <ted@gould.cx>
7 *
8 * Copyright (C) 2004-2006 Authors
9 *
10 * Released under GNU GPL. Read the file 'COPYING' for more information.
11 */
13 #ifndef INKSCAPE_UI_DIALOG_EXTENSION_EDITOR_H
14 #define INKSCAPE_UI_DIALOG_EXTENSION_EDITOR_H
16 #include "dialog.h"
18 #include <glibmm/i18n.h>
20 #include <gtkmm/treestore.h>
21 #include <gtkmm/treeview.h>
22 #include <gtkmm/label.h>
23 #include <gtkmm/frame.h>
26 namespace Inkscape {
27 namespace UI {
28 namespace Dialog {
30 class ExtensionEditor : public Dialog {
31 public:
32 ExtensionEditor();
33 virtual ~ExtensionEditor();
35 static ExtensionEditor *create() { return new ExtensionEditor(); }
37 static void show_help (gchar const * extension_id);
39 protected:
40 Gtk::Frame _page_frame;
41 Gtk::Label _page_title;
42 Gtk::TreeView _page_list;
43 Glib::RefPtr<Gtk::TreeStore> _page_list_model;
45 //Pagelist model columns:
46 class PageListModelColumns : public Gtk::TreeModel::ColumnRecord {
47 public:
48 PageListModelColumns() {
49 Gtk::TreeModelColumnRecord::add(_col_name);
50 Gtk::TreeModelColumnRecord::add(_col_page);
51 Gtk::TreeModelColumnRecord::add(_col_id);
52 }
53 Gtk::TreeModelColumn<Glib::ustring> _col_name;
54 Gtk::TreeModelColumn<gchar const *> _col_id;
55 Gtk::TreeModelColumn<Gtk::Widget *> _col_page;
56 };
57 PageListModelColumns _page_list_columns;
59 Gtk::TreeModel::Path _path_tools;
60 Gtk::TreeModel::Path _path_shapes;
62 private:
63 ExtensionEditor(ExtensionEditor const &d);
64 ExtensionEditor& operator=(ExtensionEditor const &d);
66 void on_pagelist_selection_changed();
67 };
69 } // namespace Dialog
70 } // namespace UI
71 } // namespace Inkscape
73 #endif // INKSCAPE_UI_DIALOG_EXTENSION_EDITOR_H
75 /*
76 Local Variables:
77 mode:c++
78 c-file-style:"stroustrup"
79 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
80 indent-tabs-mode:nil
81 fill-column:99
82 End:
83 */
84 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :