Fix bugs in previous commit that caused FTBFS in synfig and ETL FTBFS with older...
[synfig.git] / synfig-studio / tags / stable / src / gtkmm / renddesc.h
index 5c0a4bd..48d0793 100644 (file)
@@ -1,18 +1,22 @@
-/*! ========================================================================
-** Sinfg
-** Template Header File
-** $Id: renddesc.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $
+/* === S Y N F I G ========================================================= */
+/*!    \file gtkmm/renddesc.h
+**     \brief Header File
 **
-** Copyright (c) 2002 Robert B. Quattlebaum Jr.
+**     $Id$
 **
-** This software and associated documentation
-** are CONFIDENTIAL and PROPRIETARY property of
-** the above-mentioned copyright holder.
+**     \legal
+**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **
-** 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 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.
+**
+**     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
 **
 ** === N O T E S ===========================================================
 **
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SINFG_GTKMM_RENDDESC_H
-#define __SINFG_GTKMM_RENDDESC_H
+#ifndef __SYNFIG_GTKMM_RENDDESC_H
+#define __SYNFIG_GTKMM_RENDDESC_H
 
 /* === H E A D E R S ======================================================= */
 
 #include <gtkmm/table.h>
 #include <gtkmm/frame.h>
-#include <sinfg/renddesc.h>
+#include <synfig/renddesc.h>
 #include <gtkmm/spinbutton.h>
 #include <gtkmm/adjustment.h>
 #include <gtkmm/checkbutton.h>
+#include <gtkmm/notebook.h>
 #include "widget_vector.h"
 #include "widget_time.h"
 
@@ -42,9 +47,9 @@
 
 namespace studio {
 
-class Widget_RendDesc : public Gtk::Table
+class Widget_RendDesc : public Gtk::Notebook
 {
-       sinfg::RendDesc rend_desc_;
+       synfig::RendDesc rend_desc_;
        sigc::signal<void> signal_changed_;
 
        Gtk::Adjustment adjustment_width;
@@ -59,19 +64,19 @@ class Widget_RendDesc : public Gtk::Table
        //Gtk::Adjustment adjustment_start_frame;
        //Gtk::Adjustment adjustment_end_frame;
        Gtk::Adjustment adjustment_span;
-       
-       Gtk::SpinButton *entry_width;   
-       Gtk::SpinButton *entry_height;  
-       Gtk::SpinButton *entry_xres;    
-       Gtk::SpinButton *entry_yres;    
-       Gtk::SpinButton *entry_phy_width;       
-       Gtk::SpinButton *entry_phy_height;      
-       Gtk::SpinButton *entry_fps;     
-//     Gtk::SpinButton *entry_start_time;      
-//     Gtk::SpinButton *entry_end_time;        
-//     Gtk::SpinButton *entry_start_frame;     
-//     Gtk::SpinButton *entry_end_frame;       
-       Gtk::SpinButton *entry_span;    
+
+       Gtk::SpinButton *entry_width;
+       Gtk::SpinButton *entry_height;
+       Gtk::SpinButton *entry_xres;
+       Gtk::SpinButton *entry_yres;
+       Gtk::SpinButton *entry_phy_width;
+       Gtk::SpinButton *entry_phy_height;
+       Gtk::SpinButton *entry_fps;
+//     Gtk::SpinButton *entry_start_time;
+//     Gtk::SpinButton *entry_end_time;
+//     Gtk::SpinButton *entry_start_frame;
+//     Gtk::SpinButton *entry_end_frame;
+       Gtk::SpinButton *entry_span;
 
        Gtk::CheckButton *toggle_px_aspect;
        Gtk::CheckButton *toggle_px_width;
@@ -82,7 +87,7 @@ class Widget_RendDesc : public Gtk::Table
        Gtk::CheckButton *toggle_im_height;
        Gtk::CheckButton *toggle_im_span;
 
-       Gtk::Table *time_table;
+       /* Gtk::Table *time_table; */
        Gtk::Frame *time_frame;
 
        Widget_Vector *entry_tl;
@@ -101,30 +106,30 @@ class Widget_RendDesc : public Gtk::Table
                UpdateLock(int &locked):locked(locked){locked++;}
                ~UpdateLock(){locked--;}
        };
-       
+
 public:
 
        sigc::signal<void> &signal_changed() { return signal_changed_; }
 
        Widget_RendDesc();
        ~Widget_RendDesc();
-       
+
        //! Sets the RendDesc
-       void set_rend_desc(const sinfg::RendDesc &rend_desc);
+       void set_rend_desc(const synfig::RendDesc &rend_desc);
 
        //! Applies the given RendDesc to the current RendDesc
-       void apply_rend_desc(const sinfg::RendDesc &rend_desc);
+       void apply_rend_desc(const synfig::RendDesc &rend_desc);
 
        //! Retrieves the current RendDesc
-       const sinfg::RendDesc &get_rend_desc();
+       const synfig::RendDesc &get_rend_desc();
 
        void disable_time_section();
-       
+
        void enable_time_section();
-       
+
        void refresh();
 private:
-       
+
        void on_width_changed();
        void on_height_changed();
        void on_xres_changed();
@@ -141,8 +146,14 @@ private:
        void on_lock_changed();
        void on_focus_changed();
        void on_span_changed();
+
+       void create_widgets();
+       void connect_signals();
+       Gtk::Widget *create_image_tab();
+       Gtk::Widget *create_time_tab();
+       Gtk::Widget *create_other_tab();
 };
-       
+
 }; // END of namespace studio
 
 /* === E N D =============================================================== */