Re: [BLACKBOX] [...] limiting integer values in interactor field

From: [at]} <Robert>
Date: Fri, 15 Jan 2010 14:51:45 +0000

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

On 15/01/2010 07:06, Gunnar Bernhardt wrote:

> - This form of the user interface is not intended for people, who type
> at very low speed.

You could try delaying the update for 2 seconds?


> Btw: what is the English term for "one finger search
> system" if it circles above the keyboard like an eagle?

The best I can think of is 'Hunt & peck'.


> Apart from that, I like it. :-)

As I originally said, there is no perfect solution, but this works for
me. I know that Chris has difficulty with the second button on his TV remote
control, but we don't know how many tinnies of Fosters he has drunk!


Some 'style' observations:

1 - Why, in 'Do', add the line "self := NIL"? I think this just clears a few
bits on the stack immediately before handing them back to the system
to be overwritten by who knows what. Did you intend something else?

2 - After all these years I am so used to Oms's capitalisation conventions (see
Programming Conventions 'Docu\BB-Rules' section 8) that I find it a bit
difficult to read code written differently.

But I am in not in a good position to comment as I (usually) ignore some
of the other sections!

Cheers

Robert

>
> TYPE
> CocCharacter* = EXTENSIBLE RECORD
> St_ko_ma_ge_er_Gr_in_Bi*: ARRAY 8 OF INTEGER; (* 5x3W6; 2x2W6+6; 1x3W6+3 *)
> [...]
> END;
> attNotifierAction = POINTER TO RECORD( Services.Action )
> n, to: INTEGER;
> END;
>
> VAR
> iact*: CocCharacterUi; (* interactor field *)
> attActionObj*: attNotifierAction;
>
> PROCEDURE checkAndCompute( n, to: INTEGER );
> [ ... ]
> END checkAndCompute;
>
>
> PROCEDURE ( self: attNotifierAction ) Do-;
> BEGIN
> checkAndCompute( self.n, self.to );
> self := NIL;
> END Do;
>
>
> PROCEDURE attNotifier*( n, op, from, to: INTEGER );
> BEGIN
> IF op=Dialog.changed THEN
> IF attActionObj # NIL THEN
> Services.RemoveAction( attActionObj );
> IF attActionObj.n#n THEN
> (* first execute last stored action for others fields *)
> checkAndCompute( attActionObj.n, attActionObj.to );
> END; END;
> NEW( attActionObj );
> attActionObj.n := n;
> attActionObj.to := to;
> Services.DoLater (attActionObj, Services.Ticks () + Services.resolution)
> END;
> END attNotifier;
>
>
>
>
>
>
> Robert schrieb:
>> On 12/01/2010 17:08, Bernhardt, Gunnar wrote:

>>> Folks,
>>>
>>> thank you for the feedback on this one!
>>
>>> {([at]})nowhere.xy
>>> calculations) with Services.Action might just be easy enough for me
>>> to give it a try. :-)
>>
>>

>> I attach below an example from one of my Modules:

>>
>>
>> TYPE
>> Notifier = POINTER TO RECORD (Services.Action)
>> from, to : INTEGER
>> END;

>>
>> PROCEDURE Notify* (op, from, to : INTEGER);
>> BEGIN
>> IF op = Dialog.changed THEN
>> ...
>> Dialog.Update (dlg)
>> END
>> END Notify;

>>
>> PROCEDURE NotifyLater* (op, from, to : INTEGER);
>> BEGIN
>> IF op = Dialog.changed THEN
>> Services.RemoveAction (notifier);
>> notifier.from := from;
>> notifier.to := to;
>> Services.DoLater (notifier, Services.Ticks () + Services.resolution)
>> END
>> END NotifyLater;
>>

>> PROCEDURE (notifier : Notifier) Do;
>> BEGIN
>> Notify (Dialog.changed, notifier.from, notifier.to)
>> END Do;
>>
>>
>> Regards
>>
>> Robert
>>
>>
>> ----
>> 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
>
>
>
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 9.0.725 / Virus Database: 270.14.142/2623 - Release Date: 01/15/10 07:35:00
>


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-765131294_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIE9uIDE1LzAxLzIwMTAgMDc6MDYsIEd1bm5hciBC
ZXJuaGFyZHQgd3JvdGU6XHBhcg0KXHBhcg0KPiAtIFRoaXMgZm9ybSBvZiB0aGUgdXNlciBpbnRl
cmZhY2UgaXMgbm90IGludGVuZGVkIGZvciBwZW9wbGUsIHdobyB0eXBlXHBhcg0KPiBhdCB2ZXJ5
IGxvdyBzcGVlZC5ccGFyDQpccGFyDQpZb3UgY291bGQgdHJ5IGRlbGF5aW5nIHRoZSB1cGRhdGUg
Zm9yIDIgc2Vjb25kcz9ccGFyDQpccGFyDQpccGFyDQo+IEJ0dzogd2hhdCBpcyB0aGUgRW5nbGlz
aCB0ZXJtIGZvciAib25lIGZpbmdlciBzZWFyY2hccGFyDQo+IHN5c3RlbSIgaWYgaXQgY2lyY2xl
cyBhYm92ZSB0aGUga2V5Ym9hcmQgbGlrZSBhbiBlYWdsZT9ccGFyDQpccGFyDQpUaGUgYmVzdCBJ
IGNhbiB0aGluayBvZiBpcyAnSHVudCAmIHBlY2snLlxwYXINClxwYXINClxwYXINCj4gQXBhcnQg
ZnJvbSB0aGF0LCBJIGxpa2UgaXQuIDotKVxwYXINClxwYXINCkFzIEkgb3JpZ2luYWxseSBzYWlk
LCB0aGVyZSBpcyBubyBwZXJmZWN0IHNvbHV0aW9uLCBidXQgdGhpcyB3b3JrcyBmb3JccGFyDQpt
ZS4gSSBrbm93IHRoYXQgQ2hyaXMgaGFzIGRpZmZpY3VsdHkgd2l0aCB0aGUgc2Vjb25kIGJ1dHRv
biBvbiBoaXMgVFYgcmVtb3RlXHBhcg0KY29udHJvbCwgYnV0IHdlIGRvbid0IGtub3cgaG93IG1h
bnkgdGlubmllcyBvZiBGb3N0ZXJzIGhlIGhhcyBkcnVuayFccGFyDQpccGFyDQpccGFyDQpTb21l
ICdzdHlsZScgb2JzZXJ2YXRpb25zOlxwYXINClxwYXINCjEgLSBXaHksIGluICdEbycsIGFkZCB0
aGUgbGluZSAic2VsZiA6PSBOSUwiPyBJIHRoaW5rIHRoaXMganVzdCBjbGVhcnMgYSBmZXdccGFy
DQpiaXRzIG9uIHRoZSBzdGFjayBpbW1lZGlhdGVseSBiZWZvcmUgaGFuZGluZyB0aGVtIGJhY2sg
dG8gdGhlIHN5c3RlbVxwYXINCnRvIGJlIG92ZXJ3cml0dGVuIGJ5IHdobyBrbm93cyB3aGF0LiBE
aWQgeW91IGludGVuZCBzb21ldGhpbmcgZWxzZT9ccGFyDQpccGFyDQoyIC0gQWZ0ZXIgYWxsIHRo
ZXNlIHllYXJzIEkgYW0gc28gdXNlZCB0byBPbXMncyBjYXBpdGFsaXNhdGlvbiBjb252ZW50aW9u
cyAoc2VlXHBhcg0KUHJvZ3JhbW1pbmcgQ29udmVudGlvbnMgJ0RvY3VcXEJCLVJ1bGVzJyBzZWN0
aW9uIDgpIHRoYXQgSSBmaW5kIGl0IGEgYml0IFxwYXINCmRpZmZpY3VsdCB0byByZWFkIGNvZGUg
d3JpdHRlbiBkaWZmZXJlbnRseS5ccGFyDQpccGFyDQpCdXQgSSBhbSBpbiBub3QgaW4gYSBnb29k
IHBvc2l0aW9uIHRvIGNvbW1lbnQgYXMgSSAodXN1YWxseSkgaWdub3JlIHNvbWVccGFyDQpvZiB0
aGUgb3RoZXIgc2VjdGlvbnMhXHBhcg0KXHBhcg0KQ2hlZXJzXHBhcg0KXHBhcg0KUm9iZXJ0XHBh
cg0KXHBhcg0KPlxwYXINCj4gVFlQRVxwYXINCj4gQ29jQ2hhcmFjdGVyKiA9IEVYVEVOU0lCTEUg
UkVDT1JEXHBhcg0KPiBTdF9rb19tYV9nZV9lcl9Hcl9pbl9CaSo6IEFSUkFZIDggT0YgSU5URUdF
UjsgKCogNXgzVzY7IDJ4Mlc2KzY7IDF4M1c2KzMgKilccGFyDQo+IFsuLi5dXHBhcg0KPiBFTkQ7
XHBhcg0KPiBhdHROb3RpZmllckFjdGlvbiA9IFBPSU5URVIgVE8gUkVDT1JEKCBTZXJ2aWNlcy5B
Y3Rpb24gKVxwYXINCj4gbiwgdG86IElOVEVHRVI7XHBhcg0KPiBFTkQ7XHBhcg0KPlxwYXINCj4g
VkFSXHBhcg0KPiBpYWN0KjogQ29jQ2hhcmFjdGVyVWk7ICgqIGludGVyYWN0b3IgZmllbGQgKilc
cGFyDQo+IGF0dEFjdGlvbk9iaio6IGF0dE5vdGlmaWVyQWN0aW9uO1xwYXINCj5ccGFyDQo+IFBS
T0NFRFVSRSBjaGVja0FuZENvbXB1dGUoIG4sIHRvOiBJTlRFR0VSICk7XHBhcg0KPiBbIC4uLiBd
XHBhcg0KPiBFTkQgY2hlY2tBbmRDb21wdXRlO1xwYXINCj5ccGFyDQo+XHBhcg0KPiBQUk9DRURV
UkUgKCBzZWxmOiBhdHROb3RpZmllckFjdGlvbiApIERvLTtccGFyDQo+IEJFR0lOXHBhcg0KPiBj
aGVja0FuZENvbXB1dGUoIHNlbGYubiwgc2VsZi50byApO1xwYXINCj4gc2VsZiA6PSBOSUw7XHBh
cg0KPiBFTkQgRG87XHBhcg0KPlxwYXINCj5ccGFyDQo+IFBST0NFRFVSRSBhdHROb3RpZmllcioo
IG4sIG9wLCBmcm9tLCB0bzogSU5URUdFUiApO1xwYXINCj4gQkVHSU5ccGFyDQo+IElGIG9wPURp
YWxvZy5jaGFuZ2VkIFRIRU5ccGFyDQo+IElGIGF0dEFjdGlvbk9iaiAjIE5JTCBUSEVOXHBhcg0K
PiBTZXJ2aWNlcy5SZW1vdmVBY3Rpb24oIGF0dEFjdGlvbk9iaiApO1xwYXINCj4gSUYgYXR0QWN0
aW9uT2JqLm4jbiBUSEVOXHBhcg0KPiAoKiBmaXJzdCBleGVjdXRlIGxhc3Qgc3RvcmVkIGFjdGlv
biBmb3Igb3RoZXJzIGZpZWxkcyAqKVxwYXINCj4gY2hlY2tBbmRDb21wdXRlKCBhdHRBY3Rpb25P
YmoubiwgYXR0QWN0aW9uT2JqLnRvICk7XHBhcg0KPiBFTkQ7IEVORDtccGFyDQo+IE5FVyggYXR0
QWN0aW9uT2JqICk7XHBhcg0KPiBhdHRBY3Rpb25PYmoubiA6PSBuO1xwYXINCj4gYXR0QWN0aW9u
T2JqLnRvIDo9IHRvO1xwYXINCj4gU2VydmljZXMuRG9MYXRlciAoYXR0QWN0aW9uT2JqLCBTZXJ2
aWNlcy5UaWNrcyAoKSArIFNlcnZpY2VzLnJlc29sdXRpb24pXHBhcg0KPiBFTkQ7XHBhcg0KPiBF
TkQgYXR0Tm90aWZpZXI7XHBhcg0KPlxwYXINCj5ccGFyDQo+XHBhcg0KPlxwYXINCj5ccGFyDQo+
XHBhcg0KPiBSb2JlcnQgc2NocmllYjpccGFyDQo+PiBPbiAxMi8wMS8yMDEwIDE3OjA4LCBCZXJu
aGFyZHQsIEd1bm5hciB3cm90ZTpccGFyDQo+Pj4gRm9sa3MsXHBhcg0KPj4+XHBhcg0KPj4+IHRo
YW5rIHlvdSBmb3IgdGhlIGZlZWRiYWNrIG9uIHRoaXMgb25lIVxwYXINCj4+XHBhcg0KPj4+IEBS
b2JlcnQ6IERlbGF5aW5nIHRoZSB2YWxpZGl0eSBjaGVjayAoYW5kIHRoZSBzdWJzZXF1ZW50XHBh
cg0KPj4+IGNhbGN1bGF0aW9ucykgd2l0aCBTZXJ2aWNlcy5BY3Rpb24gbWlnaHQganVzdCBiZSBl
YXN5IGVub3VnaCBmb3IgbWVccGFyDQo+Pj4gdG8gZ2l2ZSBpdCBhIHRyeS4gOi0pXHBhcg0KPj5c
cGFyDQo+PlxwYXINCj4+IEkgYXR0YWNoIGJlbG93IGFuIGV4YW1wbGUgZnJvbSBvbmUgb2YgbXkg
TW9kdWxlczpccGFyDQo+PlxwYXINCj4+XHBhcg0KPj4gVFlQRVxwYXINCj4+IE5vdGlmaWVyID0g
UE9JTlRFUiBUTyBSRUNPUkQgKFNlcnZpY2VzLkFjdGlvbilccGFyDQo+PiBmcm9tLCB0byA6IElO
VEVHRVJccGFyDQo+PiBFTkQ7XHBhcg0KPj5ccGFyDQo+PiBQUk9DRURVUkUgTm90aWZ5KiAob3As
IGZyb20sIHRvIDogSU5URUdFUik7XHBhcg0KPj4gQkVHSU5ccGFyDQo+PiBJRiBvcCA9IERpYWxv
Zy5jaGFuZ2VkIFRIRU5ccGFyDQo+PiAuLi5ccGFyDQo+PiBEaWFsb2cuVXBkYXRlIChkbGcpXHBh
cg0KPj4gRU5EXHBhcg0KPj4gRU5EIE5vdGlmeTtccGFyDQo+PlxwYXINCj4+IFBST0NFRFVSRSBO
b3RpZnlMYXRlciogKG9wLCBmcm9tLCB0byA6IElOVEVHRVIpO1xwYXINCj4+IEJFR0lOXHBhcg0K
Pj4gSUYgb3AgPSBEaWFsb2cuY2hhbmdlZCBUSEVOXHBhcg0KPj4gU2VydmljZXMuUmVtb3ZlQWN0
aW9uIChub3RpZmllcik7XHBhcg0KPj4gbm90aWZpZXIuZnJvbSA6PSBmcm9tO1xwYXINCj4+IG5v
dGlmaWVyLnRvIDo9IHRvO1xwYXINCj4+IFNlcnZpY2VzLkRvTGF0ZXIgKG5vdGlmaWVyLCBTZXJ2
aWNlcy5UaWNrcyAoKSArIFNlcnZpY2VzLnJlc29sdXRpb24pXHBhcg0KPj4gRU5EXHBhcg0KPj4g
RU5EIE5vdGlmeUxhdGVyO1xwYXINCj4+XHBhcg0KPj4gUFJPQ0VEVVJFIChub3RpZmllciA6IE5v
dGlmaWVyKSBEbztccGFyDQo+PiBCRUdJTlxwYXINCj4+IE5vdGlmeSAoRGlhbG9nLmNoYW5nZWQs
IG5vdGlmaWVyLmZyb20sIG5vdGlmaWVyLnRvKVxwYXINCj4+IEVORCBEbztccGFyDQo+PlxwYXIN
Cj4+XHBhcg0KPj4gUmVnYXJkc1xwYXINCj4+XHBhcg0KPj4gUm9iZXJ0XHBhcg0KPj5ccGFyDQo+
PlxwYXINCj4+IC0tLS1ccGFyDQo+PiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0
aCBib2R5ICJTSUdOT0ZGIEJMQUNLQk9YIiB0b1xwYXINCj4+IExJU1RTRVJWQExJU1RTLk9CRVJP
Ti5DSFxwYXINCj4+XHBhcg0KPlxwYXINCj5ccGFyDQo+XHBhcg0KPiAtLS0tXHBhcg0KPiBUbyB1
bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJTSUdOT0ZGIEJMQUNLQk9YIiB0
b1xwYXINCj4gTElTVFNFUlZATElTVFMuT0JFUk9OLkNIXHBhcg0KPlxwYXINCj5ccGFyDQo+XHBh
cg0KPlxwYXINCj4gTm8gdmlydXMgZm91bmQgaW4gdGhpcyBpbmNvbWluZyBtZXNzYWdlLlxwYXIN
Cj4gQ2hlY2tlZCBieSBBVkcgLSB3d3cuYXZnLmNvbVxwYXINCj4gVmVyc2lvbjogOS4wLjcyNSAv
IFZpcnVzIERhdGFiYXNlOiAyNzAuMTQuMTQyLzI2MjMgLSBSZWxlYXNlIERhdGU6IDAxLzE1LzEw
IDA3OjM1OjAwXHBhcg0KPlxwYXINClxwYXINClxwYXINCi0tLS1ccGFyDQpUbyB1bnN1YnNjcmli
ZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJTSUdOT0ZGIEJMQUNLQk9YIiB0byBMSVNUU0VS
VkBMSVNUUy5PfX0AMTkyLjE2OC4xMC4x
----boundary-LibPST-iamunique-765131294_-_---
Received on Fri Jan 15 2010 - 15:51:45 UTC

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