1 /** \file
2 * \brief Document Metadata dialog
3 */
4 /* Authors:
5 * Ralf Stephan <ralf@ark.in-berlin.de>
6 * Bryce W. Harrington <bryce@bryceharrington.org>
7 *
8 * Copyright (C) 2004, 2005, 2006 Authors
9 *
10 * Released under GNU GPL. Read the file 'COPYING' for more information.
11 */
13 #ifndef INKSCAPE_UI_DIALOG_DOCUMENT_METADATA_H
14 #define INKSCAPE_UI_DIALOG_DOCUMENT_METADATA_H
16 #include <list>
17 #include <sigc++/sigc++.h>
18 #include <gtkmm/notebook.h>
19 #include <glibmm/i18n.h>
21 #include "ui/widget/panel.h"
22 #include "ui/widget/licensor.h"
23 #include "ui/widget/notebook-page.h"
24 #include "ui/widget/registry.h"
26 namespace Inkscape {
27 namespace XML {
28 class Node;
29 }
30 namespace UI {
31 namespace Widget {
32 class EntityEntry;
33 }
34 namespace Dialog {
36 typedef std::list<UI::Widget::EntityEntry*> RDElist;
38 class DocumentMetadata : public Inkscape::UI::Widget::Panel {
39 public:
40 void update();
42 static DocumentMetadata &getInstance();
44 static void destroy();
46 protected:
47 void build_metadata();
48 void init();
50 void _handleDocumentReplaced(SPDesktop* desktop, SPDocument *document);
51 void _handleActivateDesktop(Inkscape::Application *application, SPDesktop *desktop);
52 void _handleDeactivateDesktop(Inkscape::Application *application, SPDesktop *desktop);
54 Gtk::Tooltips _tt;
55 Gtk::Notebook _notebook;
57 UI::Widget::NotebookPage _page_metadata1;
58 UI::Widget::NotebookPage _page_metadata2;
60 //---------------------------------------------------------------
61 RDElist _rdflist;
62 UI::Widget::Licensor _licensor;
64 UI::Widget::Registry _wr;
66 private:
67 virtual ~DocumentMetadata();
68 DocumentMetadata();
69 };
71 } // namespace Dialog
72 } // namespace UI
73 } // namespace Inkscape
75 #endif // INKSCAPE_UI_DIALOG_DOCUMENT_METADATA_H
77 /*
78 Local Variables:
79 mode:c++
80 c-file-style:"stroustrup"
81 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
82 indent-tabs-mode:nil
83 fill-column:99
84 End:
85 */
86 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :