IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SWT/JFace Java Discussion :

Probleme colorBakground dans TableItem et trie


Sujet :

SWT/JFace Java

  1. #1
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut Probleme colorBakground dans TableItem et trie
    Bonjour,


    J'ai une table swt, dans laquel j'ai spécifié une couleur en background sur chaque TableItem.

    Mais quand je trie la table via un ViewerSorter (je clique sur l'en tete d'une colonne), et bien toutes les couleurs disparaissent.

    Je pensais que comme le contenu de la ligne, les couleurs serait automatiquement réorganisé ?

    Suis je obliger de recoloré la table apres chaque action de trie ?

    Je viens de remarquer que au moment du TableViewer.refresh, les informations relative au couleur dans le TableItem, sont écrasés... pas moyen d'empecher cela ?


    Merci d'avance


    PS: a priori c'est la liste des cellbackgrounds du TableItem qui est a null apres le trie

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Pourquoi encore t'embêter avec des TableItem alors qu'il est tellement plus simple d'utiliser JFace et ses LabelProvider (ici un IColorProvider d'ailleurs). Tu te faciliterais grandement la tâche...
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    En fait j'avais utilisé ce systeme, car les couleurs ne sont pas fixe.

    J'ai un composant qui me permet de définir des intervalles de valeurs.
    Chaque intervalle est représenté par une couleur.
    Ma table contient les même données. Si une donnée de la table, est contenu dans une des intervalles, alors la ligne est coloré de la couleur définie dans l'intervalle.

    Du coup a chaque fois que les couleurs change, il faudrait, avec le ColorLabel, refaire un refresh total du viewer, qui risque d'etre long sur une grosse table, alors que seul les couleurs ont changé, et pas les données.

  4. #4
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Si ton modèle est bien implémenté, tu n'as pas besoin de faire un refresh complet de ton Viewer .
    Quand tu souhaites mettre à jour une couleur, c'est qu'un évènement particulier s'est produit (édition de l'utilisateur, ...). Il te suffit juste de faire un refresh de ton objet dans le viewer. Et la couleur se mettra à jour.
    Mieux, s'il ne s'agit que d'un élément, tu peux utiliser la méthode update(object, null);.
    Pas de questions technique par MP, les forums sont là pour ça.

  5. #5
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    Pour le moment je n'ai pas réussi a faire fonctionné comme tu dis, mais ca demande beaucoup de changement, alors j'ai du loupé quelque chose.


    merci pour la piste en tout cas.

  6. #6
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    ITableColorProvider getBackground(element, index) fonctionne.
    pas IColorProvider getBackground(element)

    tout comme TableItem.setBackGround(index, color) fonctionne
    et TableItem setBackGround(color) fonctionne pas.


    Pourquoi ?

    ps: en tout cas j'ai réussi avec la ITableColorProvider à faire ce que je veux

Discussions similaires

  1. [FLASH MX2004] Problème accent dans un XML
    Par cinetryx dans le forum Flash
    Réponses: 10
    Dernier message: 30/05/2007, 00h26
  2. Probleme collage dans un TEdit
    Par Zetmurin dans le forum C++Builder
    Réponses: 5
    Dernier message: 08/10/2004, 13h19
  3. N° de ligne dans une table triée ?
    Par andremarco dans le forum Langage SQL
    Réponses: 6
    Dernier message: 24/06/2004, 17h19
  4. probleme mouvement dans un paysage
    Par nonoRedDevils dans le forum OpenGL
    Réponses: 24
    Dernier message: 24/06/2004, 12h12
  5. [BCB6] Probleme onglet dans IDE
    Par bgautier dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/01/2004, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo