From: skaller <skaller@users.sourceforge.net>
To: Damien Bobillot <damien.bobillot@m4x.org>
Cc: Ville-Pertti Keinonen <will@exomi.com>,
Matt Gushee <mgushee@havenrock.com>,
caml-list@inria.fr
Subject: Re: [Caml-list] Re: Feeding the OCaml GUI troll
Date: Sat, 03 Sep 2005 22:30:55 +1000 [thread overview]
Message-ID: <1125750655.7221.17.camel@localhost.localdomain> (raw)
In-Reply-To: <1A0BFF96-D811-4173-933F-F7BB69668856@m4x.org>
[-- Attachment #1: Type: text/plain, Size: 2358 bytes --]
On Sat, 2005-09-03 at 12:34 +0200, Damien Bobillot wrote:
> skaller wrote :
[]
> If the programmer modify the value of this
> variable, the text field is automatically updated to the new value of
> the variable.
Actually, Tk has done this for years.
[]
> I don't know if it is implementable in ocaml as is,
I don't see why not: the issue isn't implementation
but design.
The kind of automation you are talking about I'd consider
a kind of bi-reflection: changes to a value by the program
are reflected in the GUI, and changes to the GUI made
by the user are reflected in the program variables.
Actually my HWM (Hierarchical Window Manager) system
requires this in triplicate:
(a) There is a Tree data structure in memory representing
'containment' relations.
(b) At a higher level, these objects are concretely particular
widgets -- this level is hidden by abstraction from (a).
(c) The GUI widgets on the 'screen'.
So basically you can do things like: at level (a), you delete
a child from a parent and add it to another:
p2.add_child(p1.remove_child(c))
and on the screen, the child c and its children move magically
from paned window p1 into a notebook, p2.
Similarly, if the user rips a child out of p1 and drops
it onto p2, the window is reparented .. which is reflected
in the abstraction (a) without programmer intervention.
The user can ALSO do this via the tree widget as well as
directly with the actual windows (recall, there is no toolbar,
instead a tree widget is used).
Thus, both the program AND the user can move window
groups around. Other operations include deletion,
iconisation, and transmuting a container from one kind to
another (eg paned window to notebook).
With HWM, the programmer is relieved of the tedium of
high level organisation: it is left up to the client
to use the window manager. Combine this with low level
automation such as bi-reflection of variables and fields,
and we have a new kind of GUI.
My builds of HWM were all done with Object Oriented code.
I tend to think it functional code may be much better.
For example -- using persistence of Tree data structure,
it should be easy to 'undo' a reparenting operation.
Exactly how to do this I do not know .. :)
--
John Skaller <skaller at users dot sourceforge dot net>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-09-03 12:31 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-28 15:38 Does LablTk have a future? Matt Gushee
[not found] ` <aefe758210f7fa0b9846b0ea4278cf3a@rouaix.org>
2005-08-28 23:21 ` [Caml-list] " Matt Gushee
2005-08-29 22:33 ` Jon Harrop
2005-08-30 4:39 ` Matt Gushee
2005-08-30 11:39 ` Yaron Minsky
2005-08-30 11:48 ` Jon Harrop
2005-08-30 12:22 ` David MENTRE
2005-08-30 13:45 ` Jon Harrop
2005-08-30 15:47 ` David MENTRE
2005-08-30 16:08 ` Jon Harrop
2005-09-01 4:25 ` Matt Gushee
2005-09-01 11:20 ` Matt Gushee
2005-09-01 11:26 ` Matt Gushee
2005-09-01 14:09 ` Chris Campbell
2005-08-30 16:21 ` Bardur Arantsson
2005-08-30 17:47 ` [Caml-list] " David Thomas
2005-08-30 18:06 ` Tyler Eaves
2005-08-30 19:01 ` Jon Harrop
2005-08-30 22:55 ` Chris Campbell
[not found] ` <c22844d10508301553b54841b@mail.gmail.com>
2005-08-30 22:56 ` Fwd: " Chris Campbell
2005-08-30 23:04 ` Doug Kirk
2005-08-31 0:08 ` Fwd: " Jon Harrop
2005-08-31 0:31 ` Olivier Andrieu
2005-08-31 8:48 ` Feeding the OCaml GUI troll (was: Re: [Caml-list] Does LablTk have a future?) David MENTRE
2005-08-31 9:06 ` Proposal a GUI from Ocamlsdl Christophe Raffalli
2005-08-31 14:39 ` [Caml-list] " Jon Harrop
2005-09-01 19:27 ` Nathaniel Gray
2005-08-31 14:27 ` Feeding the OCaml GUI troll (was: Re: [Caml-list] Does LablTk have a future?) Jon Harrop
2005-09-01 4:49 ` Feeding the OCaml GUI troll Matt Gushee
2005-09-01 13:15 ` [Caml-list] " skaller
2005-09-01 13:28 ` David MENTRE
2005-09-01 13:50 ` skaller
2005-09-01 14:43 ` Chris Campbell
2005-09-02 7:40 ` Ville-Pertti Keinonen
2005-09-02 12:39 ` skaller
2005-09-03 10:34 ` Damien Bobillot
2005-09-03 12:30 ` skaller [this message]
2005-09-04 14:08 ` Richard Jones
2005-09-03 11:10 ` yoann padioleau
2005-09-03 11:30 ` Jonathan Roewen
2005-09-03 17:23 ` Doug Kirk
2005-09-04 14:01 ` Richard Jones
2005-09-01 19:23 ` Feeding the OCaml GUI troll (was: Re: [Caml-list] Does LablTk have a future?) Nathaniel Gray
2005-09-01 4:31 ` [Caml-list] Does LablTk have a future? Matt Gushee
2005-09-01 4:17 ` Matt Gushee
2005-09-01 13:25 ` Jon Harrop
2005-08-30 7:16 ` GUI for OCaml (was: Re: [Caml-list] Does LablTk have a future?) David MENTRE
2005-08-30 9:53 ` GUI for OCaml Christophe Raffalli
2005-08-30 10:28 ` [Caml-list] " David MENTRE
2005-08-30 13:04 ` Bünzli Daniel
2005-08-30 17:13 ` David Thomas
2005-08-30 11:18 ` Mark Shinwell
2005-08-30 14:22 ` Jacques Carette
2005-08-30 23:12 ` Pietro Abate
2005-08-30 14:14 ` GUI for OCaml (was: Re: [Caml-list] Does LablTk have a future?) Richard Jones
2005-08-30 15:33 ` mmzeeman
2005-08-30 15:44 ` Jon Harrop
2005-08-30 22:34 ` yoann padioleau
2005-09-01 4:58 ` Matt Gushee
2005-08-30 16:01 ` Jon Harrop
2005-08-30 16:25 ` Chris Campbell
2005-08-30 22:49 ` yoann padioleau
2005-08-30 16:03 ` Chris Campbell
2005-08-30 22:31 ` yoann padioleau
2005-08-31 8:19 ` About Lablgtk2 (was: e: GUI for OCaml) David MENTRE
2005-09-03 11:41 ` yoann padioleau
2005-08-30 17:35 ` [Caml-list] Does LablTk have a future? 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=1125750655.7221.17.camel@localhost.localdomain \
--to=skaller@users.sourceforge.net \
--cc=caml-list@inria.fr \
--cc=damien.bobillot@m4x.org \
--cc=mgushee@havenrock.com \
--cc=will@exomi.com \
/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