[gtkmm] CellArea, CellAreaBox, CellAreaContext: Added methods.



commit e098513cdc66ffa0f7cc576466c06e47f28d6a32
Author: Murray Cumming <murrayc murrayc com>
Date:   Tue Dec 21 10:07:25 2010 +0100

    CellArea, CellAreaBox, CellAreaContext: Added methods.
    
    * gtk/src/cellarea.hg:
    * gtk/src/cellareabox.hg:
    * gtk/src/cellareacontext.hg: Wrap most methods, though not all.
    No properties, signals, or vfuncs are wrapped yet.
    * tools/m4/convert_gtk.m4: Added conversions for some of these types.

 ChangeLog                  |   10 ++++++
 gtk/src/cellarea.hg        |   73 ++++++++++++++++++++++++++++++++++++++++++--
 gtk/src/cellareabox.hg     |    7 +++-
 gtk/src/cellareacontext.hg |    8 +++++
 tools/m4/convert_gtk.m4    |    6 +++
 5 files changed, 100 insertions(+), 4 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 663663e..f08a099 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2010-12-21  Murray Cumming  <murrayc murrayc com>
 
+	CellArea, CellAreaBox, CellAreaContext: Added methods.
+
+	* gtk/src/cellarea.hg:
+	* gtk/src/cellareabox.hg:
+	* gtk/src/cellareacontext.hg: Wrap most methods, though not all.
+	No properties, signals, or vfuncs are wrapped yet.
+	* tools/m4/convert_gtk.m4: Added conversions for some of these types.
+
+2010-12-21  Murray Cumming  <murrayc murrayc com>
+
 	CellRenderer: Added 2 methods.
 
 	* gtk/src/cellrenderer.hg: Added is_activatable() and get_aligned_area().
diff --git a/gtk/src/cellarea.hg b/gtk/src/cellarea.hg
index c694470..a0d50ac 100644
--- a/gtk/src/cellarea.hg
+++ b/gtk/src/cellarea.hg
@@ -16,8 +16,9 @@
  */
 
 #include <gtkmm/buildable.h>
+#include <gtkmm/cellareacontext.h>
 #include <gtkmm/celllayout.h>
-#include <gtkmm/object.h>
+#include <glibmm/object.h>
 _DEFS(gtkmm,gtk)
 _PINCLUDE(gtkmm/private/object_p.h)
 
@@ -30,11 +31,12 @@ namespace Gtk
  * @newin{3,0}
  */
 class CellArea
-  : public Object,
+  : public Glib::Object,
     public Buildable,
     public CellLayout
 {
-  _CLASS_GTKOBJECT(CellArea, GtkCellArea, GTK_CELL_AREA, Object, GObject)
+  _CLASS_GOBJECT(CellArea, GtkCellArea, GTK_CELL_AREA, Glib::Object, GObject)
+  _DERIVES_INITIALLY_UNOWNED()
   _IMPLEMENTS_INTERFACE(Buildable)
   _IMPLEMENTS_INTERFACE(CellLayout)
   
@@ -42,6 +44,71 @@ protected:
   _CTOR_DEFAULT
 public:
 
+  _WRAP_METHOD(void add(CellRenderer& renderer), gtk_cell_area_add)
+  _WRAP_METHOD(void remove(CellRenderer& renderer), gtk_cell_area_remove)
+  _WRAP_METHOD(bool has_renderer(CellRenderer& renderer), gtk_cell_area_has_renderer)
+  //TODO: _WRAP_METHOD(void foreach(GtkCellCallback callback, gpointer callback_data), gtk_cell_area_foreach)
+  //TODO: _WRAP_METHOD(void foreach_alloc(const Glib::RefPtr<CellAreaContext>& context,  Widget& widget, const Gdk::Rectangle& cell_area, const Gdk::Rectangle& background_area,  GtkCellAllocCallback  callback,  gpointer  callback_data), gtk_cell_area_foreach_alloc
+  _WRAP_METHOD(int event(const Glib::RefPtr<CellAreaContext>& context, Widget& widget, GdkEvent* event, const Gdk::Rectangle& cell_area,  GtkCellRendererState  flags), gtk_cell_area_event)
+  _WRAP_METHOD(void render(const Glib::RefPtr<CellAreaContext>& context, Widget& widget, const Cairo::RefPtr<Cairo::Context>& cr, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, CellRendererState flags,  bool paint_focus), gtk_cell_area_render)
+  _WRAP_METHOD(void set_style_detail(const Glib::ustring& detail), gtk_cell_area_set_style_detail)
+  _WRAP_METHOD(Glib::ustring get_style_detail() const, gtk_cell_area_get_style_detail)
+
+
+  _WRAP_METHOD(void get_cell_allocation(const Glib::RefPtr<CellAreaContext>& context, Widget& widget, CellRenderer& renderer,  const Gdk::Rectangle& cell_area, Gdk::Rectangle& allocation), gtk_cell_area_get_cell_allocation)
+  
+  _WRAP_METHOD(CellRenderer* get_cell_at_position(const Glib::RefPtr<CellAreaContext>& context, Widget& widget, const Gdk::Rectangle& cell_area, int x, int y, Gdk::Rectangle& alloc_area), gtk_cell_area_get_cell_at_position)
+  _WRAP_METHOD(const CellRenderer* get_cell_at_position(const Glib::RefPtr<CellAreaContext>& context, Widget& widget, const Gdk::Rectangle& cell_area, int x, int y, Gdk::Rectangle& alloc_area) const, gtk_cell_area_get_cell_at_position, constversion)
+
+  _WRAP_METHOD(Glib::RefPtr<CellAreaContext> create_context() const, gtk_cell_area_create_context)
+  
+  _WRAP_METHOD(Glib::RefPtr<CellAreaContext> copy_context(const Glib::RefPtr<const CellAreaContext>& context), gtk_cell_area_copy_context)
+
+  _WRAP_METHOD(SizeRequestMode get_request_mode() const, gtk_cell_area_get_request_mode)
+  _WRAP_METHOD(void get_preferred_width(const Glib::RefPtr<CellAreaContext>& context,  Widget& widget,  int& minimum_width, int& natural_width), gtk_cell_area_get_preferred_width)
+  _WRAP_METHOD(void get_preferred_height_for_width (const Glib::RefPtr<CellAreaContext>& context,  Widget& widget,  int width,  int& minimum_height, int& natural_height), gtk_cell_area_get_preferred_height_for_width)
+  _WRAP_METHOD(void get_preferred_height( const Glib::RefPtr<CellAreaContext>& context,    Widget& widget,  int& minimum_height, int& natural_height), gtk_cell_area_get_preferred_height)
+  _WRAP_METHOD(void get_preferred_width_for_height(const Glib::RefPtr<CellAreaContext>& context, Widget& widget,  int height,  int& minimum_width, int& natural_width), gtk_cell_area_get_preferred_width_for_height)
+  _WRAP_METHOD(Glib::ustring get_current_path_string () const, gtk_cell_area_get_current_path_string)
+
+
+  _WRAP_METHOD(void apply_attributes(const Glib::RefPtr<TreeModel>& tree_model, const TreeModel::iterator& iter,  bool is_expander, bool is_expanded), gtk_cell_area_apply_attributes)
+  _WRAP_METHOD(void attribute_connect(CellRenderer& renderer, const Glib::ustring& attribute, int column), gtk_cell_area_attribute_connect)
+  _WRAP_METHOD(void attribute_disconnect(CellRenderer& renderer, const Glib::ustring& attribute), gtk_cell_area_attribute_disconnect)
+
+
+  _WRAP_METHOD(void cell_set_property(CellRenderer& renderer, const Glib::ustring& property_name, const Glib::ValueBase& value), gtk_cell_area_cell_set_property)
+  _WRAP_METHOD(void cell_get_property(CellRenderer& renderer, const Glib::ustring& property_name, Glib::ValueBase& value), gtk_cell_area_cell_get_property)
+
+  _WRAP_METHOD(bool is_activatable() const, gtk_cell_area_is_activatable)
+  _WRAP_METHOD(bool activate(const Glib::RefPtr<CellAreaContext>& context, Widget& widget, const Gdk::Rectangle& cell_area, CellRendererState flags, bool edit_only), gtk_cell_area_activate)
+  _WRAP_METHOD(bool focus(DirectionType direction), gtk_cell_area_focus)
+  _WRAP_METHOD(void set_focus_cell(CellRenderer& renderer), gtk_cell_area_set_focus_cell)
+  
+  _WRAP_METHOD(CellRenderer* get_focus_cell(), gtk_cell_area_get_focus_cell)
+  _WRAP_METHOD(const CellRenderer* get_focus_cell() const, gtk_cell_area_get_focus_cell, constversion)
+
+  _WRAP_METHOD(void add_focus_sibling(CellRenderer& renderer, CellRenderer& sibling), gtk_cell_area_add_focus_sibling)
+  _WRAP_METHOD(void remove_focus_sibling( CellRenderer& renderer, CellRenderer& sibling), gtk_cell_area_remove_focus_sibling)
+  _WRAP_METHOD(bool is_focus_sibling(CellRenderer& renderer,  CellRenderer& sibling), gtk_cell_area_is_focus_sibling)
+  //TODO: _WRAP_METHOD(GList* get_focus_siblings(CellRenderer& renderer), gtk_cell_area_get_focus_siblings)
+  
+  _WRAP_METHOD(CellRenderer* get_focus_from_sibling(CellRenderer& renderer), gtk_cell_area_get_focus_from_sibling)
+  _WRAP_METHOD(const CellRenderer* get_focus_from_sibling(CellRenderer& renderer) const, gtk_cell_area_get_focus_from_sibling, constversion)
+  
+  _WRAP_METHOD(CellRenderer* get_edited_cell(), gtk_cell_area_get_edited_cell)
+  _WRAP_METHOD(const CellRenderer* get_edited_cell() const, gtk_cell_area_get_edited_cell, constversion)
+  
+  _WRAP_METHOD(CellEditable* get_edit_widget(), gtk_cell_area_get_edit_widget) 
+  _WRAP_METHOD(const CellEditable* get_edit_widget() const, gtk_cell_area_get_edit_widget, constversion)
+  
+  _WRAP_METHOD(bool activate_cell(Widget& widget, CellRenderer& renderer, GdkEvent* event, const Gdk::Rectangle& cell_area, CellRendererState flags), gtk_cell_area_activate_cell)
+  _WRAP_METHOD(void stop_editing(bool canceled), gtk_cell_area_stop_editing)
+
+  _WRAP_METHOD(void inner_cell_area(Widget& widget, const Gdk::Rectangle& cell_area, Gdk::Rectangle& inner_area), gtk_cell_area_inner_cell_area)
+
+  _WRAP_METHOD(void request_renderer(CellRenderer& renderer, Orientation orientation, Widget& widget, int for_size, int& minimum_size, int& natural_size), gtk_cell_area_request_renderer)
+
 };
 
 } // namespace Gtk
