#!/bin/env python
# -*- coding: utf-8 -*-
#Author: Pierre Ratinaud
-#Copyright (c) 2008-2012, Pierre Ratinaud
+#Copyright (c) 2008-2016, Pierre Ratinaud
#License: GNU GPL
from optparse import OptionParser
import wx.grid
import wx.lib.hyperlink as hl
#------------------------------------
-from functions import BugReport, PlaySound, History
+from functions import BugReport, PlaySound, History, progressbar
from checkversion import NewVersion
from guifunct import *
from tableau import Tableau
from dialog import PrefDialog
from tabfrequence import Frequences, FreqMultiple
from tabchi2 import ChiSquare
+from tabchi2mcnemar import McNemar
#from tabstudent import MakeStudent
from tabchddist import ChdCluster
from tabafcm import DoAFCM
from checkinstall import CreateIraDirectory, CheckRPath, FindRPAthWin32, FindRPathNix, CheckRPackages, IsNew, UpgradeConf, CopyConf, RLibsAreInstalled
from chemins import RscriptsPath, ConstructConfigPath, ConstructDicoPath, ConstructGlobalPath, PathOut
from parse_factiva_xml import ImportFactiva
+from parse_dmi import ImportDMI
from tools import Extract
+from analyse_merge import AnalyseMerge
from tree import LeftTree
##########################################################
ID_OnOpenAnalyse = wx.NewId()
ID_Freq = wx.NewId()
ID_Chi2 = wx.NewId()
+ID_Chi2mc = wx.NewId()
ID_Student = wx.NewId()
ID_CHDSIM = wx.NewId()
ID_CHDReinert = wx.NewId()
ID_CreateText = wx.NewId()
ID_ACCEUIL = wx.NewId()
ID_RESULT = wx.NewId()
-ID_VIEWDATA = wx.NewId()
ID_HTMLcontent = wx.NewId()
ID_SimiTxt = wx.NewId()
ID_proto = wx.NewId()
ID_Fact_xml = wx.NewId()
ID_Fact_mail = wx.NewId()
ID_Fact_copy = wx.NewId()
+ID_exportmeta = wx.NewId()
+ID_importdmi = wx.NewId()
+ID_merge = wx.NewId()
##########################################################
#elements de configuration
##########################################################
DefaultConf = ConfigParser()
DefaultConf.read(DictConfigPath['preferences'])
#repertoire de l'utilisateur
-if os.getenv('HOME') != None:
- user_home = os.getenv('HOME')
-else:
- user_home = os.getenv('HOMEPATH')
+user_home = os.getenv('HOME')
+if user_home is None :
+ user_home = os.path.expanduser('~')
+
UserConfigPath = os.path.abspath(os.path.join(user_home, '.iramuteq'))
#Si pas de fichiers de config utilisateur, on cree le repertoire
CreateIraDirectory(UserConfigPath, AppliPath)
'freq' : 'frequences.png',
'freqmulti' : 'frequences.png',
'chi2' : 'chi2.png',
+ 'chi2mcnemar' : 'chi2.png',
'reinertmatrix' : 'reinertmatrix.png',
'simimatrix' : 'simimatrix.png',
'simiclustermatrix' : 'simimatrix.png',
'factiva_copy' : 'factiva_copy.png',
'factiva_mail': 'factiva_mail.png',
'iramuteq' : 'iraicone.png',
+ 'subcorpusmeta' : 'subcorpusmeta.png',
+ 'subcorpusthema' : 'subcorpusthema.png',
+ 'preferences' : 'preferences.png',
+ 'exportmetatable' : 'exportmetatable.png',
+ 'importdmi' : 'twitter.png'
}
#####################################################################
size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE |
wx.SUNKEN_BORDER |
wx.CLIP_CHILDREN):
- log.info('Starting...')
+ log.info('Starting... ' )
+ log.info('version : %s' % ConfigGlob.get('DEFAULT', 'version'))
wx.Frame.__init__(self, parent, id, title, pos, size, style)
#configuration
self.AppliPath = AppliPath
item.SetBitmap(self.images_analyses['europress'])
file_menu.AppendItem(item)
+ item = wx.MenuItem(file_menu, ID_importdmi, _(u"Import from DMI-TCAT (exp.)").decode('utf8'), _(u"Import from DMI-TCAT (exp.)").decode('utf8'))
+ item.SetBitmap(self.images_analyses['importdmi'])
+ file_menu.AppendItem(item)
+
+ item = wx.MenuItem(file_menu, ID_merge, _(u'Merge graphs').decode('utf8'), _(u'Merge graphs').decode('utf8'))
+ file_menu.AppendItem(item)
+
menuFactiva = wx.Menu()
fact_from_xml = wx.MenuItem(menuFactiva, ID_Fact_xml, _(u"from xml").decode('utf8'))
fact_from_xml.SetBitmap(self.images_analyses['factiva_xml'])
edit_menu = wx.Menu()
pref = wx.MenuItem(edit_menu, wx.ID_PREFERENCES, _(u'Preferences').decode('utf8'))
- pref.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_HELP_SETTINGS, size = (16,16)))
+ pref.SetBitmap(self.images_analyses['preferences'])
edit_menu.AppendItem(pref)
#edit_menu.Append(wx.ID_PREFERENCES, _(u'Preferences').decode('utf8'))
view_menu = wx.Menu()
- view_menu.Append(ID_ACCEUIL, _(u"Home page").decode('utf8'))
- view_menu.Append(ID_VIEWDATA, _(u"Show data").decode('utf8'))
- view_menu.Append(ID_RESULT, _(u'Show results').decode('utf8'))
+ home = wx.MenuItem(view_menu, ID_ACCEUIL, _(u"Home page").decode('utf8'))
+ home.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_GO_HOME, size = (16,16)))
+ view_menu.AppendItem(home)
+ #view_menu.Append(ID_ACCEUIL, _(u"Home page").decode('utf8'))
+ results = wx.MenuItem(view_menu, ID_RESULT, _(u'Show results').decode('utf8'))
+ results.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_LIST_VIEW, size = (16,16)))
+ view_menu.AppendItem(results)
+ #view_menu.Append(ID_RESULT, _(u'Show results').decode('utf8'))
#view_menu.AppendSeparator()
matrix_menu = wx.Menu()
matanalyses = [[ID_Freq, _(u"Frequencies").decode('utf8'), 'freq'],
- [ID_Freq, _(u"Multiple Frequencies").decode('utf8'), 'freqmulti'],
+ [ID_FreqMulti, _(u"Multiple Frequencies").decode('utf8'), 'freqmulti'],
[ID_Chi2, _(u"Chi2").decode('utf8'), 'chi2'],
+ [ID_Chi2mc, _(u"Chi2 McNemar").decode('utf8'), 'chi2mcnemar'],
{'name' : _(u"Clustering").decode('utf8'),
'content' : [[ID_CHDReinert, _(u"Reinert's Method").decode('utf8'), 'reinertmatrix']]},
[ID_SIMI, _(u"Similarities Analysis").decode('utf8'), 'simimatrix'],
[ID_proto, _(u"Prototypical Analysis").decode('utf8'), 'proto'],
- [ID_Splitfromvar, _(u"Split from variable").decode('utf8'), '']]
+ [ID_Splitfromvar, _(u"Split from variable").decode('utf8'), 'subcorpusmeta'],
+ ]
for analyse in matanalyses :
if not isinstance(analyse, dict) :
[ID_SimiTxt, _(u"Similarities Analysis").decode('utf8'), 'simitxt'],
[ID_WC, _(u"WordCloud").decode('utf8'), 'wordcloud'],
{'name' : _(u"Sub corpus").decode('utf8'),
- 'content' : [[ID_Subtxtfrommeta, _(u'Sub corpus from metadata').decode('utf8'), None],
- [ID_Subtxtfromthem, _(u'Sub corpus from thematic').decode('utf8'), None]]},
+ 'content' : [[ID_Subtxtfrommeta, _(u'Sub corpus from metadata').decode('utf8'), 'subcorpusmeta'],
+ [ID_Subtxtfromthem, _(u'Sub corpus from thematic').decode('utf8'), 'subcorpusthema']]},
+ [ID_exportmeta, _(u"Export metadata table").decode('utf8'), 'exportmetatable'],
]
for analyse in analyses_text :
tb1.AddSeparator()
tb1.AddLabelTool(ID_ImportEuro, "ImportEuro", self.images_analyses['europress'], shortHelp= _(u"Import from Europress").decode('utf8'), longHelp=_(u"Import from Europress").decode('utf8'))
tb1.AddSeparator()
+ tb1.AddLabelTool(ID_importdmi, "ImportDMI", self.images_analyses['importdmi'], shortHelp= _(u"Import from DMI-TCAT (exp.)").decode('utf8'), longHelp=_(u"Import from DMI-TCAT (exp.)").decode('utf8'))
+ tb1.AddSeparator()
tb1.AddLabelTool(ID_Fact_xml, "ImportFactxml", self.images_analyses['factiva_xml'], shortHelp= _(u"Factiva from xml").decode('utf8'), longHelp=_(u"Factiva from xml").decode('utf8'))
tb1.AddLabelTool(ID_Fact_mail, "ImportFactmail", self.images_analyses['factiva_mail'], shortHelp= _(u"Factiva from mail").decode('utf8'), longHelp=_(u"Factiva from mail").decode('utf8'))
tb1.AddLabelTool(ID_Fact_copy, "ImportFactcopy", self.images_analyses['factiva_copy'], shortHelp= _(u"Factiva from copy/paste").decode('utf8'), longHelp=_(u"Factiva from copy/paste").decode('utf8'))
+ tb1.AddSeparator()
+ tb1.AddLabelTool(wx.ID_PREFERENCES, "Preferences", self.images_analyses['preferences'], shortHelp= _(u"Preferences").decode('utf8'), longHelp=_(u"Preferences").decode('utf8'))
+ tb1.AddSeparator()
+ tb1.AddLabelTool(ID_ACCEUIL, "Home", wx.ArtProvider_GetBitmap(wx.ART_GO_HOME, size = (16,16)), shortHelp= _(u"Home page").decode('utf8'), longHelp=_(u"Home page").decode('utf8'))
+ tb1.AddLabelTool(ID_RESULT, "Results", wx.ArtProvider_GetBitmap(wx.ART_LIST_VIEW, size = (16,16)), shortHelp= _(u'Show results').decode('utf8'), longHelp=_(u'Show results').decode('utf8'))
tb1.Realize()
tb_text = wx.ToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize,
for subana in analyse['content'] :
tb_mat.AddLabelTool(subana[0], subana[1], self.images_analyses.get(subana[2], wx.EmptyBitmap(16,16)), shortHelp = subana[1], longHelp = subana[1])
tb_mat.Realize()
+
+ tb_help = wx.ToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize,
+ wx.TB_FLAT | wx.TB_NODIVIDER)
+ tb_help.AddLabelTool(wx.ID_ABOUT, "About", wx.ArtProvider_GetBitmap(wx.ART_INFORMATION, size=(16,16)), shortHelp=_(u"About...").decode('utf8'), longHelp=_(u"About...").decode('utf8'))
+ tb_help.AddLabelTool(wx.ID_HELP, "Help", wx.ArtProvider_GetBitmap(wx.ART_HELP, size=(16,16)), shortHelp=_(u"Online help...").decode('utf8'), longHelp=_(u"Online help...").decode('utf8'))
+ tb_help.Realize()
#------------------------------------------------------------------------------------------------
self.text_ctrl_txt = wx.TextCtrl(self, -1, "", wx.Point(0, 0), wx.Size(200, 200), wx.NO_BORDER | wx.TE_MULTILINE | wx.TE_RICH2 | wx.TE_READONLY)
self._mgr.AddPane(tb_mat, aui.AuiPaneInfo().
Name("tb_mat").Caption("analyse_matrix").
ToolbarPane().Top().
- LeftDockable(True).RightDockable(False))
-
+ LeftDockable(True).RightDockable(False))
+
+ self._mgr.AddPane(tb_help, aui.AuiPaneInfo().
+ Name("tb_help").Caption("help").
+ ToolbarPane().Top().
+ LeftDockable(True).RightDockable(False))
+
self._mgr.GetPane('tb_text').Hide()
self._mgr.GetPane('tb_mat').Hide()
# Show How To Use The Closing Panes Event
##################################################################
self.Bind(wx.EVT_MENU, self.OnAcceuil, id=ID_ACCEUIL)
- self.Bind(wx.EVT_MENU, self.OnViewData, id=ID_VIEWDATA)
self.Bind(wx.EVT_MENU, self.ShowTab, id=ID_RESULT)
self.Bind(wx.EVT_MENU, self.OnOpenData, id=ID_OpenData)
self.Bind(wx.EVT_MENU, self.OnOpenText, id=ID_OpenText)
self.Bind(wx.EVT_MENU, self.OnFreq, id=ID_Freq)
self.Bind(wx.EVT_MENU, self.OnFreqMulti, id=ID_FreqMulti)
self.Bind(wx.EVT_MENU, self.OnChi2, id=ID_Chi2)
+ self.Bind(wx.EVT_MENU, self.OnChi2McNemar, id=ID_Chi2mc)
self.Bind(wx.EVT_MENU, self.OnStudent, id=ID_Student)
self.Bind(wx.EVT_MENU, self.OnCHDSIM, id=ID_CHDSIM)
self.Bind(wx.EVT_MENU, self.OnCHDReinert, id=ID_CHDReinert)
self.Bind(wx.EVT_MENU, self.OnPref, id=wx.ID_PREFERENCES)
self.Bind(wx.EVT_MENU, self.OnImportTXM, id=ID_ImportTXM)
self.Bind(wx.EVT_MENU, self.OnImportEuropress, id=ID_ImportEuro)
+ self.Bind(wx.EVT_MENU, self.OnImportDMI, id=ID_importdmi)
+ self.Bind(wx.EVT_MENU, self.OnExportMeta, id=ID_exportmeta)
+ self.Bind(wx.EVT_MENU, self.OnMergeGraph, id = ID_merge)
self.Bind(wx.EVT_CLOSE, self.OnClose)
##################################################################
flags = self._mgr.GetAGWFlags()
self.type = ''
##############################################################@
- self.DisEnSaveTabAs(False)
- self.ShowMenu('view', False)
+ self.ShowMenu('view', True)
self.ShowMenu('matrix', False)
self.ShowMenu('text', False)
if not RLibsAreInstalled(self) :
CheckRPackages(self)
else :
- msg = '\n'.join([_(u"Can't find R executable"), _(u"If R is not installed, get it from http://www.r-project.org.").decode('utf8'),
+ msg = '\n'.join([_(u"Can't find R executable").decode('utf8'), _(u"If R is not installed, get it from http://www.r-project.org.").decode('utf8'),
_(u"If R is installed, report its path in Preferences.").decode('utf8'),
_(u"IRaMuTeQ does not work without R.").decode('utf8')])
- dlg = wx.MessageDialog(self, msg, _(u"Problem").decode('utf8'), wx.OK | wx.NO_DEFAULT | wx.ICON_WARNING)
+ dlg = wx.MessageDialog(self, msg, _(u"Problem").decode('utf8'), wx.OK | wx.ICON_WARNING)
dlg.CenterOnParent()
if dlg.ShowModal() in [wx.ID_NO, wx.ID_CANCEL]:
pass
if dlg.ShowModal() in [wx.ID_NO, wx.ID_CANCEL]:
evt.Veto()
- def DisEnSaveTabAs(self, DISEN):
- #Disable SaveTabAs
- file_menu = self.mb.GetMenu(0)
- items = file_menu.GetMenuItems()
- for item in items :
- if item.GetId() == ID_SaveTab :
- item.Enable(DISEN)
-
def ShowMenu(self, menu, Show=True):
if menu == 'text' :
menu_pos = 4
if inputname:
self.OpenText()
- def OnViewData(self, event):
- if self.type == "Data":
- if not self.DataPop :
- self.Sheet.Populate(self.content)
- self.DataPop = True
- self.DataTxt = False
- self.ShowAPane(u"Data")
- elif self.type == "Texte" or self.type == 'Analyse' :
- if not self.DataTxt :
- self.text_ctrl_txt.Clear()
- self.text_ctrl_txt.write(self.content)
- self.text_ctrl_txt.ShowPosition(0)
- self.DataTxt = True
- self.DataPop = False
- self.ShowAPane(u"Text")
- self._mgr.Update()
-
def OnSubText(self, evt, corpus = None, parametres = None):
if corpus is None :
corpus = self.tree.getcorpus()
wx.SafeYield()
corpus = builder.doanalyse()
self.history.add(corpus.parametres)
- self.tree.OnItemAppend(corpus.parametres)
OpenAnalyse(self, corpus.parametres)
+ self.tree.OnItemAppend(corpus.parametres)
del busy
def OpenText(self):
- dlg = wx.ProgressDialog("Ouverture...",
- "Veuillez patienter...",
- maximum=2,
- parent=self,
- style=wx.PD_APP_MODAL | wx.PD_AUTO_HIDE | wx.PD_ELAPSED_TIME | wx.PD_CAN_ABORT
- )
-
- builder = Builder(self, dlg)
+ builder = Builder(self, 5)
if builder.res == wx.ID_OK :
try :
corpus = builder.doanalyse()
self.tree.OnItemAppend(corpus.parametres)
OpenAnalyse(self, corpus.parametres)
except :
- dlg.Destroy()
+ builder.dlg.Destroy()
BugReport(self)
else :
count = 1
- keepGoing = dlg.Update(count, u"Lecture du fichier")
+ keepGoing = builder.dlg.Update(count, u"Lecture du fichier")
self.ShowMenu('view')
self.ShowMenu('text')
self.ShowMenu('matrix', False)
self.DataTxt = False
self.Text = ''
count += 1
- keepGoing = dlg.Update(count, u"Chargement du dictionnaire")
- dlg.Destroy()
- #self.OnViewData(wx.EVT_BUTTON)
+ keepGoing = builder.dlg.Update(count, u"Chargement du dictionnaire")
+ builder.dlg.Destroy()
def OnExit(self, event):
self.Close()
def LastTabClose(self) :
if self.nb.GetPageCount() == 1 :
- #self.DisEnSaveTabAs(False)
if self.DataTxt :
self.ShowAPane("Text")
elif self.DataPop :
def OnChi2(self, event, matrix = None):
self.analyse_matrix(ChiSquare, matrix = matrix, analyse_type = 'chi2', dlgnb = 3)
+ def OnChi2McNemar(self, event, matrix = None):
+ self.analyse_matrix(McNemar, matrix = matrix, analyse_type = 'chi2mcnemar', dlgnb = 3)
+
def OnSimiTab(self, event, matrix = None):
self.analyse_matrix(DoSimi, matrix = matrix, analyse_type = 'simimatrix', dlgnb = 5)
# PlaySound(self)
# except:
# BugReport(self)
+ def OnMergeGraph(self, evt):
+ #FIXME
+ AnalyseMerge(self, {'type': 'merge', 'fileout' : '/tmp/test.txt'}, dlg = 5)
def OnProto(self, evt, matrix = None) :
self.analyse_matrix(Prototypical, matrix = matrix, analyse_type = 'proto', dlgnb = 3)
ImportFactiva(self, 'euro')
except :
BugReport(self)
+
+ def OnImportDMI(self, evt):
+ ImportDMI(self, {})
+
+ def OnExportMeta(self, evt, corpus = None):
+ if corpus is None :
+ corpus = self.tree.getcorpus()
+ try :
+ ExportMetaTable(self, corpus)
+ except :
+ BugReport(self)
def ExtractTools(self, evt) :
ID = evt.GetId()
dlg = PrefDialog(self)
dlg.CenterOnParent()
self.val = dlg.ShowModal()
+ dlg.Destroy()
def Upgrade(self) :
if self.check_update:
else:
truepath = False
else:
- pass
+ return
if truepath :
if os.path.splitext(self.filename)[1] in ['.csv', '.xls', '.ods']:
self.tableau = Tableau(self, self.filename)
#self.Text = OpenAnalyse(self, self.filename)
OpenAnalyse(self, self.filename)
if not truepath:
- print 'ce fichier n\'existe pas'
+ print 'This file does not exist'
class IntroPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
- col = randint(0, 255)
- col1 = randint(0,255)
- col2 = randint(0,255)
- col = 57
+ #col = randint(0, 255)
+ #col1 = randint(0,255)
+ #col2 = randint(0,255)
+ #col = 57
+ col = 161
+ col1 = 198
+ col2 = 224
bckgrdcolor = wx.Colour(col, col1, col2)
self.SetBackgroundColour(bckgrdcolor)
txtcolour = wx.Colour(250, 250, 250)
linkcolor = wx.Colour(255, 0, 0)
sizer1 = wx.BoxSizer(wx.VERTICAL)
sizer2 = wx.BoxSizer(wx.VERTICAL)
- sizer3 = wx.BoxSizer(wx.HORIZONTAL)
- sizer4 = wx.BoxSizer(wx.VERTICAL)
- sizer5 = wx.BoxSizer(wx.HORIZONTAL)
+ sizer4 = wx.BoxSizer(wx.HORIZONTAL)
grid_sizer_1 = wx.FlexGridSizer(1, 4, 0, 0)
grid_sizer_3 = wx.FlexGridSizer(1, 4, 0, 0)
- grid_sizer_2 = wx.FlexGridSizer(1, 3, 0, 0)
+ grid_sizer_2 = wx.BoxSizer(wx.HORIZONTAL)
+
+ iralink = hl.HyperLinkCtrl(self, wx.ID_ANY, u"http://www.iramuteq.org", URL="http://www.iramuteq.org")
+ iralink.SetColours(linkcolor, linkcolor, "RED")
+ iralink.SetBackgroundColour(bckgrdcolor)
+ iralink.EnableRollover(True)
+ iralink.SetUnderlines(False, False, True)
+ iralink.SetBold(True)
+ iralink.UpdateLink()
+
PanelPres = wx.Panel(self)
+ bckgrdcolor = wx.Colour(randint(0, 255), randint(0, 255), randint(0, 255))
PanelPres.SetBackgroundColour(bckgrdcolor)
+
label_1 = wx.StaticText(self, -1, u"IRaMuTeQ", size=(-1, -1))
label_1.SetFont(wx.Font(46, wx.TELETYPE, wx.NORMAL, wx.BOLD, 0, "Purisa"))
label_1.SetForegroundColour(wx.RED)
+
+ iraicone = wx.Image(os.path.join(ImagePath,'iraicone100x100.png'), wx.BITMAP_TYPE_ANY).ConvertToBitmap()
+ but_ira = wx.StaticBitmap(self, -1, bitmap = iraicone)
+
+
label2 = wx.StaticText(PanelPres, -1 , u'\nVersion ' + ConfigGlob.get('DEFAULT', 'version') + '\n')
label2.SetForegroundColour(txtcolour)
label2.SetBackgroundColour(bckgrdcolor)
- #label3 = wx.StaticText(PanelPres, -1 , u'Equipe ')
- #label3.SetForegroundColour(txtcolour)
- #label3.SetBackgroundColour(bckgrdcolor)
self.hyper2 = hl.HyperLinkCtrl(PanelPres, wx.ID_ANY, u"REPERE", URL="http://repere.no-ip.org/")
self.hyper2.SetColours(linkcolor, linkcolor, "RED")
self.hyper2.SetBackgroundColour(bckgrdcolor)
self.hyper2.SetUnderlines(False, False, True)
self.hyper2.SetBold(True)
self.hyper2.UpdateLink()
+
label_lerass = wx.StaticText(PanelPres, -1, u'Laboratoire ')
label_lerass.SetForegroundColour(txtcolour)
label_lerass.SetBackgroundColour(bckgrdcolor)
+
self.hyper_lerass = hl.HyperLinkCtrl(PanelPres, -1, u'LERASS', URL="http://www.lerass.com")
self.hyper_lerass.SetColours(linkcolor, linkcolor, "RED")
self.hyper_lerass.SetBackgroundColour(bckgrdcolor)
self.hyper_lerass.SetUnderlines(False, False, True)
self.hyper_lerass.SetBold(True)
self.hyper_lerass.UpdateLink()
+
blank = wx.StaticText(PanelPres, -1, u'\n')
blank1 = wx.StaticText(PanelPres, -1, u'\n')
+
labellicence = wx.StaticText(PanelPres, -1, _(u"License GNU GPL").decode('utf8'))
labellicence.SetForegroundColour(txtcolour)
labellicence.SetBackgroundColour(bckgrdcolor)
+
labelcopy = wx.StaticText(PanelPres, -1, ConfigGlob.get('DEFAULT', 'copyright'))
labelcopy.SetForegroundColour(txtcolour)
labelcopy.SetBackgroundColour(bckgrdcolor)
+
python_img = wx.Image(os.path.join(ImagePath,'python-logo.jpg'), wx.BITMAP_TYPE_ANY).ConvertToBitmap()
r_img = wx.Image(os.path.join(ImagePath,'Rlogo.jpg'), wx.BITMAP_TYPE_ANY).ConvertToBitmap()
lexique_img = wx.Image(os.path.join(ImagePath,'LexTexte4.jpg'), wx.BITMAP_TYPE_ANY).ConvertToBitmap()
self.Bind(wx.EVT_BUTTON, self.OnR, but_r)
- #grid_sizer_1.Add(label3, 0, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 0)
grid_sizer_1.Add(self.hyper2, 0, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 0)
grid_sizer_3.Add(label_lerass, 0, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 0)
grid_sizer_3.Add(self.hyper_lerass, 0, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 0)
- sizer4.Add(label_1, 0, wx.ALIGN_CENTER, 5)
+ sizer4.Add(label_1, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
+
sizer2.Add(label2, 0, wx.ALIGN_CENTER, 5)
- #sizer2.Add(wx.StaticText(PanelPres, -1, u''), 0, wx.ALIGN_CENTER, 5)
sizer2.Add(wx.StaticText(PanelPres, -1, u''), 0, wx.ALIGN_CENTER, 5)
sizer2.Add(wx.StaticText(PanelPres, -1, u''), 0, wx.ALIGN_CENTER, 5)
sizer2.Add(grid_sizer_3, 0, wx.ALIGN_CENTER, 5)
sizer2.Add(wx.StaticText(PanelPres, -1, u' '), 0, wx.ALIGN_CENTER, 5)
- #sizer2.Add(wx.StaticText(PanelPres, -1, u''), 0, wx.ALIGN_CENTER, 5)
- #sizer2.Add(wx.StaticText(PanelPres, -1, u''), 0, wx.ALIGN_CENTER, 5)
sizer2.Add(grid_sizer_1, 0, wx.ALIGN_CENTER, 5)
sizer2.Add(labellicence, 0, wx.ALIGN_CENTER, 5)
sizer2.Add(labelcopy, 0, wx.ALIGN_CENTER, 5)
- sizer1.Add(sizer4, 1, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 0)
+ sizer1.Add(sizer4, 2, wx.ALIGN_CENTER_HORIZONTAL, 0)
+ sizer1.Add(but_ira, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
+ sizer1.Add(iralink, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_TOP, 5)
+ sizer2.Add(wx.StaticText(PanelPres, -1, u''), 0, wx.ALIGN_CENTER, 10)
PanelPres.SetSizer(sizer2)
- sizer5.Add(blank, 1, wx.EXPAND | wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 2)
- sizer5.Add(PanelPres, 1, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 0)
- sizer5.Add(blank1, 1, wx.ALIGN_CENTER_HORIZONTAL,2)
- grid_sizer_2.Add(but_python, 1, wx.ALIGN_CENTER_HORIZONTAL| wx.ALIGN_CENTER_VERTICAL)
- grid_sizer_2.Add(but_lexique, 1,wx.ALIGN_CENTER_HORIZONTAL| wx.ALIGN_CENTER_VERTICAL)
- grid_sizer_2.Add(but_r, 1, wx.ALIGN_CENTER_HORIZONTAL| wx.ALIGN_CENTER_VERTICAL)
+ grid_sizer_2.Add(but_python, 1, wx.ALIGN_BOTTOM)
+ grid_sizer_2.Add(but_lexique, 1, wx.ALIGN_BOTTOM)
+ grid_sizer_2.Add(but_r, 1, wx.ALIGN_BOTTOM)
- sizer1.Add(sizer5, 3, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 1)
- sizer1.Add(grid_sizer_2, 1, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL)
+ sizer1.Add(PanelPres, 0, wx.EXPAND |wx.ALL, 10)
+ sizer1.Add(grid_sizer_2, 2, wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, 1)
self.SetSizer(sizer1)
sizer1.Fit(self)
bmp = wx.Image(os.path.join(ImagePath, 'splash.png')).ConvertToBitmap()
wx.SplashScreen.__init__(self, bmp,
wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT,
- 2000, None, -1)
+ 1000, None, -1)
self.Bind(wx.EVT_CLOSE, self.OnClose)
self.fc = wx.FutureCall(1, self.ShowMain)