Version française
Home     About     Download     Resources     Contact us    
Browse thread
LablGTK Reading Properties
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Gregory Malecha <gmalecha@r...>
Subject: LablGTK Reading Properties
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