diff --git a/gtk/src/cellareabox.hg b/gtk/src/cellareabox.hg
index c88356a..5c7851c 100644
--- a/gtk/src/cellareabox.hg
+++ b/gtk/src/cellareabox.hg
@@ -32,13 +32,18 @@ class CellAreaBox
   : public Gtk::CellArea,
     public Orientable
 {
-  _CLASS_GTKOBJECT(CellAreaBox, GtkCellAreaBox, GTK_CELL_AREA_BOX, CellArea, GtkCellArea)
+  _CLASS_GOBJECT(CellAreaBox, GtkCellAreaBox, GTK_CELL_AREA_BOX, CellArea, GtkCellArea)
   _IMPLEMENTS_INTERFACE(Orientable)
   
 protected:
   _CTOR_DEFAULT
+  _IGNORE(gtk_cell_area_box_new)
 public:
 
+  _WRAP_METHOD(void pack_start(CellRenderer& renderer,  bool expand, bool align), gtk_cell_area_box_pack_start)
+  _WRAP_METHOD(void pack_end(CellRenderer& renderer, bool expand, bool align), gtk_cell_area_box_pack_end)
+  _WRAP_METHOD(int get_spacing() const, gtk_cell_area_box_get_spacing)
+  _WRAP_METHOD(void set_spacing(int spacing), gtk_cell_area_box_set_spacing)
 };
 
 } // namespace Gtk
