X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fapp.h;h=89cd528229c5e4f58fe3d773342902089a68e30b;hb=f869a457651ca7b7e1bbd8cbe57b92b79ca253a4;hp=0359794e1a75de44337a86210e25e00ba2d91b0e;hpb=02252941b29de64037116f4d37991a38d9ff0d94;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/app.h b/synfig-studio/trunk/src/gtkmm/app.h index 0359794..89cd528 100644 --- a/synfig-studio/trunk/src/gtkmm/app.h +++ b/synfig-studio/trunk/src/gtkmm/app.h @@ -2,19 +2,22 @@ /*! \file app.h ** \brief writeme ** -** $Id: app.h,v 1.2 2005/01/13 21:11:16 darco Exp $ +** $Id$ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007, 2008 Chris Moore +** Copyright (c) 2008 Carlos López ** -** This software and associated documentation -** are CONFIDENTIAL and PROPRIETARY property of -** the above-mentioned copyright holder. +** This package is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 2 of +** the License, or (at your option) any later version. ** -** You may not copy, print, publish, or in any -** other way distribute this software without -** a prior written agreement with -** the copyright holder. +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. ** \endlegal */ /* ========================================================================= */ @@ -26,7 +29,6 @@ /* === H E A D E R S ======================================================= */ -#include #include #include @@ -42,10 +44,16 @@ #include #include -#include "iconcontroler.h" +#include "iconcontroller.h" /* === M A C R O S ========================================================= */ +#define MISC_DIR_PREFERENCE "misc_dir" +#define ANIMATION_DIR_PREFERENCE "animation_dir" +#define IMAGE_DIR_PREFERENCE "image_dir" +#define SKETCH_DIR_PREFERENCE "sketch_dir" +#define RENDER_DIR_PREFERENCE "render_dir" + /* === T Y P E D E F S ===================================================== */ /* === C L A S S E S & S T R U C T S ======================================= */ @@ -64,11 +72,12 @@ namespace synfigapp }; class Preferences; - + namespace studio { typedef Gtk::UIManager UIManager; +class About; class Toolbox; class Instance; class CanvasView; @@ -93,17 +102,17 @@ class Dock_Info; class Dock_Navigator; class Dock_LayerGroups; class IPC; - + class Module; class StateManager; -class IconControler; - -class App : public Gtk::Main, private IconControler +class IconController; + +class App : public Gtk::Main, private IconController { friend class Preferences; friend class Dialog_Setup; - + /* -- ** -- P U B L I C T Y P E S --------------------------------------------- */ @@ -148,7 +157,7 @@ private: static etl::handle selected_canvas_view; static Glib::RefPtr ui_manager_; - + // static std::list< etl::handle< Module > > module_list_; /* @@ -174,14 +183,29 @@ public: static synfig::Gamma gamma; + static About *about; static Toolbox *toolbox; static std::list > instance_list; - static bool shutdown_in_progress; + static bool shutdown_in_progress; static bool use_colorspace_gamma; +#ifdef SINGLE_THREADED + static bool single_threaded; +#endif + + static bool restrict_radius_ducks; + static bool resize_imported_images; + + static synfig::String browser_command; + static synfig::String custom_filename_prefix; + static int preferred_x_size; + static int preferred_y_size; + static synfig::String predefined_size; + static synfig::String predefined_fps; + static float preferred_fps; /* -- ** -- S I G N A L S ------------------------------------------------------- */ @@ -236,6 +260,7 @@ public: */ private: + static void add_recent_file(const std::string &filename, const std::string &window_size = std::string()); /* -- ** -- P U B L I C M E T H O D S ----------------------------------------- @@ -256,11 +281,13 @@ public: static Glib::RefPtr& ui_manager() { return ui_manager_; } - static void add_recent_file(const std::string &filename); + static void set_recent_file_window_size(etl::handle instance); + static void add_recent_file(const etl::handle instance); static synfig::String get_base_path(); static void save_settings(); static void load_settings(); + static void reset_initial_window_configuration(); static const std::list& get_recent_files(); @@ -281,17 +308,17 @@ public: static void new_instance(); - static void dialog_open(); + static void dialog_open(std::string filename = ""); static void dialog_about(); - + static void quit(); - + static void show_setup(); static void undo(); static void redo(); - + static int get_max_recent_files(); static void set_max_recent_files(int x); @@ -300,29 +327,35 @@ public: static void set_time_format(synfig::Time::Format x); static bool shutdown_request(GdkEventAny*bleh=NULL); - + // static bool dialog_file(const std::string &title, std::string &filename); - static bool dialog_open_file(const std::string &title, std::string &filename); - static bool dialog_save_file(const std::string &title, std::string &filename); - static bool dialog_saveas_file(const std::string &title, std::string &filename); + static bool dialog_open_file(const std::string &title, std::string &filename, std::string preference); + static bool dialog_save_file(const std::string &title, std::string &filename, std::string preference); static void dialog_error_blocking(const std::string &title, const std::string &message); static void dialog_warning_blocking(const std::string &title, const std::string &message); static bool dialog_entry(const std::string &title, const std::string &message,std::string &text); + static bool dialog_paragraph(const std::string &title, const std::string &message,std::string &text); static bool dialog_yes_no(const std::string &title, const std::string &message); static int dialog_yes_no_cancel(const std::string &title, const std::string &message); - + static void dialog_not_implemented(); + static void dialog_help(); + + static void open_url(const std::string &url); + static synfig::String get_user_app_directory(); static synfig::String get_config_file(const synfig::String& file); }; // END of class App + void delete_widget(Gtk::Widget *widget); + }; // END namespace studio /* === E N D =============================================================== */