[rep-gtk] added support for GdkSegment type (guile-gtk 2.1)
- From: Christopher Bratusek <chrisb src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [rep-gtk] added support for GdkSegment type (guile-gtk 2.1)
- Date: Tue, 6 Oct 2009 16:04:38 +0000 (UTC)
commit 8fa2e32c28163e15da76fd50cfa36ab1ecc46925
Author: Christopher Roy Bratusek <chris nanolx org>
Date: Tue Oct 6 18:04:29 2009 +0200
added support for GdkSegment type (guile-gtk 2.1)
more gtk_style_* functions
renamed rect type to GdkRectangle
ChangeLog | 15 +++++++++++++++
Makefile.in | 2 +-
build-gtk.jl | 7 +++++--
gtk.defs | 45 +++++++++++++++++++++++++++++++++++++--------
rep-gtk.c | 32 ++++++++++++++++++++++++++++++--
rep-gtk.h | 4 ++++
6 files changed, 92 insertions(+), 13 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 7ca4baf..0652a58 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-10-03 Christopher Bratusek <zanghar freenet de>
+ * rep-gtk.c
+ * rep-gtk.h
+ * build-gtk.jl: added new types [ported from guile-gtk 2.1]:
+ - GdkSegment
+ renamed types:
+ - rect -> GdkRectangle
+
2009-10-02 Christopher Bratusek <zanghar freenet de>
* gtkcombobox.defs: GtkComboBoxEntry implemented
*********** gtkcomboboxentry.h ***********
@@ -6,6 +14,13 @@
gtk_combo_box_entry_set_text_column
gtk_combo_box_entry_get_text_column
== GtkComboBoxEntry 2.12 API complete ==
+ * gtk.defs:
+ gtk_container_foreach_full [removed (deprecated)]
+ ********** gtkstyle.h *********************
+ gtk_style_new
+ gtk_style_copy
+ gtk_style_attach
+ gtk_style_set_background
2009-10-01 Christopher Bratusek <zanghar freenet de>
* gtkcombobox.defs: GtkComboBox implemented
diff --git a/Makefile.in b/Makefile.in
index 6da4a5b..35d01b3 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -105,4 +105,4 @@ gtk-2 :
mkdir gtk-2
# hand-needed dependences
-gtk-glue.c : gtk.defs gtktext.defs gtktree.defs gtkbuilder.defs gtkuimanager.defs gtkcombobox.defs build-gtk.jlc
+gtk-glue.c : glib.defs gdk.defs gdk-pixbuf.defs gtk.defs gtktext.defs gtktree.defs gtkbuilder.defs gtkuimanager.defs gtkcombobox.defs build-gtk.jlc
diff --git a/build-gtk.jl b/build-gtk.jl
index 668f662..daef385 100644
--- a/build-gtk.jl
+++ b/build-gtk.jl
@@ -1084,7 +1084,7 @@
(when (gtk-get-option 'gerror-arg options)
(@ " if (error != NULL)\n" )
(@ " sgtk_throw_gerror (\"%s\", error);\n" fname))
-
+
;; output return statement
(if (eq ret 'none)
(@ " return Qnil;\n")
@@ -1354,7 +1354,10 @@
(define-type 'GdkPoint "GdkPoint" "sgtk_rep_to_point"
"sgtk_point_to_rep" "sgtk_valid_point")
-(define-type 'rect "GdkRectangle" "sgtk_rep_to_rect"
+(define-type 'GdkRectangle "GdkRectangle" "sgtk_rep_to_rect"
"sgtk_rect_to_rep" "sgtk_valid_rect")
+(define-type 'GdkSegment "GdkSegment" "sgtk_rep_to_segment"
+ "sgtk_segment_to_rep" "sgtk_valid_segment")
+
(define-type 'SCM "repv" "" "" nil)
diff --git a/gtk.defs b/gtk.defs
index b63cb3e..1021352 100644
--- a/gtk.defs
+++ b/gtk.defs
@@ -4,7 +4,8 @@
;; GtkButton, GtkToggleButton, GtkCheckButton, GtkRadioButton, GtkFontButton
;; GtkLinkButton, GtkColorButton, GtkVolumeButton, GtkStatusIcon
-;; GtkBuilder GtkUIManager GtkActionGroup GtkAction GtkComboBox
+;; GtkBuilder, GtkUIManager, GtkActionGroup, GtkAction, GtkComboBox
+;; GtkComboBoxEntry
;; updated for gtk+ 1.3:
@@ -447,6 +448,8 @@
;; GtkAccelGroup
(define-object GtkAccelGroup (GObject))
+(define-boxed GtkAccelGroupEntry
+ ())
(define-func gtk_accel_group_new
GtkAccelGroup
@@ -546,8 +549,41 @@
(GdkModifierType modifier)
((ret uint) entries)))
+;; GtkStyle
+
(define-object GtkStyle (GObject))
+(define-func gtk_style_new
+ GtkStyle
+ ())
+
+(define-func gtk_style_copy
+ GtkStyle
+ ((GtkStyle style)))
+
+(define-func gtk_style_attach
+ GtkStyle
+ ((GtkStyle style)
+ (GdkWindow window)))
+
+(define-func gtk_style_set_background
+ none
+ ((GtkStyle style)
+ (GdkWindow window)
+ (GtkStateType state)))
+
+(define-func gtk_style_apply_default_background
+ void
+ ((GtkStyle style)
+ (GdkWindow window)
+ (bool setbg)
+ (GtkStateType state)
+ (GdkRectangle rect)
+ (int x)
+ (int y)
+ (int width)
+ (int height)))
+
(define-func gtk_style_get_white_interp
GdkColor
((GtkStyle style)))
@@ -1109,13 +1145,6 @@
none
((GtkContainer container)))
-;; XXX this is deprecated?
-(define-func gtk_container_foreach_full
- none
- ((GtkContainer container)
- (full-callback function (protect-during)))
- (scm-name "gtk-container-foreach"))
-
(define-func gtk_container_get_children
((list GtkWidget))
((GtkContainer container)))
diff --git a/rep-gtk.c b/rep-gtk.c
index 73ed346..b225836 100644
--- a/rep-gtk.c
+++ b/rep-gtk.c
@@ -172,6 +172,8 @@ sgtk_try_missing_type (char *name)
{
static sgtk_type_info missing[] = {
{ "GdkGC", G_TYPE_BOXED },
+ { "GdkSegment", G_TYPE_BOXED },
+ { "GdkSpan", G_TYPE_BOXED },
{ "GdkPixbuf", G_TYPE_BOXED }, /* XXX okay? */
{ "GtkTextIter", G_TYPE_BOXED },
{ "GtkTreeIter", G_TYPE_BOXED },
@@ -849,7 +851,7 @@ sgtk_rep_to_flags (repv obj, sgtk_enum_info *info)
return ans;
}
-
+
/* String enums.
A string enum is like an enum, but the values are strings. The
@@ -1127,7 +1129,33 @@ sgtk_type_to_rep (GType t)
return sgtk_uint_to_rep (t);
}
-
+int
+sgtk_valid_segment (repv obj)
+{
+ return scm_is_pair (obj)
+ && sgtk_valid_point (SCM_CAR (obj))
+ && sgtk_valid_point (SCM_CDR (obj));
+}
+
+GdkSegment
+sgtk_rep_to_segment (repv obj)
+{
+ GdkSegment seg;
+ seg.x1 = rep_INT (rep_CAAR (obj));
+ seg.y1 = rep_INT (rep_CDAR (obj));
+ seg.x2 = rep_INT (rep_CADR (obj));
+ seg.y2 = rep_INT (rep_CDDR (obj));
+ return seg;
+}
+
+repv
+sgtk_segment_to_rep (GdkSegment seg)
+{
+ return Fcons (Fcons (rep_MAKE_INT (seg.x1),
+ rep_MAKE_INT (seg.y1)),
+ Fcons (rep_MAKE_INT (seg.x2),
+ rep_MAKE_INT (seg.y2)));
+}
/* Callbacks.
diff --git a/rep-gtk.h b/rep-gtk.h
index 7d068ea..c9d8fa8 100644
--- a/rep-gtk.h
+++ b/rep-gtk.h
@@ -151,6 +151,10 @@ int sgtk_valid_rect (repv obj);
GdkRectangle sgtk_rep_to_rect (repv obj);
repv sgtk_rect_to_rep (GdkRectangle p);
+int sgtk_valid_segment (repv obj);
+GdkSegment sgtk_scm2segment (repv obj);
+repv sgtk_segment2scm (GdkSegment seg);
+
GType sgtk_type_from_name (char *name);
int sgtk_valid_type (repv obj);
GType sgtk_rep_to_type (repv obj);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]