Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: missing gtk_button_set_image in lablgtk
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: j.romildo@g...
Subject: Re: [Caml-list] Re: missing gtk_button_set_image in lablgtk
On Tue, Oct 03, 2006 at 09:12:58PM +0200, Olivier Andrieu wrote:
Content-Description: message body and .signature
>  Olivier Andrieu [Tuesday 3 October 2006] :
>  > Here is a patch, with a bunch of other missing properties of
>  > GtkButton.

> Index: gtkButton.props
> ===================================================================
> RCS file: /net/yquem/devel/caml/repository/bazar-ocaml/lablgtk/src/gtkButton.props,v
> retrieving revision 1.5
> diff -u -r1.5 gtkButton.props
> --- gtkButton.props	16 Sep 2006 10:33:02 -0000	1.5
> +++ gtkButton.props	3 Oct 2006 19:11:02 -0000
> @@ -11,10 +11,14 @@
>  }
>  
>  class Button set wrap wrapsig : Bin {
> +  "focus-on-click"       gboolean             : Read / Write / NoSet
> +  "image"                GtkWidget_opt        : Read / Write / NoSet

It seems that defining image this way, as a property, will force the
type of set_image to GObj.widget option -> unit, while one may expect it
to be GObj.widget -> unit  , from the Gtk API documentation.

Maybe the property image-position should be defined too.

>    "label"                gchararray           : Read / Write / Construct
>    "use-stock"            gboolean             : Read / Write / Construct
>    "use-underline"        gboolean             : Read / Write / Construct
>    "relief"               GtkReliefStyle       : Read / Write
> +  "xalign"               gfloat               : Read / Write / NoSet
> +  "yalign"               gfloat               : Read / Write / NoSet
>    signal activate        / NoWrap
>    signal clicked
>    signal enter
> Index: gButton.mli
> ===================================================================
> RCS file: /net/yquem/devel/caml/repository/bazar-ocaml/lablgtk/src/gButton.mli,v
> retrieving revision 1.34
> diff -u -r1.34 gButton.mli
> --- gButton.mli	16 Sep 2006 10:33:02 -0000	1.34
> +++ gButton.mli	3 Oct 2006 19:11:02 -0000
> @@ -25,6 +25,14 @@
>      method use_underline : bool
>      method grab_default : unit -> unit
>      method event : event_ops
> +    method set_focus_on_click : bool -> unit
> +    method focus_on_click : bool
> +    method image : GObj.widget option             (** @since GTK 2.6 *)
> +    method set_image : GObj.widget option -> unit (** @since GTK 2.6 *)

Is this really the type we want for set_image? I am not sure.

> +    method set_xalign : float -> unit  (** @since GTK 2.4 *)
> +    method xalign     : float          (** @since GTK 2.4 *)
> +    method set_yalign : float -> unit  (** @since GTK 2.4 *)
> +    method yalign     : float          (** @since GTK 2.4 *)
>    end
>  
>  (** @gtkdoc gtk GtkButton *)

Comparing with the types for label (string), and set_label (string ->
unit), option is not used. But probably because here an empty string may
be used for un unset label. Although the API doc. says that "If the
label text has not been set the return value will be NULL". So, in C, an
unset label would return a NULL pointer, instead of the empty string "".

Romildo