def _build_window(self): vbox = gtk.VBox() #table = gtk.Table(2,3, False) grid = gtk.Grid() src_label = gtk.Label('Source:') #table.attach(src_label, 0, 1, 0, 1, gtk.EXPAND, gtk.EXPAND) grid.attach(src_label, 0, 0, 1, 1) src_entry = gtk.Entry() src_entry.set_width_chars(50) #table.attach(src_entry, 1, 2, 0, 1, gtk.EXPAND, gtk.EXPAND) grid.attach(src_entry, 1, 0, 1, 1) src_browse_button = gtk.Button('Browse') #table.attach(src_browse_button, 2, 3, 0, 1, gtk.EXPAND, gtk.EXPAND) grid.attach(src_browse_button, 2, 0, 1, 1) if self.filter_type == FilterWindow.FILTER_TYPES.FILE: src_browse_button.connect('clicked', lambda w: UIUtils.browse_file('Select file', src_entry, [UIUtils.CSV_FILE_FILTER, UIUtils.ALL_FILE_FILTER])) elif self.filter_type == FilterWindow.FILTER_TYPES.FOLDER: src_browse_button.connect('clicked', lambda w: UIUtils.browse_folder('Select folder', src_entry)) #[UIUtils.CSV_FILE_FILTER, UIUtils.ALL_FILE_FILTER])) dest_label = gtk.Label('Destination:') #table.attach(dest_label, 0, 1, 1, 2, gtk.EXPAND, gtk.EXPAND) grid.attach(dest_label, 0, 1, 1, 1) dest_entry = gtk.Entry() dest_entry.set_width_chars(50) #table.attach(dest_entry, 1, 2, 1, 2, gtk.EXPAND, gtk.EXPAND) grid.attach(dest_entry, 1, 1, 1, 1) dest_browse_button = gtk.Button('Browse') #table.attach(dest_browse_button, 2, 3, 1, 2, gtk.EXPAND, gtk.EXPAND) grid.attach(dest_browse_button, 2, 1, 1, 1) dest_browse_button.connect('clicked', lambda w: UIUtils.browse_folder('Select folder', dest_entry))#, [UIUtils.CSV_FILE_FILTER, UIUtils.ALL_FILE_FILTER])) vbox.pack_start(grid, True, True, 0) button_box = gtk.HButtonBox() button_box.set_layout(gtk.ButtonBoxStyle.EDGE) cancel_button = gtk.Button(stock=gtk.STOCK_CANCEL, label='Cancel') cancel_button.connect('clicked', lambda w: self.window.destroy()) button_box.add(cancel_button) ok_button = gtk.Button(stock=gtk.STOCK_OK, label='Ok') ok_button.connect('clicked', lambda w: self._process(src_entry.get_text(), dest_entry.get_text())) button_box.add(ok_button) vbox.pack_start(button_box, True, True, 0) self.window.add(vbox)
def _build_settings_grid(self): #table = gtk.Table(5, 3) grid = gtk.Grid() csv_label = gtk.Label('CSV File:') csv_label.set_justify(gtk.JUSTIFY_RIGHT) #table.attach(csv_label, 0, 1, 0, 1, gtk.EXPAND, gtk.EXPAND) grid.attach(csv_label, 0, 0, 1, 1) csv_entry = gtk.Entry() csv_entry.set_width_chars(60) #table.attach(csv_entry, 1, 2, 0, 1, gtk.EXPAND, gtk.EXPAND) grid.attach(csv_entry, 1, 0, 1, 1) self.csv_entry = csv_entry csv_button = gtk.Button('Browse') #table.attach(csv_button, 2, 3, 0, 1, gtk.EXPAND, gtk.EXPAND) grid.attach(csv_button, 2, 0, 1, 1) csv_button.connect( 'clicked', lambda w: UIUtils.browse_file('Select csv file', csv_entry, [ UIUtils.CSV_FILE_FILTER, UIUtils.ALL_FILE_FILTER ])) wav_label = gtk.Label('Wav Folder:') wav_label.set_justify(gtk.JUSTIFY_RIGHT) #table.attach(wav_label, 0, 1, 1, 2, gtk.EXPAND, gtk.EXPAND) grid.attach(wav_label, 0, 1, 1, 1) wav_entry = gtk.Entry() wav_entry.set_width_chars(60) #table.attach(wav_entry, 1, 2, 1, 2, gtk.EXPAND, gtk.EXPAND) grid.attach(wav_entry, 1, 1, 1, 1) self.wav_entry = wav_entry wav_button = gtk.Button('Browse') #table.attach(wav_button, 2, 3, 1, 2, gtk.EXPAND, gtk.EXPAND) grid.attach(wav_button, 2, 1, 1, 1) wav_button.connect( 'clicked', lambda w: UIUtils.browse_folder( 'Select parent wav folder', wav_entry)) blocks_label = gtk.Label('Blocks per Activity:') blocks_label.set_justify(gtk.JUSTIFY_RIGHT) #table.attach(blocks_label, 0, 1, 2, 3, gtk.EXPAND, gtk.EXPAND) grid.attach(blocks_label, 0, 2, 1, 1) spin_adj = gtk.Adjustment(value=3, lower=1, upper=1000, step_incr=1, page_incr=10) blocks_spinner = gtk.SpinButton(adjustment=spin_adj) #table.attach(blocks_spinner, 1, 2, 2, 3, gtk.EXPAND, gtk.EXPAND) grid.attach(blocks_spinner, 1, 2, 1, 1) self.blocks_spinner = blocks_spinner vbox = gtk.VBox(spacing=5) #table.attach(vbox, 1, 2, 3, 5) grid.attach(vbox, 1, 3, 1, 2) csv_entry.connect('changed', lambda w: self._build_treeviews(w.get_text(), vbox)) return grid
def __init__(self): self.window = gtk.Window(gtk.WindowType.TOPLEVEL) self.window.set_title('Transcription Verifier') self.window.connect('destroy', lambda w: self.window.destroy()) self.window.set_default_size(270, 210) self.window.set_resizable(True) vbox = gtk.VBox() file1_grid = gtk.Grid() file1_frame = gtk.Frame(label='File 1') file1_name_label = gtk.Label('Transcriber Name:') file1_name_entry = gtk.Entry() file1_name_entry.set_width_chars(20) file1_label = gtk.Label('Path:') file1_entry = gtk.Entry() file1_entry.set_width_chars(50) file1_browse_button = gtk.Button('Browse') file1_browse_button.connect( 'clicked', lambda w: UIUtils.browse_file( 'Select File 1', file1_entry, [UIUtils.TRS_FILE_FILTER])) file1_grid.attach(file1_name_label, 0, 0, 1, 1) file1_grid.attach(file1_name_entry, 1, 0, 1, 1) file1_grid.attach(file1_label, 0, 1, 1, 1) file1_grid.attach(file1_entry, 1, 1, 1, 1) file1_grid.attach(file1_browse_button, 2, 1, 1, 1) file1_frame.add(file1_grid) vbox.pack_start(file1_frame, True, True, 0) file2_grid = gtk.Grid() file2_frame = gtk.Frame(label='File 2') file2_name_label = gtk.Label('Transcriber Name:') file2_name_entry = gtk.Entry() file2_name_entry.set_width_chars(20) file2_label = gtk.Label('Path:') file2_entry = gtk.Entry() file2_entry.set_width_chars(50) file2_browse_button = gtk.Button('Browse') file2_browse_button.connect( 'clicked', lambda w: UIUtils.browse_file( 'Select File 2', file2_entry, [UIUtils.TRS_FILE_FILTER])) file2_grid.attach(file2_name_label, 0, 2, 1, 1) file2_grid.attach(file2_name_entry, 1, 2, 1, 1) file2_grid.attach(file2_label, 0, 3, 1, 1) file2_grid.attach(file2_entry, 1, 3, 1, 1) file2_grid.attach(file2_browse_button, 2, 3, 1, 1) file2_frame.add(file2_grid) vbox.pack_start(file2_frame, True, True, 0) #for debugging #file1_entry.set_text('G:\\Wayne\\baby-lab\\test-data\\trs\\C001b_20090901lFINAL.trs') #file2_entry.set_text('G:\\Wayne\\baby-lab\\test-data\\trs\\C001b_20090901lFINAL - Copy.trs') file1_name_entry.grab_focus() button_box = gtk.HButtonBox() button_box.set_layout(gtk.ButtonBoxStyle.EDGE) cancel_button = gtk.Button(stock=gtk.STOCK_CANCEL, label='Cancel') cancel_button.connect('clicked', lambda w: self.window.destroy()) button_box.add(cancel_button) ok_button = gtk.Button(stock=gtk.STOCK_OK, label='Ok') ok_button.connect( 'clicked', lambda w: self._check_input( file1_entry.get_text(), file2_entry.get_text(), file1_name_entry.get_text(), file2_name_entry.get_text())) button_box.add(ok_button) vbox.pack_start(button_box, True, True, 0) self.window.add(vbox) self.window.show_all()
def _build_settings_frame(self): settings_frame = gtk.Frame(label='Settings') #table = gtk.Table(7, 3, False) grid = gtk.Grid() name_label = gtk.Label('Name:') name_label.set_justify(gtk.JUSTIFY_RIGHT) #table.attach(name_label, 0, 1, 0, 1, gtk.EXPAND, gtk.EXPAND) grid.attach(name_label, 0, 0, 1, 1) self.form.name_entry = gtk.Entry() self.form.name_entry.set_width_chars(50) #table.attach(self.form.name_entry, 1, 2, 0, 1) grid.attach(self.form.name_entry, 1, 0, 1, 1) input_file_label = gtk.Label('TRS / CSV File:') input_file_label.set_justify(gtk.JUSTIFY_RIGHT) #table.attach(input_file_label, 0, 1, 1, 2, gtk.EXPAND, gtk.EXPAND) grid.attach(input_file_label, 0, 1, 1, 1) self.form.input_file_entry = gtk.Entry() self.form.input_file_entry.set_width_chars(50) self.form.wav_file_entry = gtk.Entry() self.form.wav_file_entry.set_width_chars(50) #table.attach(self.form.input_file_entry, 1, 2, 1, 2, gtk.EXPAND, gtk.EXPAND) grid.attach(self.form.input_file_entry, 1, 1, 1, 1) input_file_button = gtk.Button('Browse') input_file_button.connect( 'clicked', lambda w: UIUtils.browse_file( 'Select trs/csv file', self.form.input_file_entry, [ UIUtils.TRS_CSV_FILE_FILTER, UIUtils.ALL_FILE_FILTER ], self.form.wav_file_entry)) #table.attach(input_file_button, 2, 3, 1, 2, gtk.EXPAND, gtk.EXPAND) grid.attach(input_file_button, 2, 1, 1, 1) wav_file_label = gtk.Label('WAV File:') wav_file_label.set_justify(gtk.JUSTIFY_RIGHT) #table.attach(wav_file_label, 0, 1, 2, 3, gtk.EXPAND, gtk.EXPAND) grid.attach(wav_file_label, 0, 2, 1, 1) #table.attach(self.form.wav_file_entry, 1, 2, 2, 3, gtk.EXPAND, gtk.EXPAND) grid.attach(self.form.wav_file_entry, 1, 2, 1, 1) wav_file_button = gtk.Button('Browse') wav_file_button.connect( 'clicked', lambda w: UIUtils. browse_file('Select wav file', self.form.wav_file_entry, [UIUtils.WAV_FILE_FILTER, UIUtils.ALL_FILE_FILTER])) #table.attach(wav_file_button, 2, 3, 2, 3, gtk.EXPAND, gtk.EXPAND) grid.attach(wav_file_button, 2, 2, 1, 1) num_segs_label = gtk.Label('Number of Segments:') num_segs_label.set_justify(gtk.JUSTIFY_RIGHT) #table.attach(num_segs_label, 0, 1, 4, 5, gtk.EXPAND, gtk.EXPAND) grid.attach(num_segs_label, 0, 4, 1, 1) num_segs_adj = gtk.Adjustment(value=0, lower=1, upper=2**32, step_incr=1, page_incr=5) self.form.num_segs_spinner = gtk.SpinButton(num_segs_adj) #table.attach(self.form.num_segs_spinner, 1, 2, 4, 5, gtk.EXPAND, gtk.EXPAND) grid.attach(self.form.num_segs_spinner, 1, 4, 1, 1) context_pad_label = gtk.Label('Default context padding (sec):') context_pad_label.set_justify(gtk.JUSTIFY_RIGHT) #table.attach(context_pad_label, 0, 1, 5, 6, gtk.EXPAND, gtk.EXPAND) grid.attach(context_pad_label, 0, 5, 1, 1) context_pad_adj = gtk.Adjustment(value=0, lower=1, upper=60, step_incr=1, page_incr=5) self.form.context_pad_spinner = gtk.SpinButton(context_pad_adj) #table.attach(self.form.context_pad_spinner, 1, 2, 5, 6, gtk.EXPAND, gtk.EXPAND) grid.attach(self.form.context_pad_spinner, 1, 5, 1, 1) self.form.rand_checkbox = gtk.CheckButton('Pick segs randomly') #table.attach(self.form.rand_checkbox, 0, 1, 6, 7) grid.attach(self.form.rand_checkbox, 0, 6, 1, 1) settings_frame.add(grid) return settings_frame