/* === S Y N F I G ========================================================= */
-/*! \file dialog_palette.cpp
+/*! \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-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007 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
#include "../app.h"
#include "../dialog_color.h"
+#include "../general.h"
+
#endif
/* === U S I N G =========================================================== */
{
dialog_palette->dialog_settings.add_domain(this,name);
}
-
+
virtual ~PaletteSettings()
{
dialog_palette->dialog_settings.remove_domain(name);
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 synfig::String& key,const synfig::String& value)
{
int i(atoi(key.c_str()));
dialog_palette->set_color(Color(r,g,b,a),i);
return true;
}
-
+
virtual KeyList get_key_list()const
{
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));
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 =
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,
)
);
*/
-
+
add(table);
table.set_homogeneous(true);
-
+
set_default_palette();
-
+
show_all_children();
}
void
Dock_PalEdit::on_add_pressed()
{
- add_color(synfigapp::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(
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()));
)
);
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();
void
Dock_PalEdit::select_color(int i)
{
- synfigapp::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
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));
}
palette_.push_back(Color::magenta());
palette_.push_back(Color(1.0f,0.0f,0.25f));
-
+
const int levels(3);
// Colors
palette_.push_back(c);
}
-
+
/*
const int levels(3);
-
+
for(int i=0;i<levels*levels*levels;i++)
{
Color c(