def onAddExpression(self, evt): dlg = wx.TextEntryDialog( self, 'Please insert the expression:') if dlg.ShowModal() == wx.ID_OK: expression = dlg.GetValue() Expression.add_expression(expression) self.expressions.Append(expression) self.expressions_list.append(expression) dlg.Destroy()
def onRemoveExpressions(self, evt): selections = self.expressions.GetSelections() for selection in selections: if selection != -1: expression = Expression.get_expressions(expression=self.expressions.Items[selection])[0] self.expressions.Delete(selection) delete_expression(expression)
def __init__(self, parent): wx.Panel.__init__(self, parent, -1) self.words = Word.get_words() self.songs = [] song_text = wx.StaticText(self, -1, "Select Song", (100, 30)) songList = [s.name for s in Song.get_songs()] self.lb1 = wx.ListBox(self, 60, (100, 50), (200, 200), songList, wx.LB_EXTENDED) self.lb1.SetSelection(0) # btn1 = wx.Button(self, -1, "Show words", (330, 120)) # self.Bind(wx.EVT_BUTTON, self.songChosen, btn1) words_text = wx.StaticText(self, -1, "Select Word", (450, 30)) self.lb2 = wx.ListBox(self, 70, (450, 50), (90, 200), [], wx.LB_SINGLE) words = self.words for word in words: self.lb2.Append(word.word) btn2 = wx.Button(self, -1, "Search Word", (450, 280)) self.Bind(wx.EVT_BUTTON, self.wordChosen, btn2) occurrences_text = wx.StaticText(self, -1, "Occurrences", (750, 30)) self.t3 = wx.TextCtrl(self, -1, "", (750, 50), size=(400, 400), style=wx.TE_MULTILINE|wx.TE_RICH2) group_text = wx.StaticText(self, -1, "Select Group", (100, 380)) self.groups_list = [g.name for g in Group.get_groups(type='group')] self.select_group = wx.ComboBox(self, 500, "", (100, 400), (160, -1), self.groups_list, wx.CB_DROPDOWN) btn4 = wx.Button(self, -1, "Search Group", (100, 500)) self.Bind(wx.EVT_BUTTON, self.groupChosen, btn4) btn2 = wx.Button(self, -1, "Search Phrase", (750, 500)) self.Bind(wx.EVT_BUTTON, self.phraseChosen, btn2) expression_text = wx.StaticText(self, -1, "Select Expression", (450, 380)) expression_list = [e.name for e in Expression.get_expressions()] self.lb3 = wx.ListBox(self, 70, (450, 410), (90, 50), expression_list, wx.LB_SINGLE) btn3 = wx.Button(self, -1, "Search Expression", (450, 500)) self.Bind(wx.EVT_BUTTON, self.expressionChosen, btn3)
def __init__(self, parent): wx.Panel.__init__(self, parent, -1) sizer = wx.BoxSizer(wx.HORIZONTAL) exp_sizer = wx.BoxSizer(wx.VERTICAL) relation_sizer = wx.BoxSizer(wx.HORIZONTAL) relation_grid_sizer = wx.BoxSizer(wx.VERTICAL) relation_buttons_sizer = wx.BoxSizer(wx.VERTICAL) word_list_sizer = wx.BoxSizer(wx.VERTICAL) group_sizer = wx.BoxSizer(wx.HORIZONTAL) select_group_sizer = wx.BoxSizer(wx.VERTICAL) buttons_group_sizer = wx.BoxSizer(wx.VERTICAL) self.groups_list = [g.name for g in Group.get_groups(type='group')] self.select_group = wx.ComboBox(self, 500, "", (90, 50), (160, -1), self.groups_list, wx.CB_DROPDOWN) self.Bind(wx.EVT_COMBOBOX, self.onGroupChosen, self.select_group) group_text = wx.StaticText(self, -1, "Manage Group", (20, 20)) self.group_words = wx.ListBox(self, 60, (100, 100), (150, 200), [], wx.LB_SINGLE) self.create_group_button = wx.Button(self, -1, "Create New Group", (300, 150)) self.Bind(wx.EVT_BUTTON, self.onCreateGroup, self.create_group_button) self.add_word_to_group_button = wx.Button(self, -1, "Add Word", (300, 150)) self.Bind(wx.EVT_BUTTON, self.onAddWordToGroup, self.add_word_to_group_button) self.add_word_to_group_from_list_button = wx.Button(self, -1, "Add Words From List", (300, 150)) self.Bind(wx.EVT_BUTTON, self.OnAddWordToGroupFromList, self.add_word_to_group_from_list_button) self.remove_word_button = wx.Button(self, -1, "Remove Word", (300, 150)) self.Bind(wx.EVT_BUTTON, self.onRemoveWordFromGroup, self.remove_word_button) self.remove_group_button = wx.Button(self, -1, "Remove Group", (300, 150)) self.Bind(wx.EVT_BUTTON, self.onRemoveGroup, self.remove_group_button) select_group_sizer.Add(group_text) select_group_sizer.Add(self.select_group) select_group_sizer.Add(self.group_words) buttons_group_sizer.AddSpacer(100) buttons_group_sizer.Add(self.create_group_button) buttons_group_sizer.Add(self.add_word_to_group_button) buttons_group_sizer.Add(self.add_word_to_group_from_list_button) buttons_group_sizer.Add(self.remove_word_button) buttons_group_sizer.Add(self.remove_group_button) group_sizer.Add(select_group_sizer) group_sizer.Add(buttons_group_sizer) expressions_sizer = wx.BoxSizer(wx.HORIZONTAL) buttons_expressions_sizer = wx.BoxSizer(wx.VERTICAL) select_expressions_sizer = wx.BoxSizer(wx.VERTICAL) expression_text = wx.StaticText(self, -1, "Manage Expressions", (20, 20)) self.expressions_list = [e.name for e in Expression.get_expressions()] self.expressions = wx.ListBox(self, 60, (100, 100), (150, 200), self.expressions_list, wx.LB_EXTENDED) self.add_expression_button = wx.Button(self, -1, "Add Expression", (300, 150)) self.Bind(wx.EVT_BUTTON, self.onAddExpression, self.add_expression_button) self.remove_expressions_button = wx.Button(self, -1, "Remove Expressions", (300, 150)) self.Bind(wx.EVT_BUTTON, self.onRemoveExpressions, self.remove_expressions_button) select_expressions_sizer.Add(expression_text) select_expressions_sizer.Add(self.expressions) buttons_expressions_sizer.AddSpacer(100) buttons_expressions_sizer.Add(self.add_expression_button) buttons_expressions_sizer.Add(self.remove_expressions_button) expressions_sizer.Add(select_expressions_sizer) expressions_sizer.Add(buttons_expressions_sizer) exp_sizer.AddSpacer(50) exp_sizer.Add(group_sizer) exp_sizer.AddSpacer(50) exp_sizer.Add(expressions_sizer) expression_text = wx.StaticText(self, -1, "Manage relations", (20, 20)) self.relations = Group.get_groups(type='relation') self.relations_grid = wx.grid.Grid(self, -1, size=(380, 250)) self.relations_grid.CreateGrid(len(self.relations), 3) self.relations_grid.SetColSize(0, 100) self.relations_grid.SetColSize(1, 100) self.relations_grid.SetColSize(2, 100) self.relations_grid.SetColLabelValue(0, "Word 1") self.relations_grid.SetColLabelValue(1, "Word 2") self.relations_grid.SetColLabelValue(2, "Relation Name") i=0 for relation in self.relations: self.relations_grid.SetCellValue(i, 0, relation.first_word.word) self.relations_grid.SetCellValue(i, 1, relation.second_word.word) self.relations_grid.SetCellValue(i, 2, relation.name) i+=1 relation_grid_sizer.AddSpacer(50) relation_grid_sizer.Add(expression_text) relation_grid_sizer.AddSpacer(10) relation_grid_sizer.Add(self.relations_grid) self.add_relation_button = wx.Button(self, -1, "Add Relation", (300, 150)) self.Bind(wx.EVT_BUTTON, self.onAddRelation, self.add_relation_button) self.add_relation_with_words_button = wx.Button(self, -1, "Add Relation With Selected Words", (300, 150)) self.Bind(wx.EVT_BUTTON, self.onAddRelationWithWords, self.add_relation_with_words_button) self.remove_relation_button = wx.Button(self, -1, "Remove Relation", (300, 150)) self.Bind(wx.EVT_BUTTON, self.onRemoveRelations, self.remove_relation_button) relation_buttons_sizer.AddSpacer(100) relation_buttons_sizer.Add(self.add_relation_button) relation_buttons_sizer.Add(self.add_relation_with_words_button) relation_buttons_sizer.Add(self.remove_relation_button) relation_sizer.Add(relation_grid_sizer) relation_sizer.AddSpacer(20) relation_sizer.Add(relation_buttons_sizer) word_list_text = wx.StaticText(self, -1, "Words List", (20, 20)) word_list = [w.word for w in Word.get_words()] self.lb1 = wx.ListBox(self, 60, (100, 50), (200, 400), word_list, wx.LB_EXTENDED) word_list_sizer.AddSpacer(100) word_list_sizer.Add(word_list_text) word_list_sizer.Add(self.lb1) sizer.AddSpacer(50) sizer.Add(exp_sizer) sizer.AddSpacer(50) sizer.Add(relation_sizer) sizer.AddSpacer(100) sizer.Add(word_list_sizer) self.SetSizer(sizer)