SetSelection with scrolling

From: Douglas G. Danforth <"Douglas>
Date: Mon, 29 Mar 2004 12:38:44 -0500

----boundary-LibPST-iamunique-1424435199_-_-
Content-type: text/plain


Folks,
Under program control, I would like to have the screen scroll to the
position at which I have set a 'selection'. I am able to accomplish this
for text that is visible on the screen but setting the selection before
or after the visible text does not cause automatically scrolling to that
location. I set up the situation by:

   c := TextControllers.Focus();
   IF c # NIL THEN
       rd := c.text.NewReader(NIL);
       c.SetCaret(TextControllers.none);
       c.SetSelection(none, none);
       rd.SetPos(0);
   END

and then I create a new selection by:

   (* highlight current word found *)
   pos := rd.Pos();
   beg := pos-LEN(name$);
   c.SetCaret(beg);
   c.SetSelection (beg, pos);

but no scrolling occurs. It would be nice to see how the CP compiler
does its scrolling when it finds an error or how Find does its
scrolling. I don't want to get down to 'message passing' and 'frame'
handling. Surely there is a level just above this that does the
scrolling automatically? I do not know how to see or quarentee that the
Focus does not have the "noAutoScroll" bits set (whatever that actually
means).

Any help would be appreciated.

-Doug

--------------------------------------------

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.



