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 :

récupérer le project courant


Sujet :

Eclipse Platform

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut récupérer le project courant
    Salut,

    Mon problème du jour est le suivant, je veux récupéré le project courrant dans une classe de validation. Cette classe de validation est appellée lors d un save.

    J ai donc le code suivant (qui marche dans d'autres classes) :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    	/**
             * Gets the current active project.
             * 
             * @return IProject 
             *                      The active project
             */
    	private IProject getCurrentProject() {
    		IWorkbench iworkbench = PlatformUI.getWorkbench();
    		if (iworkbench == null) {
    			return null;
    		}
    		IWorkbenchWindow iworkbenchwindow = iworkbench.getActiveWorkbenchWindow();
    		if (iworkbenchwindow == null) {
    			return null;
    		}
    		IWorkbenchPage iworkbenchpage = iworkbenchwindow.getActivePage();
    		if (iworkbenchpage == null) {
    			return null;
    		}
    		IEditorPart ieditorpart = iworkbenchpage.getActiveEditor();
     
    		return extractProject(ieditorpart);
    	}
    	/**
             * Extract the project from the editor part.
             * 
             * @param editor
             *                      The active editor
             * @return IProject
             *                      The active project
             */
    	 private IProject extractProject(IEditorPart editor) {
    		IEditorInput input = editor.getEditorInput();
    		if (!(input instanceof IFileEditorInput))
    			return null;
    		return ((IFileEditorInput)input).getFile().getProject();
      }
    mais le problème est que getActiveWorkbenchWindow me renvoye null

    existerait il un autre moyen de récupérer les project courrant

    merci

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    A quel moment tu le lances ce code ?
    Avant d'ouvir la fenetre ou apres ?

    Si c'est avant, il me semble que tu n'as pas de fenetre active.

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Othman Monaem
    salut, c simple , il suffit de changer PlatformUI par ResourcesPlugin, voila un exemple de mon code :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    IWorkbenchWindow window = PlatformUI.getWorkbench()
    					.getActiveWorkbenchWindow();
    			IWorkbenchPage page2 = window.getActivePage();
     
    			if (page2 != null) {
    				try {
     
    					IWorkspace workspace = ResourcesPlugin.getWorkspace();
    					IProject[] project1 = workspace.getRoot().getProjects();
    					for (int i = 0; i < project1.length; i++) {
    						if (project1[i].getName().equals(
    								newQuestionaryWizardPage.getProcessPhaseName())) {
    							IFolder newQuestionary = project1[i].getFolder(
    									"Surveys").getFolder(
    									newQuestionaryWizardPage.getSurveyName())
    									.getFolder("Questionary");
    							newQuestionary.create(true, true,
    									new NullProgressMonitor());
    						}
    					}
    					try {
    						ResourcesPlugin.getWorkspace().getRoot().refreshLocal(
    								IResource.DEPTH_INFINITE, null);
    					} catch (OperationCanceledException x) {
    					} catch (CoreException x) {
    					}
    				} catch (CoreException e) {
    					e.printStackTrace();
    				}
    			}

Discussions similaires

  1. Récupérer l'utilisateur courant
    Par nbeligh dans le forum C++
    Réponses: 8
    Dernier message: 09/09/2006, 20h57
  2. Récupérer la valeur courante d'un SELECT issu d'un code PHP
    Par oook dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/06/2006, 14h48
  3. Récupérer l'URL courante?
    Par Death83 dans le forum Langage
    Réponses: 10
    Dernier message: 12/01/2006, 02h25
  4. Réponses: 1
    Dernier message: 03/12/2005, 12h24
  5. [JSP] Récupérer le répertoire courant
    Par dafly dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 10/06/2004, 11h01

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