[Oberon] Gadgets programming
eloff at cs.sun.ac.za
Mon Oct 27 15:39:00 CET 2003
I'm trying to use gadgets as output for an interactive display. Basically, I
want to place Iconizers on a panel and link certain Iconizers with Line
objects to create a chart.
What I would like to know is the following:
- Should I use the slink field to link the Iconizers and Lines
- Is slink also used to link each object individually to the panel
- Should a ConsumeMsg using the 'drop' type be specified to make the
- What happens if I want to link multiple lines from one Iconizer to
different Iconizers. For example a graph with 3 vertices (v1, v2, v3) and two
edges (v1,v2) and (v1, v3).
I've looked at the Oberon companion, specifically Example16 on page 217 and it
seems close to what I want to do. Example16 uses Gadgets.ThisFrame to locate
the coordinates of the * marker, but I will be working directly with a Panel.
Should I still use ThisFrame or can I use the Attributes module to determine
the panel's coordinates and size?
As I understand things I basically need to do the following:
1) Locate the my Panel using Gadgets.FindObj
2) Use the Gadgets.CreateObject to create my Iconizers and Lines
3) Link everything (the question is what is 'everything')
4) Broadcast a ConsumeMsg or perhaps multiple consume messages after setting
the coordinates of the objects, etc.
5) Do I need to call Gadgets.Update for the panel or would the ConsumeMsg
take care of redisplaying everything
Does this sound right?
Department of Computer Science
University of Stellenbosch
More information about the Oberon