...
[iramuteq] / iramuteq.py
index 3ebb9dd..91cf8f0 100644 (file)
@@ -13,7 +13,6 @@ parser.add_option("-f", "--file", dest="filename",
 
 #print args
 #print options
 
 #print args
 #print options
-
 import sys
 reload(sys)
 import locale
 import sys
 reload(sys)
 import locale
@@ -34,7 +33,6 @@ import agw.aui as aui
 import wx.html
 import wx.grid
 import wx.lib.hyperlink as hl
 import wx.html
 import wx.grid
 import wx.lib.hyperlink as hl
-#from wx.lib.wordwrap import wordwrap
 #------------------------------------
 from functions import BugReport, PlaySound, ReadLexique, History, DoConf, ReadDicoAsDico, progressbar
 from checkversion import NewVersion
 #------------------------------------
 from functions import BugReport, PlaySound, ReadLexique, History, DoConf, ReadDicoAsDico, progressbar
 from checkversion import NewVersion
@@ -104,7 +102,6 @@ if sys.platform == 'darwin' :
 else :
     sys.setdefaultencoding(locale.getpreferredencoding())
 #chemin de l'application
 else :
     sys.setdefaultencoding(locale.getpreferredencoding())
 #chemin de l'application
-
 AppliPath = os.path.abspath(os.path.dirname(os.path.realpath(sys.argv[0])))
 #chemin des images
 ImagePath = os.path.join(AppliPath, 'images')
 AppliPath = os.path.abspath(os.path.dirname(os.path.realpath(sys.argv[0])))
 #chemin des images
 ImagePath = os.path.join(AppliPath, 'images')
@@ -121,24 +118,15 @@ UserConfigPath = os.path.abspath(os.path.join(user_home, '.iramuteq'))
 #Si pas de fichiers de config utilisateur, on cree le repertoire
 CreateIraDirectory(UserConfigPath, AppliPath)
 #fichiers log pour windows (py2exe)
 #Si pas de fichiers de config utilisateur, on cree le repertoire
 CreateIraDirectory(UserConfigPath, AppliPath)
 #fichiers log pour windows (py2exe)
-print 'PLUS DE LOG !!!!!!!!!!'
-print 'LOGGING TEST'
 log = logging.getLogger('iramuteq')
 fh = logging.FileHandler(os.path.join(UserConfigPath,'stdout.log'))
 ch = logging.StreamHandler()
 log = logging.getLogger('iramuteq')
 fh = logging.FileHandler(os.path.join(UserConfigPath,'stdout.log'))
 ch = logging.StreamHandler()
-formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
 ch.setFormatter(formatter)
 fh.setFormatter(formatter)
 log.addHandler(ch)
 log.addHandler(fh)
 log.setLevel(logging.INFO)
 ch.setFormatter(formatter)
 fh.setFormatter(formatter)
 log.addHandler(ch)
 log.addHandler(fh)
 log.setLevel(logging.INFO)
-#debug = False
-#if not debug :
-#    if sys.platform == 'win32' or sys.platform == 'darwin':
-#        sys.stdout = open(os.path.join(UserConfigPath,'stdout.log'), 'w')
-#        sys.stderr = open(os.path.join(UserConfigPath,'stderr.log'), 'w')
-#chemin des fichiers de configuration utilisateur
-#print sys.argv[0]
 ConfigPath = ConstructConfigPath(UserConfigPath)
 #####################################################################
 
 ConfigPath = ConstructConfigPath(UserConfigPath)
 #####################################################################
 
@@ -281,9 +269,9 @@ class IraFrame(wx.Frame):
         #                  CenterPane())
         self._mgr.AddPane(IntroPanel(self), aui.AuiPaneInfo().Name("Intro_Text").
                           CenterPane())
         #                  CenterPane())
         self._mgr.AddPane(IntroPanel(self), aui.AuiPaneInfo().Name("Intro_Text").
                           CenterPane())
-        if not os.path.exists(os.path.join(UserConfigPath, 'history.db')) :
-            with open(os.path.join(UserConfigPath, 'history.db'), 'w') as f :
-                f.write('')
+        #if not os.path.exists(os.path.join(UserConfigPath, 'history.db')) :
+        #    with open(os.path.join(UserConfigPath, 'history.db'), 'w') as f :
+        #        f.write('')
         self.history = History(os.path.join(UserConfigPath, 'history.db'))
         self.tree = LeftTree(self)
         self._mgr.AddPane(self.tree, aui.AuiPaneInfo().Name("lefttree").Caption("Navigateur").
         self.history = History(os.path.join(UserConfigPath, 'history.db'))
         self.tree = LeftTree(self)
         self._mgr.AddPane(self.tree, aui.AuiPaneInfo().Name("lefttree").Caption("Navigateur").
@@ -307,7 +295,6 @@ class IraFrame(wx.Frame):
         self.Sheet = MySheet(self)
         #self._mgr.AddPane(self.Sheet, wx.aui.AuiPaneInfo().Name("Data").CenterPane())
         self._mgr.AddPane(self.Sheet, aui.AuiPaneInfo().Name("Data").CenterPane())
         self.Sheet = MySheet(self)
         #self._mgr.AddPane(self.Sheet, wx.aui.AuiPaneInfo().Name("Data").CenterPane())
         self._mgr.AddPane(self.Sheet, aui.AuiPaneInfo().Name("Data").CenterPane())
-        #self.nb.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.OnCloseTab)
         self.nb.Bind(aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.OnCloseTab)
         self.nb.Bind(aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
         # add the toolbars to the manager
         self.nb.Bind(aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.OnCloseTab)
         self.nb.Bind(aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
         # add the toolbars to the manager
@@ -515,7 +502,6 @@ vous devez signaler le chemin de l'éxecutable de R dans les préférences."""
             self._mgr.UnInit()
             del self._mgr
             self.Destroy()
             self._mgr.UnInit()
             del self._mgr
             self.Destroy()
-            ##FIXME
             #if sys.platform == 'win32' :
             #    os.system("taskkill /im iramuteq.exe /f")
             #    print 'meurtre de process'
             #if sys.platform == 'win32' :
             #    os.system("taskkill /im iramuteq.exe /f")
             #    print 'meurtre de process'
@@ -665,14 +651,14 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis."""
             self.tree.GiveFocus(uuid=npage.parametres['uuid'])
 
     def OnCloseTab(self, evt):
             self.tree.GiveFocus(uuid=npage.parametres['uuid'])
 
     def OnCloseTab(self, evt):
-        log.info('Closing tab %s' % str(evt.GetEventObject()))
+        #log.info('Closing tab %s' % str(evt.GetEventObject()))
         ctrl = evt.GetEventObject()
         if isinstance(ctrl.GetParent(), aui.AuiNotebook) or isinstance(ctrl.GetParent(), wx.Panel):
             notebook = True
         else :
             notebook = False
         page = self.nb.GetPage(self.nb.GetSelection())
         ctrl = evt.GetEventObject()
         if isinstance(ctrl.GetParent(), aui.AuiNotebook) or isinstance(ctrl.GetParent(), wx.Panel):
             notebook = True
         else :
             notebook = False
         page = self.nb.GetPage(self.nb.GetSelection())
-        if 'parametres' in dir(page) :
+        if 'parametres' in dir(page) and isinstance(ctrl.GetParent(), IraFrame) :
             self.history.rmtab(page.parametres)
             self.tree.CloseItem(uuid = page.parametres['uuid'])
         TabTitle = self.nb.GetPageText(self.nb.GetSelection())
             self.history.rmtab(page.parametres)
             self.tree.CloseItem(uuid = page.parametres['uuid'])
         TabTitle = self.nb.GetPageText(self.nb.GetSelection())
@@ -769,21 +755,6 @@ Voulez-vous fermer quand même ?"""
     def OnAcceuil(self, event):
         self.ShowAPane(u"Intro_Text")
         event.Skip()
     def OnAcceuil(self, event):
         self.ShowAPane(u"Intro_Text")
         event.Skip()
-    #???
-#    def OnCreateTab(self, event):
-#        if not self._mgr.GetPane("Tab_content").name == "Tab_content":
-#            self._mgr.AddPane(self.CreateTabCtrl(), aui.AuiPaneInfo().
-#                              Name("Tab_content").
-#                              CenterPane())
-#            self._mgr.GetPane("Intro_Text").Hide()
-#            self._mgr.GetPane("Tab_content").Show()
-#            self.ctrl.Bind(aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.OnCloseTab)
-#        else :
-#            page = wx.TextCtrl(self, -1, str(text), style=wx.TE_MULTILINE)
-#            self.ctrl.AddPage(page, "qsdqsd")
-#            self.ctrl.SetSelection(self.ctrl.GetPageCount() - 1)
-#        self._mgr.Update()
-    
     
     def CreateHTMLCtrl(self):
         ctrl = wx.html.HtmlWindow(self, -1, wx.DefaultPosition, wx.Size(400, 300))
     
     def CreateHTMLCtrl(self):
         ctrl = wx.html.HtmlWindow(self, -1, wx.DefaultPosition, wx.Size(400, 300))
@@ -1096,9 +1067,9 @@ class MySplashScreen(wx.SplashScreen):
         bmp = wx.Image(os.path.join(ImagePath, 'splash.png')).ConvertToBitmap()
         wx.SplashScreen.__init__(self, bmp,
                                  wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT,
         bmp = wx.Image(os.path.join(ImagePath, 'splash.png')).ConvertToBitmap()
         wx.SplashScreen.__init__(self, bmp,
                                  wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT,
-                                 3000, None, -1)
+                                 2000, None, -1)
         self.Bind(wx.EVT_CLOSE, self.OnClose)
         self.Bind(wx.EVT_CLOSE, self.OnClose)
-        self.fc = wx.FutureCall(1500, self.ShowMain)
+        self.fc = wx.FutureCall(1, self.ShowMain)
 
     def OnClose(self, evt):
         evt.Skip()
 
     def OnClose(self, evt):
         evt.Skip()
@@ -1123,7 +1094,6 @@ class MyApp(wx.App):
         Create and show the splash screen.  It will then create and show
         the main frame when it is time to do so.
         """
         Create and show the splash screen.  It will then create and show
         the main frame when it is time to do so.
         """
-
         wx.SystemOptions.SetOptionInt("mac.window-plain-transition", 1)
         self.SetAppName("Iramuteq")       
         splash = MySplashScreen()
         wx.SystemOptions.SetOptionInt("mac.window-plain-transition", 1)
         self.SetAppName("Iramuteq")       
         splash = MySplashScreen()