Code

From trunk
[inkscape.git] / src / ui / dialog / document-metadata.h
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 :