Trees | Indices | Help |
|
---|
|
1 # -*- coding: iso-8859-1 -*- 2 # Copyright 2007, 2008: Julien Bourdaillet (julien.bourdaillet@lip6.fr), Jean-Gabriel Ganascia (jean-gabriel.ganascia@lip6.fr) 3 # This file is part of MEDITE. 4 # 5 # MEDITE is free software; you can redistribute it and/or modify 6 # it under the terms of the GNU General Public License as published by 7 # the Free Software Foundation; either version 2 of the License, or 8 # (at your option) any later version. 9 # 10 # MEDITE is distributed in the hope that it will be useful, 11 # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 # GNU General Public License for more details. 14 # 15 # You should have received a copy of the GNU General Public License 16 # along with Foobar; if not, write to the Free Software 17 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 #---------------------------------------------------------------------------- 19 # Nom: TreePanel.py 20 # Objet: Panel affichant l'arbre des versions 21 # 22 # Authors: Julien Bourdaillet 23 # 24 # Cree: janvier 05 25 # 26 #---------------------------------------------------------------------------- 27 28 import wx,sys,os, Utile.constantesGUI, Donnees.arbre, Donnees.planTravail 29 import Controleurs.FInfoManager,Controleurs.DGManager 30 #import images 31 3234102 # self.Bind(wx.EVT_TREE_ITEM_EXPANDED, self.OnItemExpanded, self.tree) 103 # self.Bind(wx.EVT_TREE_ITEM_COLLAPSED, self.OnItemCollapsed, self.tree) 104 # self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnSelChanged, self.tree) 105 # self.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, self.OnBeginEdit, self.tree) 106 # self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.OnEndEdit, self.tree) 107 # self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnActivate, self.tree) 108 # 109 # self.tree.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick) 110 # self.tree.Bind(wx.EVT_RIGHT_DOWN, self.OnRightClick) 111 # self.tree.Bind(wx.EVT_RIGHT_UP, self.OnRightUp) 112 113 # chargement d'un noeud36 wx.Panel.__init__(self,parent) 37 self.fenetreMedite = medite 38 self.Bind(wx.EVT_SIZE,self.OnSize) 39 self.buildNewTree() 40 self.planTravail = plan = Donnees.planTravail.PlanTravail("","","","","","",Donnees.planTravail.Parametres())4143 return True44 47 48 # construit l'objet TreeCtrl à l'init du panel50 tID = wx.NewId() 51 self.tree = wx.TreeCtrl(self, tID, wx.DefaultPosition, wx.DefaultSize, 52 wx.TR_HAS_BUTTONS | wx.TR_EDIT_LABELS 53 #| wx.TR_MULTIPLE | wx.TR_HIDE_ROOT 54 ) 55 56 isz = (16,16) 57 il = wx.ImageList(isz[0], isz[1]) 58 self.fldridx = il.Add(wx.ArtProvider_GetBitmap(wx.ART_FOLDER, wx.ART_OTHER, isz)) 59 self.fldropenidx = il.Add(wx.ArtProvider_GetBitmap(wx.ART_FILE_OPEN, wx.ART_OTHER, isz)) 60 #self.fileidx = il.Add(wx.ArtProvider_GetBitmap(wx.ART_REPORT_VIEW, wx.ART_OTHER, isz)) 61 self.imgEtat = il.Add(self.__getImg('etat.bmp')) 62 self.imgVersion = il.Add(self.__getImg('version.bmp')) 63 64 self.tree.SetImageList(il) 65 self.il = il 66 67 # NOTE: For some reason tree items have to have a data object in 68 # order to be sorted. Since our compare just uses the labels 69 # we don't need any real data, so we'll just use None below for 70 # the item data. 71 self.root = self.tree.AddRoot("Arbre des versions") 72 self.tree.SetPyData(self.root, None) 73 self.tree.SetItemImage(self.root, self.fldridx, wx.TreeItemIcon_Normal) 74 self.tree.SetItemImage(self.root, self.fldropenidx, wx.TreeItemIcon_Expanded)75 76 # 1e init du treeCtrl 81 82 # rechargement du treeCtrl84 self.tree.DeleteChildren(self.root) 85 #self.tree.DeleteAllItems() 86 #del(self.tree) 87 #self.buildNewTree() 88 self.loadTree()89 90 # chargmenent du treeCtrl à partir de l'objet Arbre 92 if self.fenetreMedite.DGLoaded: 93 #sys.stderr.write('DGLoaded\n') 94 #self.arbre = self.fenetreMedite.cinfos.getArbre(self.fenetreMedite.DGAuteur, self.fenetreMedite.DGOeuvre) 95 fim = Controleurs.FInfoManager.FInfoManager(Controleurs.DGManager.Auteur(self.fenetreMedite.DGAuteur),Controleurs.DGManager.Oeuvre(self.fenetreMedite.DGOeuvre)) 96 self.arbre= fim.getArbre() 97 for version in self.arbre.getListeVersions(): 98 #sys.stderr.write('Vi\n') 99 self.loadNode(version, self.root) 100 101 self.tree.Expand(self.root)115 #sys.stderr.write('loadNode '+node.getNom()+'\n') 116 child = self.tree.AppendItem(pere, node.getNom()) 117 self.tree.SetPyData(child, None) 118 if isinstance(node,Donnees.arbre.Etat): # état 119 self.tree.SetItemImage(child, self.imgEtat, wx.TreeItemIcon_Normal) 120 else: #version 121 self.tree.SetItemImage(child, self.imgVersion, wx.TreeItemIcon_Normal) 122 # self.tree.SetItemImage(child, fldropenidx, wx.TreeItemIcon_Expanded) 123 for fils in node.getListeFils(): 124 self.loadNode(fils, child)125 129131 chem=os.path.join(Utile.constantesGUI.REPIMG,pNom) 132 return wx.Bitmap(chem,wx.BITMAP_TYPE_BMP)133
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0beta1 on Wed Aug 13 15:25:44 2008 | http://epydoc.sourceforge.net |