modiffier l'apparence de drang and drop
wisky
Membre
salut tout le monde.
Dans mon appli j'ai ajouté le drang and drop. j'aimerait modifier son apparence.
Je m'explique dans ma première TableView ont peut selectioner une ou plusieurs lignes. Dans le cas ou il n'y en a qu'une seul je veut ajouter un bord à "l'image visible de la ligne en cours de glissement" et si il en a plus d'une, je veut ajouter un chiffre dans un rond rouge (style mail).
Quelqu'un à une idée?
Dans mon appli j'ai ajouté le drang and drop. j'aimerait modifier son apparence.
Je m'explique dans ma première TableView ont peut selectioner une ou plusieurs lignes. Dans le cas ou il n'y en a qu'une seul je veut ajouter un bord à "l'image visible de la ligne en cours de glissement" et si il en a plus d'une, je veut ajouter un chiffre dans un rond rouge (style mail).
Quelqu'un à une idée?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Fouf a raison, tu peux surcharger dans ta vue la méthode :
Je te conseille un truc du genre :
Dans ce cas, ce n'est pas dragImage, qu'il faut surcharger, c'est
ou
Mon conseil, tu surcharges les deux, comme ça :
De cette façon, ça marche pareil sous Panther et Tiger, sans dupliquer le code
+
Chacha
Ca marche nikel. Sauf que CoreGraphic n'est pas sur Mac OS X.3.
Et je croit que je vait tout re-dessiner.
Je vair faire des recherches sur le forums pour trouver comment créer une NSImage
Si, CoreGraphics est sur tous les MAC OS X depuis la 10.0 (c'est l'API fondamentale qui gére le graphisme).
Peut-être confonds-tu avec CoreImage, présent que depuis 10.4 seulement...
Je suis telement crevé en ce moment que je ne sais plus où j'habite
PS: C'est une expression!
Tu peux faire une copie de l'image originale :
NSImage* newImage = [image copy];
Ou bien créer une nouvelle image
NSImage* newImage = [[NSImage alloc] initWithSize:...];
Dans les deux cas, penser au release !
+
Chacha
Un "autorelease"! Si je "release" avant de faire le "return" il n'y aura aucune image et ça plantera.
Il y a un autre truc que je veux faire avec un drag-and-drop. Comment re-déssiner la mise en évidence de la destination dans une NSTableView. C.à .d mettre un fond de couleur sur la ligne qui reçoit le "drag-and-drop"?
J'ai déjà ça mais ça ne marche que quand il entre dans la NSTableView:
J'ai déjà sous-classé ma NSTableView :)beta:
Il ya déjà un surlignage, normalement, un cadre noir un peu épais qui entoure la ligne de destination. Cependant, si tu veux encore plus personnaliser, je pense que c'est dans les surcharges de
-(NSDragOperation)tableView:(NSTableView *)tableView validateDrop:(id <NSDraggingInfo>)info
        proposedRow:(int)row proposedDropOperation:(NSTableViewDropOperation)operation
et
-(BOOL)tableView:(NSTableView *)tableView acceptDrop:(id <NSDraggingInfo>)info row:(int)row
                    dropOperation:(NSTableViewDropOperation)operation
Mais normalement, tu les as déjà surchargées, non ?
Le problème que je vois, c'est qu'il doit être facile de modifier la couleur d'une ligne, mais je ne vois pas quand la restaurer...
À méditer.
+
Chacha
Justement je ne veut pas de ce cadre noir moche.
Je n'est encore rien trouvé. :why?: