index ad9b19a56b86385f20e11ccb8c3c3ebbf37a72bb..6f3df89da3dcf4dc36a8ae572de2104885f6844e 100644 (file)
namespace Behavior {
-DockBehavior::DockBehavior(Dialog& dialog) :
+DockBehavior::DockBehavior(Dialog &dialog) :
Behavior(dialog),
_dock_item(*SP_ACTIVE_DESKTOP->getDock(),
Inkscape::Verb::get(dialog._verb_num)->get_id(), dialog._title.c_str(),
- (Inkscape::Verb::get(dialog._verb_num)->get_image() ?
+ (Inkscape::Verb::get(dialog._verb_num)->get_image() ?
Inkscape::Verb::get(dialog._verb_num)->get_image() : ""),
static_cast<Widget::DockItem::State>(
- prefs_get_int_attribute (_dialog._prefs_path, "state",
+ prefs_get_int_attribute (_dialog._prefs_path, "state",
UI::Widget::DockItem::DOCKED_STATE)))
{
// Connect signals
_signal_hide_connection = signal_hide().connect(sigc::mem_fun(*this, &Inkscape::UI::Dialog::Behavior::DockBehavior::_onHide));
- signal_response().connect(sigc::mem_fun(_dialog, &Inkscape::UI::Dialog::Dialog::on_response));
_dock_item.signal_state_changed().connect(sigc::mem_fun(*this, &Inkscape::UI::Dialog::Behavior::DockBehavior::_onStateChanged));
if (_dock_item.getState() == Widget::DockItem::FLOATING_STATE) {
Behavior *
-DockBehavior::create(Dialog& dialog)
+DockBehavior::create(Dialog &dialog)
{
return new DockBehavior(dialog);
}
-DockBehavior::operator Gtk::Widget&()
+DockBehavior::operator Gtk::Widget &()
{
return _dock_item.getWidget();
}
}
void
-DockBehavior::present()
+DockBehavior::present()
{
bool was_attached = _dock_item.isAttached();
}
void
-DockBehavior::show()
-{
+DockBehavior::show()
+{
_dock_item.show();
}
-void
+void
DockBehavior::show_all_children()
{
get_vbox()->show_all_children();
}
-void
-DockBehavior::get_position(int& x, int& y)
-{
+void
+DockBehavior::get_position(int &x, int &y)
+{
_dock_item.get_position(x, y);
}
-void
-DockBehavior::get_size(int& width, int& height)
-{
+void
+DockBehavior::get_size(int &width, int &height)
+{
_dock_item.get_size(width, height);
}
void
-DockBehavior::resize(int width, int height)
+DockBehavior::resize(int width, int height)
{
_dock_item.resize(width, height);
}
_dock_item.set_size_request(width, height);
}
-void
-DockBehavior::size_request(Gtk::Requisition& requisition)
-{
+void
+DockBehavior::size_request(Gtk::Requisition &requisition)
+{
_dock_item.size_request(requisition);
}
_dock_item.set_title(title);
}
-void
-DockBehavior::set_response_sensitive(int response_id, bool setting)
-{
- if (_response_map[response_id])
- _response_map[response_id]->set_sensitive(setting);
-}
-
void
DockBehavior::set_sensitive(bool sensitive)
{
+ // TODO check this. Seems to be bad that we ignore the parameter
get_vbox()->set_sensitive();
}
-Gtk::Button *
-DockBehavior::add_button(const Glib::ustring& button_text, int response_id)
-{
- Gtk::Button *button = new Gtk::Button(button_text);
- _addButton(button, response_id);
- return button;
-}
-
-Gtk::Button *
-DockBehavior::add_button(const Gtk::StockID& stock_id, int response_id)
-{
- Gtk::Button *button = new Gtk::Button(stock_id);
- _addButton(button, response_id);
- return button;
-}
-
-void
-DockBehavior::_addButton(Gtk::Button *button, int response_id)
-{
- _dock_item.addButton(button, response_id);
-
- if (response_id != 0) {
-
- /* Pass the signal_clicked signals onto a our own signal handler that can re-emit them as
- * signal_response signals
- */
- button->signal_clicked().connect(
- sigc::bind<int>(sigc::mem_fun(*this,
- &Inkscape::UI::Dialog::Behavior::DockBehavior::_onResponse),
- response_id));
-
- _response_map[response_id] = button;
- }
-}
-
-void
-DockBehavior::set_default_response(int response_id)
-{
- ResponseMap::iterator widget_found;
- widget_found = _response_map.find(response_id);
-
- if (widget_found != _response_map.end()) {
- widget_found->second->activate();
- widget_found->second->property_can_default() = true;
- widget_found->second->grab_default();
- }
-}
-
void
DockBehavior::_onHide()
}
void
-DockBehavior::_onStateChanged(Widget::DockItem::State prev_state,
+DockBehavior::_onStateChanged(Widget::DockItem::State /*prev_state*/,
Widget::DockItem::State new_state)
{
+// TODO probably need to avoid window calls unless the state is different. Check.
prefs_set_int_attribute (_dialog._prefs_path, "state", new_state);
if (new_state == Widget::DockItem::FLOATING_STATE) {
}
}
-void
-DockBehavior::_onResponse(int response_id)
-{
- g_signal_emit_by_name (_dock_item.gobj(), "signal_response", response_id);
-}
-
void
DockBehavior::onHideF12()
{
{
gint transient_policy = prefs_get_int_attribute_limited ( "options.transientpolicy", "value", 1, 0, 2);
-#ifdef WIN32 // FIXME: Temporary Win32 special code to enable transient dialogs
- if (prefs_get_int_attribute ( "options.dialogsontopwin32", "value", 0))
- transient_policy = 2;
- else
- return;
-#endif
+#ifdef WIN32 // Win32 special code to enable transient dialogs
+ transient_policy = 2;
+#endif
- if (!transient_policy)
+ if (!transient_policy)
return;
Gtk::Window *floating_win = _dock_item.getWindow();
if (GtkWindow *dialog_win = floating_win->gobj()) {
_dialog.retransientize_suppress = true; // disallow other attempts to retranzientize this dialog
-
+
desktop->setWindowTransient (dialog_win);
/*
/* Signal wrappers */
-Glib::SignalProxy0<void>
+Glib::SignalProxy0<void>
DockBehavior::signal_show() { return _dock_item.signal_show(); }
-Glib::SignalProxy0<void>
+Glib::SignalProxy0<void>
DockBehavior::signal_hide() { return _dock_item.signal_hide(); }
-Glib::SignalProxy1<void, int>
-DockBehavior::signal_response() { return _dock_item.signal_response(); }
-
-Glib::SignalProxy1<bool, GdkEventAny *>
+Glib::SignalProxy1<bool, GdkEventAny *>
DockBehavior::signal_delete_event() { return _dock_item.signal_delete_event(); }
Glib::SignalProxy0<void>