- Getting key strokes

From: Douglas G. Danforth <"Douglas>
Date: Mon, 18 Sep 2006 23:54:48 -0400

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

I have read the Views and Controllers documentation about inplementing
HandleCtrlMsg

        View = POINTER TO ABSTRACT RECORD (Stores.Store)
            context-: Models.Context;
(s: Stores.Store) Domain (): Stores.Domain, NEW;
(v: View) GetBackground (VAR color: Ports.Color), NEW, EMPTY;
(v: View) GetNewFrame (VAR frame: Frame), NEW, EMPTY;
(v: View) HandleCtrlMsg (f: Frame; VAR msg: CtrlMessage; VAR
focus: View), NEW, EMPTY;
(v: View) InitContext (context: Models.Context), NEW,
EXTENSIBLE;
(v: View) Neutralize, NEW, EMPTY;
(v: View) Restore (f: Frame; l, t, r, b: INTEGER), NEW,
ABSTRACT;
(v: View) RestoreMarks (f: Frame; l, t, r, b: INTEGER), NEW,
EMPTY;
(v: View) ThisModel (): Models.Model, NEW, EXTENSIBLE
        END;

Notice that HandleCtrlMsg is EMPTY within an ABSTRACT record.
As such I would have thought that a simple extension of

    TYPE
       MyViewA = POINTER TO EXTENSIBLE RECORD(Views.View) END;
          ... where MyViewA.Restore is implemented.

        MyViewB = POINTER TO EXTENSIBLE RECORD(MyViewA) END;

would have allowed me to implement
    PROCEDURE (v: MyViewB) HandleCtrlMsg (f: Views.Frame; VAR msg:
Views.CtrlMessage; VAR focus: Views.View);
    BEGIN
    END HandleCtrlMsg;

but no, the compiler complains with "base procedure is not extensible".
But both A and B views
are marked extensible for the ABSTRACT Views.View.

How can I implement HandleCtrlMsg for MyViewB so I can capture key
strokes into views of
this type?

