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

Interfaces Graphiques Discussion :

arborescence uitree matlab


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Par défaut arborescence uitree matlab
    bonjour à tous,

    J'ai un petit soucis avec les arborescences matlab (et le composant uitree), non documenté bien sur ...

    En fait, j'ai une arborescence qui me permet de récupérer toute l'arborescence de fichiers et dossiers, jusque là tout va bien. Voilà le 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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    function figure1_CreateFcn(hObject, eventdata, handles)
     
    root = uitreenode('v0','c:\','C:\',[], false);
    t = uitree('v0','Root',root,'ExpandFcn',@Expfcn);
    position = get(hObject,'Position');
    setPosition(t,[5 5 300 650]);
    set(t,'NodeSelectedCallback', @SelectedNode);
     
    function node = SelectedNode(tree,value)
    %
    %
    cNode = value.getCurrentNode;
    disp(cNode.getName);
     
     
     
    function nodes = Expfcn(tree, value)
      try
          count = 0;
          disp(value);
          ch = dir(value);
          disp(ch);
          for i=1:length(ch)
              if (any(strcmp(ch(i).name, {'.', '..', ''})) == 0)
                  count = count + 1;
                  if ch(i).isdir
                      iconpath = [matlabroot, '/toolbox/matlab/icons/foldericon.gif'];
                  else
                      iconpath = [matlabroot, '/toolbox/matlab/icons/pageicon.gif'];
                  end
                  nodes(count) = uitreenode('v0',[value, ch(i).name, filesep], ...
                      ch(i).name, iconpath, ~ch(i).isdir);
              end
          end
      catch
          error(['The uitree node type is not recognized. You may need to ', ...
              'define an ExpandFcn for the nodes.']);
      end
     
      if (count == 0)
          nodes = [];
     end
    Après, j'aimerai remplacer l'arborescence de fichiers / dossiers par 'une arborescence' quelconque dont les éléments du dernier niveau sont stockés dans une classe matlab.
    La classe que j'utilise est du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    classdef arbo
     
    %Attributes
        properties (SetAccess = private)
            name
            name parent
            name grand parent
        end     
     
        methods 
            ...
        end
    end %end-classdef
    Et pour chaque élément de la classe arbo, je voudrais récupérer les parent, grand parent communs pour créer l'arborescence comme suit :


    name grand parent
    _____name parent
    _________name
    _________name
    _____name parent
    _________name
    _________name
    _________name
    name grand parent
    _____name parent
    _________name
    _________name

    En fait, les éléments de la classe arbo sont les derniers éléments de mon arborescence et les attributs parent et grand parent sont les niveaux supérieurs.

    Finalement, mon principal problème est de créer l'arborescence à partir de données Matlab et pas à partir de dossiers / fichiers avec lesquels on peut utiliser les commandes de style 'dir', 'isdir', ...
    Mon second problème est de récupérer et comparer mes attributs de façon propre et en minimisant les temps de calcul, mais c'est secondaire.

    Toutes les idées seront les bienvenues!!

    Merci par avance,
    Mary.

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Une idée qui me vient comme ca serait de recréer une structure similaire à celle que tu obtiens avec DIR pour tes données MATLAB, après ca devrait fonctionner pareil je pense...

    Bon courage,
    Duf

Discussions similaires

  1. Arborescence sur matlab ?
    Par dodo1245 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 02/01/2010, 16h25
  2. Recuperation Arborescence
    Par ramseb dans le forum HyperFileSQL
    Réponses: 6
    Dernier message: 16/06/2003, 09h52
  3. [VB6] parcourir une arborescence de repertoire
    Par pecheur dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/04/2003, 17h33
  4. créer une arborescence windows sous forme d'arbre java
    Par chupachoc dans le forum Composants
    Réponses: 3
    Dernier message: 01/10/2002, 16h48
  5. arbre de parcour d'arborescence windows
    Par chupachoc dans le forum Composants
    Réponses: 7
    Dernier message: 09/09/2002, 08h09

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