This is TestView.m in view mode; [Download] [Up]
#import "TestView.h"
#import "PopUpMenu.h"
#import "PowerMenu.h"
#import <dpsclient/psops.h>
#import <appkit/Cell.h>
#import <appkit/color.h>
@implementation TestView
- initFrame:(const NXRect*)rect
{
id p2, p3;
[super initFrame: rect];
// now for the real powermenu
powermenu = [PowerMenu newPopupMenu];
[powermenu setDefaultTarget:self];
[powermenu setDefaultAction:@selector(selectionMade:)];
[powermenu addSelectionAt:0];
[[[powermenu selectionAt:0] setLabel:"blAh"] setTag:0];
[powermenu addCascadeSelectionAt:1];
[[[powermenu selectionAt:1] setLabel:"fiLe"] setTag:1];
[powermenu addSelectionAt:2];
[[[[powermenu selectionAt:2] setLabel:"Miscellaneous"] setTag:2] titleOnly];
[powermenu addSelectionAt:3];
[[[[powermenu selectionAt:3] setLabel:"Miscellaneous"] setTag:3] separator];
[powermenu addSelectionAt:4];
[[[powermenu selectionAt:4] setLabel:"Power off"] setTag:4];
[powermenu addSelectionAt:5];
[[[powermenu selectionAt:5] setLabel:"selection Item"] setTag:5];
[powermenu addSelectionAt:6];
[[[powermenu selectionAt:6] setLabel:"fiNd"] setTag:6];
p2 = [PowerMenu newSubmenuOf:powermenu attachToCell:1];
[p2 setDefaultTarget:self];
[p2 setDefaultAction:@selector(selectionMade:)];
[p2 addSelectionAt:0];
[[[p2 selectionAt:0] setLabel:"saVe"] setTag: 100];
[p2 addSelectionAt:1];
[[[p2 selectionAt:1] setLabel:"cloSe"] setTag: 101];
[p2 addCascadeSelectionAt:2];
[[[p2 selectionAt:2] setLabel:"oPen"] setTag: 102];
[p2 addSelectionAt:3];
[[[p2 selectionAt:3] setLabel:"save as"] setTag: 103];
p3 = [PowerMenu newSubmenuOf:p2 attachToCell:2];
[p3 setDefaultTarget:self];
[p3 setDefaultAction:@selector(selectionMade:)];
[p3 addSelectionAt:0];
[[[p3 selectionAt:0] setLabel:"please"] setTag: 200];
[p3 addSelectionAt:1];
[[[p3 selectionAt:1] setLabel:"HelP"] setTag: 201];
[p3 addSelectionAt:2];
[[[p3 selectionAt:2] setLabel:"my"] setTag: 202];
[p3 addSelectionAt:3];
[[[p3 selectionAt:3] setLabel:"fish"] setTag: 203];
[powermenu dump];
return self;
}
- rightMouseDown:(NXEvent*) event
{
//[menu popUp: self];
[powermenu popUp:self];
return self;
}
- selectionMade: cell
{
// to get the tag, use [cell tag]
[textfield setStringValue: [cell title]];
return self;
}
- drawSelf: (const NXRect*) rect :(int) numRects
{
NXSetColor(NX_COLORBLUE);
NXRectFill(&rect[0]);
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.