bool move_only;
public:
- etl::handle<CanvasView> canvas_view_;
+ CanvasView* canvas_view_;
bool scale;
bool rotate;
bool constrain;
class studio::StateNormal_Context : public sigc::trackable
{
- etl::handle<CanvasView> canvas_view_;
+ CanvasView* canvas_view_;
synfigapp::Settings& settings;
bool get_constrain_flag()const { return checkbutton_constrain.get_active(); }
void set_constrain_flag(bool x) { checkbutton_constrain.set_active(x); refresh_constrain_flag(); }
void refresh_constrain_flag() { if(duck_dragger_)duck_dragger_->constrain=get_constrain_flag(); }
+ void refresh_cursor();
StateNormal_Context(CanvasView* canvas_view);
~StateNormal_Context();
- const etl::handle<CanvasView>& get_canvas_view()const{return canvas_view_;}
+ CanvasView* get_canvas_view()const{return canvas_view_;}
etl::handle<synfigapp::CanvasInterface> get_canvas_interface()const{return canvas_view_->canvas_interface();}
synfig::Canvas::Handle get_canvas()const{return canvas_view_->get_canvas();}
WorkArea * get_work_area()const{return canvas_view_->get_work_area();}
{
}
+void StateNormal_Context::refresh_cursor()
+{
+ if(get_rotate_flag() && !get_scale_flag())
+ {
+ get_work_area()->set_cursor(Gdk::EXCHANGE);
+ return;
+ }
+ if(!get_rotate_flag() && get_scale_flag())
+ {
+ get_work_area()->set_cursor(Gdk::SIZING);
+ return;
+ }
+ if(get_rotate_flag() && get_scale_flag())
+ {
+ get_work_area()->set_cursor(Gdk::CROSSHAIR);
+ return;
+ }
+ get_work_area()->set_cursor(Gdk::ARROW);
+
+}
+
void
StateNormal_Context::load_settings()
{
duck_dragger_->canvas_view_=get_canvas_view();
// Set up the tool options dialog
- options_table.attach(*manage(new Gtk::Label(_("Normal Tool"))), 0, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
+ options_table.attach(*manage(new Gtk::Label(_("Transform Tool"))), 0, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
options_table.attach(checkbutton_rotate, 0, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
options_table.attach(checkbutton_scale, 0, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
options_table.attach(checkbutton_constrain, 0, 2, 3, 4, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
default:
break;
}
+ refresh_cursor();
return false; //Pass on the event to other handlers, just in case
}
default:
break;
}
+ refresh_cursor();
return false; //Pass on the event to other handlers
}
{
App::dialog_tool_options->clear();
App::dialog_tool_options->set_widget(options_table);
- App::dialog_tool_options->set_local_name(_("Normal Tool"));
+ App::dialog_tool_options->set_local_name(_("Transform Tool"));
App::dialog_tool_options->set_name("normal");
}