def __init__(self, parent): wx.Panel.__init__(self, parent) # default settings self.format_preset=[".png",".jpg",".tiff"] self.zeros_preset =["0" , "1" , "2", "3", "4" ,"5" ,"6" ,"7" ,"8"] #buttons #---input self.b_i_format=wx.Choice(self,wx.ID_ANY,(7,130),(70,30),self.format_preset) self.b_zeros=wx.Choice(self,wx.ID_ANY,(7,190),(50,30),self.zeros_preset) #--output b_o_dir=wx.Button(self,wx.ID_ANY,"Browse",(7,250),(70,25),wx.BU_EXACTFIT) b_o_file=wx.Button(self,wx.ID_ANY,"Edit",(7,310),(50,25),wx.BU_EXACTFIT) self.b_fps=GUIelements.iChoice(self,(2,3),"fps") b_accept=wx.Button(self,wx.ID_ANY,"Accept",(67,410),(70,25),wx.BU_EXACTFIT) #static text s_dummy1 = wx.StaticText(self,-1,"Video Configuration:",(7,20)) self.s_o_dir = iwx.iStaticText(self,-1,"Output Directory:") self.s_o_file = iwx.iStaticText(self,-1,"Output Filename:") self.s_zeros = iwx.iStaticText(self,-1,"Leading Zeros:") self.s_format = iwx.iStaticText(self,-1,"Input File Format:") #events b_o_dir.Bind(wx.EVT_BUTTON, lambda evt, string=self.s_o_dir: self.OnBrowseDir(evt, string) ) b_o_file.Bind(wx.EVT_BUTTON, lambda evt, string=self.s_o_file: self.OnEdit(evt, string) ) self.bs=wx.BoxSizer(wx.VERTICAL) self.bs.Add(s_dummy1,1, wx.ALL,10) self.bs.Add(self.s_o_dir,1, wx.ALL,10) self.bs.Add(b_o_dir,1, wx.ALL,10) self.bs.Add(self.s_format,1, wx.ALL,10) self.bs.Add(self.b_i_format,1, wx.ALL,10) self.bs.Add(self.b_fps,1, wx.ALL,10) self.bs.Add(self.s_o_file,1, wx.ALL,10) self.bs.Add(b_o_file,1, wx.ALL,10) self.bs.Add(b_accept,1, wx.ALL,10) self.bs.Add(self.s_zeros,1, wx.ALL,10) self.bs.Add(self.b_zeros,1, wx.ALL,10) self.SetAutoLayout(True) self.SetSizer(self.bs) self.Layout() b_accept.Bind(wx.EVT_BUTTON, self.OnAccept ) #self.Bind(wx.EVT_BUTTON, self.OnProcess,b_process) self.Show(True)
def __init__(self,title,config): # calculate screen size etc ss_string = subprocess.Popen('xrandr | grep "\*" | cut -d" " -f4',shell=True,stdout=subprocess.PIPE).communicate()[0] x_pos=ss_string.find('x') sw = int(ss_string[0:(x_pos)]) sh = int(ss_string[x_pos+1:len(ss_string)]) self.f = wx.Frame(None, title=title, size=(sw,sh) ) splitter = wx.SplitterWindow(self.f,-1) self.p1 = wx.Panel(splitter,-1) self.p2 = wx.Panel(splitter,-1) splitter.SplitVertically(self.p1,self.p2) self.nb = wx.Notebook(self.p1) config["size"] = (sw/2,sh) self.page1 = tlmGUI.tlmGUI(self.nb) self.page3 = wdGUI.wdGUI(self.nb) self.page4 = warpGUI.warpGUI(self.nb) self.nb.AddPage(self.page1, "TLM") self.nb.AddPage(self.page3,"IMPORT") self.nb.AddPage(self.page4,"WARP") self.active_page = self.page1 self.nb.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,self.OnTabChanged) sizer = wx.BoxSizer() sizer.Add(self.nb, 1, wx.EXPAND) # graphical elements self.list = GUIelements.imgList(self.p2,(200,500)) ok_b = wx.Button(self.p2,wx.ID_OK,"OK",(10,550),(80,80),wx.BU_EXACTFIT) ok_b.Bind(wx.EVT_BUTTON, self.OnOk) self.p1.SetSizer(sizer) self.p2.SetSizer(sizer) self.f.Show()
def make_layout(self,parent): size_canvas=wx.Size(900,600) # init wx panel wx.Panel.__init__(self, parent) # init sizers fgs0=wx.FlexGridSizer(rows=3,cols=1) bs0 = wx.BoxSizer(wx.HORIZONTAL) bs1 = wx.BoxSizer(wx.HORIZONTAL) bs2 = wx.BoxSizer(wx.HORIZONTAL) # canvas element self.canvas=iwx.iCanvas(self,size_canvas) # button panel for output options # TODO: MAKE iChoice position independent # TODO: do i really want to use this? self.choices_res=GUIelements.iChoice(self,"res") self.choices_fps=GUIelements.iChoice(self,"fps") choices_out_mode=["Img Sequence","Video"] self.choices_out_mode_lookup=["1","2"] self.choices_out_mode=wx.Choice(self, wx.ID_ANY, size=(130,30), choices=choices_out_mode) # put elements in box sizer bs0.Add(self.choices_res) bs0.Add(self.choices_fps) bs0.Add(self.choices_out_mode) # button panel for process options choices_tl_mode=["Pan Only","Zoom&Pan","Full Image"] self.choices_tl_mode_lookup=[1,2,3] self.choices_tl_mode=wx.Choice(self, wx.ID_ANY,size=(130,30), choices=choices_tl_mode) self.b_reset = wx.Button(self,-1,"Reset") # put element in box sizer bs1.Add(self.choices_tl_mode) bs1.Add(self.b_reset) # button panel for path self.b_accept=wx.Button(self,-1,"OK") self.b_browse = GUIelements.iBrowse(self) # put elements in box sizer bs2.Add(self.b_browse) bs2.Add(self.b_accept) # put elements to top level sizer # fgs0.AddGrowableRow(0,0) fgs0.Add(self.canvas) fgs0.Add(bs0) fgs0.Add(bs1) fgs0.Add(bs2) # make layout self.SetSizer(fgs0) self.Layout() self.Fit()
def make_layout(self, parent): # layout --------------------------------------- size_over = wx.Size(600, 400) size_zoom = wx.Size(200, 200) # parent panel p1 wx.Panel.__init__(self, parent) # BOX SIZERS bs1 = wx.FlexGridSizer(rows=4, cols=1) bs11 = wx.BoxSizer(wx.HORIZONTAL) bs12 = wx.BoxSizer(wx.HORIZONTAL) bs13 = wx.BoxSizer(wx.HORIZONTAL) ###### LAYOUT PANEL 0-------------------------------------- self.button_up11 = wx.Button(self, -1, "U\nP", size=(30, 200)) self.over0 = iwx.iCanvas(self, size_over) bs111 = wx.FlexGridSizer(rows=3, cols=1) self.zoom0 = iwx.iCanvas(self, size_zoom) bs1111 = wx.BoxSizer(wx.HORIZONTAL) self.ResetF0 = wx.Button(self, -1, "Reset Frame") bs1111.Add(self.ResetF0, wx.EXPAND) bs1111.Add(wx.Button(self, -1, "BUT!"), wx.EXPAND) self.list11 = wx.ListBox(self, -1, size=(200, 170)) bs111.Add(self.zoom0, wx.EXPAND, 1) bs111.Add(bs1111, wx.EXPAND, 1) bs111.Add(self.list11, wx.EXPAND, 1) bs111.AddGrowableRow(0, 0) bs111.AddGrowableRow(2, 0) bs11.Add(self.over0, wx.ALIGN_TOP, 0) bs11.Add(bs111, wx.ALIGN_TOP, 0) bs11.Add(self.button_up11, wx.ALIGN_TOP, 0) ###### LAYOUT PANEL 1------------------------------------ self.button_down12 = wx.Button(self, -1, "D\nO\nW\nN", size=(30, 200)) self.over1 = iwx.iCanvas(self, size_over) bs121 = wx.FlexGridSizer(rows=3, cols=1) self.zoom1 = iwx.iCanvas(self, size_zoom) bs1211 = wx.BoxSizer(wx.HORIZONTAL) bs1211.Add(wx.Button(self, -1, "Reset Frame"), wx.EXPAND) bs1211.Add(wx.Button(self, -1, "BUT!"), wx.EXPAND) self.list12 = wx.ListBox(self, -1, size=(200, 170)) bs121.Add(self.zoom1, wx.EXPAND, 1) bs121.Add(bs1211, wx.CENTER, 1) bs121.Add(self.list12, wx.EXPAND, 1) bs121.AddGrowableRow(0, 0) bs121.AddGrowableRow(2, 0) bs12.Add(self.over1, wx.ALIGN_TOP, 0) bs12.Add(bs121, wx.ALIGN_TOP, 0) bs12.Add(self.button_down12, wx.ALIGN_LEFT, 0) ###### LAYOUT Bottom PANEL self.button_exe = wx.Button(self, -1, "recalculate Trafo") self.button_down13 = wx.Button(self, -1, "Process") ##### LAYOUT NAVPANEL bs_nav = wx.BoxSizer(wx.HORIZONTAL) self.nav = GUIelements.iNavpanel(self, 3) bs_nav.Add(self.nav, wx.EXPAND) bs_nav.Add(self.button_exe, wx.EXPAND) bs_nav.Add(self.button_down13, wx.EXPAND) ###### MAKE LAYOUT bs1.Add(bs11, 1, wx.ALIGN_LEFT) bs1.Add(bs_nav, 1, wx.EXPAND) bs1.Add(bs12, 1, wx.ALIGN_TOP) bs1.AddGrowableRow(0, 0) bs1.AddGrowableRow(1, 0) self.SetSizer(bs1) self.Layout() self.Fit()