CPMenu, menu główne aplikacji

CPMenu

Cappuccino framework posiada domyślnie menu główne dla aplikacji. Domyślnie menu jest wyłączone. Aby je włączyć wystarczy dodać [CPMenu setMenuBarVisible:YES]; do aplikacji. Przykład kodu poniżej natomiast przykład zastosowania po stronie prawej.

@import <Foundation/CPObject.j> 
 
@implementation AppController : CPObject 
{
}
 
- (void)applicationDidFinishLaunching:(CPNotification)aNotification 
{
	// Fragment pokazuje domyślne menu główne w aplikacji
	[CPMenu setMenuBarVisible:YES];
}
 
@end

Domyślnie CPMenu w CPApplication posiada następującą strukturę:

  1. New - klawisz skrótu: N, action:@selector(newDocument:)
  2. Open - klawisz skrótu: O, action:@selector(openDocument:)
  3. Save - klawisz skrótu: brak, action:@selector(saveDocument:)
    1. Save - klawisz skrótu: S, action:@selector(saveDocument:)
    2. Save As - klawisz skrótu: brak, action:@selector(saveDocumentAs:)
  4. Edit - klawisz skrótu: brak, action:nil (menu Edit jest domyślnie ukryte)
    1. Undo - klawisz skrótu: CPUndoKeyEquivalent, action:@selector(undo:)
    2. Redo - klawisz skrótu: CPRedoKeyEquivalent, action:@selector(redo:)
    3. Cut - klawisz skrótu: X, action:@selector(cut:)
    4. Copy - klawisz skrótu: C, action:@selector(copy:)
    5. Paste - klawisz skrótu: V, action:@selector(paste:)
  5. Separator

Jak wyświetlić element CPMenu Edit

Aby wyświetlić ukryty element menu wystarczy zastosować poniższy kod w metodzie applicationDidFinishLaunching:

// Wysyłanie wiadomości do singleton aplikacji by zwrócił obiekt CPMenu
var mainMenu = [[CPApplication sharedApplication] mainMenu];
// Odszukaj element o indeksie 3 (liczone od zera - Edit) i pokaż go
[[mainMenu itemAtIndex:3] setHidden:NO];
 
[CPMenu setMenuBarVisible:YES];

Tworzenie spersonalizowanego menu aplikacji

Cappuccino nie posiada w wersji 0.7 zaimplementowanej wielojęzyczności. Dlatego elementy zdefiniowane na sztywno jak domyślne menu aplikacji należy przetłumaczyć - czyli w konsekwencji utworzyć i dodać „ręcznie”.

Możliwe że w przyszłych wersjach Cappuccino, menu główne będzie definiowane w pliku .cib.

Kod z spersonalizowanym menu aplikacji:

@import <Foundation/CPObject.j> 
 
@implementation AppController : CPObject 
{
}
 
- (void)applicationDidFinishLaunching:(CPNotification)aNotification 
{   
	// Utworzenie głównego obiektu menu "MainMenu" - nazwa zarezerwowana dla menu głównego.
	var mainMenu = [[CPMenu alloc] initWithTitle:@"MainMenu"];
 
	[mainMenu setAutoenablesItems:NO];
 
		var bundle = [CPBundle bundleForClass:[CPApplication class]],
			newMenuItem = [[CPMenuItem alloc] initWithTitle:@"Nowy" action:@selector(newDocument:) keyEquivalent:@"N"];
 
		[newMenuItem setImage:[[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPApplication/New.png"] size:CGSizeMake(16.0, 16.0)]];
		[newMenuItem setAlternateImage:[[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPApplication/NewHighlighted.png"] size:CGSizeMake(16.0, 16.0)]];
 
	[mainMenu addItem:newMenuItem];
 
	// Ustawienie spersonalizowanego menu aplikacji
	[[CPApplication sharedApplication] setMainMenu:mainMenu];    
 
	// Menu widoczne
	[CPMenu setMenuBarVisible:YES];
cappuccino/cpmenu_menu_glowne_aplikacji.txt · ostatnio zmienione: 2010/01/06 01:07 przez widmogrod
 
Wszystkie treści w tym wiki, którym nie przyporządkowano licencji, podlegają licencji: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki