X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=tree.py;h=d856799d0cc963492685a23c7028f2fcae0e1ada;hp=41769f521acac1332ba1c58bfcc4f1aa40884947;hb=e9568b211b7770aebf8f16db60f0aa4fecbc54db;hpb=8fa853a25a9d62b1446e1bc543e5a3a4d0e03dcf diff --git a/tree.py b/tree.py index 41769f5..d856799 100644 --- a/tree.py +++ b/tree.py @@ -50,10 +50,6 @@ class LeftTree(CT.CustomTreeCtrl): self.count = 0 self.log = log - # NOTE: For some reason tree items have to have a data object in - # order to be sorted. Since our compare just uses the labels - # we don't need any real data, so we'll just use None below for - # the item data. self.history = parent.history self.h = self.history.history self.root = self.AddRoot("Iramuteq") @@ -71,7 +67,7 @@ class LeftTree(CT.CustomTreeCtrl): #textctrl.Bind(wx.EVT_CHAR, self.OnTextCtrl) #combobox.Bind(wx.EVT_COMBOBOX, self.OnComboBox) #lenArtIds = len(ArtIDs) - 2 - for x in range(len(self.h)) : + for x in range(len(self.history.corpora)) : if 'corpus_name' in self.h[self.history.order[x]] : key = 'corpus_name' else : @@ -319,15 +315,19 @@ class LeftTree(CT.CustomTreeCtrl): alceste = classification.Append(wx.ID_ANY, u"Méthode ALCESTE") pam = classification.Append(wx.ID_ANY, u"Par matrice des distances") menu.AppendMenu(-1, u"Classification", classification) + simi = menu.Append(wx.ID_ANY, u"Analyse de similitude") + wdc = menu.Append(wx.ID_ANY, u"Nuage de mots") menu.AppendSeparator() self.Bind(wx.EVT_MENU, self.OnAlceste, alceste) self.Bind(wx.EVT_MENU, self.OnPam, pam) self.Bind(wx.EVT_MENU, self.OnStat, stat) self.Bind(wx.EVT_MENU, self.OnSpec, spec) + self.Bind(wx.EVT_MENU, self.OnSimiTxt, simi) + self.Bind(wx.EVT_MENU, self.OnWordCloud, wdc) - item10 = menu.Append(wx.ID_ANY, "Supprimer de l'historique") + itemdelete = menu.Append(wx.ID_ANY, "Supprimer de l'historique") if item == self.GetRootItem(): - item10.Enable(False) + itemdelete.Enable(False) #item11 = menu.Append(wx.ID_ANY, "Prepend An Item") #item12 = menu.Append(wx.ID_ANY, "Append An Item") @@ -340,7 +340,7 @@ class LeftTree(CT.CustomTreeCtrl): #self.Bind(wx.EVT_MENU, self.OnDisableItem, item7) #self.Bind(wx.EVT_MENU, self.OnItemIcons, item8) self.Bind(wx.EVT_MENU, self.OnItemInfo, info) - #self.Bind(wx.EVT_MENU, self.OnItemDelete, item10) + self.Bind(wx.EVT_MENU, self.OnItemDelete, itemdelete) #self.Bind(wx.EVT_MENU, self.OnItemPrepend, item11) #self.Bind(wx.EVT_MENU, self.OnItemAppend, item12) @@ -365,6 +365,12 @@ class LeftTree(CT.CustomTreeCtrl): def OnPam(self, evt) : print 'rien' + def OnSimiTxt(self, evt) : + self.parent.OnSimiTxt(evt, self.getcorpus(self.itemdict)) + + def OnWordCloud(self, evt) : + self.parent.OnWordCloud(evt, self.getcorpus(self.itemdict)) + def OnItemBackground(self, event): colourdata = wx.ColourData() @@ -495,7 +501,12 @@ class LeftTree(CT.CustomTreeCtrl): return dlg.Destroy() - + + pydata = self.itemdict['pydata'] + if 'corpus_name' in pydata : + self.history.delete(pydata['uuid'], True) + else : + self.history.delete(pydata['uuid']) self.DeleteChildren(self.current) self.Delete(self.current) self.current = None @@ -513,11 +524,12 @@ class LeftTree(CT.CustomTreeCtrl): dlg.Destroy() - def AddAnalyse(self, parametres, itemParent = None) : + def AddAnalyse(self, parametres, itemParent = None, bold = True) : uuid = parametres['corpus'] if itemParent is None : itemParent = self.root child, cookie = self.GetFirstChild(itemParent) + corpus = None while child : pydata = self.GetPyData(child) if pydata['uuid'] == uuid : @@ -525,11 +537,15 @@ class LeftTree(CT.CustomTreeCtrl): break self.GiveFocus(child, uuid) child, cookie = self.GetNextChild(itemParent, cookie) - item = self.AppendItem(corpus, parametres['name']) + #item = self.AppendItem(child, parametres['name']) + if corpus is not None : + item = self.AppendItem(corpus, parametres['name']) + else : + item = self.AppendItem(self.root, parametres['name']) self.SetPyData(item, parametres) self.SetItemImage(item, 24, CT.TreeItemIcon_Normal) self.SetItemImage(item, 13, CT.TreeItemIcon_Expanded) - self.SetItemBold(item, True) + self.SetItemBold(item, bold) def OnItemAppend(self, item): child = self.AppendItem(self.root, item['corpus_name']) @@ -647,13 +663,14 @@ class LeftTree(CT.CustomTreeCtrl): def OnSelChanged(self, event): item = event.GetItem() pydata = self.GetPyData(item) - if pydata['uuid'] in self.parent.history.opened : - for i in range(self.parent.nb.GetPageCount()) : - page = self.parent.nb.GetPage(i) - if 'parametres' in dir(page) : - if page.parametres['uuid'] == pydata['uuid'] : - self.parent.nb.SetSelection(i) - break + if pydata is not None : + if pydata['uuid'] in self.parent.history.opened : + for i in range(self.parent.nb.GetPageCount()) : + page = self.parent.nb.GetPage(i) + if 'parametres' in dir(page) : + if page.parametres['uuid'] == pydata['uuid'] : + self.parent.nb.SetSelection(i) + break #self.item = event.GetItem() #if self.item: