def __init_four_way_splitter(self): splitter = fws.FourWaySplitter(self, style=wx.SP_LIVE_UPDATE) sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(splitter, 1, wx.EXPAND) self.SetSizer(sizer) p1 = slice_viewer.Viewer(self, "AXIAL") splitter.AppendWindow(p1) p2 = slice_viewer.Viewer(self, "CORONAL") splitter.AppendWindow(p2) p3 = slice_viewer.Viewer(self, "SAGITAL") splitter.AppendWindow(p3) p4 = volume_viewer.Viewer(self) splitter.AppendWindow(p4)
def __init_mix(self): aui_manager = wx.aui.AuiManager() aui_manager.SetManagedWindow(self) splitter = fws.FourWaySplitter(self, style=wx.SP_LIVE_UPDATE) sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(splitter, 1, wx.EXPAND) self.SetSizer(sizer) p1 = slice_viewer.Viewer(self, "AXIAL") aui_manager.AddPane(p1, wx.aui.AuiPaneInfo(). Name("Axial Slice").Caption(_("Axial slice")). MaximizeButton(True).CloseButton(False)) p2 = slice_viewer.Viewer(self, "CORONAL") aui_manager.AddPane(p2, wx.aui.AuiPaneInfo(). Name("Coronal Slice").Caption(_("Coronal slice")). MaximizeButton(True).CloseButton(False)) p3 = slice_viewer.Viewer(self, "SAGITAL") aui_manager.AddPane(p3, wx.aui.AuiPaneInfo(). Name("Sagittal Slice").Caption(_("Sagittal slice")). MaximizeButton(True).CloseButton(False)) #p4 = volume_viewer.Viewer(self) aui_manager.AddPane(VolumeViewerCover, wx.aui.AuiPaneInfo(). Name("Volume").Caption(_("Volume")). MaximizeButton(True).CloseButton(False)) splitter.AppendWindow(p1) splitter.AppendWindow(p2) splitter.AppendWindow(p3) splitter.AppendWindow(p4) aui_manager.Update()
def __init_aui_manager(self): self.aui_manager = wx.aui.AuiManager() self.aui_manager.SetManagedWindow(self) # TODO: Testar mais e verificar melhor opcao # Position # volume | pos = 0 # sagital | pos = 1 # coronal | pos = 2 # axial | pos = 3 # Automatico: assim que painel eh inserido ele ocupa local mais acima na janela (menor numero de posicao) # Layer # Layer 0 | Layer 1 | Layer 2 | ... # Automatico: todos sao colocados no mesmo layer # O que eh o Dockable? # Row # Row 0 | Row 1 # Idem ao layer # Como funciona Direction? # Primeira alternativa: # modo: 2 no Layer 0, 2 no Layer 1 por exemplo - posicao automatica (ao inves de Layer pode ser utilizado Row) # problema: sash control soh aparece no sentido ertical # tentativa de solucionar problema seria utilizar Fixed, mas qdo se aciona maximizar nao maximiza inteiro p1 = slice_viewer.Viewer(self, "AXIAL") s1 = wx.aui.AuiPaneInfo().Centre().Row(0).\ Name("Axial Slice").Caption(_("Axial slice")).\ MaximizeButton(True).CloseButton(False) p2 = slice_viewer.Viewer(self, "CORONAL") s2 = wx.aui.AuiPaneInfo().Centre().Row(0).\ Name("Coronal Slice").Caption(_("Coronal slice")).\ MaximizeButton(True).CloseButton(False) p3 = slice_viewer.Viewer(self, "SAGITAL") s3 = wx.aui.AuiPaneInfo().Centre().Row(1).\ Name("Sagittal Slice").Caption(_("Sagittal slice")).\ MaximizeButton(True).CloseButton(False) p4 = VolumeViewerCover(self) #p4 = volume_viewer.Viewer(self) s4 = wx.aui.AuiPaneInfo().Row(1).Name("Volume").\ Bottom().Centre().Caption(_("Volume")).\ MaximizeButton(True).CloseButton(False) self.s4 = s4 self.p4 = p4 menu = slice_menu_.SliceMenu() p1.SetPopupMenu(menu) p2.SetPopupMenu(menu) p3.SetPopupMenu(menu) if sys.platform == 'win32': self.aui_manager.AddPane(p1, s1) self.aui_manager.AddPane(p2, s2) self.aui_manager.AddPane(p3, s3) self.aui_manager.AddPane(p4, s4) else: self.aui_manager.AddPane(p4, s4) self.aui_manager.AddPane(p3, s3) self.aui_manager.AddPane(p2, s2) self.aui_manager.AddPane(p1, s1) self.aui_manager.Update()