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

Eclipse Platform Discussion :

[Migration E3 vers E4] Supprimer Quick Access


Sujet :

Eclipse Platform

  1. #1
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut [Migration E3 vers E4] Supprimer Quick Access
    Bonjour,

    Je suis en train de migrer une application Eclipse RCP 3.5 vers Eclipse 4.3 et je rencontre évidemment une quantité de problèmes.

    J'en ai réglé un certain nombre en utilisant le compatibility layer. Maintenant, j'attaque différents problèmes et je vais probablement créer pas mal de discussions à ce sujet dans les jours qui viennent

    Mon premier souci est la suppression du champ de recherche de la fonctionnalité Quick Access. C'est une fonctionnalité vraiment utile, mais elle me pose un sérieux soucis : elle permet d’accéder à un grand nombre de fonctions qui sont masquées dans la version E3, pas différents moyens, et qui deviennent accessibles un peu trop facilement. Je n'ai pas le temps dans l'immédiat de repasser sur l'ensemble des contributions, vues, éditeurs, préférences et autres, pour tout contrôler).

    J'ai vu qu'un patch avait été produit il y a quelques jours, mais je n'ai trouvé qu'une version buildable. Je ne me sens pas de lancer dans l'apprentissage de Maven, alors que j'ai un temps restreint pour faire cette migration et encore 1 million de problèmes diverses à résoudre. Par ailleurs, une mise à jour de Kepler ne change rien. Quelqu'un saurait comment je pourrais trouver une version buildée des plugins concernés.

    Éventuellement, si vous avez un lien sur un tutoriel qui expliquerait comment personnaliser la fonction, par filtre par exemple (je pourrais la laisser en laissant les vues et les préférences, et supprimer les commandes), ce serait un moindre mal.

    Merci d'avance pour votre aide.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    J'ai trouvé un workaround un peu pourri, mais qui tiendra pour le moment. Au moins ça limite les dégats.

    Dans le WorkbenchWindowAdvisor, soit dans la méthode postWindowOpen(), soit dans openIntro(), appeler la méthode suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    private void hideQuickAccessSearchField() { 
        IWorkbenchWindow window = PlatformUI.getWorkbench()
    	                .getActiveWorkbenchWindow();
        if (window instanceof WorkbenchWindow) {
           MTrimBar topTrim = ((WorkbenchWindow) window).getTopTrim();
           for (MTrimElement element : topTrim.getChildren()) {
              if ("SearchField".equals(element.getElementId())) {                     
    	     Control control = (Control)element.getWidget();
    	     if ( control!=null && !control.isDisposed() ) {
    	         control.dispose();
    	     }
    	     if (element.isVisible() ) {
    	        element.setVisible(false);
    	     }
    	     break;
             }
          }
        }
    }
    Dépendance requise sur org.eclipse.e4.ui.model.workbench.

    Subsistent le raccourci clavier et le menu, mais faciles à enlever.

    Je suis toujours à la recherche d'une solution propre. Et bien sûr, un moyen de configurer la liste de ce qu'on y voit, me comblerait
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    J'ai trouvé une méthode beaucoup plus élégante (même si elle présente un aspect plus statique : en effet, dans la méthode par le code présenté dans le post ci-avant, j'ai pu afficher quand même la quickaccess lorsqu'on est en exécution sous Eclipse, ce qui est bien pratique en développement).

    1. Créer un fichier css dans un plugin (j'ai choisi le plugin qui définit mon objet Application, et les advisors...)
    2. Dans le fichier css, mettre :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      #SearchField {
          visibility: hidden; 
      }
    3. Ajouter dans l'extension qui définit le product (org.eclipse.core.runtime.products), la propriété applicationCSS et lui mettre comme valeur l'URL du fichier css
      Par exemple, si le fichier est default.css et le plugin fr.truc.bidule.application, l'URL sera : platform:/plugin/fr.truc.bidule.application/default.css


    Par ailleurs, j'ai un peu analyser le code et il semble bien que cette fonction ne soit pas configurable : toutes les classes sont en internal, la classe créé un tableau interne en dur de providers, un pour les commandes, un pour les perspectives, etc... et les providers sont en dur (une interface mais pas de fabrique, ni d'adapter). Pour les commandes, par exemple, on teste quand même isEnabled() et isHandled(), mais ça reste un filtrage généralisé, mais non personnalisable. J'ai par exemple des commandes techniques que je ne veux pas rendre utilisables. Pire encore, j'ai des vues bindées sur des activity et elles sont quand même accessibles lorsque l'activité n'est pas enabled.

    Je passe donc la discussion en Résolu.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Addendum :

    Le fait de cacher le Quick Access par css, doit mettre en place un système qui fait que tout ne peut plus être que configuré par css, ce qui est un petit peu lourd. Par exemple, le code suivante, ajouté dans preWindowOpen() du WorkbenchWindowAdvisor, n'a plus d'effet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); 
    configurer.setShowPerspectiveBar(false);
    Malgré ce code on voit toujours la perspective bar, ce qui est somme toute logique, puisque c'est la valeur par défaut. Il est probable que la css soit chargée après le passage dans cette méthode, et les valeurs par défaut utilisée ne sont pas celle du WindowConfigurer.

    Dommage, cette solution était plus clean que l'autre : je reviens à l'autre.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    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 Joël,

    Merci pour ton retour. Malheureusement, je ne peux pas t'aider sur ces problématiques E4 (pas assez d'expériences sur le sujet). Mais n'hésite pas à remonter tes problèmes et solutions

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Salut Joël,

    Merci pour ton retour. Malheureusement, je ne peux pas t'aider sur ces problématiques E4 (pas assez d'expériences sur le sujet). Mais n'hésite pas à remonter tes problèmes et solutions

    Voilà, à+
    Gueritarish
    Salut,

    Vu la rareté de ce que je peux trouver sur le sujet, qui consiste pour une grande part à des signalements du même genre de problèmes que je rencontre, j'ai l'impression que peu de personnes ont de l'expérience sur le sujet. Même le blog de Lars Vogel dit qu'il suffit d'utiliser le "Compatibility Layer" et que ça marche tout seul Je suppose que pour des petites applications de base, peut-être. Mais, pour des grosses applications (339 plugins, environ 2 millions de lignes de code), avec des trucs plus ou moins bien faits, des workarounds de bug Eclipse ou de fonctionnalités manquantes, des intégrations un peu sioux (AWT/SWT), des plugins intégrants des bibliothèques binaires, et la concurrence de la migration du RCP, de JAVA, et de 32bits vers 64bits, etc..., c'est un peu moins magique J'envisage déjà de faire un article résumé sur la migration E3->E4 lorsque j'aurai résolu tous mes problèmes.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Salut,

    Concernant la désactivation de la barre de recherche, as-tu fait un tour sur ce bug tracker ?
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=362420
    Je n'ai pas tout lu mais il semblerait que Luna va résoudre ton problème, l'intégration est prévue en M6.

    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Merci pour ta réponse. Je n'avais pas vu ce bug tracker, mais un autre qui semblait indiquer que la quickaccess serait désactivée par défaut sous Kepler. Le workaround est très intéressant, parce il donne une solution pour accéder aux éléments du modèle applicatif E4. Ce qui me donne des idées pour mon autre problème de toolbars.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Migration Approach vers Access
    Par Ismaël(l) dans le forum Access
    Réponses: 5
    Dernier message: 01/02/2007, 16h34
  2. Migration PhpMysql vers Access
    Par sephirothmana dans le forum Access
    Réponses: 2
    Dernier message: 12/01/2007, 09h09
  3. Migration Cobol vers Access
    Par dady120 dans le forum Access
    Réponses: 7
    Dernier message: 05/05/2006, 22h25
  4. Réponses: 4
    Dernier message: 01/03/2006, 18h17
  5. migration d'une base de données access vers oracle
    Par narjisovish dans le forum Migration
    Réponses: 2
    Dernier message: 08/09/2005, 10h27

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