X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fcanvasview.h;h=448f99005a2ca912e382e62317e85d0275344874;hb=9738366966c905c2b0b4ffa77ece7a3d317e32cd;hp=87cd13c7e683610324840498c0f9f1a31f1ab7cd;hpb=2b7d889d90a36d42165dc5e322b058317d3673de;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h b/synfig-studio/trunk/src/gtkmm/canvasview.h index 87cd13c..448f990 100644 --- a/synfig-studio/trunk/src/gtkmm/canvasview.h +++ b/synfig-studio/trunk/src/gtkmm/canvasview.h @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007, 2008 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -97,6 +98,10 @@ /* === C L A S S E S & S T R U C T S ======================================= */ +namespace synfig { + class TransformStack; +} + namespace studio { class CanvasViewUIInterface; @@ -120,7 +125,6 @@ class Widget_Time; class Dialog_SoundSelect; class Dialog_Preview; -class synfig::TransformStack; class Dock_Layers; class Dock_Children; class Dock_Keyframes; @@ -154,7 +158,7 @@ public: typedef ChildrenTreeStore::Model ChildrenTreeModel; //! Create an instance of this class whenever doing a longer task. - /*! Make sure that you check the bool value of this class occasionaly + /*! Make sure that you check the bool value of this class occasionally ** to make sure the action has not been canceled. */ class IsWorking { @@ -184,31 +188,31 @@ private: synfig::Rect bbox; - DEBUGPOINT_CLASS(1); + // DEBUGPOINT_CLASS(1); //! State Machine Smach smach_; - DEBUGPOINT_CLASS(2); + // DEBUGPOINT_CLASS(2); etl::loose_handle instance_; etl::handle canvas_interface_; - DEBUGPOINT_CLASS(3); + // DEBUGPOINT_CLASS(3); //! Sound and information to play it etl::handle audio; studio::Widget_Sound *disp_audio; //should this be put into thing too? - SigC::Connection playcon; - SigC::Connection stopcon; + sigc::connection playcon; + sigc::connection stopcon; std::auto_ptr universal_scrubber; - //! Tooltip controler + //! Tooltip controller Gtk::Tooltips tooltips; - DEBUGPOINT_CLASS(4); + // DEBUGPOINT_CLASS(4); //! TreeModel for the layers LayerTreeModel layer_tree_model; @@ -222,13 +226,12 @@ private: //Glib::RefPtr keyframe_tree_store_; - DEBUGPOINT_CLASS(5); + // DEBUGPOINT_CLASS(5); //std::map > tree_model_book_; std::map > ref_obj_book_; std::map ext_widget_book_; - //! The time adjustment's scope is defined by the time_window adjustment Gtk::Adjustment time_adjustment_; @@ -236,7 +239,6 @@ private: //Gtk::Adjustment time_window_adjustment_; studio::Adjust_Window time_window_adjustment_; - LayerTree *layer_tree; ChildrenTree *children_tree; @@ -264,8 +266,6 @@ private: std::list duck_changed_connections; - - Gtk::Button *animatebutton; Gtk::Button *keyframebutton; @@ -307,7 +307,6 @@ private: */ Gtk::Menu parammenu; - Glib::RefPtr duck_mask_position; Glib::RefPtr duck_mask_vertex; Glib::RefPtr duck_mask_tangent; @@ -316,10 +315,10 @@ private: Glib::RefPtr duck_mask_angle; Gtk::RadioButtonGroup quality_group; + Gtk::RadioButtonGroup low_res_pixel_size_group; Glib::RefPtr action_group; - etl::handle ui_interface_; etl::handle selection_manager_; @@ -348,7 +347,6 @@ public: bool cancel; - /* -- ** -- D I A L O G S ------------------------------------------------------- */ @@ -375,13 +373,13 @@ private: CanvasView(etl::loose_handle instance,etl::handle canvas_interface); //! Constructor Helper - Gtk::Widget* create_layer_tree(); + // Gtk::Widget* create_layer_tree(); //! Constructor Helper - Gtk::Widget* create_children_tree(); + // Gtk::Widget* create_children_tree(); //! Constructor Helper - Gtk::Widget* create_keyframe_tree(); + // Gtk::Widget* create_keyframe_tree(); //! Constructor Helper Gtk::Widget* create_status_bar(); @@ -403,20 +401,15 @@ private: Gtk::Widget *create_time_bar(); - - void popup_param_menu_bezier(float location, synfigapp::ValueDesc value_desc) { popup_param_menu(value_desc,location); } void popup_param_menu(synfigapp::ValueDesc value_desc, float location=0); - void workarea_layer_selected(synfig::Layer::Handle layer); void selected_layer_color_set(synfig::Color color); - - void register_layer_type(synfig::Layer::Book::value_type &lyr,std::map*); //! Rebuilds the "new layer" menu @@ -424,6 +417,9 @@ private: void rebuild_ducks_layer_(synfig::TransformStack& transform_stack, synfig::Canvas::Handle canvas, std::set& selected_list); + void decrease_low_res_pixel_size(); + void increase_low_res_pixel_size(); + /* -- ** -- P U B L I C M E T H O D S ----------------------------------------- */ @@ -504,8 +500,11 @@ public: //! Updates the title of the window void update_title(); + //! Closes this document + bool close_instance(); + //! Closes this canvas view - bool close(); + bool close_view(); //! Stops the currently executing action /*! \see get_cancel_status(), reset_cancel_status(), IsWorking */ @@ -583,7 +582,7 @@ public: void image_import(); - void on_waypoint_clicked(synfigapp::ValueDesc,synfig::Waypoint, int button); + void on_waypoint_clicked_canvasview(synfigapp::ValueDesc,std::set >, int button); void preview_option() {on_preview_option();} @@ -664,19 +663,19 @@ private: void on_audio_offset_notify(); bool on_duck_changed(const synfig::Point &value,const synfigapp::ValueDesc& value_desc); + bool on_duck_angle_changed(const synfig::Angle &rotation,const synfigapp::ValueDesc& value_desc); void on_layer_toggle(synfig::Layer::Handle); void on_edited_value(synfigapp::ValueDesc,synfig::ValueBase); - //void on_waypoint_clicked(synfigapp::ValueDesc,synfig::ValueNode_Animated::WaypointList::iterator, int button); - void on_drop_drag_data_received(const Glib::RefPtr& context, int x, int y, const Gtk::SelectionData& selection_data, guint info, guint time); //void on_audio_play(); bool on_audio_scrub(); protected: + bool close_instance_when_safe(); bool on_delete_event(GdkEventAny* event); /* @@ -686,6 +685,8 @@ protected: public: static etl::handle create(etl::loose_handle instance,etl::handle canvas); + static std::list& get_pixel_sizes(); + }; // END of class CanvasView }; // END of namespace studio