示例#1
0
    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
示例#3
0
    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()
示例#4
0
    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