English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
labltk bind ~events list questions/bugs?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2000-12-30 (21:41)
From: Chris Hecker <checker@d...>
Subject: labltk bind ~events list questions/bugs?

Hi, a few labltk questions:

1. Does the ~events list passed to Tk.bind mean the callback should get all of those events?  I can't think of what else it's for, but it doesn't seem to work correctly.  I only get one of the types, or sometimes none.  This is on Win98 with tcl/tk 8.3.

Here's some example code:

open Tk

let _ =
  let top = openTk () in
  Wm.title_set top "Simple OCaml Tk App";
  Toplevel.configure top ~height:200 ~width:200;
  print_string "\n";
  bind top ~events:[`KeyPress;`ButtonPress] 
    ~action:(fun ev -> Printf.printf "%s %d %s\n"
        ev.ev_KeySymString ev.ev_Type ev.ev_Detail
  Printexc.print mainLoop ()

If I bind the list separately it seems to work, but I haven't tested it thoroughly.
2. As another question, if I have ~events:[`Modified ([`Shift],`KeyPress)], sometimes I just get the keys that were pressed when the shift key was down, sometimes I get a zillion Shift_L events, and sometimes I get nothing.

3. I'd like to be able to distribute an executable compiled with labltk and lablgl without having people have to have tcl/tk installed.  Has anybody successfully statically linked tk into an ocaml app?  Perl/Tk is set up such that it doesn't depend on the tcl/tk distribution, so I assume this is possible.  Would it be a ton of work?