diff --git a/gtk/src/cellareacontext.hg b/gtk/src/cellareacontext.hg
index c925e97..287ebca 100644
--- a/gtk/src/cellareacontext.hg
+++ b/gtk/src/cellareacontext.hg
@@ -48,6 +48,14 @@ public:
 protected:
  
 public:
+
+  _WRAP_METHOD(void get_preferred_width(int& minimum_width, int& natural_width) const, gtk_cell_area_context_get_preferred_width)
+  //TODO: _WRAP_METHOD(void get_preferred_height(int& minimum_height, int& natural_height) const, gtk_cell_area_context_get_preferred_height)
+  _WRAP_METHOD(void get_preferred_height_for_width(int width, int& minimum_height, int& natural_height) const, gtk_cell_area_context_get_preferred_height_for_width)
+  _WRAP_METHOD(void get_allocation(int& width, int& height) const, gtk_cell_area_context_get_allocation)
+
+  _WRAP_METHOD(void push_preferred_width(int minimum_width, int natural_width), gtk_cell_area_context_push_preferred_width)
+  _WRAP_METHOD(void push_preferred_height(int minimum_height, int natural_height), gtk_cell_area_context_push_preferred_height)
  
 
 };
diff --git a/tools/m4/convert_gtk.m4 b/tools/m4/convert_gtk.m4
index 62e17ee..d04ddc6 100644
--- a/tools/m4/convert_gtk.m4
+++ b/tools/m4/convert_gtk.m4
@@ -217,6 +217,11 @@ _CONVERSION(`GtkAccelGroup*',`Glib::RefPtr<const AccelGroup>',`Glib::wrap($3)')
 _CONVERSION(`const Glib::RefPtr<AccelGroup>&',`GtkAccelGroup*',__CONVERT_REFPTR_TO_P)
 _CONVERSION(`Gtk::Object&',`GObject*', `($3).Glib::Object::gobj()')
 
+_CONVERSION(`GtkCellAreaContext*',`Glib::RefPtr<CellAreaContext>',`Glib::wrap($3)')
+_CONVERSION(`GtkCellAreaContext*',`Glib::RefPtr<const CellAreaContext>',`Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<CellAreaContext>&',`GtkCellAreaContext*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<const CellAreaContext>&',`GtkCellAreaContext*',__CONVERT_CONST_REFPTR_TO_P)
+
 #
 # Ptr (Gtkmm) -> Ptr (gtk+)
 _CONVERSION(`const Glib::RefPtr<Adjustment>&',`GtkAdjustment*',__CONVERT_REFPTR_TO_P)
@@ -624,6 +629,7 @@ _CONVERSION(`const Glib::RefPtr<Tooltip>&',`GtkTooltip*',__CONVERT_REFPTR_TO_P($
 
 
 # Used by Signals:
+# TODO: Move these to the .hg files.
 # The true here means "take reference", because the code that emits the signal does not do a ref for the receiving signal handler.
 # For the return values of methods, we use the optional refreturn parameter instead.
 _CONVERSION(`GtkTextIter*',`const TextIter&',Glib::wrap($3))



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]