Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-studio / trunk / src / gtkmm / mod_palette / dock_paledit.cpp
index 6b5e0a0..88c8892 100644 (file)
@@ -1,20 +1,22 @@
-/* === S I N F G =========================================================== */
-/*!    \file dialog_palette.cpp
+/* === S Y N F I G ========================================================= */
+/*!    \file dock_paledit.cpp
 **     \brief Template File
 **
-**     $Id: dock_paledit.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $
+**     $Id$
 **
 **     \legal
-**     Copyright (c) 2002 Robert B. Quattlebaum Jr.
+**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007 Chris Moore
 **
-**     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
 */
 /* ========================================================================= */
 #include <gtkmm/frame.h>
 #include <gtkmm/table.h>
 #include <gtkmm/label.h>
-#include <sinfg/general.h>
-#include <sinfgapp/canvasinterface.h>
-#include <sinfgapp/value_desc.h>
+#include <synfig/general.h>
+#include <synfigapp/canvasinterface.h>
+#include <synfigapp/value_desc.h>
 #include "../widget_color.h"
 #include <gtkmm/spinbutton.h>
 #include <gtkmm/menu.h>
-#include <sinfgapp/main.h>
+#include <synfigapp/main.h>
 #include "../app.h"
 #include "../dialog_color.h"
 
+#include "../general.h"
+
 #endif
 
 /* === U S I N G =========================================================== */
 
 using namespace std;
 using namespace etl;
-using namespace sinfg;
+using namespace synfig;
 using namespace studio;
 
 /* === M A C R O S ========================================================= */
 
 /* === G L O B A L S ======================================================= */
 /*
-class studio::PaletteSettings : public sinfgapp::Settings
+class studio::PaletteSettings : public synfigapp::Settings
 {
        Dock_PalEdit* dialog_palette;
-       sinfg::String name;
+       synfig::String name;
 public:
-       PaletteSettings(Dock_PalEdit* window,const sinfg::String& name):
+       PaletteSettings(Dock_PalEdit* window,const synfig::String& name):
                dialog_palette(window),
                name(name)
        {
                dialog_palette->dialog_settings.add_domain(this,name);
        }
-       
+
        virtual ~PaletteSettings()
        {
                dialog_palette->dialog_settings.remove_domain(name);
        }
 
-       virtual bool get_value(const sinfg::String& key, sinfg::String& value)const
+       virtual bool get_value(const synfig::String& key, synfig::String& value)const
        {
                int i(atoi(key.c_str()));
                if(i<0 || i>=dialog_palette->size())
@@ -82,8 +86,8 @@ public:
                value=strprintf("%f %f %f %f",c.get_r(),c.get_g(),c.get_b(),c.get_a());
                return true;
        }
-       
-       virtual bool set_value(const sinfg::String& key,const sinfg::String& value)
+
+       virtual bool set_value(const synfig::String& key,const synfig::String& value)
        {
                int i(atoi(key.c_str()));
                if(i<0)
@@ -96,11 +100,11 @@ public:
                dialog_palette->set_color(Color(r,g,b,a),i);
                return true;
        }
-       
+
        virtual KeyList get_key_list()const
        {
-               sinfgapp::Settings::KeyList ret(sinfgapp::Settings::get_key_list());
-       
+               synfigapp::Settings::KeyList ret(synfigapp::Settings::get_key_list());
+
                int i;
                for(i=0;i<dialog_palette->size();i++)
                        ret.push_back(strprintf("%03d",i));
@@ -116,21 +120,20 @@ Dock_PalEdit::Dock_PalEdit():
        Dockable("pal_edit",_("Palette Editor"),Gtk::StockID("gtk-select-color")),
        //palette_settings(new PaletteSettings(this,"colors")),
        table(2,2,false)
-{      
+{
        action_group=Gtk::ActionGroup::create();
-       DEBUGPOINT();
        action_group->add(Gtk::Action::create(
                "palette-add-color",
                Gtk::StockID("gtk-add"),
                _("Add Color"),
-               _("Add current foreground color\nto the palette")
+               _("Add current outline color\nto the palette")
        ),
                sigc::mem_fun(
                        *this,
                        &Dock_PalEdit::on_add_pressed
                )
        );
-               
+
        App::ui_manager()->insert_action_group(action_group);
 
     Glib::ustring ui_info =
@@ -144,11 +147,11 @@ Dock_PalEdit::Dock_PalEdit():
        App::ui_manager()->add_ui_from_string(ui_info);
 
        set_toolbar(*dynamic_cast<Gtk::Toolbar*>(App::ui_manager()->get_widget("/toolbar-palette")));
-       
+
        /*
        add_button(
                Gtk::StockID("gtk-add"),
-               _("Add current foreground color\nto the palette")
+               _("Add current outline color\nto the palette")
        )->signal_clicked().connect(
                sigc::mem_fun(
                        *this,
@@ -156,12 +159,12 @@ Dock_PalEdit::Dock_PalEdit():
                )
        );
        */
