From bdfd348bf0d4f59ffde2fbcc0965ac8a79cdf12c Mon Sep 17 00:00:00 2001 From: Peter Moulder Date: Thu, 11 Oct 2007 14:28:57 +0000 Subject: trivial: ui/widget/*, ui/dialog/*: svn propset svn:eol-style native *.h *.cpp. (bzr r3883) --- src/ui/widget/registered-enums.h | 230 +++++++++++++++++++-------------------- 1 file changed, 115 insertions(+), 115 deletions(-) (limited to 'src/ui/widget/registered-enums.h') diff --git a/src/ui/widget/registered-enums.h b/src/ui/widget/registered-enums.h index 41b404978..6dfa48b7a 100644 --- a/src/ui/widget/registered-enums.h +++ b/src/ui/widget/registered-enums.h @@ -1,115 +1,115 @@ -/** - * \brief Simplified management of enumerations in the UI as combobox. - * - * Authors: - * Johan Engelen - * - * Copyright (C) 2007 Authors - * - * Released under GNU GPL. Read the file 'COPYING' for more information. - */ - -#ifndef INKSCAPE_UI_WIDGET_REGISTERED_ENUMS_H -#define INKSCAPE_UI_WIDGET_REGISTERED_ENUMS_H - -#include "ui/widget/combo-enums.h" -#include "ui/widget/registered-widget.h" - -namespace Inkscape { -namespace UI { -namespace Widget { - -template class RegisteredEnum : public RegisteredWidget -{ -public: - RegisteredEnum() { - labelled = NULL; - } - - ~RegisteredEnum() { - _changed_connection.disconnect(); - if (labelled) - delete labelled; - } - - void init ( const Glib::ustring& label, - const Glib::ustring& tip, - const Glib::ustring& key, - const Util::EnumDataConverter& c, - Registry& wr, - Inkscape::XML::Node* repr_in, - SPDocument *doc_in) - { - init_parent(key, wr, repr_in, doc_in); - - labelled = new LabelledComboBoxEnum (label, tip, c); - - _changed_connection = combobox()->signal_changed().connect (sigc::mem_fun (*this, &RegisteredEnum::on_changed)); - } - - inline void init ( const Glib::ustring& label, - const Glib::ustring& key, - Registry& wr) - { - init(label, key, wr, NULL, NULL); - } - - void set_active_by_id (E id) { - combobox()->set_active_by_id(id); - }; - - void set_active_by_key (const Glib::ustring& key) { - combobox()->set_active_by_key(key); - } - - inline const Util::EnumData* get_active_data() { - return combobox()->get_active_data(); - } - - ComboBoxEnum * combobox() { - if (labelled) { - return labelled->getCombobox(); - } else { - return NULL; - } - } - - LabelledComboBoxEnum * labelled; - sigc::connection _changed_connection; - -protected: - void on_changed() { - if (combobox()->setProgrammatically) { - combobox()->setProgrammatically = false; - return; - } - - if (_wr->isUpdating()) - return; - _wr->setUpdating (true); - - const Util::EnumData* data = combobox()->get_active_data(); - if (data) { - write_to_xml(data->key.c_str()); - } - - _wr->setUpdating (false); - } -}; - -} -} -} - -#endif - -/* - 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 : +/** + * \brief Simplified management of enumerations in the UI as combobox. + * + * Authors: + * Johan Engelen + * + * Copyright (C) 2007 Authors + * + * Released under GNU GPL. Read the file 'COPYING' for more information. + */ + +#ifndef INKSCAPE_UI_WIDGET_REGISTERED_ENUMS_H +#define INKSCAPE_UI_WIDGET_REGISTERED_ENUMS_H + +#include "ui/widget/combo-enums.h" +#include "ui/widget/registered-widget.h" + +namespace Inkscape { +namespace UI { +namespace Widget { + +template class RegisteredEnum : public RegisteredWidget +{ +public: + RegisteredEnum() { + labelled = NULL; + } + + ~RegisteredEnum() { + _changed_connection.disconnect(); + if (labelled) + delete labelled; + } + + void init ( const Glib::ustring& label, + const Glib::ustring& tip, + const Glib::ustring& key, + const Util::EnumDataConverter& c, + Registry& wr, + Inkscape::XML::Node* repr_in, + SPDocument *doc_in) + { + init_parent(key, wr, repr_in, doc_in); + + labelled = new LabelledComboBoxEnum (label, tip, c); + + _changed_connection = combobox()->signal_changed().connect (sigc::mem_fun (*this, &RegisteredEnum::on_changed)); + } + + inline void init ( const Glib::ustring& label, + const Glib::ustring& key, + Registry& wr) + { + init(label, key, wr, NULL, NULL); + } + + void set_active_by_id (E id) { + combobox()->set_active_by_id(id); + }; + + void set_active_by_key (const Glib::ustring& key) { + combobox()->set_active_by_key(key); + } + + inline const Util::EnumData* get_active_data() { + return combobox()->get_active_data(); + } + + ComboBoxEnum * combobox() { + if (labelled) { + return labelled->getCombobox(); + } else { + return NULL; + } + } + + LabelledComboBoxEnum * labelled; + sigc::connection _changed_connection; + +protected: + void on_changed() { + if (combobox()->setProgrammatically) { + combobox()->setProgrammatically = false; + return; + } + + if (_wr->isUpdating()) + return; + _wr->setUpdating (true); + + const Util::EnumData* data = combobox()->get_active_data(); + if (data) { + write_to_xml(data->key.c_str()); + } + + _wr->setUpdating (false); + } +}; + +} +} +} + +#endif + +/* + 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 : -- cgit v1.2.3