- Popup Menus

From: [at]} <Wojtek>
Date: Thu, 27 Jul 2006 12:06:01 -0400 (EDT)

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

On Thu, 27 Jul 2006, Gérard Meunier wrote answering Robert's question:

> > What I want to do
> > is have a couple of context sensitive specific Commands
> > available in the 'right-click' PopUp Menu when my View
> > selected (or Focussed, but I prefer selected).
> >
> > Can someone advise me how to do this?

Have a look at GrViews and at Menus.odc in the folder Gr\Rsrc
The GrViews implement the popup. Morover, the popup is sensitive
to where in a GrView you press the mouse button. The behavior
is different for the inner plotting area and in the outer axes area.

Execute BrPlotter->New Plotter panel and practice right-clicking
on the embedded GrView. The right-click should popup a menu in the outer
area, but not in the inner area. Use the newest Gr package from my
website, because the one in CPC may be a bit old.

The code which implements this is in the GrViews.odc. Search for
HostMenus.PopuMenu and you will see how it was done.

Gerard's code is another way to do the same.


> 1) Write a popup menu for your view:
>
> MENU "*" ("MyViews.View")
> "#My:Edit" "E" "MyViews.Edit" "MyViews.EditGuard"
> END
>
> 2) Add these lines in the HandleCtrlMsg procedure of your View:
>
> PROCEDURE (v: View) HandleCtrlMsg* (f: Views.Frame; VAR msg:
> Controllers.Message; VAR focus: Views.View);
>
> BEGIN
> WITH
> |msg: Controllers.TrackMsg DO
> IF HostPorts.right IN msg.modifiers THEN
> HostMenus.PopupMenu;
> ELSE
> ...
> END;
> ...
> END;
> END HandleCtrlMsg;
>
> To open the popup menu, the View must be in edit mode (focussed).

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



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

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBPbiBUaHUsIDI3IEp1bCAyMDA2
LCBHXCdlOXJhcmQgTWV1bmllciB3cm90ZSBhbnN3ZXJpbmcgUm9iZXJ0J3MgcXVlc3Rpb246XHBh
cg0KXHBhcg0KPiA+IFdoYXQgSSB3YW50IHRvIGRvXHBhcg0KPiA+IGlzIGhhdmUgYSBjb3VwbGUg
b2YgY29udGV4dCBzZW5zaXRpdmUgc3BlY2lmaWMgQ29tbWFuZHNccGFyDQo+ID4gYXZhaWxhYmxl
IGluIHRoZSAncmlnaHQtY2xpY2snIFBvcFVwIE1lbnUgd2hlbiBteSBWaWV3XHBhcg0KPiA+IHNl
bGVjdGVkIChvciBGb2N1c3NlZCwgYnV0IEkgcHJlZmVyIHNlbGVjdGVkKS5ccGFyDQo+ID5ccGFy
DQo+ID4gQ2FuIHNvbWVvbmUgYWR2aXNlIG1lIGhvdyB0byBkbyB0aGlzP1xwYXINClxwYXINCkhh
dmUgYSBsb29rIGF0IEdyVmlld3MgYW5kIGF0IE1lbnVzLm9kYyBpbiB0aGUgZm9sZGVyIEdyXFxS
c3JjXHBhcg0KVGhlIEdyVmlld3MgaW1wbGVtZW50IHRoZSBwb3B1cC4gTW9yb3ZlciwgdGhlIHBv
cHVwIGlzIHNlbnNpdGl2ZVxwYXINCnRvIHdoZXJlIGluIGEgR3JWaWV3IHlvdSBwcmVzcyB0aGUg
bW91c2UgYnV0dG9uLiBUaGUgYmVoYXZpb3JccGFyDQppcyBkaWZmZXJlbnQgZm9yIHRoZSBpbm5l
ciBwbG90dGluZyBhcmVhIGFuZCBpbiB0aGUgb3V0ZXIgYXhlcyBhcmVhLlxwYXINClxwYXINCkV4
ZWN1dGUgQnJQbG90dGVyLT5OZXcgUGxvdHRlciBwYW5lbCBhbmQgcHJhY3RpY2UgcmlnaHQtY2xp
Y2tpbmdccGFyDQpvbiB0aGUgZW1iZWRkZWQgR3JWaWV3LiBUaGUgcmlnaHQtY2xpY2sgc2hvdWxk
IHBvcHVwIGEgbWVudSBpbiB0aGUgb3V0ZXJccGFyDQphcmVhLCBidXQgbm90IGluIHRoZSBpbm5l
ciBhcmVhLiBVc2UgdGhlIG5ld2VzdCBHciBwYWNrYWdlIGZyb20gbXlccGFyDQp3ZWJzaXRlLCBi
ZWNhdXNlIHRoZSBvbmUgaW4gQ1BDIG1heSBiZSBhIGJpdCBvbGQuXHBhcg0KXHBhcg0KVGhlIGNv
ZGUgd2hpY2ggaW1wbGVtZW50cyB0aGlzIGlzIGluIHRoZSBHclZpZXdzLm9kYy4gU2VhcmNoIGZv
clxwYXINCkhvc3RNZW51cy5Qb3B1TWVudSBhbmQgeW91IHdpbGwgc2VlIGhvdyBpdCB3YXMgZG9u
ZS5ccGFyDQpccGFyDQpHZXJhcmQncyBjb2RlIGlzIGFub3RoZXIgd2F5IHRvIGRvIHRoZSBzYW1l
LlxwYXINClxwYXINClxwYXINCj4gMSkgV3JpdGUgYSBwb3B1cCBtZW51IGZvciB5b3VyIHZpZXc6
XHBhcg0KPlxwYXINCj4gICAgIE1FTlUgIioiICgiTXlWaWV3cy5WaWV3IilccGFyDQo+ICAgICAg
ICAiI015OkVkaXQiICAgIkUiICAgIk15Vmlld3MuRWRpdCIgICAiTXlWaWV3cy5FZGl0R3VhcmQi
XHBhcg0KPiAgICAgRU5EXHBhcg0KPlxwYXINCj4gMikgQWRkIHRoZXNlIGxpbmVzIGluIHRoZSBI
YW5kbGVDdHJsTXNnIHByb2NlZHVyZSBvZiB5b3VyIFZpZXc6XHBhcg0KPlxwYXINCj4gICAgIFBS
T0NFRFVSRSAodjogVmlldykgSGFuZGxlQ3RybE1zZyogKGY6IFZpZXdzLkZyYW1lOyBWQVIgbXNn
OlxwYXINCj4gQ29udHJvbGxlcnMuTWVzc2FnZTsgVkFSIGZvY3VzOiBWaWV3cy5WaWV3KTtccGFy
DQo+XHBhcg0KPiAgICAgICAgIEJFR0lOXHBhcg0KPiAgICAgICAgICAgICBXSVRIXHBhcg0KPiAg
ICAgICAgICAgICAgICAgfG1zZzogQ29udHJvbGxlcnMuVHJhY2tNc2cgRE9ccGFyDQo+ICAgICAg
ICAgICAgICAgICAgICAgSUYgSG9zdFBvcnRzLnJpZ2h0IElOIG1zZy5tb2RpZmllcnMgVEhFTlxw
YXINCj4gICAgICAgICAgICAgICAgICAgICAgICAgSG9zdE1lbnVzLlBvcHVwTWVudTtccGFyDQo+
ICAgICAgICAgICAgICAgICAgICAgRUxTRVxwYXINCj4gICAgICAgICAgICAgICAgICAgICAgICAu
Li5ccGFyDQo+ICAgICAgICAgICAgICAgICAgICAgRU5EO1xwYXINCj4gICAgICAgICAgICAgICAg
IC4uLlxwYXINCj4gICAgICAgICAgICAgRU5EO1xwYXINCj4gICAgICAgICBFTkQgSGFuZGxlQ3Ry
bE1zZztccGFyDQo+XHBhcg0KPiBUbyBvcGVuIHRoZSBwb3B1cCBtZW51LCB0aGUgVmlldyBtdXN0
IGJlIGluIGVkaXQgbW9kZSAoZm9jdXNzZWQpLlxwYXINClxwYXINCi0tLSBCbGFja0JveFxwYXIN
Ci0tLSBzZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byBibGFja2JveEBvYmVyb24u
Y2hccGFyDQpccGFyDQp9


----boundary-LibPST-iamunique-1853580352_-_---
Received on Thu Jul 27 2006 - 18:06:01 UTC

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