-Doug

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy



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

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEkgaGF2ZSByZWFkIHRoZSBWaWV3cyBhbmQgQ29u
dHJvbGxlcnMgZG9jdW1lbnRhdGlvbiBhYm91dCBpbnBsZW1lbnRpbmdccGFyDQpIYW5kbGVDdHJs
TXNnXHBhcg0KXHBhcg0KICAgICAgICBWaWV3ID0gUE9JTlRFUiBUTyBBQlNUUkFDVCBSRUNPUkQg
KFN0b3Jlcy5TdG9yZSlccGFyDQogICAgICAgICAgICBjb250ZXh0LTogTW9kZWxzLkNvbnRleHQ7
XHBhcg0KICAgICAgICAgICAgKHM6IFN0b3Jlcy5TdG9yZSkgRG9tYWluICgpOiBTdG9yZXMuRG9t
YWluLCBORVc7XHBhcg0KICAgICAgICAgICAgKHY6IFZpZXcpIEdldEJhY2tncm91bmQgKFZBUiBj
b2xvcjogUG9ydHMuQ29sb3IpLCBORVcsIEVNUFRZO1xwYXINCiAgICAgICAgICAgICh2OiBWaWV3
KSBHZXROZXdGcmFtZSAoVkFSIGZyYW1lOiBGcmFtZSksIE5FVywgRU1QVFk7XHBhcg0KICAgICAg
ICAgICAgKHY6IFZpZXcpIEhhbmRsZUN0cmxNc2cgKGY6IEZyYW1lOyBWQVIgbXNnOiBDdHJsTWVz
c2FnZTsgVkFSIFxwYXINCmZvY3VzOiBWaWV3KSwgTkVXLCBFTVBUWTtccGFyDQogICAgICAgICAg
ICAodjogVmlldykgSW5pdENvbnRleHQgKGNvbnRleHQ6IE1vZGVscy5Db250ZXh0KSwgTkVXLCBc
cGFyDQpFWFRFTlNJQkxFO1xwYXINCiAgICAgICAgICAgICh2OiBWaWV3KSBOZXV0cmFsaXplLCBO
RVcsIEVNUFRZO1xwYXINCiAgICAgICAgICAgICh2OiBWaWV3KSBSZXN0b3JlIChmOiBGcmFtZTsg
bCwgdCwgciwgYjogSU5URUdFUiksIE5FVywgXHBhcg0KQUJTVFJBQ1Q7XHBhcg0KICAgICAgICAg
ICAgKHY6IFZpZXcpIFJlc3RvcmVNYXJrcyAoZjogRnJhbWU7IGwsIHQsIHIsIGI6IElOVEVHRVIp
LCBORVcsIFxwYXINCkVNUFRZO1xwYXINCiAgICAgICAgICAgICh2OiBWaWV3KSBUaGlzTW9kZWwg
KCk6IE1vZGVscy5Nb2RlbCwgTkVXLCBFWFRFTlNJQkxFXHBhcg0KICAgICAgICBFTkQ7XHBhcg0K
XHBhcg0KTm90aWNlIHRoYXQgSGFuZGxlQ3RybE1zZyBpcyBFTVBUWSB3aXRoaW4gYW4gQUJTVFJB
Q1QgcmVjb3JkLlxwYXINCkFzIHN1Y2ggSSB3b3VsZCBoYXZlIHRob3VnaHQgdGhhdCBhIHNpbXBs
ZSBleHRlbnNpb24gb2ZccGFyDQpccGFyDQogICAgVFlQRVxwYXINCiAgICAgICBNeVZpZXdBID0g
UE9JTlRFUiBUTyBFWFRFTlNJQkxFIFJFQ09SRChWaWV3cy5WaWV3KSBFTkQ7XHBhcg0KICAgICAg
ICAgIC4uLiB3aGVyZSBNeVZpZXdBLlJlc3RvcmUgaXMgaW1wbGVtZW50ZWQuXHBhcg0KXHBhcg0K
ICAgICAgICBNeVZpZXdCID0gUE9JTlRFUiBUTyBFWFRFTlNJQkxFIFJFQ09SRChNeVZpZXdBKSBF
TkQ7XHBhcg0KXHBhcg0Kd291bGQgaGF2ZSBhbGxvd2VkIG1lIHRvIGltcGxlbWVudFxwYXINCiAg
ICBQUk9DRURVUkUgKHY6IE15Vmlld0IpIEhhbmRsZUN0cmxNc2cgKGY6IFZpZXdzLkZyYW1lOyBW
QVIgbXNnOiBccGFyDQpWaWV3cy5DdHJsTWVzc2FnZTsgVkFSIGZvY3VzOiBWaWV3cy5WaWV3KTtc
cGFyDQogICAgQkVHSU5ccGFyDQogICAgRU5EIEhhbmRsZUN0cmxNc2c7XHBhcg0KXHBhcg0KYnV0
IG5vLCB0aGUgY29tcGlsZXIgY29tcGxhaW5zIHdpdGggImJhc2UgcHJvY2VkdXJlIGlzIG5vdCBl
eHRlbnNpYmxlIi4gIFxwYXINCkJ1dCBib3RoIEEgYW5kIEIgdmlld3NccGFyDQphcmUgbWFya2Vk
IGV4dGVuc2libGUgZm9yIHRoZSBBQlNUUkFDVCBWaWV3cy5WaWV3LlxwYXINClxwYXINCkhvdyBj
YW4gSSBpbXBsZW1lbnQgSGFuZGxlQ3RybE1zZyBmb3IgTXlWaWV3QiBzbyBJIGNhbiBjYXB0dXJl
IGtleSBccGFyDQpzdHJva2VzIGludG8gdmlld3Mgb2ZccGFyDQp0aGlzIHR5cGU/XHBhcg0KXHBh
cg0KLURvdWdccGFyDQpccGFyDQotLS0gQmxhY2tCb3hccGFyDQotLS0gc2VuZCBzdWJqZWN0IEhF
TFAgb3IgVU5TVUJTQ1JJQkUgdG8gYmxhY2tib3hAb2Jlcm9uLmNofX0AAHAIAAC6BgAASQ==


----boundary-LibPST-iamunique-1020673610_-_---
Received on Tue Sep 19 2006 - 05:54:48 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:29:49 UTC