diff options
author | Peng Wu <alexepico@gmail.com> | 2014-01-28 15:17:26 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2014-01-28 15:17:26 +0800 |
commit | 49a2817559a64a6605875e98f7724b7c4a75deb8 (patch) | |
tree | 39ce35f1568db78494b32d7bdb2e61a7efa23687 /src | |
parent | 826372b044a307a849e831323f13e4a1648d46b8 (diff) | |
download | ibus-libzhuyin-49a2817559a64a6605875e98f7724b7c4a75deb8.tar.gz ibus-libzhuyin-49a2817559a64a6605875e98f7724b7c4a75deb8.tar.xz ibus-libzhuyin-49a2817559a64a6605875e98f7724b7c4a75deb8.zip |
import ZYProperty.h
Diffstat (limited to 'src')
-rw-r--r-- | src/ZYProperty.h | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/src/ZYProperty.h b/src/ZYProperty.h new file mode 100644 index 0000000..b6a10d4 --- /dev/null +++ b/src/ZYProperty.h @@ -0,0 +1,107 @@ +/* vim:set et ts=4 sts=4: + * + * ibus-libzhuyin - New Zhuyin engine based on libzhuyin for IBus + * + * Copyright (c) 2008-2010 Peng Huang <shawn.p.huang@gmail.com> + * + * This program 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, or (at your option) + * any later version. + * + * This program 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +#ifndef __ZY_PROPERTY_H_ +#define __ZY_PROPERTY_H_ + +#include <ibus.h> +#include "ZYObject.h" +#include "ZYText.h" + +namespace ZY { + +class Property : public Object { +public: + Property (const gchar *key, + IBusPropType type = PROP_TYPE_NORMAL, + IBusText *label = NULL, + const gchar *icon = NULL, + IBusText *tooltip = NULL, + gboolean sensitive = TRUE, + gboolean visible = TRUE, + IBusPropState state = PROP_STATE_UNCHECKED, + IBusPropList *props = NULL) + : Object (ibus_property_new (key, type, label, icon, tooltip, sensitive, visible, state, props)) { } + + void setLabel (IBusText *text) + { + ibus_property_set_label (get<IBusProperty> (), text); + } + + void setLabel (const gchar *text) + { + setLabel (Text (text)); + } + + void setIcon (const gchar *icon) + { + ibus_property_set_icon (get<IBusProperty> (), icon); + } + + void setSymbol (IBusText *text) + { + ibus_property_set_symbol (get<IBusProperty> (), text); + } + + void setSymbol (const gchar *text) + { + setSymbol (Text (text)); + } + + void setSensitive (gboolean sensitive) + { + ibus_property_set_sensitive (get<IBusProperty> (), sensitive); + } + + void setTooltip (IBusText *text) + { + ibus_property_set_tooltip (get<IBusProperty> (), text); + } + + void setTooltip (const gchar *text) + { + setTooltip (Text (text)); + } + + operator IBusProperty * (void) const + { + return get<IBusProperty> (); + } +}; + + +class PropList : Object { +public: + PropList (void) : Object (ibus_prop_list_new ()) { } + + void append (Property &prop) + { + ibus_prop_list_append (get<IBusPropList> (), prop); + } + + operator IBusPropList * (void) const + { + return get<IBusPropList> (); + } +}; + +}; + +#endif |