Code

70825d193e5f686030e76f86c0a08c016397adbf
[inkscape.git] / src / ui / dialog / extension-editor.h
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 :