caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gregory Malecha <gmalecha@rice.edu>
To: caml-list@yquem.inria.fr
Subject: LablGTK Reading Properties
Date: Tue, 05 Feb 2008 10:39:00 -0600	[thread overview]
Message-ID: <47A89124.1040304@rice.edu> (raw)

Hi,

I've been working on some code with GnomeCanvas and I'm having 
difficulty reading properties off of objects. For example, I've created 
a polygon and I want to read the points from it, but I always get back 
None. Here's my current code:

let points item =
  let prop = {Gobject.name = "points";
          Gobject.conv = GnomeCanvas.Conv.path_def} in
  let x = Gobject.get prop item in
  match x with
    None -> print_string "NONE!\n"; [] (* I always end up in this case *)
  | Some ary ->
      print_string "SOME!\n";
      let ary = GnomeCanvas.Conv.get_points ary in
      Array.to_list ary

My creation code looks like this:

let drawSourcePort group (x, y) dir =
  let lst =
    match dir with
      East ->
    let cX,cY   = x +. 5., y in
    let p1X,p1Y = x, y +. 7.5 in
    let p2X,p2Y = x, y -. 7.5 in
    [cX;cY; p1X;p1Y; p2X;p2Y]
    | West ->
    let cX,cY   = x -. 5., y in
    let p1X,p1Y = x, y +. 7.5 in
    let p2X,p2Y = x, y -. 7.5 in
    [cX;cY; p1X;p1Y; p2X;p2Y]
    | North ->
    let cX,cY   = x, y -. 5. in
    let p1X,p1Y = x +. 7.5, y in
    let p2X,p2Y = x -. 7.5, y in
    [cX;cY; p1X;p1Y; p2X;p2Y]
    | South ->
    let cX,cY   = x, y +. 5. in
    let p1X,p1Y = x +. 7.5, y in
    let p2X,p2Y = x -. 7.5, y in
    [cX;cY; p1X;p1Y; p2X;p2Y]
  in
  let ary = Array.of_list lst in
  GnoCanvas.polygon
    ~points:ary
    ~fill_color:"black"
    group
;;

I've also tried with lines and that fails as well. Does anyone know if 
there is anything special that I have to do in order to be able to read 
properties or why I keep getting null?

Thanks.

-- 
gregory malecha
wiess college
computer science
219.510.3400


             reply	other threads:[~2008-02-05 16:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-05 16:39 Gregory Malecha [this message]
2008-02-06  8:57 ` [Caml-list] " Olivier Andrieu
2008-02-06 17:06   ` Gregory Malecha
2008-02-06 19:07     ` Gregory Malecha
2008-02-06 22:12       ` Olivier Andrieu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47A89124.1040304@rice.edu \
    --to=gmalecha@rice.edu \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).