Merged revisions 6293,6296-6306,6308 via svnmerge from
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / editable.h
index 89832dcba7725e88e9eb9952e0fd89e448405e8e..eecd4b17ce900d31e32c0df3ec6447bcbb33e977 100644 (file)
@@ -3,6 +3,7 @@
 #ifndef _GTKMM_EDITABLE_H
 #define _GTKMM_EDITABLE_H
 
+
 #include <glibmm.h>
 
 /* $Id$ */
@@ -71,8 +72,14 @@ private:
 
 protected:
   Editable(); // you must derive from this class
+
+public:
+  // This is public so that C++ wrapper instances can be
+  // created for C instances of unwrapped types.
+  // For instance, if an unexpected C type implements the C interface. 
   explicit Editable(GtkEditable* castitem);
 
+protected:
 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
 
 public:
@@ -134,40 +141,72 @@ public:
   Glib::SignalProxy2< void,const Glib::ustring&,int* > signal_insert_text();
 
     
+  /**
+   * @par Prototype:
+   * <tt>void on_my_%delete_text(int start_pos, int end_pos)</tt>
+   */
+
   Glib::SignalProxy2< void,int,int > signal_delete_text();
 
   
+  /**
+   * @par Prototype:
+   * <tt>void on_my_%changed()</tt>
+   */
+
   Glib::SignalProxy0< void > signal_changed();
 
 
 protected:
 
 
-    virtual void delete_text_vfunc(int start_pos, int end_pos);
+  #ifdef GLIBMM_VFUNCS_ENABLED
+  virtual void delete_text_vfunc(int start_pos, int end_pos);
+#endif //GLIBMM_VFUNCS_ENABLED
+
+
+  #ifdef GLIBMM_VFUNCS_ENABLED
+  virtual Glib::ustring get_chars_vfunc(int start_pos, int end_pos) const;
+#endif //GLIBMM_VFUNCS_ENABLED
+
 
+  #ifdef GLIBMM_VFUNCS_ENABLED
+  virtual void select_region_vfunc(int start_pos, int end_pos);
+#endif //GLIBMM_VFUNCS_ENABLED
 
-    virtual Glib::ustring get_chars_vfunc(int start_pos, int end_pos) const;
+  #ifdef GLIBMM_VFUNCS_ENABLED
+  virtual bool get_selection_bounds_vfunc(int& start_pos, int& end_pos) const;
+#endif //GLIBMM_VFUNCS_ENABLED
 
-    virtual void select_region_vfunc(int start_pos, int end_pos);
-    virtual bool get_selection_bounds_vfunc(int& start_pos, int& end_pos) const;
-    virtual void set_position_vfunc(int position);
-    virtual int get_position_vfunc() const;
+  #ifdef GLIBMM_VFUNCS_ENABLED
+  virtual void set_position_vfunc(int position);
+#endif //GLIBMM_VFUNCS_ENABLED
+
+  #ifdef GLIBMM_VFUNCS_ENABLED
+  virtual int get_position_vfunc() const;
+#endif //GLIBMM_VFUNCS_ENABLED
 
 
 public:
 
 public:
   //C++ methods used to invoke GTK+ virtual functions:
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
 
 protected:
   //GTK+ Virtual Functions (override these to change behaviour):
+#ifdef GLIBMM_VFUNCS_ENABLED
 virtual void insert_text_vfunc(const Glib::ustring& text, int& position);
 
+#endif //GLIBMM_VFUNCS_ENABLED
+
   //Default Signal Handlers::
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
   virtual void on_insert_text(const Glib::ustring& text, int* position);
   virtual void on_delete_text(int start_pos, int end_pos);
   virtual void on_changed();
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
 
 
 };
@@ -177,14 +216,18 @@ virtual void insert_text_vfunc(const Glib::ustring& text, int& position);
 
 namespace Glib
 {
-  /** @relates Gtk::Editable
-   * @param object The C instance
+  /** A Glib::wrap() method for this object.
+   * 
+   * @param object The C instance.
    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
    * @result A C++ instance that wraps this C instance.
+   *
+   * @relates Gtk::Editable
    */
   Glib::RefPtr<Gtk::Editable> wrap(GtkEditable* object, bool take_copy = false);
 
 } // namespace Glib
 
+
 #endif /* _GTKMM_EDITABLE_H */