Re: [BLACKBOX] New document view, different size

From: [at]} <Rainer>
Date: Wed, 26 Aug 2009 16:40:41 +0200

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

Dear Marc,
thanks for telling the reason of the effect I have observed.

Your answer means to me that I did not open the window in a wrong way
but it shows the same behaviour than "normal BB windows". The effect
was caused by my experiments with very small window widths and does
not show up in every day life.

So I feel happy with this situation :-)

Thanks and best regards,
Rainer


Am 25.08.2009 um 06:06 schrieb Oberon microsystems AG, Tech-Support:

> Dear Rainer,
>
> you are observing an artifact of BlackBox's text rendering
> algorithm in
> cases of long words and narrow columns. Unfortunately, we can neither
> state the exact condition when those "random" lines get inserted nor
> provide a quick correction.
>
> We are sorry about this and hope you find some workaround.
>
> Kind regards,
>
> Marc
>
> Oberon microsystems AG
> www.oberon.ch
> +41 (0)44 445 17 51
>
>
>
>> -----Original Message-----
>> From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy
>> Rainer Neubauer
>> Sent: Freitag, 21. August 2009 15:56
>> To: BlackBox List
>> Subject: [BLACKBOX] New document view, different size
>>
>> Hi all,
>> some times ago there was a question on the mailing list how
>> to open a new document window with size and height being
>> different to the standard values. I need this behaviour to
>> display a couple of very short lines of text and to free the
>> user from having to manually shrink down the window size.
>>
>> A second topic on the list ("updating a text window") showed
>> up how to update the window in order to show the end of text.
>>
>> So I tried to combine these infos into a little module.
>>
>> Problem: the window containing some lines of text showes a
>> strange behaviour when being narrowed down manually until the
>> window width is smaller than the length of the lines. In this
>> case an additional blank line appears below every line of
>> text exceeding the window width. Of course these blank lines
>> do not exist and will disappear again when the window width
>> is made large enougth to show the lines of text in full length.
>>
>> Could anybody please give me a hint how to avoid this behaviour ?
>> Please find my code below.
>>
>> Thanks and best regards,
>> Rainer
>>
>>
>>
>> MODULE TrialsNewWindow;
>>
>> IMPORT Containers, Documents, Ports, TextMappers,
>> Models, TextModels, TextViews, Views;
>>
>> VAR
>> f: TextMappers.Formatter;
>> m: TextModels.Model;
>> v: TextViews.View;
>>
>>
>> PROCEDURE Flush*;
>> BEGIN
>> Views.RestoreDomain (m.Domain ());
>> TextViews.ShowRange (m, m.Length (), m.Length
>> (), TextViews.any)
>> END Flush;
>>
>>
>> PROCEDURE OpenWindow*;
>> VAR
>> d: Documents.Document;
>> c: Containers.Controller;
>> BEGIN
>> m := TextModels.dir.New ();
>> f.ConnectTo (m);
>> v := TextViews.dir.New (m);
>> d := Documents.dir.New (v, 30 * Ports.mm, 60 *
>> Ports.mm);
>> c := d.ThisController ();
>> c.SetOpts (c.opts + {Documents.winWidth} -
>> {Documents.pageWidth});
>> Views.OpenView (d)
>> END OpenWindow;
>>
>>
>> PROCEDURE WriteLn*;
>> BEGIN
>> Models.BeginModification (Models.clean, m);
>> f.WriteLn;
>> Models.EndModification (Models.clean, m);
>> Views.RestoreDomain (m.Domain ());
>> TextViews.ShowRange (m, m.Length (), m.Length
>> (), TextViews.any)
>> END WriteLn;
>>
>> PROCEDURE WriteString* (IN string: ARRAY OF CHAR);
>> BEGIN
>> Models.BeginModification (Models.clean, m);
>> f.WriteString (string);
>> Models.EndModification (Models.clean, m);
>> Views.RestoreDomain (m.Domain ());
>> TextViews.ShowRange (m, m.Length (), m.Length
>> (), TextViews.any)
>> END WriteString;
>>
>> BEGIN
>> END TrialsNewWindow.
>>
>>
>> ----
>> 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


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-752277840_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIERlYXIgTWFyYyxccGFyDQp0aGFua3MgZm9yIHRl
bGxpbmcgdGhlIHJlYXNvbiBvZiB0aGUgZWZmZWN0IEkgaGF2ZSBvYnNlcnZlZC5ccGFyDQpccGFy
DQpZb3VyIGFuc3dlciBtZWFucyB0byBtZSB0aGF0IEkgZGlkIG5vdCBvcGVuIHRoZSB3aW5kb3cg
aW4gYSB3cm9uZyB3YXkgIFxwYXINCmJ1dCBpdCBzaG93cyB0aGUgc2FtZSBiZWhhdmlvdXIgdGhh
biAibm9ybWFsIEJCIHdpbmRvd3MiLiBUaGUgZWZmZWN0ICBccGFyDQp3YXMgY2F1c2VkIGJ5IG15
IGV4cGVyaW1lbnRzIHdpdGggdmVyeSBzbWFsbCB3aW5kb3cgd2lkdGhzIGFuZCBkb2VzICBccGFy
DQpub3Qgc2hvdyB1cCBpbiBldmVyeSBkYXkgbGlmZS5ccGFyDQpccGFyDQpTbyBJIGZlZWwgaGFw
cHkgd2l0aCB0aGlzIHNpdHVhdGlvbiA6LSlccGFyDQpccGFyDQpUaGFua3MgYW5kIGJlc3QgcmVn
YXJkcyxccGFyDQpSYWluZXJccGFyDQpccGFyDQpccGFyDQpBbSAyNS4wOC4yMDA5IHVtIDA2OjA2
IHNjaHJpZWIgT2Jlcm9uIG1pY3Jvc3lzdGVtcyBBRywgVGVjaC1TdXBwb3J0OlxwYXINClxwYXIN
Cj4gRGVhciBSYWluZXIsXHBhcg0KPlxwYXINCj4geW91IGFyZSBvYnNlcnZpbmcgYW4gYXJ0aWZh
Y3Qgb2YgQmxhY2tCb3gncyB0ZXh0IHJlbmRlcmluZyAgXHBhcg0KPiBhbGdvcml0aG0gaW5ccGFy
DQo+IGNhc2VzIG9mIGxvbmcgd29yZHMgYW5kIG5hcnJvdyBjb2x1bW5zLiBVbmZvcnR1bmF0ZWx5
LCB3ZSBjYW4gbmVpdGhlclxwYXINCj4gc3RhdGUgdGhlIGV4YWN0IGNvbmRpdGlvbiB3aGVuIHRo
b3NlICJyYW5kb20iIGxpbmVzIGdldCBpbnNlcnRlZCBub3JccGFyDQo+IHByb3ZpZGUgYSBxdWlj
ayBjb3JyZWN0aW9uLlxwYXINCj5ccGFyDQo+IFdlIGFyZSBzb3JyeSBhYm91dCB0aGlzIGFuZCBo
b3BlIHlvdSBmaW5kIHNvbWUgd29ya2Fyb3VuZC5ccGFyDQo+XHBhcg0KPiBLaW5kIHJlZ2FyZHMs
XHBhcg0KPlxwYXINCj4gTWFyY1xwYXINCj5ccGFyDQo+IE9iZXJvbiBtaWNyb3N5c3RlbXMgQUdc
cGFyDQo+IHd3dy5vYmVyb24uY2hccGFyDQo+ICs0MSAoMCk0NCA0NDUgMTcgNTFccGFyDQo+XHBh
cg0KPlxwYXINCj5ccGFyDQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLVxwYXINCj4+IEZy
b206IEJsYWNrQm94IFttYWlsdG86QkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIXSBPbiBCZWhhbGYg
T2ZccGFyDQo+PiBSYWluZXIgTmV1YmF1ZXJccGFyDQo+PiBTZW50OiBGcmVpdGFnLCAyMS4gQXVn
dXN0IDIwMDkgMTU6NTZccGFyDQo+PiBUbzogQmxhY2tCb3ggTGlzdFxwYXINCj4+IFN1YmplY3Q6
IFtCTEFDS0JPWF0gTmV3IGRvY3VtZW50IHZpZXcsIGRpZmZlcmVudCBzaXplXHBhcg0KPj5ccGFy
DQo+PiBIaSBhbGwsXHBhcg0KPj4gc29tZSB0aW1lcyBhZ28gdGhlcmUgd2FzIGEgcXVlc3Rpb24g
b24gdGhlIG1haWxpbmcgbGlzdCBob3dccGFyDQo+PiB0byBvcGVuIGEgbmV3IGRvY3VtZW50IHdp
bmRvdyB3aXRoIHNpemUgYW5kIGhlaWdodCBiZWluZ1xwYXINCj4+IGRpZmZlcmVudCB0byB0aGUg
c3RhbmRhcmQgdmFsdWVzLiBJIG5lZWQgdGhpcyBiZWhhdmlvdXIgdG9ccGFyDQo+PiBkaXNwbGF5
IGEgY291cGxlIG9mIHZlcnkgc2hvcnQgbGluZXMgb2YgdGV4dCBhbmQgdG8gZnJlZSB0aGVccGFy
DQo+PiB1c2VyIGZyb20gaGF2aW5nIHRvIG1hbnVhbGx5IHNocmluayBkb3duIHRoZSB3aW5kb3cg
c2l6ZS5ccGFyDQo+PlxwYXINCj4+IEEgc2Vjb25kIHRvcGljIG9uIHRoZSBsaXN0ICgidXBkYXRp
bmcgYSB0ZXh0IHdpbmRvdyIpIHNob3dlZFxwYXINCj4+IHVwIGhvdyB0byB1cGRhdGUgdGhlIHdp
bmRvdyBpbiBvcmRlciB0byBzaG93IHRoZSBlbmQgb2YgdGV4dC5ccGFyDQo+PlxwYXINCj4+IFNv
IEkgdHJpZWQgdG8gY29tYmluZSB0aGVzZSBpbmZvcyBpbnRvIGEgbGl0dGxlIG1vZHVsZS5ccGFy
DQo+PlxwYXINCj4+IFByb2JsZW06IHRoZSB3aW5kb3cgY29udGFpbmluZyBzb21lIGxpbmVzIG9m
IHRleHQgc2hvd2VzIGFccGFyDQo+PiBzdHJhbmdlIGJlaGF2aW91ciB3aGVuIGJlaW5nIG5hcnJv
d2VkIGRvd24gbWFudWFsbHkgdW50aWwgdGhlXHBhcg0KPj4gd2luZG93IHdpZHRoIGlzIHNtYWxs
ZXIgdGhhbiB0aGUgbGVuZ3RoIG9mIHRoZSBsaW5lcy4gSW4gdGhpc1xwYXINCj4+IGNhc2UgYW4g
YWRkaXRpb25hbCBibGFuayBsaW5lIGFwcGVhcnMgYmVsb3cgZXZlcnkgbGluZSBvZlxwYXINCj4+
IHRleHQgZXhjZWVkaW5nIHRoZSB3aW5kb3cgd2lkdGguIE9mIGNvdXJzZSB0aGVzZSBibGFuayBs
aW5lc1xwYXINCj4+IGRvIG5vdCBleGlzdCBhbmQgd2lsbCBkaXNhcHBlYXIgYWdhaW4gd2hlbiB0
aGUgd2luZG93IHdpZHRoXHBhcg0KPj4gaXMgbWFkZSBsYXJnZSBlbm91Z3RoIHRvIHNob3cgdGhl
IGxpbmVzIG9mIHRleHQgaW4gZnVsbCBsZW5ndGguXHBhcg0KPj5ccGFyDQo+PiBDb3VsZCBhbnli
b2R5IHBsZWFzZSBnaXZlIG1lIGEgaGludCBob3cgdG8gYXZvaWQgdGhpcyBiZWhhdmlvdXIgP1xw
YXINCj4+IFBsZWFzZSBmaW5kIG15IGNvZGUgYmVsb3cuXHBhcg0KPj5ccGFyDQo+PiBUaGFua3Mg
YW5kIGJlc3QgcmVnYXJkcyxccGFyDQo+PiBSYWluZXJccGFyDQo+PlxwYXINCj4+XHBhcg0KPj5c
cGFyDQo+PiBNT0RVTEUgVHJpYWxzTmV3V2luZG93O1xwYXINCj4+XHBhcg0KPj4gXHRhYiBJTVBP
UlQgQ29udGFpbmVycywgRG9jdW1lbnRzLCBQb3J0cywgVGV4dE1hcHBlcnMsXHBhcg0KPj4gTW9k
ZWxzLCBUZXh0TW9kZWxzLCBUZXh0Vmlld3MsIFZpZXdzO1xwYXINCj4+XHBhcg0KPj4gXHRhYiBW
QVJccGFyDQo+PiBcdGFiIGY6IFRleHRNYXBwZXJzLkZvcm1hdHRlcjtccGFyDQo+PiBcdGFiIG06
IFRleHRNb2RlbHMuTW9kZWw7XHBhcg0KPj4gXHRhYiB2OiBUZXh0Vmlld3MuVmlldztccGFyDQo+
PiBcdGFiIFxwYXINCj4+XHBhcg0KPj4gXHRhYiBQUk9DRURVUkUgRmx1c2gqO1xwYXINCj4+IFx0
YWIgQkVHSU5ccGFyDQo+PiBcdGFiIFx0YWIgVmlld3MuUmVzdG9yZURvbWFpbiAobS5Eb21haW4g
KCkpO1xwYXINCj4+IFx0YWIgXHRhYiBUZXh0Vmlld3MuU2hvd1JhbmdlIChtLCBtLkxlbmd0aCAo
KSwgbS5MZW5ndGhccGFyDQo+PiAoKSwgVGV4dFZpZXdzLmFueSlccGFyDQo+PiBcdGFiIEVORCBG
bHVzaDtccGFyDQo+PlxwYXINCj4+XHBhcg0KPj4gXHRhYiBQUk9DRURVUkUgT3BlbldpbmRvdyo7
XHBhcg0KPj4gXHRhYiBcdGFiIFZBUlxwYXINCj4+IFx0YWIgXHRhYiBcdGFiIGQ6IERvY3VtZW50
cy5Eb2N1bWVudDtccGFyDQo+PiBcdGFiIFx0YWIgXHRhYiBjOiBDb250YWluZXJzLkNvbnRyb2xs
ZXI7XHBhcg0KPj4gXHRhYiBCRUdJTlxwYXINCj4+IFx0YWIgXHRhYiBtIDo9IFRleHRNb2RlbHMu
ZGlyLk5ldyAoKTtccGFyDQo+PiBcdGFiIFx0YWIgZi5Db25uZWN0VG8gKG0pO1xwYXINCj4+IFx0
YWIgXHRhYiB2IDo9IFRleHRWaWV3cy5kaXIuTmV3IChtKTtccGFyDQo+PiBcdGFiIFx0YWIgZCA6
PSBEb2N1bWVudHMuZGlyLk5ldyAodiwgMzAgKiBQb3J0cy5tbSwgNjAgKlxwYXINCj4+IFBvcnRz
Lm1tKTtccGFyDQo+PiBcdGFiIFx0YWIgYyA6PSBkLlRoaXNDb250cm9sbGVyICgpO1xwYXINCj4+
IFx0YWIgXHRhYiBjLlNldE9wdHMgKGMub3B0cyArIFx7RG9jdW1lbnRzLndpbldpZHRoXH0gLVxw
YXINCj4+IFx7RG9jdW1lbnRzLnBhZ2VXaWR0aFx9KTtccGFyDQo+PiBcdGFiIFx0YWIgVmlld3Mu
T3BlblZpZXcgKGQpXHBhcg0KPj4gXHRhYiBFTkQgT3BlbldpbmRvdztccGFyDQo+PlxwYXINCj4+
XHBhcg0KPj4gXHRhYiBQUk9DRURVUkUgV3JpdGVMbio7XHBhcg0KPj4gXHRhYiBCRUdJTlxwYXIN
Cj4+IFx0YWIgXHRhYiBNb2RlbHMuQmVnaW5Nb2RpZmljYXRpb24gKE1vZGVscy5jbGVhbiwgbSk7
XHBhcg0KPj4gXHRhYiBcdGFiIGYuV3JpdGVMbjtccGFyDQo+PiBcdGFiIFx0YWIgTW9kZWxzLkVu
ZE1vZGlmaWNhdGlvbiAoTW9kZWxzLmNsZWFuLCBtKTtccGFyDQo+PiBcdGFiIFx0YWIgVmlld3Mu
UmVzdG9yZURvbWFpbiAobS5Eb21haW4gKCkpO1xwYXINCj4+IFx0YWIgXHRhYiBUZXh0Vmlld3Mu
U2hvd1JhbmdlIChtLCBtLkxlbmd0aCAoKSwgbS5MZW5ndGhccGFyDQo+PiAoKSwgVGV4dFZpZXdz
LmFueSlccGFyDQo+PiBcdGFiIEVORCBXcml0ZUxuO1xwYXINCj4+XHBhcg0KPj4gXHRhYiBQUk9D
RURVUkUgV3JpdGVTdHJpbmcqIChJTiBzdHJpbmc6IEFSUkFZIE9GIENIQVIpO1xwYXINCj4+IFx0
YWIgQkVHSU5ccGFyDQo+PiBcdGFiIFx0YWIgTW9kZWxzLkJlZ2luTW9kaWZpY2F0aW9uIChNb2Rl
bHMuY2xlYW4sIG0pO1xwYXINCj4+IFx0YWIgXHRhYiBmLldyaXRlU3RyaW5nIChzdHJpbmcpO1xw
YXINCj4+IFx0YWIgXHRhYiBNb2RlbHMuRW5kTW9kaWZpY2F0aW9uIChNb2RlbHMuY2xlYW4sIG0p
O1xwYXINCj4+IFx0YWIgXHRhYiBWaWV3cy5SZXN0b3JlRG9tYWluIChtLkRvbWFpbiAoKSk7XHBh
cg0KPj4gXHRhYiBcdGFiIFRleHRWaWV3cy5TaG93UmFuZ2UgKG0sIG0uTGVuZ3RoICgpLCBtLkxl
bmd0aFxwYXINCj4+ICgpLCBUZXh0Vmlld3MuYW55KVxwYXINCj4+IFx0YWIgRU5EIFdyaXRlU3Ry
aW5nO1xwYXINCj4+XHBhcg0KPj4gQkVHSU5ccGFyDQo+PiBFTkQgVHJpYWxzTmV3V2luZG93Llxw
YXINCj4+XHBhcg0KPj5ccGFyDQo+PiAtLS0tXHBhcg0KPj4gVG8gdW5zdWJzY3JpYmUsIHNlbmQg
YSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFDS0JPWCJccGFyDQo+PiB0byBMSVNUU0VS
VkBMSVNUUy5PQkVST04uQ0hccGFyDQo+PlxwYXINCj5ccGFyDQo+XHBhcg0KPiAtLS0tXHBhcg0K
PiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJTSUdOT0ZGIEJMQUNL
Qk9YIiB0byAgXHBhcg0KPiBMSVNUU0VSVkBMSVNUUy5PQkVST04uQ0hccGFyDQpccGFyDQpccGFy
DQotLS0tXHBhcg0KVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lH
Tk9GRiBCTEFDS0JPWCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkNIXHBhcg0KfQ==
----boundary-LibPST-iamunique-752277840_-_---
Received on Wed Aug 26 2009 - 16:40:41 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:42 UTC