2010-08-03 17 views
0

Je voudrais définir la couleur de fond de mon application RCP en blanc et montrer une image centrale (logo). En effet, aucune vue ou éditeur n'est affiché au préalable et l'utilisateur doit sélectionner la perspective à ouvrir. Ceci est nécessaire car j'ai défini une vue en arrière-plan qui serait montrée en premier, mais cela m'empêche de montrer la page d'introduction/d'accueil en mode complet (elle s'affiche juste en mode veille).Application RCP et changement de couleur d'arrière-plan et mettre l'image au centre d'application

J'ai manipulé ApplicationWorkbenchWindowAdvisor et créé une méthode createWindowContent (shell Shell), mais la seule chose que j'ai faite était de définir l'image d'arrière-plan et la couleur des shells. Cela se traduit par une bordure blanche de la page (logiquement parce que le shell se trouve derrière la page). Toutes les tentatives d'obtention du composite de pages ont échoué.

Pouvez-vous aider ici? Y a-t-il un moyen de changer la page composite?

Merci

+0

Quel arrière-plan voulez-vous changer, celui de l'arrière-plan ou autre? –

+0

Je veux changer la couleur grise de la page d'application à quelque chose de plus agréable, avec un logo. Vous pouvez le voir sur de nombreuses applications non-RCP sur Windows. – Raven

Répondre

0

La façon dont le plan de travail est configuré est d'avoir un groupe de rédacteurs en chef tout en persistant les perspectives changent la zone d'emplacement de l'éditeur et de fournir un groupe de vues avec des positions qui sont liées à la perspective. Cela signifie que vous êtes vraiment limité aux vues et aux éditeurs, à moins que vous ne commenciez à créer votre propre comportement de workbench. C'est extrêmement compliqué et bien que possible, c'est vraiment difficile. L'option la plus simple consiste à créer une perspective qui contient une seule vue affichant le contenu que vous recherchez. L'inconvénient est que votre point de vue apparaîtra dans le sélecteur de perspective. Quand j'ai fait quelque chose de similaire, j'ai créé mon propre sélecteur de perspective au lieu d'utiliser le sélecteur par défaut fourni par la plate-forme afin que certaines perspectives ne soient pas sélectionnables par l'utilisateur.

Pour assurer que l'utilisateur ne peut pas gâcher la perspective assurez-vous qu'il est fixé comme expliqué dans this link

+0

Merci. Je l'ai déjà fait, mais ça gâche ma page d'accueil/intro. D'une certaine manière, il veut juste se montrer en veille (petite version à côtés gauche) au lieu du mode complet. C'est pourquoi je voulais changer l'arrière-plan à la place. – Raven

1

Il devrait être sur ViewSashContainer classe. Basé sur mon expérience, j'ai mis le code dans une méthode postWindowOpen(). Ci-dessous, voici mon code:

ArrayList list = (ArrayList)getWindowConfigurer().getWindow().getShell().getData("org.eclipse.ui.internal.dnd.dropTarget"); 
ViewSashContainer viewSash = (ViewSashContainer) list.get(2); 
Composite composite = viewSash.getParent(); 
composite.setBackgroundImage(image);