Barre d'outils dans une application gérant les documents
Tchouboudou
Membre
Bonjour tout le mnode ::)
J'ai un petit problème plutôt chiant : je n'arrive pas à afficher ma barre d'outils dans ma fenêtre principal.
Voici le code de m catégorie :
Et j'utilise la méthode -setupToolbar dans AwakeFromNib de MyDocument.m...
Merci d'avance,
Tchouboudou
J'ai un petit problème plutôt chiant : je n'arrive pas à afficher ma barre d'outils dans ma fenêtre principal.
Voici le code de m catégorie :
#import "ToolbarDelegateCategory.h"<br /><br />@implementation MyDocument (ToolbarDelegateCategory)<br /><br />- (void)setupToolbar<br />{<br /> NSToolbar *toolbar = [[NSToolbar alloc] initWithIdentifier:@"mainToolbar"];<br /> [toolbar setDelegate:self];<br /> [toolbar setAllowsUserCustomization:YES];<br /> [toolbar setAutosavesConfiguration:YES];<br /> [Window setToolbar:[toolbar autorelease]];<br />}<br /><br />- (NSToolbarItem *)toolbar:(NSToolbar *)toolbar<br /> itemForItemIdentifier:(NSString *)itemIdentfier<br /> willBeInsertedIntoToolbar:(BOOL)flag<br />{<br /> NSToolbarItem *item = [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentfier];<br /> <br /> return [item autorelease];<br />}<br />- (NSArray *)toolbarAllowedItemIdentfiers:(NSToolbar *)toolbar<br />{<br /> return [NSArray arrayWithObjects:NSToolbarSeparatorItemIdentifier, NSToolbarSpaceItemIdentifier, NSToolbarFlexibleSpaceItemIdentifier, NSToolbarCustomizeToolbarItemIdentifier, nil];<br />}<br />- (NSArray *)toolbarDefaultItemIdentfiers:(NSToolbar *)toolbar<br />{<br /> return [NSArray arrayWithObjects:NSToolbarFlexibleSpaceItemIdentifier, NSToolbarCustomizeToolbarItemIdentifier, nil]; <br />}<br /><br />@end<br />
Et j'utilise la méthode -setupToolbar dans AwakeFromNib de MyDocument.m...
Merci d'avance,
Tchouboudou
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Si tu utilises les classes NSWindowController
Tu veux afficher la barre alors que ta fenêtre n'est pas encore charger en mémoire.
@interface MyDocument : "ici, c'est quoi le mot" {
exemple : NSObject, NSWindowController, NSDocument
Si c'est NSObject, essaie ceci
Cette méthode est appelé à la fin du chargement de la fenêtre.
Tu peux toujours rajouter cette ligne dans - (void)setupToolbar.
Dans une application de document, lorsque je connecte un outlet à la fenêtre, et que dans -awakeFromNib je change la couleur de la fenêtre, cela ne marche pas.
Ensuite, j'ai fait la même chose pour une application Cocoa normale : ça marche.
Donc, je crois que mon problème vient de la connexion... Il doit y avoir une connexion différente à faire pour les applications de documents et les applications normales.
Personnellement j'ai remarqué que par défaut le NSPersistentDocument (dans mon cas) a déjà un outlet window, mais apparemment il faut en créer un autre spécifique pour la toolbar.