コード例 #1
0
ファイル: avtoolsGUI.py プロジェクト: iam-tom/video_tools
    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)
コード例 #2
0
ファイル: masterGUI.py プロジェクト: iam-tom/video_tools
    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()
コード例 #3
0
ファイル: tlmGUI.py プロジェクト: iam-tom/video_tools
    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()
コード例 #4
0
ファイル: warpGUI.py プロジェクト: iam-tom/video_tools
    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()