mac OS X
[iramuteq] / tree.py
diff --git a/tree.py b/tree.py
index d856799..5e13814 100644 (file)
--- a/tree.py
+++ b/tree.py
@@ -15,6 +15,67 @@ from functions import DoConf
 log = logging.getLogger('iramuteq.tree')
 #from agw import customtreectrl as CT
 
+class InfoDialog ( wx.Dialog ):
+    
+    def __init__( self, parent, txt, parametres ):
+        wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Informations", pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.DEFAULT_DIALOG_STYLE )
+        
+        self.SetSizeHintsSz( wx.Size( 500,200 ), wx.DefaultSize )
+        
+        bSizer1 = wx.BoxSizer( wx.VERTICAL )
+        
+        self.m_panel2 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
+        bSizer2 = wx.BoxSizer( wx.VERTICAL )
+        
+        self.m_staticText4 = wx.StaticText( self.m_panel2, wx.ID_ANY, txt, wx.DefaultPosition, wx.DefaultSize, 0 )
+        self.m_staticText4.Wrap( -1 )
+        bSizer2.Add( self.m_staticText4, 0, wx.ALL, 5 )
+        
+        
+        self.m_panel2.SetSizer( bSizer2 )
+        self.m_panel2.Layout()
+        bSizer2.Fit( self.m_panel2 )
+        bSizer1.Add( self.m_panel2, 0, wx.EXPAND |wx.ALL, 5 )
+        
+        self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
+        fgSizer1 = wx.FlexGridSizer( 0, 2, 0, 0 )
+        fgSizer1.SetFlexibleDirection( wx.BOTH )
+        fgSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
+        
+        txtctrl = []
+        for val in parametres :
+            fgSizer1.Add( wx.StaticText( self.m_panel1, wx.ID_ANY, val[0], wx.DefaultPosition, wx.DefaultSize, 0 ), 0, wx.ALL, 0)
+            #fgSizer1.Add( wx.StaticText( self.m_panel1, wx.ID_ANY, val[1], wx.DefaultPosition, wx.DefaultSize, 0 ), 0, wx.ALL, 0)
+            txtctrl.append( wx.TextCtrl( self.m_panel1, wx.ID_ANY, val[1], wx.DefaultPosition, (500, 20), wx.TE_READONLY ) )
+            txtctrl[-1].SetBackgroundColour('#DDE8EB')
+            #wx.SystemSettings.GetColour(wx.SYS_COLOUR_GRAYTEXT))
+            fgSizer1.Add( txtctrl[-1], 0, wx.ALL|wx.EXPAND, 0)
+            fgSizer1.Add( wx.StaticLine( self.m_panel1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ), 0, wx.EXPAND |wx.ALL, 0)
+            fgSizer1.Add( wx.StaticLine( self.m_panel1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ), 0, wx.EXPAND|wx.ALL, 0)
+
+        self.m_panel1.SetSizer( fgSizer1 )
+        self.m_panel1.Layout()
+        fgSizer1.Fit( self.m_panel1 )
+        bSizer1.Add( self.m_panel1, 0, wx.EXPAND|wx.ALL, 3 )
+        
+        m_sdbSizer1 = wx.StdDialogButtonSizer()
+        self.m_sdbSizer1OK = wx.Button( self, wx.ID_OK )
+        m_sdbSizer1.AddButton( self.m_sdbSizer1OK )
+        m_sdbSizer1.Realize();
+        
+        bSizer1.Add( m_sdbSizer1, 0, wx.EXPAND, 5 )
+        
+        
+        self.SetSizer( bSizer1 )
+        self.Layout()
+        bSizer1.Fit( self )
+        
+        self.Centre( wx.BOTH )
+    
+    def __del__( self ):
+        pass
+
+
 class LeftTree(CT.CustomTreeCtrl):
 
     def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition,
@@ -46,7 +107,7 @@ class LeftTree(CT.CustomTreeCtrl):
 #        smileidx = il.Add(images.Smiles.GetBitmap())
 #        numicons = il.GetImageCount()
 
-        self.AssignImageList(il)
+        #self.AssignImageList(il)
         self.count = 0
         self.log = log
 
