-- Bernhard Treutwein Ludwig-Maximilians-Universität Ref. VI.3 Anwendungsbetreuung Martiusstr. 4/I Raum 107 80802 München Tel. 089 2180-2774 Fax. 089 2180-992774 Mobil. 0152-01549335 e-mail: bernhard treutwein (at) verwaltung uni-muenchen de > -----Original Message----- > From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy> Rainer Neubauer > Sent: Monday, December 05, 2011 7:04 PM > To: BLACKBOX{([at]})nowhere.xy> Subject: [BLACKBOX] Writing to text view while maintaining the focus > > > Hi all, > > I have some small procedures for showing a text view and > writing text to it programmatically. > Problem: after write access to the view and update the view > gets the focus. > What should I do to have the focus not changed by writing to > and updating the text view ? > > Please find the involved procedures below: > > TYPE > TerminalDesc* = LIMITED RECORD > width, height: INTEGER; > title: POINTER TO ARRAY OF CHAR; > f: TextMappers.Formatter; > m: TextModels.Model > END; > > Terminal* = POINTER TO TerminalDesc; > > > PROCEDURE Create* (IN title: ARRAY OF CHAR; width, height: > INTEGER): Terminal; > VAR > newObject: Terminal; > BEGIN > NEW (newObject); > newObject.width := width; > newObject.height := height; > NEW (newObject.title, LEN (title$) + 1); > newObject.title^ := title$; > newObject.m := TextModels.dir.New (); > newObject.f.ConnectTo (newObject.m); > RETURN newObject > END Create; > > PROCEDURE Flush (terminal: Terminal); > VAR > pos: INTEGER; > c: Containers.Controller; > v: Views.View; > BEGIN > c := Containers.Focus (); > v := c.ThisView (); > Views.RestoreDomain (terminal.m.Domain ()); (* update display > right now *) > pos := terminal.m.Length(); > TextViews.ShowRange (terminal.m, pos, pos, TextViews.any); (* > show end of text *) > TextControllers.SetCaret (terminal.m, pos); (* position > cursor at end of text *) > c.SetFocus (v) (* maintain focus view prior to writing *) > END Flush; > > > Procedure Flush writes to and updates the text view. To > restore the focus I added the bold lines but the last line traps. > Do I require to modify the bold lines ? > Would you recommend to use a totally different approach for > writing and updating a text view just for logging purposes ? > > Thanks in advance for any hints. > Best regards, > Rainer > > > > ---- To unsubscribe, send a message with body "SIGNOFF > BLACKBOX" to LISTSERV{([at]})nowhere.xy> ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-873783312_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7 fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBIYWxsbyxccGFyDQpccGFyDQpz aW5jZSBub2JvZHkgcmVwbGllcyAuLi4gSXQgaXMgbm90IHJlYWxseSBjbGVhciB0byBtZSwgd2h5 IHlvdXIgcHJvZ3JhbVxwYXINCmZyYWdtZW50IGhpdHMgYSAicHJlY29uZGl0aW9uIHZpb2xhdGVk IHRyYXAgMjIiLCB0byBiZSBob25lc3QsIEkgZG9uJ3RccGFyDQpoYXZlIGFueSBpZGVhIHdoYXQg dGhpcyBwcmVjb25kaXRpb24gbWVhbnM6XHBhcg0KXHRhYiBmb2N1cy5jb250ZXh0LlRoaXNNb2Rl bCgpID0gYy5UaGlzTW9kZWwoKVx0YWIgXHBhcg0KXHBhcg0KQnV0OiB5b3UgY291bGQgZ2l2ZSBN YXJ0aW4gRmlzaGVycyBPdXRwdXQgYSB0cnkuIElpdCBpcyBhdmFpbGFibGUgZnJvbVxwYXINCkNQ QyAoc2VlIGh0dHA6Ly96aW5uYW10dXJtLmV1L2Rvd25sb2Fkc09TLmh0bSNPdXRwdXQpIGFuZCBp dCBhcHBlYXJzIHRvIFxwYXINCm1lIHRoYXQgaXQgc2hvdWxkIHByb3ZpZGUgd2hhdCB5b3UgYXJl IHRyeWluZyB0byBzb2x2ZSAuLi5ccGFyDQpccGFyDQpyZWdhcmRzXHBhcg0KLS1ccGFyDQogIEJl cm5oYXJkIFRyZXV0d2VpblxwYXINCiAgTHVkd2lnLU1heGltaWxpYW5zLVVuaXZlcnNpdFwnZTR0 XHBhcg0KICBSZWYuIFZJLjMgQW53ZW5kdW5nc2JldHJldXVuZ1xwYXINCiAgTWFydGl1c3N0ci4g NC9JIFJhdW0gMTA3XHBhcg0KICA4MDgwMiBNXCdmY25jaGVuXHBhcg0KICBUZWwuIDA4OSAyMTgw LTI3NzRccGFyDQogIEZheC4gMDg5IDIxODAtOTkyNzc0XHBhcg0KICBNb2JpbC4gMDE1Mi0wMTU0 OTMzNVxwYXINCiAgZS1tYWlsOiBiZXJuaGFyZCB0cmV1dHdlaW4gKGF0KSB2ZXJ3YWx0dW5nIHVu aS1tdWVuY2hlbiBkZVxwYXINCiBccGFyDQpccGFyDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tXHBhcg0KPiBGcm9tOiBCbGFja0JveCBbbWFpbHRvOkJMQUNLQk9YQExJU1RTLk9CRVJPTi5D SF0gT24gQmVoYWxmIE9mIFxwYXINCj4gUmFpbmVyIE5ldWJhdWVyXHBhcg0KPiBTZW50OiBNb25k YXksIERlY2VtYmVyIDA1LCAyMDExIDc6MDQgUE1ccGFyDQo+IFRvOiBCTEFDS0JPWEBMSVNUUy5P QkVST04uQ0hccGFyDQo+IFN1YmplY3Q6IFtCTEFDS0JPWF0gV3JpdGluZyB0byB0ZXh0IHZpZXcg d2hpbGUgbWFpbnRhaW5pbmcgdGhlIGZvY3VzXHBhcg0KPiBccGFyDQo+IFxwYXINCj4gSGkgYWxs LFxwYXINCj4gXHBhcg0KPiBJIGhhdmUgc29tZSBzbWFsbCBwcm9jZWR1cmVzIGZvciBzaG93aW5n IGEgdGV4dCB2aWV3IGFuZCBccGFyDQo+IHdyaXRpbmcgdGV4dCB0byBpdCBwcm9ncmFtbWF0aWNh bGx5LlxwYXINCj4gUHJvYmxlbTogYWZ0ZXIgd3JpdGUgYWNjZXNzIHRvIHRoZSB2aWV3IGFuZCB1 cGRhdGUgdGhlIHZpZXcgXHBhcg0KPiBnZXRzIHRoZSBmb2N1cy5ccGFyDQo+IFdoYXQgc2hvdWxk IEkgZG8gdG8gaGF2ZSB0aGUgZm9jdXMgbm90IGNoYW5nZWQgYnkgd3JpdGluZyB0byBccGFyDQo+ IGFuZCB1cGRhdGluZyB0aGUgdGV4dCB2aWV3ID9ccGFyDQo+IFxwYXINCj4gUGxlYXNlIGZpbmQg dGhlIGludm9sdmVkIHByb2NlZHVyZXMgYmVsb3c6XHBhcg0KPiBccGFyDQo+IFRZUEVccGFyDQo+ IFRlcm1pbmFsRGVzYyogPSBMSU1JVEVEIFJFQ09SRFxwYXINCj4gd2lkdGgsIGhlaWdodDogSU5U RUdFUjtccGFyDQo+IHRpdGxlOiBQT0lOVEVSIFRPIEFSUkFZIE9GIENIQVI7XHBhcg0KPiBmOiBU ZXh0TWFwcGVycy5Gb3JtYXR0ZXI7XHBhcg0KPiBtOiBUZXh0TW9kZWxzLk1vZGVsXHBhcg0KPiBF TkQ7XHBhcg0KPiBccGFyDQo+IFRlcm1pbmFsKiA9IFBPSU5URVIgVE8gVGVybWluYWxEZXNjO1xw YXINCj4gXHBhcg0KPiBccGFyDQo+IFBST0NFRFVSRSBDcmVhdGUqIChJTiB0aXRsZTogQVJSQVkg T0YgQ0hBUjsgd2lkdGgsIGhlaWdodDogXHBhcg0KPiBJTlRFR0VSKTogVGVybWluYWw7XHBhcg0K PiBWQVJccGFyDQo+IG5ld09iamVjdDogVGVybWluYWw7XHBhcg0KPiBCRUdJTlxwYXINCj4gTkVX IChuZXdPYmplY3QpO1xwYXINCj4gbmV3T2JqZWN0LndpZHRoIDo9IHdpZHRoO1xwYXINCj4gbmV3 T2JqZWN0LmhlaWdodCA6PSBoZWlnaHQ7XHBhcg0KPiBORVcgKG5ld09iamVjdC50aXRsZSwgTEVO ICh0aXRsZSQpICsgMSk7XHBhcg0KPiBuZXdPYmplY3QudGl0bGVeIDo9IHRpdGxlJDtccGFyDQo+ IG5ld09iamVjdC5tIDo9IFRleHRNb2RlbHMuZGlyLk5ldyAoKTtccGFyDQo+IG5ld09iamVjdC5m LkNvbm5lY3RUbyAobmV3T2JqZWN0Lm0pO1xwYXINCj4gUkVUVVJOIG5ld09iamVjdFxwYXINCj4g RU5EIENyZWF0ZTtccGFyDQo+IFxwYXINCj4gUFJPQ0VEVVJFIEZsdXNoICh0ZXJtaW5hbDogVGVy bWluYWwpO1xwYXINCj4gVkFSXHBhcg0KPiBwb3M6IElOVEVHRVI7XHBhcg0KPiBjOiBDb250YWlu ZXJzLkNvbnRyb2xsZXI7XHBhcg0KPiB2OiBWaWV3cy5WaWV3O1xwYXINCj4gQkVHSU5ccGFyDQo+ IGMgOj0gQ29udGFpbmVycy5Gb2N1cyAoKTtccGFyDQo+IHYgOj0gYy5UaGlzVmlldyAoKTtccGFy DQo+IFZpZXdzLlJlc3RvcmVEb21haW4gKHRlcm1pbmFsLm0uRG9tYWluICgpKTsgKCogdXBkYXRl IGRpc3BsYXkgXHBhcg0KPiByaWdodCBub3cgKilccGFyDQo+IHBvcyA6PSB0ZXJtaW5hbC5tLkxl bmd0aCgpO1xwYXINCj4gVGV4dFZpZXdzLlNob3dSYW5nZSAodGVybWluYWwubSwgcG9zLCBwb3Ms IFRleHRWaWV3cy5hbnkpOyAoKiBccGFyDQo+IHNob3cgZW5kIG9mIHRleHQgKilccGFyDQo+IFRl eHRDb250cm9sbGVycy5TZXRDYXJldCAodGVybWluYWwubSwgcG9zKTsgKCogcG9zaXRpb24gXHBh cg0KPiBjdXJzb3IgYXQgZW5kIG9mIHRleHQgKilccGFyDQo+IGMuU2V0Rm9jdXMgKHYpICgqIG1h aW50YWluIGZvY3VzIHZpZXcgcHJpb3IgdG8gd3JpdGluZyAqKVxwYXINCj4gRU5EIEZsdXNoO1xw YXINCj4gXHBhcg0KPiBccGFyDQo+IFByb2NlZHVyZSBGbHVzaCB3cml0ZXMgdG8gYW5kIHVwZGF0 ZXMgdGhlIHRleHQgdmlldy4gVG8gXHBhcg0KPiByZXN0b3JlIHRoZSBmb2N1cyBJIGFkZGVkIHRo ZSBib2xkIGxpbmVzIGJ1dCB0aGUgbGFzdCBsaW5lIHRyYXBzLlxwYXINCj4gRG8gSSByZXF1aXJl IHRvIG1vZGlmeSB0aGUgYm9sZCBsaW5lcyA/XHBhcg0KPiBXb3VsZCB5b3UgcmVjb21tZW5kIHRv IHVzZSBhIHRvdGFsbHkgZGlmZmVyZW50IGFwcHJvYWNoIGZvciBccGFyDQo+IHdyaXRpbmcgYW5k IHVwZGF0aW5nIGEgdGV4dCB2aWV3IGp1c3QgZm9yIGxvZ2dpbmcgcHVycG9zZXMgP1xwYXINCj4g XHBhcg0KPiBUaGFua3MgaW4gYWR2YW5jZSBmb3IgYW55IGhpbnRzLlxwYXINCj4gQmVzdCByZWdh cmRzLFxwYXINCj4gUmFpbmVyXHBhcg0KPiBccGFyDQo+IFxwYXINCj4gXHBhcg0KPiAtLS0tIFRv IHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgXHBhcg0KPiBC TEFDS0JPWCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkNIIFxwYXINCj4gXHBhcg0KXHBhcg0K XHBhcg0KLS0tLVxwYXINClRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkg IlNJR05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTn19AFJMSU5LICI ----boundary-LibPST-iamunique-873783312_-_---Received on Thu Dec 08 2011 - 10:21:39 UTC
This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:09 UTC