#include <gtkmm/table.h>
#include <gtkmm/label.h>
#include <gtkmm/notebook.h>
+#include <gtkmm/alignment.h>
#include "canvasview.h"
#include "workarea.h"
CanvasOptions::CanvasOptions(loose_handle<studio::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);
//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));