----boundary-LibPST-iamunique-1424435199_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIFxwYXINCkZvbGtzLFxwYXINClVuZGVyIHByb2dy
YW0gY29udHJvbCwgSSB3b3VsZCBsaWtlIHRvIGhhdmUgdGhlIHNjcmVlbiBzY3JvbGwgdG8gdGhl
IFxwYXINCnBvc2l0aW9uIGF0IHdoaWNoIEkgaGF2ZSBzZXQgYSAnc2VsZWN0aW9uJy4gSSBhbSBh
YmxlIHRvIGFjY29tcGxpc2ggdGhpcyBccGFyDQpmb3IgdGV4dCB0aGF0IGlzIHZpc2libGUgb24g
dGhlIHNjcmVlbiBidXQgc2V0dGluZyB0aGUgc2VsZWN0aW9uIGJlZm9yZSBccGFyDQpvciBhZnRl
ciB0aGUgdmlzaWJsZSB0ZXh0IGRvZXMgbm90IGNhdXNlIGF1dG9tYXRpY2FsbHkgc2Nyb2xsaW5n
IHRvIHRoYXQgXHBhcg0KbG9jYXRpb24uICBJIHNldCB1cCB0aGUgc2l0dWF0aW9uIGJ5OlxwYXIN
ClxwYXINCiAgIGMgOj0gVGV4dENvbnRyb2xsZXJzLkZvY3VzKCk7XHBhcg0KICAgSUYgYyAjIE5J
TCBUSEVOXHBhcg0KICAgICAgIHJkIDo9IGMudGV4dC5OZXdSZWFkZXIoTklMKTtccGFyDQogICAg
ICAgYy5TZXRDYXJldChUZXh0Q29udHJvbGxlcnMubm9uZSk7XHBhcg0KICAgICAgIGMuU2V0U2Vs
ZWN0aW9uKG5vbmUsIG5vbmUpO1xwYXINCiAgICAgICByZC5TZXRQb3MoMCk7XHBhcg0KICAgRU5E
XHBhcg0KXHBhcg0KYW5kIHRoZW4gSSBjcmVhdGUgYSBuZXcgc2VsZWN0aW9uIGJ5OlxwYXINClxw
YXINCiAgICgqIGhpZ2hsaWdodCBjdXJyZW50IHdvcmQgZm91bmQgKilccGFyDQogICBwb3MgOj0g
cmQuUG9zKCk7XHBhcg0KICAgYmVnIDo9IHBvcy1MRU4obmFtZSQpO1xwYXINCiAgIGMuU2V0Q2Fy
ZXQoYmVnKTtccGFyDQogICBjLlNldFNlbGVjdGlvbiAoYmVnLCBwb3MpO1xwYXINClxwYXINCmJ1
dCBubyBzY3JvbGxpbmcgb2NjdXJzLiAgSXQgd291bGQgYmUgbmljZSB0byBzZWUgaG93IHRoZSBD
UCBjb21waWxlciBccGFyDQpkb2VzIGl0cyBzY3JvbGxpbmcgd2hlbiBpdCBmaW5kcyBhbiBlcnJv
ciBvciBob3cgRmluZCBkb2VzIGl0cyBccGFyDQpzY3JvbGxpbmcuIEkgZG9uJ3Qgd2FudCB0byBn
ZXQgZG93biB0byAnbWVzc2FnZSBwYXNzaW5nJyBhbmQgJ2ZyYW1lJyBccGFyDQpoYW5kbGluZy4g
IFN1cmVseSB0aGVyZSBpcyBhIGxldmVsIGp1c3QgYWJvdmUgdGhpcyB0aGF0IGRvZXMgdGhlIFxw
YXINCnNjcm9sbGluZyBhdXRvbWF0aWNhbGx5PyAgSSBkbyBub3Qga25vdyBob3cgdG8gc2VlIG9y
IHF1YXJlbnRlZSB0aGF0IHRoZSBccGFyDQpGb2N1cyBkb2VzIG5vdCBoYXZlIHRoZSAibm9BdXRv
U2Nyb2xsIiBiaXRzIHNldCAod2hhdGV2ZXIgdGhhdCBhY3R1YWxseSBccGFyDQptZWFucykuXHBh
cg0KXHBhcg0KQW55IGhlbHAgd291bGQgYmUgYXBwcmVjaWF0ZWQuXHBhcg0KXHBhcg0KLURvdWdc
cGFyDQpccGFyDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxw
YXINClxwYXINClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBtYWlsaW5nIGxpc3QsIHNlbmQgYSBt
ZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdvcmQgInVuc3Vic2NyaWJlIiB0bzpccGFyDQogICBibGFj
a2JveC1yZXF1ZXN0QG9iZXJvbi5jaFxwYXINClxwYXINClRvIGdldCBhIGxpc3Qgb2YgdmFsaWQg
ZS1tYWlsIGNvbW1hbmRzIGFuZCBpbnN0cnVjdGlvbnMgb24gdGhlaXIgdXNhZ2UsIHNlbmQgYSBt
ZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdvcmQgImhlbHAiIHRvIHRoZSBhYm92ZSBhZGRyZXNzLlxw
YXINClxwYXINClNlbmQgYW55IHByb2JsZW0gcmVwb3J0cyBvciBxdWVzdGlvbnMgcmVsYXRlZCB0
byB0aGlzIGVtYWlsIGxpc3QgdG8gdGhlIGxpc3Qgb3duZXIgYXRccGFyDQogICBvd25lci1ibGFj
a2JveEBvYmVyb24uY2hccGFyDQpccGFyDQpDdXJyZW50IHBvc3RpbmcgcG9saWN5OlxwYXINClxw
YXINCmEpIFRvIHBvc3QgeW91IHNob3VsZCB1c2UgdGhlIHNhbWUgYWRkcmVzcyBieSB3aGljaCB5
b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhlIG1haWxpbmcgbGlzdC4gVGhhdCB3YXksIHRoZSBsaXN0
IHNlcnZlciB3aWxsIHJlY29nbml6ZSB5b3UgYXMgc3Vic2NyaWJlciBhbmQgZm9yd2FyZCB5b3Vy
IHBvc3RpbmcgaW1tZWRpYXRlbHksIHdpdGhvdXQgY3JlYXRpbmcgYW55IG92ZXJoZWFkLlxwYXIN
ClxwYXINCmIpIElmLCBmb3Igc29tZSByZWFzb24sIHlvdSBjYW5ub3QgcG9zdCBmcm9tIHRoZSBh
ZGRyZXNzLCBieSB3aGljaCB5b3UgYXJlIHN1YnNjcmliZWQsIHlvdXIgbWVzc2FnZSB3aWxsIGJl
IG1vZGVyYXRlZCB0byBhdm9pZCBzcGFtLiBQbGVhc2UgdW5kZXJzdGFuZCB0aGF0IG1vZGVyYXRp
b24gd2lsbCBvZnRlbiBjYXVzZSBzb21lIGRlbGF5LCBpbiBwYXJ0aWN1bGFyIG92ZXIgd2Vla2Vu
ZHMgb3IgaG9seWRheXMuXHBhcg0KXHBhcg0KfQ==


----boundary-LibPST-iamunique-1424435199_-_---
Received on Mon Mar 29 2004 - 18:38:44 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:48 UTC