Code

From trunk
[inkscape.git] / src / ui / dialog / document-properties.h
index 65fd294179858085f24c8450298569d7ae05d71f..ab70b0d07cc0b225a32b931580fc6342ad7a6b40 100644 (file)
@@ -1,11 +1,11 @@
 /** \file
  * \brief  Document Properties dialog
- *
- * Authors:
+ */
+/* Authors:
  *   Ralf Stephan <ralf@ark.in-berlin.de>
  *   Bryce W. Harrington <bryce@bryceharrington.org>
  *
- * Copyright (C) 2006 Johan Engelen <johan@shouraizou.nl>
+ * Copyright (C) 2006-2008 Johan Engelen <johan@shouraizou.nl>
  * Copyright (C) 2004, 2005 Authors
  *
  * Released under GNU GPL.  Read the file 'COPYING' for more information.
@@ -24,7 +24,7 @@
 #include "ui/widget/registered-widget.h"
 #include "ui/widget/registry.h"
 #include "ui/widget/tolerance-slider.h"
-#include "dialog.h"
+#include "ui/widget/panel.h"
 
 using namespace Inkscape::UI::Widget;
 
@@ -35,12 +35,11 @@ namespace Inkscape {
     namespace UI {
         namespace Dialog {
 
-class DocumentProperties : public Inkscape::UI::Dialog::Dialog {
+class DocumentProperties : public UI::Widget::Panel {
 public:
     void  update();
-    static DocumentProperties *create();
+    static DocumentProperties &getInstance();
     static void destroy();
-    sigc::connection _doc_replaced_connection;
 
     void  update_gridspage();
     
@@ -49,43 +48,50 @@ protected:
     void  build_grid();
     void  build_guides();
     void  build_snap();
+    void  build_snap_dtls();
     void  build_gridspage();
     void  init();
     virtual void  on_response (int);
 
+    void _handleDocumentReplaced(SPDesktop* desktop, SPDocument *document);
+    void _handleActivateDesktop(Inkscape::Application *application, SPDesktop *desktop);
+    void _handleDeactivateDesktop(Inkscape::Application *application, SPDesktop *desktop);
+
     Gtk::Tooltips _tt;
     Gtk::Notebook  _notebook;
 
     NotebookPage   _page_page, _page_guides;
-    NotebookPage   _page_snap;
-    NotebookPage   _page_grids;
+    NotebookPage   _page_snap, _page_snap_dtls;
+    Gtk::VBox      _grids_vbox;
 
+    Registry _wr;
     //---------------------------------------------------------------
     RegisteredCheckButton _rcb_canb, _rcb_bord, _rcb_shad;
     RegisteredColorPicker _rcp_bg, _rcp_bord;
     RegisteredUnitMenu    _rum_deflt;
     PageSizer             _page_sizer;
     //---------------------------------------------------------------
-    RegisteredCheckButton _rcbgrid;
-    RegisteredUnitMenu    _rums;
-    //---------------------------------------------------------------
-    RegisteredCheckButton _rcb_sgui;
-    RegisteredUnitMenu    _rum_gusn;
+    RegisteredCheckButton _rcb_sgui, _rcbsng;
     RegisteredColorPicker _rcp_gui, _rcp_hgui;
     //---------------------------------------------------------------
-    RegisteredCheckButton _rcbsnop, _rcbsnon;
-    RegisteredUnitMenu    _rumso;
+    RegisteredCheckButton _rcbs, _rcbsi, _rcbsnbb, _rcbsnn, _rcbsnop;
+    RegisteredCheckButton _rcbsnon, _rcbsnbbp, _rcbsnbbn, _rcbsnpb;
     ToleranceSlider       _rsu_sno, _rsu_sn, _rsu_gusn;
-    RegisteredRadioButtonPair _rrb_pix;
+    //---------------------------------------------------------------
+    RegisteredCheckButton _rcbic, _rcbsm;
+    RegisteredCheckButton _rcbsigg, _rcbsils;
     //---------------------------------------------------------------
     Gtk::Notebook   _grids_notebook;
+    Gtk::HBox       _grids_hbox_crea;
+    Gtk::Label      _grids_label_crea;
     Gtk::Button     _grids_button_new;
     Gtk::Button     _grids_button_remove;
     Gtk::ComboBoxText _grids_combo_gridtype;
+    Gtk::Label      _grids_label_def;
+    Gtk::HBox       _grids_space;
     //---------------------------------------------------------------
 
-    gchar * _prefs_path;
-    Registry _wr;
+    Gtk::HBox& _createPageTabLabel(const Glib::ustring& label, const char *label_image);
 
 private:
     DocumentProperties();
@@ -106,9 +112,9 @@ private:
   Local Variables:
   mode:c++
   c-file-style:"stroustrup"
-  c-file-offsets:((innamespace . 0)(inline-open . 0))
+  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
   indent-tabs-mode:nil
   fill-column:99
   End:
 */
-// vim: filetype=c++:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :