[Oberon] FPGA - DIY Dialogs

Jörg joerg.straube at iaeth.ch
Fri Jan 18 09:34:40 CET 2019


Tomas
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.
Jörg

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
    prev/next.
    
    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
    if possible.
    
    -- 
    Tomas Kral <thomas.kral at email.cz>
    --
    Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
    https://lists.inf.ethz.ch/mailman/listinfo/oberon
    




More information about the Oberon mailing list