diff options
| author | gustav_b <gustav_b@users.sourceforge.net> | 2007-08-29 21:27:07 +0000 |
|---|---|---|
| committer | gustav_b <gustav_b@users.sourceforge.net> | 2007-08-29 21:27:07 +0000 |
| commit | 731f2b5adbb6f9e9fc853a6506c695fd2fcec320 (patch) | |
| tree | 6e7775c500ffc41d1376d7496c9334840b0f065f /src/ui/dialog/floating-behavior.h | |
| parent | Don't snap node handles to the parent path, plus a small string change (diff) | |
| download | inkscape-731f2b5adbb6f9e9fc853a6506c695fd2fcec320.tar.gz inkscape-731f2b5adbb6f9e9fc853a6506c695fd2fcec320.zip | |
Dockable dialogs patch applied
(https://sourceforge.net/tracker/?func=detail&atid=604308&aid=1688508&group_id=93438)
(bzr r3613)
Diffstat (limited to 'src/ui/dialog/floating-behavior.h')
| -rw-r--r-- | src/ui/dialog/floating-behavior.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/ui/dialog/floating-behavior.h b/src/ui/dialog/floating-behavior.h new file mode 100644 index 000000000..354987dde --- /dev/null +++ b/src/ui/dialog/floating-behavior.h @@ -0,0 +1,88 @@ +/** + * \brief A floating dialog implementation. + * + * Author: + * Gustav Broberg <broberg@kth.se> + * + * Copyright (C) 2007 Authors + * + * Released under GNU GPL. Read the file 'COPYING' for more information. + */ + + +#ifndef INKSCAPE_UI_DIALOG_FLOATING_BEHAVIOR_H +#define INKSCAPE_UI_DIALOG_FLOATING_BEHAVIOR_H + +#include <gtkmm/dialog.h> +#include "behavior.h" + +namespace Inkscape { +namespace UI { +namespace Dialog { +namespace Behavior { + +class FloatingBehavior : public Behavior { + +public: + static Behavior *create(Dialog& dialog); + + ~FloatingBehavior(); + + /** Gtk::Dialog methods */ + operator Gtk::Widget&(); + GtkWidget *gobj(); + void present(); + Gtk::VBox *get_vbox(); + void show(); + void hide(); + void show_all_children(); + void resize(int width, int height); + void move(int x, int y); + void set_position(Gtk::WindowPosition); + void set_size_request(int width, int height); + void size_request(Gtk::Requisition& requisition); + void get_position(int& x, int& y); + void get_size(int& width, int& height); + void set_title(Glib::ustring title); + void set_response_sensitive(int response_id, bool setting); + void set_sensitive(bool sensitive); + Gtk::Button *add_button(const Glib::ustring& button_text, int response_id); + Gtk::Button *add_button(const Gtk::StockID& stock_id, int response_id); + void set_default_response(int response_id); + + /** Gtk::Dialog signal proxies */ + Glib::SignalProxy0<void> signal_show(); + Glib::SignalProxy0<void> signal_hide(); + Glib::SignalProxy1<bool, GdkEventAny *> signal_delete_event(); + Glib::SignalProxy1<void, int> signal_response(); + + /** Custom signal handlers */ + void onHideF12(); + void onShowF12(); + void onDesktopActivated(SPDesktop *desktop); + void onShutdown(); + +private: + FloatingBehavior(Dialog& dialog); + + Gtk::Dialog *_d; //< the actual dialog + +}; + +} // namespace Behavior +} // namespace Dialog +} // namespace UI +} // namespace Inkscape + +#endif // INKSCAPE_UI_DIALOG_FLOATING_BEHAVIOR_H + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : |
