[Oberon] FPGA - DIY Dialogs
joerg.straube at iaeth.ch
Fri Jan 18 09:34:40 CET 2019
I doubt you can escape "pointer shuffling" for the procedures "bring to front" / "send to back" (
When shuffling pointers a quick drawing of the list, the objects involved and their pointers next and prev helps a lot.. It's not sooo complicated after all.
Am 18.01.19, 08:20 schrieb "Oberon im Auftrag von Tomas Kral" <oberon-bounces at lists.inf.ethz.ch im Auftrag von thomas.kral at email.cz>:
On Thu, 17 Jan 2019 22:32:27 +0100
Jörg Straube <joerg.straube at iaeth.ch> wrote:
> Whether doubly linked or single linked: send to back is moving the
> object to the end of the list.
Yes, I realise now. I was looking at ways to shuffle nodes (swap), is
not easy as requires updating neighbouring node pointers.
I have an idea, marking objects as hidden with id=0 (as valid ids > 0),
and cloning them at back or front of the list. One assignment for
cloning NEW(p); p^:=o^, plus Insert(), or Append(), all in there
already, and are easy, simple assignments, too, for first/last
I think regular object copies may be required anyway.
Hidden objects will be compressed out during store, one IF o.id # 0;
This may support object removal at runtime, too, sort of.
There is some memory overhead though, but only during design phase.
I just see node pointer shuffling a bit complicated and wish to avoid
Tomas Kral <thomas.kral at email.cz>
Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
More information about the Oberon