def _createAreaSplitter(self): """ Создать разделитель областей. @return: Объект главного вертикального разделителя или None в случае ошибки. """ try: if self.area_split: # Вертикальный сплиттер self._v_area_splitter = MultiSplitterWindow( self, style=wx.SP_LIVE_UPDATE) self._v_area_splitter.SetOrientation(wx.VERTICAL) # Горизонтальный сплиттер self._h_area_splitter = MultiSplitterWindow( self._v_area_splitter, style=wx.SP_LIVE_UPDATE) self._h_area_splitter.SetOrientation(wx.HORIZONTAL) self._insPanel(self._v_area_splitter, 1, self._h_area_splitter) # ВНИМАНИЕ!!! # Установить принудительно размер главного сплиттера, # а то объект не перерисовывается!!! self._v_area_splitter.SetSize(self.GetClientSize()) return self._v_area_splitter except: io_prnt.outErr(u'Ошибка создания разделителя областей.') return None
def __init__(self, parent, log): self.log = log wx.Panel.__init__(self, parent, -1) cp = ControlPane(self) splitter = MultiSplitterWindow(self, style=wx.SP_LIVE_UPDATE) self.splitter = splitter sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(cp) sizer.Add(splitter, 1, wx.EXPAND) self.SetSizer(sizer) p1 = SamplePane(splitter, "pink", "Panel One") p1.SetOtherLabel("There are two sash\n" "drag modes. Try\n" "dragging with and\n" "without the Shift\n" "key held down.") splitter.AppendWindow(p1, 140) p2 = SamplePane(splitter, "sky blue", "Panel Two") p2.SetOtherLabel("This window\nhas a\nminsize.") p2.SetMinSize(p2.GetBestSize()) splitter.AppendWindow(p2, 150) p3 = SamplePane(splitter, "yellow", "Panel Three") splitter.AppendWindow(p3, 125) p4 = SamplePane(splitter, "Lime Green", "Panel Four") splitter.AppendWindow(p4) self.Bind(wx.EVT_SPLITTER_SASH_POS_CHANGED, self.OnChanged) self.Bind(wx.EVT_SPLITTER_SASH_POS_CHANGING, self.OnChanging)
def __init__(self, parent, id): wx.Frame.__init__(self, parent, id, 'Planet Hunt', size=(1400, 600)) self.splitter = MultiSplitterWindow(self, style=wx.SP_LIVE_UPDATE) # The passing references to panels and controsl to each other # seems a bit sloppy and I want to do away with it. Not sure how yet. data_display_panel = DataDisplayPanel(self.splitter) data_modify_panel = DataModifyPanel(self.splitter, data_display_panel) data_search_panel = DataSearchPanel(self.splitter, data_display_panel, data_modify_panel) self.splitter.AppendWindow(data_search_panel, sashPos=150) self.splitter.AppendWindow(data_display_panel, sashPos=1050) self.splitter.AppendWindow(data_modify_panel) status_bar = self.CreateStatusBar() menubar_main = wx.MenuBar() file_menu = wx.Menu() edit_menu = wx.Menu() file_menu.Append(wx.NewIdRef(), 'Connect...', 'Connect to a new server') file_menu.Append(wx.NewIdRef(), 'Close', 'Quit the application') menubar_main.Append(file_menu, 'File') menubar_main.Append(edit_menu, 'Edit') self.SetMenuBar(menubar_main) self.SetStatusBar(status_bar)
def __init__(self, parent): wx.Panel.__init__(self, parent, -1) self.splitter = MultiSplitterWindow(self, style=wx.SP_LIVE_UPDATE) self.leftsplitter = wx.SplitterWindow(self.splitter, style=wx.BORDER_NONE) p1 = ControllersPanel(self.leftsplitter) p2 = RecordPanel(self.leftsplitter, True) self.leftsplitter.SplitHorizontally(p1, p2, -300) p3 = SpecialsPanel(self.splitter) p4 = DetailsPanel(self.splitter) self.splitter.AppendWindow(self.leftsplitter, 180) self.splitter.AppendWindow(p3, 180) self.splitter.AppendWindow(p4, 150) self.controllersPanel = p1 self.specialsPanel = p3 self.detailsPanel = p4 self.recordPanel = p2 # layout import Layout Layout.SingleLayout(self, self.splitter) # bindings self.Bind(wx.EVT_BUTTON, self.OnPlay, self.detailsPanel.testButton) self.specialsPanel.onSelChangedCallback = self.detailsPanel.Load
def __init__(self, parent, id): wx.Frame.__init__(self, parent, id, 'Profile Generation', size=(1400, 800)) self.splitter = MultiSplitterWindow(self, style=wx.SP_LIVE_UPDATE) self.control_panel = ControlPanel(self.splitter) self.field_panel = FieldPanel(self.splitter) self.field_panel.control_panel = self.control_panel self.control_panel.field_panel = self.field_panel self.splitter.AppendWindow(self.field_panel, sashPos=self.field_panel.w) self.splitter.AppendWindow(self.control_panel) # Window dressings like status and menu bars; not wired to anything status_bar = self.CreateStatusBar() menubar_main = wx.MenuBar() file_menu = wx.Menu() edit_menu = wx.Menu() file_menu.Append(wx.NewIdRef(), 'Open Profile...', 'Open an existing profile') file_menu.Append(wx.NewIdRef(), 'Close', 'Quit the application') menubar_main.Append(file_menu, 'File') menubar_main.Append(edit_menu, 'Edit') self.SetMenuBar(menubar_main) self.SetStatusBar(status_bar)
def InitPage(self): # Création des splitter self.splitterV = wx.SplitterWindow(self, -1, style=wx.SP_3D | wx.SP_NO_XP_THEME | wx.SP_LIVE_UPDATE) self.splitterH = MultiSplitterWindow(self.splitterV, -1, style=wx.SP_NOSASH | wx.SP_LIVE_UPDATE) self.splitterH.SetOrientation(wx.VERTICAL) self.splitterH.SetBackgroundColour(couleurFondPanneau) # Création du panel Planning self.panelPlanning = CTRL_Planning.PanelPlanning(self.splitterV, -1) # Création du panel Calendrier self.panelCalendrier = PanelCalendrier(self.splitterH, -1) self.panelCalendrier.SetMinSize((200, 220)) self.splitterH.AppendWindow(self.panelCalendrier, 220) # Création du panel Légendes self.panelLegendes = PanelLegendes(self.splitterH, -1) #self.panelLegendes.SetMinSize((300, 200)) self.splitterH.AppendWindow(self.panelLegendes, 160) # Création du panel Personnes self.panelPersonnes = PanelPersonnes(self.splitterH, -1) self.panelPersonnes.SetMinSize((200, 200)) self.splitterH.AppendWindow(self.panelPersonnes, 200) self.splitterH.SetMinimumPaneSize(100) self.__do_layout() # Affichage des présences d'aujourd'hui self.panelCalendrier.MAJselectionDates(listeDates=selectionDates) self.init = True
def __init__(self,parent,id,title=""): wx.Frame.__init__(self,parent,title = title,pos = (15,15),size = (1260,800)) mainsplitter = MultiSplitterWindow(self, style=wx.SP_3D | wx.SP_LIVE_UPDATE) mainsplitter.SetOrientation(wx.VERTICAL) self.splitterpanel1 = MainPanel(mainsplitter) self.splitterpanel2 = BottomPanel(mainsplitter) mainsplitter.AppendWindow(self.splitterpanel1, -1) mainsplitter.AppendWindow(self.splitterpanel2, -1) mainsplitter.SetSashPosition(0, 410)
def __init__(self,parent): wx.Panel.__init__(self, parent, pos = (5,409),size = (1000,350),style=wx.TAB_TRAVERSAL | wx.BORDER_SIMPLE) mainsplitter = MultiSplitterWindow(self) mainsplitter.SetOrientation(wx.VERTICAL) self.splitterpanel_result = ResultPanel(mainsplitter) self.splitterpanel_log = LogPanel(mainsplitter) mainsplitter.AppendWindow(self.splitterpanel_result,0) mainsplitter.AppendWindow(self.splitterpanel_log,0) mainsplitter.SetSashPosition(0,200)
def __init__(self, parent, frame, num_miners=4): wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY) self.parent = parent self.frame = frame self.resize_lock = False self.num_miners = num_miners self.devicesJson = self.loadDevices() self.splitter = MultiSplitterWindow(self, id=wx.ID_ANY, style=wx.SP_LIVE_UPDATE) self.splitter.SetOrientation(wx.HORIZONTAL) self.splitter.SetMinimumPaneSize(1) self.miner0 = PMI.PanelMinerInstance(self.splitter, self, "Miner #0", self.devicesJson['miner0'], self.devicesJson['miner0num'], self.devicesJson['devices']) self.miner1 = PMI.PanelMinerInstance(self.splitter, self, "Miner #1", self.devicesJson['miner1'], self.devicesJson['miner1num'], self.devicesJson['devices']) self.miner2 = PMI.PanelMinerInstance(self.splitter, self, "Miner #2", self.devicesJson['miner2'], self.devicesJson['miner2num'], self.devicesJson['devices']) self.miner3 = PMI.PanelMinerInstance(self.splitter, self, "Miner #3", self.devicesJson['miner3'], self.devicesJson['miner3num'], self.devicesJson['devices']) self.splitter.AppendWindow(self.miner0) self.splitter.AppendWindow(self.miner1) self.splitter.AppendWindow(self.miner2) self.splitter.AppendWindow(self.miner3) self.splitter.Bind(wx.EVT_SIZE, self.resizeMinerPanels) #self.splitter.Bind(wx.EVT_SPLITTER_SASH_POS_CHANGING, self.sashChanging) #self.splitter.Bind(wx.EVT_SPLITTER_SASH_POS_CHANGED, self.resizeMinerPanels) self.collapsePanel = CollapsePanel(self, self.devicesJson['resize'], self.devicesJson['transfer']) sizer = wx.BoxSizer(wx.HORIZONTAL) sizerW = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(self.splitter, 1, wx.EXPAND) sizerW.Add(self.collapsePanel, 1, wx.EXPAND | wx.LEFT | wx.RIGHT, -1) sizer.Add(sizerW, 0, wx.EXPAND | wx.TOP, 1) self.SetSizer(sizer)
def __init__(self, parent, title): wx.Frame.__init__(self, parent, title=title, size=wx.Size(1280, 800),style=wx.DEFAULT_FRAME_STYLE) # 窗口居中 self.CenterOnScreen() # 分割窗口 self.sp = MultiSplitterWindow(self) self.sp.SetOrientation(wx.VERTICAL) self.Bind(wx.PyEventBinder(wx.wxEVT_SPLITTER_SASH_POS_CHANGING),self.sashchange) # Top窗口:panel self.p_top = wx.Panel(self.sp, style=wx.SUNKEN_BORDER) self.p_top.Hide() # 下部分窗口:左右分割的splitter self.sp_main = MultiSplitterWindow(self.sp) # 上下两部分窗口填充 self.sp.AppendWindow(self.p_top, sashPos=self.GetSize()[1] / 6) self.sp.AppendWindow(self.sp_main) # 下部分窗口的left:panel self.p_left = LeftPanel(self.sp_main, style=wx.SUNKEN_BORDER) self.p_left.Hide() # 下部分窗口的right:panel self.p_mains = [SearchPanel(self.sp_main, style=wx.SUNKEN_BORDER), CheckPanel(self.sp_main, style=wx.SUNKEN_BORDER), UpdataPanel(self.sp_main, style=wx.SUNKEN_BORDER), SearchPanelByOffline(self.sp_main, style=wx.SUNKEN_BORDER) ] for p in self.p_mains: p.Hide() # 下部分窗口默认填充查询页面 self.sp_main.SetOrientation(wx.HORIZONTAL) self.sp_main.AppendWindow(self.p_left, sashPos=self.GetSize()[0] / 6) self.sp_main.AppendWindow(self.p_mains[0]) self.main_index = 0 self.Bind(wx.EVT_BUTTON, self.OnClick)
def __init__(self,parent,id): #Fenster initialiseren wx.Frame.__init__(self, parent=parent, id=id, title='Remote', size=(200,200)) #Fenster aufteilen in mehrere Unterfenster splitter = MultiSplitterWindow(self, style=wx.SP_LIVE_UPDATE) #Unterfenster initialisieren (in jeweiligen Klassen) und anhaengen panel1=Controlpanel(splitter) graph1=MatplotPanel1(splitter) graph2=MatplotPanel2(splitter) graph3=MatplotPanel3(splitter) splitter.AppendWindow(panel1) splitter.AppendWindow(graph1) splitter.AppendWindow(graph2) splitter.AppendWindow(graph3) #setzt Trennlinie splitter.SetSashPosition(1,600) splitter.SetSashPosition(0,170) #verbindet Schliessen-Knopf mit Funktion self.Bind(wx.EVT_CLOSE,self.closewindow)
def __init__(self, parent): self.parent = parent wx.Panel.__init__(self, parent, -1) sizer = wx.BoxSizer(wx.VERTICAL) sizer1 = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(sizer1, 0, wx.EXPAND | wx.ALL, 2) regex_title = wx.StaticBox(self, -1, tr("Regular expression")) box1 = wx.StaticBoxSizer(regex_title, wx.VERTICAL) self.text = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE) box1.Add(self.text, 1, wx.EXPAND | wx.ALL, 2) sizer1.Add(box1, 1, wx.EXPAND | wx.RIGHT, 4) box = wx.BoxSizer(wx.VERTICAL) self.btnRun = wx.Button(self, -1, tr('Run')) box.Add(self.btnRun, 0, wx.ALL, 2) self.btnCreate = wx.Button(self, -1, tr('Create')) box.Add(self.btnCreate, 0, wx.ALL, 2) sizer1.Add(box, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 4) find_title = wx.StaticBox(self, -1, tr("Methods")) box2 = wx.StaticBoxSizer(find_title, wx.VERTICAL) self.rdoFindFirst = wx.RadioButton(self, -1, tr("Find First"), style=wx.RB_GROUP) self.rdoFindAll = wx.RadioButton(self, -1, tr("Find All")) box2.Add(self.rdoFindFirst, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 2) box2.Add(self.rdoFindAll, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 2) sizer1.Add(box2, 0, wx.EXPAND | wx.RIGHT, 4) from_title = wx.StaticBox(self, -1, tr("From")) box3 = wx.StaticBoxSizer(from_title, wx.VERTICAL) self.rdoFromBeginning = wx.RadioButton(self, -1, tr("From beginning"), style=wx.RB_GROUP) self.rdoFromCaret = wx.RadioButton(self, -1, tr("From caret")) self.rdoInSelection = wx.RadioButton(self, -1, tr("In Selection")) box3.Add(self.rdoFromBeginning, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 2) box3.Add(self.rdoFromCaret, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 2) box3.Add(self.rdoInSelection, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 2) sizer1.Add(box3, 0, wx.EXPAND | wx.RIGHT, 4) flag_title = wx.StaticBox(self, -1, tr("Flags")) box4 = wx.StaticBoxSizer(flag_title, wx.VERTICAL) grid1 = wx.FlexGridSizer(0, 2, 0, 0) box4.Add(grid1, 1, wx.EXPAND | wx.ALL, 2) sizer1.Add(box4, 0, wx.EXPAND | wx.RIGHT, 4) groups = [ ('ignore', tr("Ignore Case(I)"), re.I, 're.I'), ('locale', tr("Locale(L)"), re.L, 're.L'), ('multiline', tr("Multi Line(M)"), re.M, 're.M'), ('dotall', tr("Dot All(S)"), re.S, 're.S'), ('unicode', tr("Unicode(U)"), re.U, 're.U'), ('verbose', tr("Verbose(V)"), re.X, 're.X'), ] self.checks = {} k = 0 for i, v in enumerate(groups): ctrl_name, label, flag, strflag = v obj = wx.CheckBox(self, -1, label) wx.EVT_CHECKBOX(obj, obj.GetId(), self.OnChange) self.checks[ctrl_name] = obj, flag, strflag grid1.Add(obj, k, wx.ALL, 2) if i % 2 == 0: k += 1 self.splitter = splitter = MultiSplitterWindow(self) self.result = CheckList.List(splitter, columns=[ (tr("Items"), 150, 'left'), (tr("Values"), 300, 'left'), ], style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_SINGLE_SEL) splitter.AppendWindow(self.result, 450) self.matches = wx.TextCtrl(splitter, -1, "", style=wx.TE_MULTILINE | wx.TE_RICH2) splitter.AppendWindow(self.matches, 150) splitter.SetOrientation(wx.HORIZONTAL) sizer.Add(splitter, 1, wx.EXPAND | wx.LEFT | wx.RIGHT, 4) self.load() wx.EVT_BUTTON(self.btnRun, self.btnRun.GetId(), self.OnChange) wx.EVT_BUTTON(self.btnCreate, self.btnCreate.GetId(), self.OnCreateExpression) wx.EVT_TEXT(self.text, self.text.GetId(), self.OnChange) self.SetSizer(sizer) self.SetAutoLayout(True)
def __init__(self, parent): self.initmixin() wx.Panel.__init__(self, parent, -1) self.mainframe = Globals.mainframe self.pref = self.mainframe.pref sizer = wx.BoxSizer(wx.VERTICAL) sizer1 = wx.BoxSizer(wx.HORIZONTAL) if not self.pref.pairprog_username: self.pref.pairprog_username = self.pref.personal_username sizer1.Add(wx.StaticText(self, -1, tr("Name") + ':'), 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.LEFT, 2) self.txtName = wx.TextCtrl(self, -1, self.pref.pairprog_username, size=(100, -1)) sizer1.Add(self.txtName, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.LEFT, 2) sizer1.Add(wx.StaticText(self, -1, tr("Host") + ':'), 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 2) self.txtIP = wx.TextCtrl(self, -1, self.pref.pairprog_host, size=(150, -1)) sizer1.Add(self.txtIP, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 2) sizer1.Add(wx.StaticText(self, -1, tr("Port") + ':'), 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 2) self.txtPort = wx.SpinCtrl(self, min=1, max=65536, value=str(self.pref.pairprog_port)) sizer1.Add(self.txtPort, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 2) self.btnStart = wx.Button(self, -1, tr("Start Server")) sizer1.Add(self.btnStart, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 2) self.btnConnect = wx.Button(self, -1, tr("Connect Server")) sizer1.Add(self.btnConnect, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 2) sizer.Add(sizer1, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 2) self.splitter = MultiSplitterWindow(self, -1) userpanel = UserPanel(self.splitter) self.splitter.AppendWindow(userpanel, 200) self.userlist = userpanel.list filelistpanel = FileListPanel(self.splitter) self.splitter.AppendWindow(filelistpanel, 150) self.filelist = filelistpanel.list chatpanel = ChatPanel(self.splitter) self.splitter.AppendWindow(chatpanel) self.chat = chatpanel.chat self.chatroom = chatpanel.chatroom self.btnSend = chatpanel.btnSend self.btnClear = chatpanel.btnClear self.btnSave = chatpanel.btnSave self.splitter.SetMinimumPaneSize(150) self.splitter.SetOrientation(wx.HORIZONTAL) sizer.Add(self.splitter, 1, wx.EXPAND | wx.ALL, 2) self.SetSizer(sizer) self.SetAutoLayout(True) self.btnStart.Bind(wx.EVT_BUTTON, self.OnStart) self.btnConnect.Bind(wx.EVT_BUTTON, self.OnConnect) self.btnSend.Bind(wx.EVT_BUTTON, self.OnSend) self.btnClear.Bind(wx.EVT_BUTTON, self.OnClear) self.btnSave.Bind(wx.EVT_BUTTON, self.OnSave) self.filelist.Bind(wx.EVT_RIGHT_DOWN, self.OnFilelistRClick) self.userlist.Bind(wx.EVT_RIGHT_DOWN, self.OnUserlistRClick) self.chat.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown) self.status = '' self.server = None self.client = None self.servercommands = ServerCommands(self) self.clientcommands = ClientCommands(self) self.users = {} self.files = {} self.cmdrecorder = CommandRecord.CommandRecord() self.filelistpopmenus = None self.userlistpopmenus = None
def __init__(self, parent, title): wx.Frame.__init__(self, parent=parent, title=title, size=(400, 400)) self.model = None self.parent = parent self.edit_window_visible = False self.k1 = '' self.k2 = '' self.k3 = '' self.listen() self.status_bar = TodoStatusBar(self) self.SetStatusBar(self.status_bar) self.switch = False # Menu entries self.button_menu_ID1 = wx.NewId() self.button_menu_ID2 = wx.NewId() self.button_menu_ID3 = wx.NewId() self.button_menu_ID4 = wx.NewId() self.Bind(wx.EVT_MENU, self.OnMenuEntrySort, id=self.button_menu_ID1) self.Bind(wx.EVT_MENU, self.OnMenuEntryInfo, id=self.button_menu_ID2) self.Bind(wx.EVT_MENU, self.OnMenuEntryVisualReport, id=self.button_menu_ID3) self.Bind(wx.EVT_MENU, self.OnMenuEntryToggleEditWindow, id=self.button_menu_ID4) # Multiple keybindings states self.state_C_x_ID = wx.NewId() self.state_ID2 = wx.NewId() self.state_undo_ID = wx.NewId() self.Bind(wx.EVT_MENU, self.OnState_C_x, id=self.state_C_x_ID) self.Bind(wx.EVT_MENU, self.OnState2, id=self.state_ID2) self.Bind(wx.EVT_MENU, self.OnStateUndo, id=self.state_undo_ID) self.accelerator_entries = [ # Single keybindings wx.AcceleratorEntry(wx.ACCEL_CTRL, ord('S'), self.button_menu_ID1), wx.AcceleratorEntry(wx.ACCEL_CTRL, ord('I'), self.button_menu_ID2), wx.AcceleratorEntry(wx.ACCEL_CTRL, ord('R'), self.button_menu_ID3), wx.AcceleratorEntry(wx.ACCEL_CTRL, ord('E'), self.button_menu_ID4), # Multiple keybindings wx.AcceleratorEntry(wx.ACCEL_CTRL, ord('x'), self.state_C_x_ID), wx.AcceleratorEntry(wx.ACCEL_CTRL, ord('f'), self.state_ID2), wx.AcceleratorEntry(wx.ACCEL_CTRL, ord('g'), self.state_undo_ID) ] self.accelerator_table = wx.AcceleratorTable(self.accelerator_entries) self.SetAcceleratorTable(self.accelerator_table) # temp_data must not be empty for selection to work correctly self.update_temp_data() self.main_panel = wx.Panel(self) self.main_panel_sizer = wx.BoxSizer(wx.VERTICAL) self.main_splitter = MultiSplitterWindow(self.main_panel, style=wx.SP_LIVE_UPDATE | wx.SP_BORDER) self.main_splitter.SetOrientation(wx.HORIZONTAL) # self.main_splitter.SetMinimumPaneSize(0) self.panel = TodoListCtrlPanel(self.main_splitter) self.panel.get_listctr().colorize() self.SetBackgroundColour(wx.Colour(255, 119, 0)) self.edit_window = TodoEditWindow(self.main_splitter) self.edit_window.Hide() self.main_splitter.AppendWindow(self.panel, self.GetSize()[1] / 3 * 2) self.search_box = SearchBox(self) self.panel.get_listctr().brother_widget = self.search_box # self.Bind(wx.EVT_CHAR_HOOK, self.OnSearch, self.search_box) self.search_box.Bind(wx.EVT_TEXT, self.OnSearch, self.search_box) # self.Bind(wx.EVT_TEXT_ENTER, self.OnEnter) #, self.search_box) self.Bind(wx.EVT_TEXT_ENTER, self.OnSearch) #, self.search_box) # self.Bind(wx.EVT_CHAR, self.OnBackspace, self.search_box) # self.Bind(wx.EVT_CHAR_HOOK, self.OnEnter) # , self.search_box) self.Bind(wx.EVT_SET_FOCUS, self.OnBackspace, self.search_box) self.Bind(wx.EVT_KILL_FOCUS, self.OnBackspace, self.search_box) self.Bind(wx.EVT_WINDOW_DESTROY, self.OnBackspace, self.search_box) self.Bind(wx.EVT_SIZE, self.OnSize, self) self.search_box.Bind(wx.EVT_CHAR, self.OnChar, self.search_box) self.search_box.SetFocus() self.main_slider = wx.Slider( # self, 100, 25, 1, 100, (30, 60), (250, -1), self.status_bar, 100, 25, 1, len(temp_data), (30, 60), (250, -1), wx.SL_HORIZONTAL | wx.SL_AUTOTICKS) # |wx.SL_LABELS) self.main_slider.SetTickFreq(5, 1) self.main_slider.SetLineSize(5) self.main_slider.SetPageSize(5) self.main_slider.SetBackgroundColour(wx.Colour(80, 80, 80)) self.main_slider.Bind(wx.EVT_SLIDER, self.OnSlider, self.main_slider) # TODO: Add text for current value or move it somewhere else # self.main_slider.SetPosition((self.status_bar.GetFieldRect(1).x+200, 0)) self.addTaskButton = wx.Button(self, 0, 'Add &task') # , size=(125, -1)) self.addTaskButton.SetBackgroundColour(wx.Colour(255, 77, 0)) self.addTaskButton.Bind(wx.EVT_BUTTON, self.OnClickAddTaskButton, self.addTaskButton) self.setPriorityButton = wx.Button(self, 0, 'Set &priority') self.setPriorityButton.SetBackgroundColour(wx.Colour(255, 77, 0)) self.setPriorityButton.Bind(wx.EVT_BUTTON, self.OnClickSetPriorityButton, self.setPriorityButton) self.deleteTaskButton = wx.Button(self, 0, '&Delete task') self.deleteTaskButton.SetBackgroundColour(wx.Colour(255, 77, 0)) self.deleteTaskButton.Bind(wx.EVT_BUTTON, self.OnClickDeleteTaskButton, self.deleteTaskButton) self.moreButton = wx.Button(self, 0, '&More') self.moreButton.SetBackgroundColour(wx.Colour(255, 77, 0)) self.moreButton.Bind(wx.EVT_BUTTON, self.OnClickMoreButton, self.moreButton) self.main_panel_sizer.Add(self.main_splitter, 1, wx.EXPAND | wx.ALL) self.main_panel.SetSizer(self.main_panel_sizer) self.main_splitter.Layout() self.main_panel.Layout() self.buttonSizer = wx.BoxSizer(wx.HORIZONTAL) self.panel.sizer.Layout() # self.buttonSizer.Add(self.main_slider, 0, wx.ALIGN_LEFT|wx.ALL) self.buttonSizer.Add(self.addTaskButton, 0, wx.ALIGN_LEFT | wx.ALL) self.buttonSizer.Add(self.setPriorityButton, 0, wx.ALIGN_RIGHT | wx.ALL) self.buttonSizer.Add(self.deleteTaskButton, 0, wx.ALIGN_RIGHT | wx.ALL) self.buttonSizer.Add(self.moreButton, 0, wx.ALIGN_RIGHT | wx.ALL) self.sizer = wx.BoxSizer(wx.VERTICAL) self.sizer.Add(self.search_box, 0, wx.GROW | wx.ALL, 6) # self.sizer.Add(self.addTaskButton, 0, wx.ALIGN_RIGHT|wx.ALL) # self.sizer.Add(self.setPriorityButton, 0, wx.ALIGN_RIGHT|wx.ALL) self.sizer.Add(self.buttonSizer, 0, wx.ALIGN_RIGHT | wx.ALL) self.sizer.Add(self.main_panel, 1, wx.EXPAND | wx.ALL) # self.sizer.Add(self.panel, 1, wx.EXPAND|wx.ALL) # self.sizer.Add(self.edit_window, 1, wx.EXPAND|wx.ALL) # self.sizer.Add(self.main_splitter, 1, wx.EXPAND|wx.ALL) self.SetSizer(self.sizer) self.SetAutoLayout(True) self.Show(True)
def InitPage(self): self.splitter = wx.SplitterWindow(self, -1, style=wx.SP_3D | wx.SP_NO_XP_THEME | wx.SP_LIVE_UPDATE) self.window_D = wx.Panel(self.splitter, -1) # Panel Etat des dossiers self.window_G = MultiSplitterWindow(self.splitter, -1, style=wx.SP_NOSASH | wx.SP_LIVE_UPDATE) self.window_G.SetOrientation(wx.VERTICAL) self.window_G.SetMinimumPaneSize(100) self.panel_dossiers = PanelDossiers(self.window_G) self.window_G.AppendWindow( self.panel_dossiers, 500) # Ici c'est la hauteur du panel pb de dossiers # Panel vide self.panel_vide = wx.Panel(self.window_G, -1) self.panel_vide.SetBackgroundColour((122, 161, 230)) self.window_G.AppendWindow(self.panel_vide, 200) self.panel_resume = PanelResume(self.window_D) self.label_selection = wx.StaticText(self.window_D, -1, u"") self.label_selection.SetForegroundColour((122, 161, 230)) self.label_selection.Show(False) self.listCtrl_personnes = OL_personnes.ListView( self.window_D, id=-1, name="OL_personnes", style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_SINGLE_SEL | wx.LC_HRULES | wx.LC_VRULES) self.listCtrl_personnes.SetMinSize((20, 20)) self.barreRecherche = BarreRecherche(self.window_D) self.bouton_ajouter = wx.BitmapButton( self.window_D, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Ajouter.png"), wx.BITMAP_TYPE_ANY)) self.bouton_modifier = wx.BitmapButton( self.window_D, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Modifier.png"), wx.BITMAP_TYPE_ANY)) self.bouton_supprimer = wx.BitmapButton( self.window_D, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Supprimer.png"), wx.BITMAP_TYPE_ANY)) self.bouton_rechercher = wx.BitmapButton( self.window_D, -1, wx.Bitmap( Chemins.GetStaticPath("Images/16x16/Calendrier3jours.png"), wx.BITMAP_TYPE_ANY)) self.bouton_affichertout = wx.BitmapButton( self.window_D, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Actualiser.png"), wx.BITMAP_TYPE_ANY)) self.bouton_options = wx.BitmapButton( self.window_D, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Mecanisme.png"), wx.BITMAP_TYPE_ANY)) self.bouton_courrier = wx.BitmapButton( self.window_D, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Mail.png"), wx.BITMAP_TYPE_ANY)) self.bouton_imprimer = wx.BitmapButton( self.window_D, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Imprimante.png"), wx.BITMAP_TYPE_ANY)) self.bouton_export_texte = wx.BitmapButton( self.window_D, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Document.png"), wx.BITMAP_TYPE_ANY)) self.bouton_export_excel = wx.BitmapButton( self.window_D, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Excel.png"), wx.BITMAP_TYPE_ANY)) self.bouton_aide = wx.BitmapButton( self.window_D, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Aide.png"), wx.BITMAP_TYPE_ANY)) self.barreTitre_liste = FonctionsPerso.BarreTitre( self.window_D, _(u"Liste des individus"), _(u"Liste des individus")) # Diminution de la taille de la police sous linux if "linux" in sys.platform: self.bouton_export_excel.Enable(False) self.__set_properties() self.__do_layout() # Binds self.Bind(wx.EVT_BUTTON, self.OnBoutonAjouter, self.bouton_ajouter) self.Bind(wx.EVT_BUTTON, self.OnBoutonModifier, self.bouton_modifier) self.Bind(wx.EVT_BUTTON, self.OnBoutonSupprimer, self.bouton_supprimer) self.Bind(wx.EVT_BUTTON, self.OnBoutonRechercher, self.bouton_rechercher) self.Bind(wx.EVT_BUTTON, self.OnBoutonAfficherTout, self.bouton_affichertout) self.Bind(wx.EVT_BUTTON, self.OnBoutonOptions, self.bouton_options) self.Bind(wx.EVT_BUTTON, self.OnBoutonCourrier, self.bouton_courrier) self.Bind(wx.EVT_BUTTON, self.OnBoutonImprimer, self.bouton_imprimer) self.Bind(wx.EVT_BUTTON, self.OnBoutonExportTexte, self.bouton_export_texte) self.Bind(wx.EVT_BUTTON, self.OnBoutonExportExcel, self.bouton_export_excel) self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide) self.bouton_modifier.Enable(False) self.bouton_supprimer.Enable(False) self.AffichePanelResume(False) self.init = True