[Oberon] N-O: HOW2 SelectTextStretch given beg, end ?
crglur at absamail.co.za
Sat Jan 13 05:03:06 MET 2007
Since linux-ETHZ-oberon allows multiple desktops, this makes
programming easier. You can have a separate desktop for your
docu/tutors. Some docus want eg. a full size UserTrack to view.
Also separate desktop[s] for your notes/log-of-progress.
And of course a separate desktop for the source being compiled.
Although you can't cutNpaste between desktops [which are
separate linux-processes] communication via common
file[s] is convenient.
These increased facilities prompted me to investigate making
a tool which reduces the frustration of locating the
'closing-bracket'/"END-token" of 'blocks which stretch over
multiple screens. The ' "END" terminated blocks' begin with
one of: "BEGIN","WHILE", "FOR","IF", "LOOP".
I think that only leaves "REPEAT" ?
I morphed Chapter5.Text Example7 to make the tool which I'm
now using; which after setting the caret before the 'opening
bracket token' eg. "IF", moves the caret to the corresponding
"END". [I'll put the 'project' to Edgar's wiki later.]
It would be nice if the 'block' could be selected, instead of
just moving the caret to the "END". This would even allow
a single clux [N-O mouse chord] to colour the block !
One would: select the opening token & execute 'Do.SelctBlk',
and see the block selected -- possibly over multiple screens.
And then have the ability to copy, colour ..etc. the block ?
I can't see how to select the TextStrech, given the beg, end.
There's plenty sample code and tutorials on GetSelection,
but SetSelection seems to be a taboo - not recommended.
My first/simplest approach failed:
1. exercise the given example[s] for GetSelection,
2. trace the SelectMesg fields: beg, end to confirm,
3. modify these 2 fields eg. to beg+3, end+5, and the id field
frrom Oberon.get to Oberon.set and hope that the other
unchaged fields are OK.
This fails with no symptoms.
I can't guess where the code would be to 'SetSelection'
as per mouse activation ?
Can someone advise/help ? Thanks,
== Chris Glur.
More information about the Oberon