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 using namespace Inkscape::UI::Widget;
28 namespace Inkscape {
29 namespace XML {
30 class Node;
31 }
32 namespace UI {
33 namespace Widget {
34 class EntityEntry;
35 }
36 namespace Dialog {
38 typedef std::list<EntityEntry*> RDElist;
40 class DocumentMetadata : public Inkscape::UI::Widget::Panel {
41 public:
42 void update();
44 static DocumentMetadata &getInstance();
46 static void destroy();
48 protected:
49 void build_metadata();
50 void init();
52 void _handleDocumentReplaced(SPDesktop* desktop, SPDocument *document);
53 void _handleActivateDesktop(Inkscape::Application *application, SPDesktop *desktop);
54 void _handleDeactivateDesktop(Inkscape::Application *application, SPDesktop *desktop);
56 Gtk::Tooltips _tt;
57 Gtk::Notebook _notebook;
59 NotebookPage _page_metadata1, _page_metadata2;
61 //---------------------------------------------------------------
62 RDElist _rdflist;
63 Licensor _licensor;
65 Registry _wr;
67 private:
68 virtual ~DocumentMetadata();
69 DocumentMetadata();
70 };
72 } // namespace Dialog
73 } // namespace UI
74 } // namespace Inkscape
76 #endif // INKSCAPE_UI_DIALOG_DOCUMENT_METADATA_H
78 /*
79 Local Variables:
80 mode:c++
81 c-file-style:"stroustrup"
82 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
83 indent-tabs-mode:nil
84 fill-column:99
85 End:
86 */
87 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :