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 gchar const *_prefs_path;
66 Registry _wr;
68 private:
69 virtual ~DocumentMetadata();
70 DocumentMetadata();
71 };
73 } // namespace Dialog
74 } // namespace UI
75 } // namespace Inkscape
77 #endif // INKSCAPE_UI_DIALOG_DOCUMENT_METADATA_H
79 /*
80 Local Variables:
81 mode:c++
82 c-file-style:"stroustrup"
83 c-file-offsets:((innamespace . 0)(inline-open . 0))
84 indent-tabs-mode:nil
85 fill-column:99
86 End:
87 */
88 // vim: filetype=c++:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :