00001
00002
00003 #ifndef _LIBGNOMEUIMM_ICON_TEXTITEM_H
00004 #define _LIBGNOMEUIMM_ICON_TEXTITEM_H
00005
00006 #include <glibmm.h>
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include <libgnomecanvasmm/item.h>
00031 #include <libgnomeuimm/file-entry.h>
00032 #include <libgnomeuimm/entry.h>
00033 #include <gtkmm/entry.h>
00034
00035
00036 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00037 typedef struct _GnomeIconTextItem GnomeIconTextItem;
00038 typedef struct _GnomeIconTextItemClass GnomeIconTextItemClass;
00039 #endif
00040
00041
00042 namespace Gnome
00043 {
00044
00045 namespace UI
00046 { class IconTextItem_Class; }
00047
00048 }
00049 namespace Gnome
00050 {
00051
00052 namespace UI
00053 {
00054
00055
00056 class IconTextItem : public Gnome::Canvas::Item
00057 {
00058 public:
00059 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00060 typedef IconTextItem CppObjectType;
00061 typedef IconTextItem_Class CppClassType;
00062 typedef GnomeIconTextItem BaseObjectType;
00063 typedef GnomeIconTextItemClass BaseClassType;
00064 #endif
00065
00066 virtual ~IconTextItem();
00067
00068 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00069
00070 private:
00071 friend class IconTextItem_Class;
00072 static CppClassType icontextitem_class_;
00073
00074
00075 IconTextItem(const IconTextItem&);
00076 IconTextItem& operator=(const IconTextItem&);
00077
00078 protected:
00079 explicit IconTextItem(const Glib::ConstructParams& construct_params);
00080 explicit IconTextItem(GnomeIconTextItem* castitem);
00081
00082 #endif
00083
00084 public:
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086 static GType get_type() G_GNUC_CONST;
00087 static GType get_base_type() G_GNUC_CONST;
00088 #endif
00089
00091 GnomeIconTextItem* gobj() { return reinterpret_cast<GnomeIconTextItem*>(gobject_); }
00092
00094 const GnomeIconTextItem* gobj() const { return reinterpret_cast<GnomeIconTextItem*>(gobject_); }
00095
00096
00097 public:
00098
00099
00100 protected:
00101
00102
00103
00104 virtual bool on_text_changed();
00105 virtual void on_height_changed();
00106 virtual void on_width_changed();
00107 virtual void on_editing_started();
00108 virtual void on_editing_stopped();
00109 virtual void on_selection_started();
00110 virtual void on_selection_stopped();
00111
00112
00113 private:
00114
00115
00116 public:
00117 IconTextItem(Gnome::Canvas::Group& parent);
00118 IconTextItem(Gnome::Canvas::Group& parent, int x, int y, int width,
00119 const Glib::ustring& fontname, const Glib::ustring& text,
00120 bool is_editable = true);
00121
00122
00123 void set_xy(int x, int y);
00124
00125 void select(bool select = true);
00126
00127 void focus(bool focused = true);
00128
00129 Glib::ustring get_text() const;
00130
00131 void start_editing();
00132
00133 void stop_editing(bool accept = true);
00134
00135 Glib::RefPtr<Gtk::Editable> get_editable();
00136
00137 Glib::RefPtr<const Gtk::Editable> get_editable() const;
00138
00139
00144 Glib::SignalProxy0<bool> signal_text_changed();
00145
00146
00151 Glib::SignalProxy0<void> signal_height_changed();
00152
00153
00158 Glib::SignalProxy0<void> signal_width_changed();
00159
00160
00165 Glib::SignalProxy0<void> signal_editing_started();
00166
00167
00172 Glib::SignalProxy0<void> signal_editing_stopped();
00173
00174
00179 Glib::SignalProxy0<void> signal_selection_started();
00180
00181
00186 Glib::SignalProxy0<void> signal_selection_stopped();
00187
00188
00189 };
00190
00191 }
00192 }
00193
00194
00195 namespace Glib
00196 {
00198 Gnome::UI::IconTextItem* wrap(GnomeIconTextItem* object, bool take_copy = false);
00199 }
00200 #endif
00201