@@ -67,18 +128,18 @@ 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.history.corpora)) :
-            if 'corpus_name' in self.h[self.history.order[x]] :
-                key = 'corpus_name'
-            else :
-                key = 'name'
-            child = self.AppendItem(self.root, self.h[self.history.order[x]][key])
+        for corpus in self.h :
+            #if 'corpus_name' in self.h[self.history.order[x]] :
+            #    key = 'corpus_name'
+            #else :
+            #    key = 'name'
+            child = self.AppendItem(self.root, corpus['corpus_name'])
             #if x == 1:
             #    child = self.AppendItem(self.root, "Item %d" % x + "\nHello World\nHappy wxPython-ing!")
             #    self.SetItemBold(child, True)
             #else:
             #    child = self.AppendItem(self.root, "Item %d" % x)
-            self.SetPyData(child, self.h[self.history.order[x]])
+            self.SetPyData(child, corpus)
             self.SetItemImage(child, 24, CT.TreeItemIcon_Normal)
             self.SetItemImage(child, 13, CT.TreeItemIcon_Expanded)
 
@@ -98,14 +159,14 @@ class LeftTree(CT.CustomTreeCtrl):
             #    elif y == 4 and x == 1:
             #        last = self.AppendItem(child, "item %d-%s" % (x, chr(ord("a")+y)), wnd=combobox)
             #    else:
-            if 'corpus_name' in self.h[self.history.order[x]] :
-                if 'analyses' in self.h[self.history.order[x]] :
-                    for y in self.h[self.history.order[x]]['analyses'] :
-                        last = self.AppendItem(child, y['name'], ct_type=0)
-                            
-                        self.SetPyData(last, y)
-                        self.SetItemImage(last, 24, CT.TreeItemIcon_Normal)
-                        self.SetItemImage(last, 13, CT.TreeItemIcon_Expanded)
+           # if 'corpus_name' in self.h[self.history.order[x]] :
+            if 'analyses' in corpus :
+                for y in corpus['analyses'] :
+                    last = self.AppendItem(child, y['name'], ct_type=0)
+                        
+                    self.SetPyData(last, y)
+                    self.SetItemImage(last, 24, CT.TreeItemIcon_Normal)
+                    self.SetItemImage(last, 13, CT.TreeItemIcon_Expanded)
     
             #    if random.randint(0, 3) == 0:
             #        self.SetItemLeftImage(last, random.randint(0, lenArtIds))
@@ -467,11 +528,14 @@ class LeftTree(CT.CustomTreeCtrl):
         numchildren = str(self.itemdict["children"])
         itemtype = self.itemdict["itemtype"]
         pydata = self.itemdict['pydata']
-        if 'analyses' in pydata :
-            toshow = dict([[val, pydata[val]] for val in pydata if val not in['analyses', 'isload']])
-        else :
-            toshow = pydata
-        pydata = DoConf().totext(toshow)
+        #if 'analyses' in pydata :
+        #    toshow = dict([[val, pydata[val]] for val in pydata if val not in['analyses', 'isload']])
+        #else :
+        toshow = pydata['ira']
+        toshow = DoConf(toshow).getoptions()
+        txt = DoConf().totext(toshow)
+        parametres = [val.split('\t\t:') for val in txt.splitlines()]
+        parametres.sort()
 
         if itemtype == 0:
             itemtype = "Normal"
@@ -480,12 +544,7 @@ class LeftTree(CT.CustomTreeCtrl):
         else:
             itemtype = "RadioButton"
 
-        strs = "Information On Selected Item:\n\n" + "Text: " + itemtext + "\n" \
-               "Number Of Children: " + numchildren + "\n" \
-               "Item Type: " + itemtype + "\n" \
-               "Item Data Type: " + pydata + "\n"
-
-        dlg = wx.MessageDialog(self, strs, "CustomTreeCtrlDemo Info", wx.OK | wx.ICON_INFORMATION)
+        dlg = InfoDialog(self, itemtext, parametres)
         dlg.ShowModal()
         dlg.Destroy()
                 
@@ -504,9 +563,9 @@ class LeftTree(CT.CustomTreeCtrl):
         
         pydata = self.itemdict['pydata']
         if 'corpus_name' in pydata :
-            self.history.delete(pydata['uuid'], True)
+            self.history.delete(pydata, True)
         else :
-            self.history.delete(pydata['uuid'])
+            self.history.delete(pydata)
         self.DeleteChildren(self.current)
         self.Delete(self.current)
         self.current = None