Redimensionner une sheet

kemosabekemosabe Membre
07:53 modifié dans API AppKit #1
Bonjour a tous,

Premier post, j'espère être assez clair...

Dans une sheet, je charge un NSView avec [NSView addSubview:].

Plus tard, je la modifie a coups de [NSView replaceSubview:with:].

Lorsque je remplace une vue par une autre de taille differente, je pensais qu'avec [NSView setFrame:display:animate] je pourrais modifier dynamiquement la taille de ma vue.

Bon, ça marche, sauf que... la sheet est completement décentrée, voir des fois même à  la position 0,0 de l'ecran...

- Comment faire pour garder bien centré, et bien sous la Toolbar, une vue de taille modifiée?

J'ai l'impression que j'ai besoin de prendre en compte la taille de la Toolbar de l'application parente à  la sheet. Je me trompe?

Des idées?

J'ai vu du code Apple pour calculer la taille de la toolbar, mais est-ce la voie a suivre?
http://developer.apple.com/documentation/cocoa/Conceptual/Toolbars/Tasks/ToolbarHeight.html#//apple_ref/doc/uid/20001049-CJBGGJIJ


Merci d'avance pour tout feedback!



Réponses

  • schlumschlum Membre
    07:53 modifié #2
    Euh... C'est une méthode de NSWindow ça, pas NSView  ???
    Et "frame", c'est la position par rapport à  l'écran, il faut la calculer avec la frame de la fenêtre parente.

    Pour aider aux calculs, il y a ces méthodes :
    + (NSRect)contentRectForFrameRect:(NSRect)windowFrame styleMask:(NSUInteger)windowStyle<br />+ (NSRect)frameRectForContentRect:(NSRect)windowContentRect styleMask:(NSUInteger)windowStyle<br />- (NSRect)contentRectForFrameRect:(NSRect)windowFrame<br />- (NSRect)frameRectForContentRect:(NSRect)windowContent
    

  • kemosabekemosabe Membre
    07:53 modifié #3
    :fouf): oui c'est vrai, c'est NSWindow...

    Merci pour les pointeurs!

Connectez-vous ou Inscrivez-vous pour répondre.