Re: [BLACKBOX] How to 'embed'

From: Douglas G. Danforth <"Douglas>
Date: Wed, 5 Oct 2011 14:32:48 -0700

----boundary-LibPST-iamunique-2064630432_-_- Content-type: text/plain Robert, I think I like this solution better than your next solution since it specifies where in a host frame a subframe is to be placed and that is exactly what I need. Now I just need to be sure I get the context and domain set correctly for the subview before in install it in the host frame. Handling mouse clicks and keys I already can do with wrapping the host view. -Doug On 10/5/2011 1:02 AM, Campbell, Robert (SELEX GALILEO, UK) wrote: Doug If your Model contains a View I guess it must have Fields ... MyModel = POINTER TO RECORD (Models.Model) PrivateStuff; xPos, yPos: INTEGER; view: Views.View END; so that it knows what View, & where, and some View type ... MyView = POINTER TO RECORD (Views.View) m : MyModel END; You ask about 'rendering', so I guess (again!) you are asking about the Restore procedure. You could try something like: PROCEDURE (v: MyView) Restore (f: Ports.Frame; l, t, r, b: INTEGER); VAR g: Views.Frame; BEGIN DrawMyPrivateStuff; WITH f: Views.Frame DO Views.InstallFrame(f, v.m.view, v.m.xPos, v.m.yPos, 0, TRUE); g := Views.ThisFrame(f, v.m.view); IF g # NIL THEN v.m.view.Restore(g, l, t, r, b) END END END Restore; I haven't tried this code EXACTLY as presented, but it comes from an 'off-the-cuff' simplifying of code I have used, and published, in //Escher/Mod/ViewFigs.odc. Good luck, Robert PS - If you want your embedded Views to respond to all kinds of mouse clicks and focus issues, that is rather more work. ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ----boundary-LibPST-iamunique-2064630432_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3MgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJcZm5pbFxmY2hh cnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBOZXc7fX0NCntc Y29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7fQ0KXHVjMVxw YXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyNCANCntcKlxodG1sdGFnMTkgPGh0bWw+fQ0Ke1wq XGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDIgICB9DQp7XCpcaHRtbHRhZzM0IDxoZWFk Pn0NCntcKlxodG1sdGFnMSBccGFyIH0NCntcKlxodG1sdGFnMjQxICAgICB9DQp7XCpcaHRtbHRh ZzEgXHBhciB9DQp7XCpcaHRtbHRhZzI0MSAgIH0NCntcKlxodG1sdGFnNDEgPC9oZWFkPn0NCntc KlxodG1sdGFnMiBccGFyIH0NCntcKlxodG1sdGFnMjQyICAgfQ0Ke1wqXGh0bWx0YWc1MCA8Ym9k eSBiZ2NvbG9yPSIjRkZGRkZGIiB0ZXh0PSIjMDAwMDAwIj59XGh0bWxydGYgXHZpZXdraW5kNQ0K e1wqXGJhY2tncm91bmQge1xzaHB7XCpcc2hwaW5zdHtcc3B7XHNuIGZpbGxDb2xvcn17XHN2IDE2 Nzc3MjE1fX17XHNwe1xzbiBmRmlsbGVkfXtcc3YgMX19fX19XGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICAgIH0NCntcKlxodG1sdGFnMTEyIDxicj59XGh0 bWxydGYgXHBhcg0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcy NDAgICAgIH17XCpcaHRtbHRhZzY0fVxodG1scnRmIHtcaHRtbHJ0ZjAgUm9iZXJ0LA0Ke1wqXGh0 bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxw YXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfUkgdGhpbmsgSSBsaWtlIHRoaXMgc29sdXRpb24gYmV0 dGVyIHRoYW4geW91ciBuZXh0IHNvbHV0aW9uIHNpbmNlIGl0DQp7XCpcaHRtbHRhZzQgXHBhciB9 XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFnODQgICAgIH1zcGVjaWZpZXMNCntcKlxo dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc cGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFnODQgPGk+fVxodG1scnRmIHtc aSBcaHRtbHJ0ZjAgd2hlcmUNCntcKlxodG1sdGFnOTIgPC9pPn1caHRtbHJ0ZiB9XGh0bWxydGYw ICBpbiBhIGhvc3QgZnJhbWUgYSBzdWJmcmFtZSBpcyB0byBiZSBwbGFjZWQgYW5kIHRoYXQgaXMN CntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAg ICAgfWV4YWN0bHkNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH13aGF0IEkgbmVlZC4N CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0 bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn ODQgICAgIH1Ob3cgSSBqdXN0IG5lZWQgdG8gYmUgc3VyZSBJIGdldCB0aGUgY29udGV4dCBhbmQg ZG9tYWluIHNldA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpc aHRtbHRhZzg0ICAgICB9Y29ycmVjdGx5DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxs aW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9 Zm9yIHRoZSBzdWJ2aWV3IGJlZm9yZSBpbiBpbnN0YWxsIGl0IGluIHRoZSBob3N0IGZyYW1lLg0K e1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4 NCAgICAgfUhhbmRsaW5nIG1vdXNlIGNsaWNrcyBhbmQga2V5cyBJIGFscmVhZHkgY2FuIGRvIHdp dGggd3JhcHBpbmcgdGhlDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9aG9zdCB2aWV3 Lg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1c aHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0 YWc4NCAgICAgfS1Eb3VnDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9DQp7XCpcaHRt bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh ciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9T24gMTAvNS8yMDExIDE6MDIgQU0sIENhbXBiZWxsLCBS b2JlcnQgKFNFTEVYIEdBTElMRU8sIFVLKSB3cm90ZToNCntcKlxodG1sdGFnNCBccGFyIH1caHRt bHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgICAgfXtcKlxodG1sdGFnNzJ9XGh0bWxy dGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzk2IDxibG9ja3F1b3RlXHBhciBjaXRlPSJt aWQ6N0M1MTU4Q0E2ODk5MkU0MTlEOTMyNTQwRDhFREVEM0MwQjdCMjBEQUBkZXNtZHN3bXMyMDEu ZGVzLmdycGxuay5uZXQiXHBhciAgICAgICB0eXBlPSJjaXRlIj59XGh0bWxydGYgXHBhcg0Ke1xo dG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICAgIH0NCntc KlxodG1sdGFnMTI4IDxwcmUgd3JhcD0iIj59XGh0bWxydGYge1xwYXJkXHBsYWluXGYxXGZzMjAg XGh0bWxydGYwIFxodG1scnRmIHtcaHRtbHJ0ZjAgXGxpMzYwIERvdWdcbGluZQ0KIFxsaW5lDQpJ ZiB5b3VyIE1vZGVsIGNvbnRhaW5zIGEgVmlldyBJIGd1ZXNzIGl0IG11c3QgaGF2ZSBGaWVsZHMg Li4uXGxpbmUNCiBcbGluZQ0KTXlNb2RlbCA9IFBPSU5URVIgVE8gUkVDT1JEIChNb2RlbHMuTW9k ZWwpXGxpbmUNCiAgUHJpdmF0ZVN0dWZmO1xsaW5lDQogIHhQb3MsIHlQb3M6IElOVEVHRVI7XGxp bmUNCiAgdmlldzogVmlld3MuVmlld1xsaW5lDQpFTkQ7XGxpbmUNClxsaW5lDQpzbyB0aGF0IGl0 IGtub3dzIHdoYXQgVmlldywgDQp7XCpcaHRtbHRhZzg0ICZhbXA7fVxodG1scnRmICZcaHRtbHJ0 ZjAgIHdoZXJlLFxsaW5lDQpcbGluZQ0KYW5kIHNvbWUgVmlldyB0eXBlIC4uLlxsaW5lDQpcbGlu ZQ0KTXlWaWV3ICA9IFBPSU5URVIgVE8gUkVDT1JEIChWaWV3cy5WaWV3KVxsaW5lDQogICAgICAg ICAgICBtIDogTXlNb2RlbFxsaW5lDQogICAgICAgICAgRU5EO1xsaW5lDQpcbGluZQ0KXGxpbmUN CllvdSBhc2sgYWJvdXQgJ3JlbmRlcmluZycsIHNvIEkgZ3Vlc3MgKGFnYWluISkgeW91IGFyZSBh c2tpbmcgYWJvdXQgdGhlXGxpbmUNClJlc3RvcmUgcHJvY2VkdXJlLlxsaW5lDQpcbGluZQ0KWW91 IGNvdWxkIHRyeSBzb21ldGhpbmcgbGlrZTpcbGluZQ0KXGxpbmUNClxsaW5lDQpQUk9DRURVUkUg KHY6IE15VmlldykgUmVzdG9yZSAoZjogUG9ydHMuRnJhbWU7IGwsIHQsIHIsIGI6IElOVEVHRVIp O1xsaW5lDQpcdGFiIFZBUiBnOiBWaWV3cy5GcmFtZTtcbGluZQ0KXHRhYiBCRUdJTlxsaW5lDQog ICAgICAgICAgICBEcmF3TXlQcml2YXRlU3R1ZmY7XGxpbmUNClxsaW5lDQpcdGFiIFx0YWIgV0lU SCBmOiBWaWV3cy5GcmFtZSBET1xsaW5lDQpcdGFiIFx0YWIgXHRhYiBWaWV3cy5JbnN0YWxsRnJh bWUoZiwgdi5tLnZpZXcsIHYubS54UG9zLFxsaW5lDQp2Lm0ueVBvcywgMCwgVFJVRSk7XGxpbmUN Clx0YWIgXHRhYiBcdGFiIGcgOj0gVmlld3MuVGhpc0ZyYW1lKGYsIHYubS52aWV3KTtcbGluZQ0K XHRhYiBcdGFiIFx0YWIgSUYgZyAjIE5JTCBUSEVOIHYubS52aWV3LlJlc3RvcmUoZywgbCwgdCwg ciwgYilcbGluZQ0KRU5EXGxpbmUNClx0YWIgXHRhYiBFTkRcbGluZQ0KXHRhYiBFTkQgUmVzdG9y ZTtcbGluZQ0KXGxpbmUNClxsaW5lDQpcbGluZQ0KSSBoYXZlbid0IHRyaWVkIHRoaXMgY29kZSBF WEFDVExZIGFzIHByZXNlbnRlZCwgYnV0IGl0IGNvbWVzIGZyb20gYW5cbGluZQ0KJ29mZi10aGUt Y3VmZicgc2ltcGxpZnlpbmcgb2YgY29kZSBJXGxpbmUNCmhhdmUgdXNlZCwgYW5kIHB1Ymxpc2hl ZCwgaW4gLy9Fc2NoZXIvTW9kL1ZpZXdGaWdzLm9kYy5cbGluZQ0KXGxpbmUNCkdvb2QgbHVjayxc bGluZQ0KXGxpbmUNClJvYmVydFxsaW5lDQpcbGluZQ0KXGxpbmUNClBTIC0gSWYgeW91IHdhbnQg eW91ciBlbWJlZGRlZCBWaWV3cyB0byByZXNwb25kIHRvIGFsbCBraW5kcyBvZiBtb3VzZVxsaW5l DQpjbGlja3MgYW5kIGZvY3VzIGlzc3VlcywgdGhhdCBpcyByYXRoZXIgbW9yZSB3b3JrLlxwYXJc aHRtbHJ0Zn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcxMzYgPC9wcmU+fVxodG1scnRmIH1caHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgfQ0Ke1wqXGh0 bWx0YWcxMDQgPC9ibG9ja3F1b3RlPn1caHRtbHJ0ZiB9XHBhcg0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRhZzU4IDwvYm9keT59 DQp7XCpcaHRtbHRhZzIgXHBhciB9DQp7XCpcaHRtbHRhZzI3IDwvaHRtbD59DQp7XCpcaHRtbHRh ZzMgXHBhciB9DQp7XCpcaHRtbHRhZzY0IDxwPn1caHRtbHJ0ZiB7XGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfS0tLS0NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYw IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tC T1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1s cnRmICBcaHRtbHJ0ZjAgXGh0bWxydGZccGFyfVxodG1scnRmMA0KfQ== ----boundary-LibPST-iamunique-2064630432_-_--- Received on Wed Oct 05 2011 - 23:32:48 UTC

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