from dialog import SearchDial, message
import wx.lib.mixins.listctrl as listmix
from operator import itemgetter
-
+from functions import doconcorde
#---------------------------------------------------------------------------
class ListPanel(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.ColumnSorterMixin):
self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected, self)
self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColClick, self)
+ self.Bind(wx.EVT_LIST_ITEM_ACTIVATED , self.OnPopupTwo, self)
# for wxMSW
self.Bind(wx.EVT_COMMAND_RIGHT_CLICK, self.OnRightClick)
lems = corpus.getlems()
rep = []
for forme in lems[word].formes :
- rep.append([corpus.getforme(forme).forme, corpus.getforme(forme).freq])
+ rep.append([corpus.getforme(forme).forme, corpus.getforme(forme).freq])
rep.sort(key = itemgetter(1), reverse = True)
- win = message(self, u"Formes associƩes", (300, 200))
- win.html = '<html>\n' + '<br>'.join([' : '.join([str(val) for val in forme]) for forme in rep]) + '\n</html>'
- win.HtmlPage.SetPage(win.html)
+ items = dict([[i, '<font face="courier">' + '\t:\t'.join([str(val) for val in forme]) + '</font>'] for i, forme in enumerate(rep)])
+ win = message(self, items, _(u"Associated forms").decode('utf8'), (300, 200))
+ #win.html = '<html>\n' + '<br>'.join([' : '.join([str(val) for val in forme]) for forme in rep]) + '\n</html>'
+ #win.HtmlPage.SetPage(win.html)
win.Show(True)
def OnPopupTwo(self, event):
corpus = self.gparent.corpus
- win = message(self, u"Concordancier", (750, 600))
- avap = 60
item = self.getColumnText(self.GetFirstSelected(), 0)
- listmot = corpus.getlems()[item].formes
- #uce_ok = [corpus.formes[corpus.idformes[forme].forme][1] for forme in listmot]
- uce_ok = corpus.getlemuces(item)#list(set([tuple(val) for line in uce_ok for val in line]))
- txt = '<h1>Concordancier</h1>'
- res = corpus.getconcorde(uce_ok)
- for uce in res :
- ucetxt = ' '+uce[1]+' '
- txt += ' '.join(corpus.ucis[corpus.getucefromid(uce[0]).uci].etoiles) + '<br>'
- for forme in listmot :
- forme = corpus.getforme(forme).forme
- ucetxt = ucetxt.replace(' '+forme+' ', '<font color=red> ' + forme + ' </font>')
- txt += ucetxt + '<br><br>'
- win.HtmlPage.SetPage(txt)
+ uce_ok = corpus.getlemuces(item)
+ ucis_txt, ucestxt = doconcorde(corpus, uce_ok, [item])
+ items = dict([[i, '<br><br>'.join([ucis_txt[i], ucestxt[i]])] for i in range(0,len(ucestxt))])
+ win = message(self, items, u"Concordancier - %s" % item, (800, 500), uceids = uce_ok)
+ #win = message(self, u"Concordancier", (750, 600))
+ #win.html = ('<html>\n<h1>%s</h1>' % item) + '<br>'.join(['<br>'.join([ucis_txt[i], ucestxt[i]]) for i in range(0,len(ucestxt))]) + '\n</html>'
+ #win.HtmlPage.SetPage(win.html)
win.Show(True)