-       
+
        add(table);
        table.set_homogeneous(true);
-       
+
        set_default_palette();
-       
+
        show_all_children();
 }
 
@@ -171,7 +174,7 @@ Dock_PalEdit::~Dock_PalEdit()
 }
 
 void
-Dock_PalEdit::set_palette(const sinfg::Palette& x)
+Dock_PalEdit::set_palette(const synfig::Palette& x)
 {
        palette_=x;
        refresh();
@@ -180,13 +183,14 @@ Dock_PalEdit::set_palette(const sinfg::Palette& x)
 void
 Dock_PalEdit::on_add_pressed()
 {
-       add_color(sinfgapp::Main::get_foreground_color());
+       add_color(synfigapp::Main::get_outline_color());
 }
 
 void
 Dock_PalEdit::show_menu(int i)
 {
        Gtk::Menu* menu(manage(new Gtk::Menu()));
+       menu->signal_hide().connect(sigc::bind(sigc::ptr_fun(&delete_widget), menu));
 
        menu->items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("gtk-select-color"),
                sigc::bind(
@@ -212,7 +216,7 @@ Dock_PalEdit::show_menu(int i)
 }
 
 int
-Dock_PalEdit::add_color(const sinfg::Color& x)
+Dock_PalEdit::add_color(const synfig::Color& x)
 {
        palette_.push_back(x);
        signal_changed()();
@@ -221,7 +225,7 @@ Dock_PalEdit::add_color(const sinfg::Color& x)
 }
 
 void
-Dock_PalEdit::set_color(sinfg::Color x, int i)
+Dock_PalEdit::set_color(synfig::Color x, int i)
 {
        palette_[i].color=x;
        signal_changed()();
@@ -246,10 +250,10 @@ void
 Dock_PalEdit::refresh()
 {
        const int width(12);
-       
+
        // Clear the table
        table.foreach(sigc::mem_fun(table,&Gtk::Table::remove));
-       
+
        for(int i=0;i<size();i++)
        {
                Widget_Color* widget_color(manage(new Widget_Color()));
@@ -268,7 +272,7 @@ Dock_PalEdit::refresh()
                        )
                );
                int c(i%width),r(i/width);
-               table.attach(*widget_color, c, c+1, r, r+1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);        
+               table.attach(*widget_color, c, c+1, r, r+1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
        }
        table.show_all();
        queue_draw();
@@ -292,14 +296,14 @@ Dock_PalEdit::edit_color(int i)
 void
 Dock_PalEdit::select_color(int i)
 {
-       sinfgapp::Main::set_foreground_color(get_color(i));
+       synfigapp::Main::set_outline_color(get_color(i));
 }
-               
+
 void
 Dock_PalEdit::set_default_palette()
 {
        int width=12;
-       
+
        palette_.clear();
 
        // Greys
@@ -320,7 +324,7 @@ Dock_PalEdit::set_default_palette()
                float x(float(i)/(float)(width-1));
                const Color tan1(0.2,0.05,0);
                const Color tan2(0.85,0.64,0.20);
-               
+
                palette_.push_back(Color::blend(tan2,tan1,x));
        }
 
@@ -338,7 +342,7 @@ Dock_PalEdit::set_default_palette()
        palette_.push_back(Color::magenta());
        palette_.push_back(Color(1.0f,0.0f,0.25f));
 
-       
+
        const int levels(3);
 
        // Colors
@@ -356,10 +360,10 @@ Dock_PalEdit::set_default_palette()
                palette_.push_back(c);
        }
 
-       
+
        /*
        const int levels(3);
-       
+
        for(int i=0;i<levels*levels*levels;i++)
        {
                Color c(