NSOutlineView probleme

mksoft_

Membre confirmé
25 Octobre 2006
15
0
Bonjour,

J'ai crée une NSTableView qui marche impec, je mets des choses dedans, tout est ok.
Je lui ai mis un fond en couleur, ok.
Sauf que, si je trifouille les lignes, que j'ouvre/ferme des 'branches', le fond coloré change de taille automatiquement pour correspondre à la taille de l'arbre dans le NSTableView plutot qu'à la taille que je lui ai donné...
quelqu'un sait comment bloquer ce comportement ?

(Sachant que j'ai déjà mis setAutoResizingMask:NSViewNotSizable )

Merci!!!

:)
 
Je ne connais pas vraiment NSOutlineView, mais je dirais, à la rigueur (parce qu'il y a sûrement une solution plus simple), tu peux overrider la méthode drawRect de ta vue, dessiner le fond, et renvoyer drawRect à super... Bon, c'est peut-être un peu "forcé" comme solution, mais on sait jamais...
 
Ca ne fonctionne pas car NSOutlineView (qui dérive de NSTableView qui fonctionne pareil) écrase ce que je fais avant le drawRect à super
 
Je m'en doutais, vu que les tableaux dessinent leur fond par défaut. Enfin, je crois...
Reste à nous montrer une capture d'écran...

Sinon, il y a cette fonction dans NSTableView, qui est peut-être celle que tu utilise déjà :

Bloc de code:
drawBackgroundInClipRect:(NSRect)clipRect
 
Bloc de code:
- (void)drawBackgroundInClipRect:(NSRect)clipRect 
{
  ...

  [[NSColor clearColor] set]; 
  NSRectFill(clipRect);
  
  ...
}
attention n'est disponible qu'a partir de panther
ce sont des problèmes bien connus qu'aborde monsieur j'écris pas une ligne

:zen:
 
ce sont des problèmes bien connus qu'aborde monsieur j'écris pas une ligne

:zen:


Je fais l'effort d'apprendre le code mac et de porter mon application sur mac pour aider un peu la lutte contre microsoft et voilà comment on me traite !
:p:p:p
;)


je connaissais pas drawBackgroundInClipRect, j'ai testé, çà met bien le fond en couleur, mais si je ouvre/ferme des lignes, change de page, et revient, le NSOutlineView a changé de taille, il s'est 'adapté' au nombre de lignes au lieu de rester à la taille que je lui ai donné lors de sa création
Je comprends pas bien ce qui se passe :mouais:

merci de votre aide en tout cas :up: