Example #1
0
 def __set_properties(self):
     # begin wxGlade: CBFrame.__set_properties
     self.SetTitle("Concept browser")
     self.SetSize((850, 420))
     self.concept_tree_ctrl.SetMinSize((500, 400))
     self.ok_button.Enable(False)
     self.ok_button.SetDefault()
     self.panel_1.SetMinSize((300, 400))
     # end wxGlade
     self.code_behind = CBCodeBehind(self)
Example #2
0
class CBFrame(wx.Frame):
    """
	Concept Browser frame.
	It is used to browse and edit L{taxonomy<core.interlingua.Taxonomy>} object.
	
	@see: lacodebehind.
	"""

    def __init__(self, *args, **kwds):
        # begin wxGlade: CBFrame.__init__
        kwds["style"] = (
            wx.CAPTION
            | wx.CLOSE_BOX
            | wx.MINIMIZE_BOX
            | wx.SYSTEM_MENU
            | wx.RESIZE_BORDER
            | wx.FRAME_FLOAT_ON_PARENT
            | wx.CLIP_CHILDREN
        )
        wx.Frame.__init__(self, *args, **kwds)
        self.panel_1 = wx.Panel(self, -1)

        # Menu Bar
        self.cb_frame_menubar = wx.MenuBar()
        self.file_menu = wx.Menu()
        self.reload_menu = wx.MenuItem(self.file_menu, wx.ID_REVERT_TO_SAVED, "&Revert", "", wx.ITEM_NORMAL)
        self.file_menu.AppendItem(self.reload_menu)
        self.save_menu = wx.MenuItem(self.file_menu, wx.ID_SAVE, "&Save", "", wx.ITEM_NORMAL)
        self.file_menu.AppendItem(self.save_menu)
        self.saveas_menu = wx.MenuItem(self.file_menu, wx.ID_SAVEAS, "Save as...", "", wx.ITEM_NORMAL)
        self.file_menu.AppendItem(self.saveas_menu)
        self.file_menu.AppendSeparator()
        self.exit_menu = wx.MenuItem(self.file_menu, wx.ID_CLOSE, "Exit\tAlt+F4", "", wx.ITEM_NORMAL)
        self.file_menu.AppendItem(self.exit_menu)
        self.cb_frame_menubar.Append(self.file_menu, "&File")
        self.view_menu = wx.Menu()
        self.find_menu = wx.MenuItem(self.view_menu, wx.ID_FIND, "&Find...", "", wx.ITEM_NORMAL)
        self.view_menu.AppendItem(self.find_menu)
        self.view_menu.AppendSeparator()
        self.view_menu.Append(wx.ID_UNDO, "&Undo changes", "", wx.ITEM_NORMAL)
        self.apply_menu = wx.MenuItem(self.view_menu, wx.ID_APPLY, "&Apply changes", "", wx.ITEM_NORMAL)
        self.view_menu.AppendItem(self.apply_menu)
        self.cb_frame_menubar.Append(self.view_menu, "&View")
        self.edit_menu = wx.Menu()
        self.new_menu = wx.MenuItem(self.edit_menu, wx.ID_ADD, "&New subconcept", "", wx.ITEM_NORMAL)
        self.edit_menu.AppendItem(self.new_menu)
        self.delete_menu = wx.MenuItem(self.edit_menu, wx.ID_REMOVE, "&Delete concept", "", wx.ITEM_NORMAL)
        self.edit_menu.AppendItem(self.delete_menu)
        self.cb_frame_menubar.Append(self.edit_menu, "&Edit")
        self.SetMenuBar(self.cb_frame_menubar)
        # Menu Bar end
        self.concept_tree_ctrl = wx.gizmos.TreeListCtrl(
            self,
            -1,
            style=wx.TR_HAS_BUTTONS
            | wx.TR_NO_LINES
            | wx.TR_LINES_AT_ROOT
            | wx.TR_FULL_ROW_HIGHLIGHT
            | wx.TR_HIDE_ROOT
            | wx.TR_DEFAULT_STYLE
            | wx.SUNKEN_BORDER,
        )
        self.baseconcept_label = wx.StaticText(self.panel_1, -1, "Lineage")
        self.baseconcept_text = wx.TextCtrl(self.panel_1, -1, "")
        self.derivation_text = wx.TextCtrl(self.panel_1, -1, "")
        self.interlingua_label = wx.StaticText(self.panel_1, -1, "Interlingua")
        self.interlingua_text = wx.TextCtrl(self.panel_1, -1, "")
        self.pos_label = wx.StaticText(self.panel_1, -1, "Part of Speech")
        self.pos_ctrl = wx.ComboBox(self.panel_1, -1, choices=[], style=wx.CB_DROPDOWN | wx.CB_READONLY)
        self.arg_struct_label = wx.StaticText(self.panel_1, -1, "Argument structure")
        self.arg_struct_combo = wx.ComboBox(self.panel_1, -1, choices=[], style=wx.CB_DROPDOWN | wx.CB_DROPDOWN)
        self.meaning_label = wx.StaticText(self.panel_1, -1, "Meaning")
        self.meaning_text = wx.TextCtrl(self.panel_1, -1, "")
        self.notes_label = wx.StaticText(self.panel_1, -1, "Notes")
        self.notes_text = wx.TextCtrl(self.panel_1, -1, "", style=wx.TE_MULTILINE | wx.TE_WORDWRAP)
        self.reference_label = wx.StaticText(self.panel_1, -1, "Reference")
        self.reference_text = wx.TextCtrl(self.panel_1, -1, "")
        self.cancel_button = wx.Button(self.panel_1, -1, "&Undo")
        self.ok_button = wx.Button(self.panel_1, -1, "&Apply")

        self.__set_properties()
        self.__do_layout()

        self.Bind(wx.EVT_MENU, self.OnReload, self.reload_menu)
        self.Bind(wx.EVT_MENU, self.OnSave, self.save_menu)
        self.Bind(wx.EVT_MENU, self.OnSaveAs, self.saveas_menu)
        self.Bind(wx.EVT_MENU, self.OnExit, self.exit_menu)
        self.Bind(wx.EVT_MENU, self.OnFind, self.find_menu)
        self.Bind(wx.EVT_MENU, self.OnUndo, id=wx.ID_UNDO)
        self.Bind(wx.EVT_MENU, self.OnApply, self.apply_menu)
        self.Bind(wx.EVT_MENU, self.OnNew, self.new_menu)
        self.Bind(wx.EVT_MENU, self.OnDelete, self.delete_menu)
        self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnSelChanged, self.concept_tree_ctrl)
        self.Bind(wx.EVT_TEXT, self.OnChange, self.baseconcept_text)
        self.Bind(wx.EVT_TEXT, self.OnChange, self.derivation_text)
        self.Bind(wx.EVT_TEXT, self.OnChange, self.interlingua_text)
        self.Bind(wx.EVT_TEXT, self.OnChange, self.pos_ctrl)
        self.Bind(wx.EVT_TEXT, self.OnChange, self.arg_struct_combo)
        self.Bind(wx.EVT_TEXT, self.OnChange, self.meaning_text)
        self.Bind(wx.EVT_TEXT, self.OnChange, self.reference_text)
        self.Bind(wx.EVT_BUTTON, self.OnUndo, self.cancel_button)
        self.Bind(wx.EVT_BUTTON, self.OnApply, self.ok_button)
        # end wxGlade

        self.concept_tree_ctrl.GetMainWindow().Bind(wx.EVT_RIGHT_UP, self.OnRightUp)

    def __set_properties(self):
        # begin wxGlade: CBFrame.__set_properties
        self.SetTitle("Concept browser")
        self.SetSize((850, 420))
        self.concept_tree_ctrl.SetMinSize((500, 400))
        self.ok_button.Enable(False)
        self.ok_button.SetDefault()
        self.panel_1.SetMinSize((300, 400))
        # end wxGlade
        self.code_behind = CBCodeBehind(self)

    def __do_layout(self):
        # begin wxGlade: CBFrame.__do_layout
        sizer_1 = wx.BoxSizer(wx.HORIZONTAL)
        grid_sizer_1 = wx.FlexGridSizer(1, 2, 0, 0)
        sizer_3 = wx.FlexGridSizer(2, 1, 0, 0)
        sizer_4 = wx.GridSizer(1, 2, 0, 0)
        control_grid_sizer = wx.FlexGridSizer(7, 2, 4, 4)
        sizer_2 = wx.FlexGridSizer(1, 2, 0, 0)
        grid_sizer_1.Add(self.concept_tree_ctrl, 1, wx.EXPAND, 0)
        control_grid_sizer.Add(self.baseconcept_label, 0, wx.ALIGN_CENTER_VERTICAL, 0)
        sizer_2.Add(self.baseconcept_text, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
        sizer_2.Add(self.derivation_text, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
        sizer_2.AddGrowableCol(0)
        sizer_2.AddGrowableCol(1)
        control_grid_sizer.Add(sizer_2, 1, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.Add(self.interlingua_label, 0, wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.Add(self.interlingua_text, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.Add(self.pos_label, 0, wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.Add(self.pos_ctrl, 0, wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.Add(self.arg_struct_label, 0, wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.Add(self.arg_struct_combo, 0, wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.Add(self.meaning_label, 0, wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.Add(self.meaning_text, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.Add(self.notes_label, 0, 0, 0)
        control_grid_sizer.Add(self.notes_text, 0, wx.EXPAND, 0)
        control_grid_sizer.Add(self.reference_label, 0, wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.Add(self.reference_text, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
        control_grid_sizer.AddGrowableCol(1)
        sizer_3.Add(control_grid_sizer, 1, wx.ALL | wx.EXPAND, 20)
        sizer_4.Add(self.cancel_button, 0, wx.ALIGN_BOTTOM | wx.ALIGN_CENTER_HORIZONTAL, 20)
        sizer_4.Add(self.ok_button, 0, wx.ALIGN_BOTTOM | wx.ALIGN_CENTER_HORIZONTAL, 0)
        sizer_3.Add(sizer_4, 1, wx.ALL | wx.EXPAND, 20)
        self.panel_1.SetSizer(sizer_3)
        sizer_3.AddGrowableRow(0)
        sizer_3.AddGrowableCol(0)
        grid_sizer_1.Add(self.panel_1, 1, wx.ALL | wx.EXPAND | wx.ALIGN_BOTTOM, 0)
        grid_sizer_1.AddGrowableRow(0)
        grid_sizer_1.AddGrowableCol(0)
        grid_sizer_1.AddGrowableCol(1)
        sizer_1.Add(grid_sizer_1, 1, wx.EXPAND, 0)
        self.SetSizer(sizer_1)
        self.Layout()
        # end wxGlade

        # Tree events

    def OnRightUp(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnRightUp(event)

    def OnSelChanged(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnSelChanged(event)

        # Control events

    def OnChange(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnChange(event)

        # Menu events

    def OnReload(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnReload(event)

    def OnSave(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnSave(event)

    def OnSaveAs(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnSaveAs(event)

    def OnExit(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnExit(event)

    def OnFind(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.show_find(FindDialog)

    def OnUndo(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnUndo(event)

    def OnApply(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnOpen(event)

    def OnNew(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnNew(event)

    def OnDelete(self, event):  # wxGlade: CBFrame.<event_handler>
        self.code_behind.OnDelete(event)