TabView : ajout d'onglets identiques au premier
LeChatNoir
Membre, Modérateur
Salut,
J'essaye d'implémenter une fenêtre avec une NSTabView.
Au départ, il n'y a qu'un seul NSTabViewItem que j'ai créé dans IB avec des contrôles.
Et je veux pouvoir ajouter un "Tab" avec les mêmes contrôles, autant de fois que voulu par une action utilisateur (par exemple un click utilisateur sur un bouton prévu pour ça).
J'ai essayé avec une NSView que j'affecte au tab item mais tous les tab la partage alors (donc si je remplis un champ dans un tab, il se retrouve à la même valeur dans tous les autres).
J'ai essayé en mettant directos mes controles dans mon premier tab sous IB et en repiquant la "view" de cet item. Même topo.
Bref, j'ai l'impression qu'il va falloir positionner mes contrôles programmatiquement :-(
Y a pas un autre moyen ? N'y a t il pas moyen de faire une copie d'une NSView ?
Et ensuite, comment je vais faire pour mes outlets ?
Ca m'a l'air compliqué tout ça...
J'essaye d'implémenter une fenêtre avec une NSTabView.
Au départ, il n'y a qu'un seul NSTabViewItem que j'ai créé dans IB avec des contrôles.
Et je veux pouvoir ajouter un "Tab" avec les mêmes contrôles, autant de fois que voulu par une action utilisateur (par exemple un click utilisateur sur un bouton prévu pour ça).
J'ai essayé avec une NSView que j'affecte au tab item mais tous les tab la partage alors (donc si je remplis un champ dans un tab, il se retrouve à la même valeur dans tous les autres).
J'ai essayé en mettant directos mes controles dans mon premier tab sous IB et en repiquant la "view" de cet item. Même topo.
Bref, j'ai l'impression qu'il va falloir positionner mes contrôles programmatiquement :-(
Y a pas un autre moyen ? N'y a t il pas moyen de faire une copie d'une NSView ?
Et ensuite, comment je vais faire pour mes outlets ?
Ca m'a l'air compliqué tout ça...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ce que je peux te dire, c'est que ca marche, mais que ca doit consommer une quantité de mémoire monstre (je n'ai pas regardé).
Bon courage
Mais bon je ne me suis pas lancé dans le doute... Mais si ça marche et qu'on ne me propose pas mieux, je vais peut être partir là dessus...
Ca doit pas être plus gourmand en mémoire que d'instancier et positionner les contrôles un à un...
Cette solution n'est pas crade.
C'est même ce que je préconise moi aussi.
Quant à la mémoire... C'est au Chat Noir de se poser la question : puisque je duplique mes vues d'onglet, est ce que je duplique la mémoire utilisée pour chaque objet composant ledit onglet ?
D'ailleurs, je ne comprends même pas l'expression
sachant que ce qui est dupliqué ne sont que des instances peu gourmandes en mémoire (une malheureuse instance d'un contrôlleur et quelques NSViews par onglet).
Par contre, esthétiquement parlant, ça me choquerait de voir un NSTabView (qui par définition est plutôt un contrôle statique pour moi) dont le nombre d'onglet est variable.
.
Si c'est du "Safari-like" par exemple...
Et pas des onglets "à la OSX" qui en effet eux serait choquant de voir créés à la volée je trouve car ce n'est pas dans ce genre de cas qu'ils sont utilisés.
Mais s'il fait lui-même ses onglets, selon l'usage souhaité, ça peut très bien ne pas choquer
Je l'avais pas précisé mais oui, c'est ça, ce sont des onglets à la Safari.
Sauf que Safari, Shiira et compagnie, ce sont des browser donc ils n'ont qu'une WebView à mettre dedans.
Moi, c'est un client FTP donc j'ai plein de contrôles Cocoa à mettre dedans.
Et j'avais déduis la même chose que Bru car j'ai trouvé un exemple dans les exemples d'Apple : Multiple Nib TabView.
Exactement ce qu'il me fallait et ça "officialise" que la chose n'est pas crade ::)
Eh non Fouf, tu n'es pas crade
HORS SUJET : j'ai bien précisé NSTabView dans mon post.
Dans Safari, même si on parle d'onglet, la chose est complètement différente :
- cadrage à gauche des "boutons-onglet",
- pas de liaison "visuelle" comme une bordure reliant les onglets aux vues.
L'effet visuel est donc différent.
.
Bah c'est facile :P :(renaud):