Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-studio / trunk / src / gtkmm / canvasoptions.cpp
index 73c49d7..dfc15ed 100644 (file)
@@ -2,7 +2,7 @@
 /*!    \file canvasoptions.cpp
 **     \brief Template File
 **
-**     $Id: canvasoptions.cpp,v 1.1.1.1 2005/01/07 03:34:35 darco Exp $
+**     $Id$
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 #include <gtkmm/table.h>
 #include <gtkmm/label.h>
 #include <gtkmm/notebook.h>
+#include <gtkmm/alignment.h>
 #include "canvasview.h"
 #include "workarea.h"
 
+#include "general.h"
+
 #endif
 
 /* === U S I N G =========================================================== */
@@ -54,35 +57,62 @@ using namespace studio;
 
 /* === M E T H O D S ======================================================= */
 
-CanvasOptions::CanvasOptions(loose_handle<studio::CanvasView> canvas_view):
+CanvasOptions::CanvasOptions(etl::loose_handle<CanvasView> canvas_view):
        Gtk::Dialog(_("Canvas Options"),*canvas_view,false,true),
        canvas_view_(canvas_view),
-       toggle_grid_snap(_("Grid Snap")),
-       toggle_grid_show(_("Grid Show")),
-       toggle_time_snap(_("Snap-To-Frame"))
+       toggle_grid_snap(_("_Snap to grid"), true),
+       toggle_grid_show(_("S_how grid"), true),
+       toggle_time_snap(_("Snap to _frame"), true)
 {
        vector_grid_size.set_canvas(canvas_view->get_canvas());
-       
+
+       Gtk::Alignment *dialogPadding = manage(new Gtk::Alignment(0, 0, 1, 1));
+       dialogPadding->set_padding(12, 12, 12, 12);
+
        Gtk::Notebook *notebook=manage(new class Gtk::Notebook());
+       dialogPadding->add(*notebook);
 
        toggle_grid_snap.signal_toggled().connect(sigc::mem_fun(*this, &studio::CanvasOptions::on_grid_snap_toggle));
        toggle_grid_show.signal_toggled().connect(sigc::mem_fun(*this, &studio::CanvasOptions::on_grid_show_toggle));
 
-       Gtk::Table *grid_page=manage(new class Gtk::Table(2,2,false));
-       notebook->append_page(*grid_page,_("Grids"));
-       grid_page->attach(vector_grid_size, 0, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);    
-       grid_page->attach(toggle_grid_snap, 0, 1, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);    
-       grid_page->attach(toggle_grid_show, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);    
-       
-       Gtk::Table *time_page=manage(new class Gtk::Table(2,2,false));
-       notebook->append_page(*time_page,_("Time"));
-       time_page->attach(toggle_time_snap, 0, 1, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);    
-       
-       Gtk::Table *unit_page=manage(new class Gtk::Table(2,2,false));
-       notebook->append_page(*unit_page,_("Units"));
-       unit_page->attach(*manage(new Gtk::Label(_("Not yet implemented"))), 0, 1, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);   
-       
-       
+       Gtk::Alignment *gridPadding = manage(new Gtk::Alignment(0, 0, 1, 1));
+       gridPadding->set_padding(12, 12, 12, 12);
+       notebook->append_page(*gridPadding, _("Grid"));
+
+       Gtk::VBox *gridBox = manage(new Gtk::VBox(false, 12));
+       gridPadding->add(*gridBox);
+
+       Gtk::Table *gridTable = manage(new Gtk::Table(3, 2, false));
+       gridTable->set_row_spacings(6);
+       gridTable->set_col_spacings(12);
+       gridBox->pack_start(*gridTable, false, false, 0);
+
+       Gtk::Label *gridSizeLabel = manage(new Gtk::Label(_("_Grid size"), true));
+       gridSizeLabel->set_alignment(0, 0.5);
+       gridSizeLabel->set_mnemonic_widget(vector_grid_size);
+
+       toggle_grid_show.set_alignment(0, 0.5);
+       toggle_grid_snap.set_alignment(0, 0.5);
+
+       gridTable->attach(*gridSizeLabel, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
+       gridTable->attach(vector_grid_size, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
+       gridTable->attach(toggle_grid_show, 0, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
+       gridTable->attach(toggle_grid_snap, 0, 2, 2, 3, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
+
+       Gtk::Alignment *timePadding = manage(new Gtk::Alignment(0, 0, 1, 1));
+       timePadding->set_padding(12, 12, 12, 12);
+       notebook->append_page(*timePadding, _("Time"));
+
+       Gtk::VBox *timeBox = manage(new Gtk::VBox(false, 12));
+       timePadding->add(*timeBox);
+
+       timeBox->pack_start(toggle_time_snap, false, false, 0);
+
+       Gtk::Alignment *unitPadding = manage(new Gtk::Alignment(0, 0, 1, 1));
+       unitPadding->set_padding(12, 12, 12, 12);
+       notebook->append_page(*unitPadding, _("Units"));
+       unitPadding->add(*manage(new Gtk::Label(_("Not yet implemented!"))));
+
        Gtk::Button *ok_button(manage(new class Gtk::Button(Gtk::StockID("gtk-ok"))));
        ok_button->show();
        add_action_widget(*ok_button,2);
@@ -99,15 +129,15 @@ CanvasOptions::CanvasOptions(loose_handle<studio::CanvasView> canvas_view):
        cancel_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::CanvasOptions::on_cancel_pressed));
 
        //set_default_response(1);
-       
-       
-       get_vbox()->pack_start(*notebook);
-       notebook->show_all();
-       
+
+
+       get_vbox()->pack_start(*dialogPadding);
+       get_vbox()->show_all();
+
        signal_show().connect(sigc::mem_fun(*this, &studio::CanvasOptions::refresh));
 
        vector_grid_size.set_digits(5);
-       
+
        update_title();
 }
 
@@ -128,14 +158,14 @@ CanvasOptions::refresh()
                toggle_grid_show.set_active(true);
        else
                toggle_grid_show.set_active(false);
-               
+
        if(canvas_view_->work_area->get_grid_snap())
                toggle_grid_snap.set_active(true);
        else
                toggle_grid_snap.set_active(false);
-       
+
        vector_grid_size.set_value(canvas_view_->work_area->get_grid_size());
-       
+
        tooltips.set_tip(toggle_time_snap,_("Not yet implemented"));
        toggle_time_snap.set_sensitive(false);
 
@@ -155,11 +185,13 @@ CanvasOptions::on_grid_show_toggle()
 void
 CanvasOptions::on_apply_pressed()
 {
+       canvas_view_->set_grid_snap_toggle(toggle_grid_snap.get_active());
        if(toggle_grid_snap.get_active())
                canvas_view_->work_area->enable_grid_snap();
        else
                canvas_view_->work_area->disable_grid_snap();
-               
+
+       canvas_view_->set_grid_show_toggle(toggle_grid_show.get_active());
        if(toggle_grid_show.get_active())
                canvas_view_->work_area->enable_grid();
        else