def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['measures'][ 'effect_size'] self.settings_custom = self.main.settings_custom['measures'][ 'effect_size'] # Kilgarriff's Ratio group_box_kilgarriffs_ratio = QGroupBox(self.tr("Kilgarriff's Ratio"), self) self.label_kilgarriffs_ratio_smoothing_param = QLabel( self.tr('Smoothing Parameter:'), self) self.spin_box_kilgarriffs_ratio_smoothing_param = wl_boxes.Wl_Double_Spin_Box( self) self.spin_box_kilgarriffs_ratio_smoothing_param.setRange(0.01, 10000) group_box_kilgarriffs_ratio.setLayout(wl_layouts.Wl_Layout()) group_box_kilgarriffs_ratio.layout().addWidget( self.label_kilgarriffs_ratio_smoothing_param, 0, 0) group_box_kilgarriffs_ratio.layout().addWidget( self.spin_box_kilgarriffs_ratio_smoothing_param, 0, 1) group_box_kilgarriffs_ratio.layout().setColumnStretch(2, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_kilgarriffs_ratio, 0, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(1, 1)
def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['measures'][ 'dispersion'] self.settings_custom = self.main.settings_custom['measures'][ 'dispersion'] # General group_box_general_settings = QGroupBox(self.tr('General Settings'), self) (self.label_dispersion_divide, self.spin_box_dispersion_number_sections, self.label_dispersion_sections ) = wl_widgets.wl_widgets_number_sections(self) group_box_general_settings.setLayout(wl_layouts.Wl_Layout()) group_box_general_settings.layout().addWidget( self.label_dispersion_divide, 0, 0) group_box_general_settings.layout().addWidget( self.spin_box_dispersion_number_sections, 0, 1) group_box_general_settings.layout().addWidget( self.label_dispersion_sections, 0, 2) group_box_general_settings.layout().setColumnStretch(3, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_general_settings, 0, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(1, 1)
def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['data'] self.settings_custom = self.main.settings_custom['data'] # Rank Settings group_box_rank_settings = QGroupBox(self.tr('Rank Settings'), self) self.checkbox_continue_numbering_after_ties = QCheckBox( self.tr('Continue numbering after ties'), self) group_box_rank_settings.setLayout(wl_layouts.Wl_Layout()) group_box_rank_settings.layout().addWidget( self.checkbox_continue_numbering_after_ties, 0, 0) group_box_rank_settings.layout().setRowStretch(1, 0) # Precision Settings group_box_precision_settings = QGroupBox(self.tr('Precision Settings'), self) self.label_precision_decimal = QLabel(self.tr('Decimal:'), self) self.spin_box_precision_decimal = wl_boxes.Wl_Spin_Box(self) self.label_precision_pct = QLabel(self.tr('Percentage:'), self) self.spin_box_precision_pct = wl_boxes.Wl_Spin_Box(self) self.label_precision_p_value = QLabel(self.tr('p-value:'), self) self.spin_box_precision_p_value = wl_boxes.Wl_Spin_Box(self) self.spin_box_precision_decimal.setRange(0, 10) self.spin_box_precision_pct.setRange(0, 10) self.spin_box_precision_p_value.setRange(0, 15) group_box_precision_settings.setLayout(wl_layouts.Wl_Layout()) group_box_precision_settings.layout().addWidget( self.label_precision_decimal, 0, 0) group_box_precision_settings.layout().addWidget( self.spin_box_precision_decimal, 0, 1) group_box_precision_settings.layout().addWidget( self.label_precision_pct, 1, 0) group_box_precision_settings.layout().addWidget( self.spin_box_precision_pct, 1, 1) group_box_precision_settings.layout().addWidget( self.label_precision_p_value, 2, 0) group_box_precision_settings.layout().addWidget( self.spin_box_precision_p_value, 2, 1) group_box_precision_settings.layout().setColumnStretch(2, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_rank_settings, 0, 0) self.layout().addWidget(group_box_precision_settings, 1, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(2, 1)
def __init__(self, main, table): super().__init__( main, _tr('Wl_Dialog_Results_Sort_Concordancer', 'Sort Results')) self.tables = [table] self.settings = self.main.settings_custom[ self.tables[0].tab]['sort_results'] self.main.wl_work_area.currentChanged.connect(self.reject) self.table_sort = Wl_Table_Results_Sort_Conordancer( self, table=self.tables[0]) self.button_restore_default_settings = wl_buttons.Wl_Button_Restore_Default_Settings( self, load_settings=self.load_settings) self.button_sort = QPushButton(self.tr('Sort'), self) self.button_close = QPushButton(self.tr('Close'), self) if self.tables[0].tab == 'concordancer': self.button_sort.clicked.connect(lambda: self.sort_results()) elif self.tables[0].tab == 'concordancer_parallel': self.button_sort.clicked.connect( lambda: self.sort_results_parallel()) self.button_close.clicked.connect(self.reject) layout_table_sort = wl_layouts.Wl_Layout() layout_table_sort.addWidget(self.table_sort, 0, 0, 5, 1) layout_table_sort.addWidget(self.table_sort.button_add, 0, 1) layout_table_sort.addWidget(self.table_sort.button_ins, 1, 1) layout_table_sort.addWidget(self.table_sort.button_del, 2, 1) layout_table_sort.addWidget(self.table_sort.button_clr, 3, 1) layout_table_sort.setRowStretch(4, 1) layout_buttons = wl_layouts.Wl_Layout() layout_buttons.addWidget(self.button_restore_default_settings, 0, 0) layout_buttons.addWidget(self.button_sort, 0, 2) layout_buttons.addWidget(self.button_close, 0, 3) layout_buttons.setColumnStretch(1, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addLayout(layout_table_sort, 0, 0) self.layout().addWidget(wl_layouts.Wl_Separator(self), 1, 0) self.layout().addLayout(layout_buttons, 2, 0) self.set_fixed_size()
def __init__(self, main, text): super().__init__(main, width=450) self.time_start = time.time() self.timer_time_elapsed = QTimer(self) self.label_progress = QLabel(text, self) self.label_time_elapsed = QLabel( _tr('Wl_Dialog_Progress', 'Elapsed Time: 0:00:00'), self) self.label_processing = wl_labels.Wl_Label_Dialog( _tr( 'Wl_Dialog_Progress', 'Please wait. It may take a few seconds to several minutes for the operation to be completed.' ), self) self.timer_time_elapsed.timeout.connect(self.update_elapsed_time) self.timer_time_elapsed.start(1000) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(self.label_progress, 0, 0) self.layout().addWidget(self.label_time_elapsed, 0, 1, Qt.AlignRight) self.layout().addWidget(self.label_processing, 1, 0, 1, 2) self.layout().setContentsMargins(20, 10, 20, 10)
def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['measures'][ 'adjusted_freq'] self.settings_custom = self.main.settings_custom['measures'][ 'adjusted_freq'] # General group_box_general_settings = QGroupBox(self.tr('General Settings'), self) (self.label_adjusted_freq_divide, self.spin_box_adjusted_freq_number_sections, self.label_adjusted_freq_sections ) = wl_widgets.wl_widgets_number_sections(self) self.checkbox_use_same_settings_dispersion = QCheckBox( self.tr('Use same settings in "Settings → Measures → Dispersion"'), self) self.checkbox_use_same_settings_dispersion.stateChanged.connect( self.use_same_settings_changed) group_box_general_settings.setLayout(wl_layouts.Wl_Layout()) group_box_general_settings.layout().addWidget( self.label_adjusted_freq_divide, 0, 0) group_box_general_settings.layout().addWidget( self.spin_box_adjusted_freq_number_sections, 0, 1) group_box_general_settings.layout().addWidget( self.label_adjusted_freq_sections, 0, 2) group_box_general_settings.layout().addWidget( self.checkbox_use_same_settings_dispersion, 1, 0, 1, 4) group_box_general_settings.layout().setColumnStretch(3, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_general_settings, 0, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(1, 1) self.use_same_settings_changed()
def __init__(self, main, title, width=0, height=0, no_buttons=False): # Avoid circular imports from wl_widgets import wl_layouts super().__init__(main, title, width, height) self.wrapper_info = QWidget(self) self.wrapper_info.setObjectName('wrapper-info') self.wrapper_info.setStyleSheet(''' QWidget#wrapper-info { border-bottom: 1px solid #B0B0B0; background-color: #FFF; } ''') self.wrapper_info.setLayout(wl_layouts.Wl_Layout()) self.wrapper_info.layout().setContentsMargins(20, 10, 20, 10) self.wrapper_buttons = QWidget(self) self.wrapper_buttons.setLayout(wl_layouts.Wl_Layout()) self.wrapper_buttons.layout().setContentsMargins(11, 0, 11, 11) if not no_buttons: self.button_ok = QPushButton(_tr('Wl_Dialog_Info', 'OK'), self) self.button_ok.clicked.connect(self.accept) self.wrapper_buttons.layout().addWidget(self.button_ok, 0, 0, Qt.AlignRight) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(self.wrapper_info, 0, 0) self.layout().addWidget(self.wrapper_buttons, 1, 0) self.layout().setRowStretch(0, 1) self.layout().setContentsMargins(0, 0, 0, 0)
def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['imp'] self.settings_custom = self.main.settings_custom['imp'] # Files group_box_imp_files = QGroupBox(self.tr('Files'), self) self.label_imp_files_default_path = QLabel(self.tr('Default Path:'), self) self.line_edit_imp_files_default_path = QLineEdit(self) self.button_imp_files_browse = QPushButton(self.tr('Browse...'), self) self.button_imp_files_browse.clicked.connect(self.browse_files) group_box_imp_files.setLayout(wl_layouts.Wl_Layout()) group_box_imp_files.layout().addWidget(self.label_imp_files_default_path, 0, 0) group_box_imp_files.layout().addWidget(self.line_edit_imp_files_default_path, 0, 1) group_box_imp_files.layout().addWidget(self.button_imp_files_browse, 0, 2) # Search Terms group_box_imp_search_terms = QGroupBox(self.tr('Search Terms'), self) self.label_imp_search_terms_default_path = QLabel(self.tr('Default Path:'), self) self.line_edit_imp_search_terms_default_path = QLineEdit(self) self.button_imp_search_terms_browse = QPushButton(self.tr('Browse...'), self) self.label_imp_search_terms_default_encoding = QLabel(self.tr('Default Encoding:'), self) self.combo_box_imp_search_terms_default_encoding = wl_boxes.Wl_Combo_Box_Encoding(self) self.checkbox_imp_search_terms_detect_encodings = QCheckBox(self.tr('Auto-detect encodings')) self.button_imp_search_terms_browse.clicked.connect(self.browse_search_terms) self.checkbox_imp_search_terms_detect_encodings.stateChanged.connect(self.detect_encodings_changed) group_box_imp_search_terms.setLayout(wl_layouts.Wl_Layout()) group_box_imp_search_terms.layout().addWidget(self.label_imp_search_terms_default_path, 0, 0) group_box_imp_search_terms.layout().addWidget(self.line_edit_imp_search_terms_default_path, 0, 1) group_box_imp_search_terms.layout().addWidget(self.button_imp_search_terms_browse, 0, 2) group_box_imp_search_terms.layout().addWidget(self.label_imp_search_terms_default_encoding, 1, 0) group_box_imp_search_terms.layout().addWidget(self.combo_box_imp_search_terms_default_encoding, 1, 1, 1, 2) group_box_imp_search_terms.layout().addWidget(self.checkbox_imp_search_terms_detect_encodings, 2, 0, 1, 3) # Stop Words group_box_imp_stop_words = QGroupBox(self.tr('Stop Words'), self) self.label_imp_stop_words_default_path = QLabel(self.tr('Default Path:'), self) self.line_edit_imp_stop_words_default_path = QLineEdit(self) self.button_imp_stop_words_browse = QPushButton(self.tr('Browse...'), self) self.label_imp_stop_words_default_encoding = QLabel(self.tr('Default Encoding:'), self) self.combo_box_imp_stop_words_default_encoding = wl_boxes.Wl_Combo_Box_Encoding(self) self.checkbox_imp_stop_words_detect_encodings = QCheckBox(self.tr('Auto-detect encodings')) self.button_imp_stop_words_browse.clicked.connect(self.browse_stop_words) self.checkbox_imp_stop_words_detect_encodings.stateChanged.connect(self.detect_encodings_changed) group_box_imp_stop_words.setLayout(wl_layouts.Wl_Layout()) group_box_imp_stop_words.layout().addWidget(self.label_imp_stop_words_default_path, 0, 0) group_box_imp_stop_words.layout().addWidget(self.line_edit_imp_stop_words_default_path, 0, 1) group_box_imp_stop_words.layout().addWidget(self.button_imp_stop_words_browse, 0, 2) group_box_imp_stop_words.layout().addWidget(self.label_imp_stop_words_default_encoding, 1, 0) group_box_imp_stop_words.layout().addWidget(self.combo_box_imp_stop_words_default_encoding, 1, 1, 1, 2) group_box_imp_stop_words.layout().addWidget(self.checkbox_imp_stop_words_detect_encodings, 2, 0, 1, 3) # Temporary Files group_box_imp_temp_files = QGroupBox(self.tr('Temporary Files'), self) self.label_imp_temp_files_default_path = QLabel(self.tr('Default Path:'), self) self.line_edit_imp_temp_files_default_path = QLineEdit(self) self.button_imp_temp_files_browse = QPushButton(self.tr('Browse...'), self) self.button_imp_temp_files_browse.clicked.connect(self.browse_temp_files) group_box_imp_temp_files.setLayout(wl_layouts.Wl_Layout()) group_box_imp_temp_files.layout().addWidget(self.label_imp_temp_files_default_path, 0, 0) group_box_imp_temp_files.layout().addWidget(self.line_edit_imp_temp_files_default_path, 0, 1) group_box_imp_temp_files.layout().addWidget(self.button_imp_temp_files_browse, 0, 2) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_imp_files, 0, 0) self.layout().addWidget(group_box_imp_search_terms, 1, 0) self.layout().addWidget(group_box_imp_stop_words, 2, 0) self.layout().addWidget(group_box_imp_temp_files, 3, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(4, 1)
def __init__(self, main): super().__init__(main) self.settings_global = self.main.settings_global['pos_taggers'] self.settings_default = self.main.settings_default['pos_tagging'] self.settings_custom = self.main.settings_custom['pos_tagging'] # POS Tagger Settings group_box_pos_tagger_settings = QGroupBox( self.tr('POS Tagger Settings'), self) self.table_pos_taggers = wl_tables.Wl_Table( self, headers=[self.tr('Language'), self.tr('POS Taggers')], editable=True) self.checkbox_to_universal_pos_tags = QCheckBox( self.tr('Convert all POS tags to universal POS tags')) self.table_pos_taggers.verticalHeader().setHidden(True) self.table_pos_taggers.model().setRowCount(len(self.settings_global)) self.table_pos_taggers.disable_updates() for i, lang in enumerate(self.settings_global): self.table_pos_taggers.model().setItem( i, 0, QStandardItem(wl_conversion.to_lang_text(self.main, lang))) self.table_pos_taggers.model().setItem(i, 1, QStandardItem()) self.table_pos_taggers.setItemDelegateForRow( i, wl_item_delegates.Wl_Item_Delegate_Combo_Box( parent=self.table_pos_taggers, items=list( wl_nlp_utils.to_lang_util_texts( self.main, util_type='pos_taggers', util_codes=self.settings_global[lang])), col=1)) self.table_pos_taggers.enable_updates() group_box_pos_tagger_settings.setLayout(wl_layouts.Wl_Layout()) group_box_pos_tagger_settings.layout().addWidget( self.table_pos_taggers, 0, 0) group_box_pos_tagger_settings.layout().addWidget( self.checkbox_to_universal_pos_tags, 1, 0) # Preview group_box_preview = QGroupBox(self.tr('Preview'), self) self.label_pos_tagging_preview_lang = QLabel( self.tr('Select language:'), self) self.combo_box_pos_tagging_preview_lang = wl_boxes.Wl_Combo_Box(self) self.button_pos_tagging_show_preview = QPushButton( self.tr('Show preview'), self) self.text_edit_pos_tagging_preview_samples = QTextEdit(self) self.text_edit_pos_tagging_preview_results = QTextEdit(self) self.combo_box_pos_tagging_preview_lang.addItems( wl_conversion.to_lang_texts(self.main, self.settings_global)) self.button_pos_tagging_show_preview.setFixedWidth(150) self.text_edit_pos_tagging_preview_samples.setAcceptRichText(False) self.text_edit_pos_tagging_preview_results.setReadOnly(True) self.combo_box_pos_tagging_preview_lang.currentTextChanged.connect( self.preview_changed) self.button_pos_tagging_show_preview.clicked.connect( self.preview_results_changed) self.text_edit_pos_tagging_preview_samples.textChanged.connect( self.preview_changed) self.text_edit_pos_tagging_preview_results.textChanged.connect( self.preview_changed) layout_preview_settings = wl_layouts.Wl_Layout() layout_preview_settings.addWidget(self.label_pos_tagging_preview_lang, 0, 0) layout_preview_settings.addWidget( self.combo_box_pos_tagging_preview_lang, 0, 1) layout_preview_settings.addWidget(self.button_pos_tagging_show_preview, 0, 3) layout_preview_settings.setColumnStretch(2, 1) group_box_preview.setLayout(wl_layouts.Wl_Layout()) group_box_preview.layout().addLayout(layout_preview_settings, 0, 0, 1, 2) group_box_preview.layout().addWidget( self.text_edit_pos_tagging_preview_samples, 1, 0) group_box_preview.layout().addWidget( self.text_edit_pos_tagging_preview_results, 1, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_pos_tagger_settings, 0, 0) self.layout().addWidget(group_box_preview, 1, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(0, 3) self.layout().setRowStretch(1, 2)
def __init__(self, main): super().__init__(main) self.settings_global = self.main.settings_global['pos_taggers'] self.settings_default = self.main.settings_default['tagsets'] self.settings_custom = self.main.settings_custom['tagsets'] self.pos_tag_mappings_loaded = False self.settings_tagsets = QWidget(self) # Preview Settings group_box_preview_settings = QGroupBox(self.tr('Preview Settings:'), self) self.label_tagsets_lang = QLabel(self.tr('Language:'), self) self.combo_box_tagsets_lang = wl_boxes.Wl_Combo_Box(self) self.label_tagsets_pos_tagger = QLabel(self.tr('POS Tagger:'), self) self.combo_box_tagsets_pos_tagger = wl_boxes.Wl_Combo_Box_Adjustable( self) self.combo_box_tagsets_lang.addItems( wl_conversion.to_lang_texts(self.main, self.settings_global)) self.combo_box_tagsets_lang.currentTextChanged.connect( self.preview_lang_changed) self.combo_box_tagsets_pos_tagger.currentTextChanged.connect( self.preview_pos_tagger_changed) group_box_preview_settings.setLayout(wl_layouts.Wl_Layout()) group_box_preview_settings.layout().addWidget(self.label_tagsets_lang, 0, 0) group_box_preview_settings.layout().addWidget( self.combo_box_tagsets_lang, 0, 1, Qt.AlignLeft) group_box_preview_settings.layout().addWidget( self.label_tagsets_pos_tagger, 1, 0) group_box_preview_settings.layout().addWidget( self.combo_box_tagsets_pos_tagger, 1, 1, Qt.AlignLeft) group_box_preview_settings.layout().setColumnStretch(2, 1) # Mapping Settings group_box_mapping_settings = QGroupBox(self.tr('Mapping Settings')) self.stacked_widget_num_pos_tags = wl_layouts.Wl_Stacked_Widget(self) self.label_tagsets_num_pos_tags = QLabel('', self) self.label_tagsets_uneditable = wl_labels.Wl_Label_Hint( self.tr('* This POS tagger does not support custom mappings.'), self) self.button_tagsets_reset = QPushButton(self.tr('Reset'), self) self.button_tagsets_reset_all = QPushButton(self.tr('Reset All'), self) self.table_mappings = wl_tables.Wl_Table( self, headers=[ self.tr('POS Tag'), self.tr('Universal POS Tag'), self.tr('Description'), self.tr('Examples') ], editable=True) self.stacked_widget_num_pos_tags.addWidget( self.label_tagsets_num_pos_tags) self.stacked_widget_num_pos_tags.addWidget( self.label_tagsets_uneditable) self.table_mappings.setItemDelegate( wl_item_delegates.Wl_Item_Delegate_Combo_Box( parent=self.table_mappings, items=[ 'ADJ', 'ADP', 'ADV', 'AUX', 'CONJ', # Coordinating/Subordinating conjunctions 'CCONJ', 'SCONJ', 'DET', 'INTJ', 'NOUN', 'PROPN', 'NUM', 'PART', 'PRON', 'VERB', 'PUNCT', 'SYM', 'X' ], col=1, editable=True)) self.button_tagsets_reset.setFixedWidth(120) self.button_tagsets_reset_all.setFixedWidth(120) self.button_tagsets_reset.clicked.connect(self.reset_mappings) self.button_tagsets_reset_all.clicked.connect(self.reset_all_mappings) group_box_mapping_settings.setLayout(wl_layouts.Wl_Layout()) group_box_mapping_settings.layout().addWidget( self.stacked_widget_num_pos_tags, 0, 0) group_box_mapping_settings.layout().addWidget( self.button_tagsets_reset, 0, 2) group_box_mapping_settings.layout().addWidget( self.button_tagsets_reset_all, 0, 3) group_box_mapping_settings.layout().addWidget(self.table_mappings, 1, 0, 1, 4) group_box_mapping_settings.layout().setRowStretch(1, 1) group_box_mapping_settings.layout().setColumnStretch(1, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_preview_settings, 0, 0) self.layout().addWidget(group_box_mapping_settings, 1, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(1, 1)
def __init__(self, main): super().__init__(main) # Table self.table_wordlist_generator = Wl_Table_Wordlist_Generator(self) layout_results = wl_layouts.Wl_Layout() layout_results.addWidget( self.table_wordlist_generator.label_number_results, 0, 0) layout_results.addWidget( self.table_wordlist_generator.button_results_filter, 0, 2) layout_results.addWidget( self.table_wordlist_generator.button_results_search, 0, 3) layout_results.setColumnStretch(1, 1) self.wrapper_table.layout().addLayout(layout_results, 0, 0, 1, 5) self.wrapper_table.layout().addWidget(self.table_wordlist_generator, 1, 0, 1, 5) self.wrapper_table.layout().addWidget( self.table_wordlist_generator.button_generate_table, 2, 0) self.wrapper_table.layout().addWidget( self.table_wordlist_generator.button_generate_fig, 2, 1) self.wrapper_table.layout().addWidget( self.table_wordlist_generator.button_exp_selected, 2, 2) self.wrapper_table.layout().addWidget( self.table_wordlist_generator.button_exp_all, 2, 3) self.wrapper_table.layout().addWidget( self.table_wordlist_generator.button_clr, 2, 4) # Token Settings self.group_box_token_settings = QGroupBox(self.tr('Token Settings'), self) (self.checkbox_words, self.checkbox_lowercase, self.checkbox_uppercase, self.checkbox_title_case, self.checkbox_nums, self.checkbox_puncs, self.checkbox_treat_as_lowercase, self.checkbox_lemmatize_tokens, self.checkbox_filter_stop_words, self.checkbox_ignore_tags, self.checkbox_use_tags) = wl_widgets.wl_widgets_token_settings(self) self.checkbox_words.stateChanged.connect(self.token_settings_changed) self.checkbox_lowercase.stateChanged.connect( self.token_settings_changed) self.checkbox_uppercase.stateChanged.connect( self.token_settings_changed) self.checkbox_title_case.stateChanged.connect( self.token_settings_changed) self.checkbox_nums.stateChanged.connect(self.token_settings_changed) self.checkbox_puncs.stateChanged.connect(self.token_settings_changed) self.checkbox_treat_as_lowercase.stateChanged.connect( self.token_settings_changed) self.checkbox_lemmatize_tokens.stateChanged.connect( self.token_settings_changed) self.checkbox_filter_stop_words.stateChanged.connect( self.token_settings_changed) self.checkbox_ignore_tags.stateChanged.connect( self.token_settings_changed) self.checkbox_use_tags.stateChanged.connect( self.token_settings_changed) self.group_box_token_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_token_settings.layout().addWidget( self.checkbox_words, 0, 0) self.group_box_token_settings.layout().addWidget( self.checkbox_lowercase, 0, 1) self.group_box_token_settings.layout().addWidget( self.checkbox_uppercase, 1, 0) self.group_box_token_settings.layout().addWidget( self.checkbox_title_case, 1, 1) self.group_box_token_settings.layout().addWidget( self.checkbox_nums, 2, 0) self.group_box_token_settings.layout().addWidget( self.checkbox_puncs, 2, 1) self.group_box_token_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 3, 0, 1, 2) self.group_box_token_settings.layout().addWidget( self.checkbox_treat_as_lowercase, 4, 0, 1, 2) self.group_box_token_settings.layout().addWidget( self.checkbox_lemmatize_tokens, 5, 0, 1, 2) self.group_box_token_settings.layout().addWidget( self.checkbox_filter_stop_words, 6, 0, 1, 2) self.group_box_token_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 7, 0, 1, 2) self.group_box_token_settings.layout().addWidget( self.checkbox_ignore_tags, 8, 0) self.group_box_token_settings.layout().addWidget( self.checkbox_use_tags, 8, 1) # Generation Settings self.group_box_generation_settings = QGroupBox( self.tr('Generation Settings')) (self.label_measure_dispersion, self.combo_box_measure_dispersion ) = wl_widgets.wl_widgets_measure_dispersion(self) (self.label_measure_adjusted_freq, self.combo_box_measure_adjusted_freq ) = wl_widgets.wl_widgets_measure_adjusted_freq(self) (self.label_settings_measures, self.button_settings_measures ) = wl_widgets.wl_widgets_settings_measures( self, node=self.tr('Dispersion')) self.combo_box_measure_dispersion.currentTextChanged.connect( self.generation_settings_changed) self.combo_box_measure_adjusted_freq.currentTextChanged.connect( self.generation_settings_changed) layout_settings_measures = wl_layouts.Wl_Layout() layout_settings_measures.addWidget(self.label_settings_measures, 0, 0) layout_settings_measures.addWidget(self.button_settings_measures, 0, 1) layout_settings_measures.setColumnStretch(1, 1) self.group_box_generation_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_generation_settings.layout().addWidget( self.label_measure_dispersion, 0, 0) self.group_box_generation_settings.layout().addWidget( self.combo_box_measure_dispersion, 1, 0) self.group_box_generation_settings.layout().addWidget( self.label_measure_adjusted_freq, 2, 0) self.group_box_generation_settings.layout().addWidget( self.combo_box_measure_adjusted_freq, 3, 0) self.group_box_generation_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 4, 0) self.group_box_generation_settings.layout().addLayout( layout_settings_measures, 5, 0) # Table Settings self.group_box_table_settings = QGroupBox(self.tr('Table Settings')) (self.checkbox_show_pct, self.checkbox_show_cumulative, self.checkbox_show_breakdown) = wl_widgets.wl_widgets_table_settings( self, tables=[self.table_wordlist_generator]) self.checkbox_show_pct.stateChanged.connect( self.table_settings_changed) self.checkbox_show_cumulative.stateChanged.connect( self.table_settings_changed) self.checkbox_show_breakdown.stateChanged.connect( self.table_settings_changed) self.group_box_table_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_table_settings.layout().addWidget( self.checkbox_show_pct, 0, 0) self.group_box_table_settings.layout().addWidget( self.checkbox_show_cumulative, 1, 0) self.group_box_table_settings.layout().addWidget( self.checkbox_show_breakdown, 2, 0) # Figure Settings self.group_box_fig_settings = QGroupBox(self.tr('Figure Settings'), self) (self.label_graph_type, self.combo_box_graph_type, self.label_sort_by_file, self.combo_box_sort_by_file, self.label_use_data, self.combo_box_use_data, self.checkbox_use_pct, self.checkbox_use_cumulative ) = wl_widgets.wl_widgets_fig_settings(self) self.label_rank = QLabel(self.tr('Rank:'), self) (self.label_rank_min, self.spin_box_rank_min, self.checkbox_rank_min_no_limit, self.label_rank_max, self.spin_box_rank_max, self.checkbox_rank_max_no_limit) = wl_widgets.wl_widgets_filter( self, filter_min=1, filter_max=100000) self.combo_box_graph_type.currentTextChanged.connect( self.fig_settings_changed) self.combo_box_sort_by_file.currentTextChanged.connect( self.fig_settings_changed) self.combo_box_use_data.currentTextChanged.connect( self.fig_settings_changed) self.checkbox_use_pct.stateChanged.connect(self.fig_settings_changed) self.checkbox_use_cumulative.stateChanged.connect( self.fig_settings_changed) self.spin_box_rank_min.valueChanged.connect(self.fig_settings_changed) self.checkbox_rank_min_no_limit.stateChanged.connect( self.fig_settings_changed) self.spin_box_rank_max.valueChanged.connect(self.fig_settings_changed) self.checkbox_rank_max_no_limit.stateChanged.connect( self.fig_settings_changed) layout_fig_settings_combo_boxes = wl_layouts.Wl_Layout() layout_fig_settings_combo_boxes.addWidget(self.label_graph_type, 0, 0) layout_fig_settings_combo_boxes.addWidget(self.combo_box_graph_type, 0, 1) layout_fig_settings_combo_boxes.addWidget(self.label_sort_by_file, 1, 0) layout_fig_settings_combo_boxes.addWidget(self.combo_box_sort_by_file, 1, 1) layout_fig_settings_combo_boxes.addWidget(self.label_use_data, 2, 0) layout_fig_settings_combo_boxes.addWidget(self.combo_box_use_data, 2, 1) layout_fig_settings_combo_boxes.addWidget(self.checkbox_use_pct, 3, 0, 1, 2) layout_fig_settings_combo_boxes.addWidget(self.checkbox_use_cumulative, 4, 0, 1, 2) layout_fig_settings_combo_boxes.setColumnStretch(1, 1) self.group_box_fig_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_fig_settings.layout().addLayout( layout_fig_settings_combo_boxes, 0, 0, 1, 3) self.group_box_fig_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 1, 0, 1, 3) self.group_box_fig_settings.layout().addWidget(self.label_rank, 2, 0, 1, 3) self.group_box_fig_settings.layout().addWidget(self.label_rank_min, 3, 0) self.group_box_fig_settings.layout().addWidget(self.spin_box_rank_min, 3, 1) self.group_box_fig_settings.layout().addWidget( self.checkbox_rank_min_no_limit, 3, 2) self.group_box_fig_settings.layout().addWidget(self.label_rank_max, 4, 0) self.group_box_fig_settings.layout().addWidget(self.spin_box_rank_max, 4, 1) self.group_box_fig_settings.layout().addWidget( self.checkbox_rank_max_no_limit, 4, 2) self.group_box_fig_settings.layout().setColumnStretch(1, 1) self.wrapper_settings.layout().addWidget(self.group_box_token_settings, 0, 0) self.wrapper_settings.layout().addWidget( self.group_box_generation_settings, 1, 0) self.wrapper_settings.layout().addWidget(self.group_box_table_settings, 2, 0) self.wrapper_settings.layout().addWidget(self.group_box_fig_settings, 3, 0) self.wrapper_settings.layout().setRowStretch(4, 1) self.load_settings()
def __init__(self, main): super().__init__(main) # Table self.table_keyword_extractor = Wl_Table_Keyword_Extractor(self) layout_results = wl_layouts.Wl_Layout() layout_results.addWidget( self.table_keyword_extractor.label_number_results, 0, 0) layout_results.addWidget( self.table_keyword_extractor.button_results_filter, 0, 2) layout_results.addWidget( self.table_keyword_extractor.button_results_search, 0, 3) layout_results.setColumnStretch(1, 1) self.wrapper_table.layout().addLayout(layout_results, 0, 0, 1, 5) self.wrapper_table.layout().addWidget(self.table_keyword_extractor, 1, 0, 1, 5) self.wrapper_table.layout().addWidget( self.table_keyword_extractor.button_generate_table, 2, 0) self.wrapper_table.layout().addWidget( self.table_keyword_extractor.button_generate_fig, 2, 1) self.wrapper_table.layout().addWidget( self.table_keyword_extractor.button_exp_selected, 2, 2) self.wrapper_table.layout().addWidget( self.table_keyword_extractor.button_exp_all, 2, 3) self.wrapper_table.layout().addWidget( self.table_keyword_extractor.button_clr, 2, 4) # Token Settings self.group_box_token_settings = QGroupBox(self.tr('Token Settings'), self) (self.checkbox_words, self.checkbox_lowercase, self.checkbox_uppercase, self.checkbox_title_case, self.checkbox_nums, self.checkbox_puncs, self.checkbox_treat_as_lowercase, self.checkbox_lemmatize_tokens, self.checkbox_filter_stop_words, self.checkbox_ignore_tags, self.checkbox_use_tags) = wl_widgets.wl_widgets_token_settings(self) self.checkbox_words.stateChanged.connect(self.token_settings_changed) self.checkbox_lowercase.stateChanged.connect( self.token_settings_changed) self.checkbox_uppercase.stateChanged.connect( self.token_settings_changed) self.checkbox_title_case.stateChanged.connect( self.token_settings_changed) self.checkbox_nums.stateChanged.connect(self.token_settings_changed) self.checkbox_puncs.stateChanged.connect(self.token_settings_changed) self.checkbox_treat_as_lowercase.stateChanged.connect( self.token_settings_changed) self.checkbox_lemmatize_tokens.stateChanged.connect( self.token_settings_changed) self.checkbox_filter_stop_words.stateChanged.connect( self.token_settings_changed) self.checkbox_ignore_tags.stateChanged.connect( self.token_settings_changed) self.checkbox_use_tags.stateChanged.connect( self.token_settings_changed) self.group_box_token_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_token_settings.layout().addWidget( self.checkbox_words, 0, 0) self.group_box_token_settings.layout().addWidget( self.checkbox_lowercase, 0, 1) self.group_box_token_settings.layout().addWidget( self.checkbox_uppercase, 1, 0) self.group_box_token_settings.layout().addWidget( self.checkbox_title_case, 1, 1) self.group_box_token_settings.layout().addWidget( self.checkbox_nums, 2, 0) self.group_box_token_settings.layout().addWidget( self.checkbox_puncs, 2, 1) self.group_box_token_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 3, 0, 1, 2) self.group_box_token_settings.layout().addWidget( self.checkbox_treat_as_lowercase, 4, 0, 1, 2) self.group_box_token_settings.layout().addWidget( self.checkbox_lemmatize_tokens, 5, 0, 1, 2) self.group_box_token_settings.layout().addWidget( self.checkbox_filter_stop_words, 6, 0, 1, 2) self.group_box_token_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 7, 0, 1, 2) self.group_box_token_settings.layout().addWidget( self.checkbox_ignore_tags, 8, 0) self.group_box_token_settings.layout().addWidget( self.checkbox_use_tags, 8, 1) # Generation Settings self.group_box_generation_settings = QGroupBox( self.tr('Generation Settings')) self.label_ref_files = QLabel(self.tr('Reference Files:'), self) self.list_ref_files = wl_lists.Wl_List_Files(self) (self.label_test_significance, self.combo_box_test_significance ) = wl_widgets.wl_widgets_test_significance(self) (self.label_measure_effect_size, self.combo_box_measure_effect_size ) = wl_widgets.wl_widgets_measure_effect_size(self) (self.label_settings_measures, self.button_settings_measures ) = wl_widgets.wl_widgets_settings_measures( self, node=self.tr('Statistical Significance')) self.combo_box_test_significance.addItems( list(self.main.settings_global['tests_significance'] ['keyword_extractor'].keys())) self.combo_box_measure_effect_size.addItems( list(self.main.settings_global['measures_effect_size'] ['keyword_extractor'].keys())) self.list_ref_files.model().dataChanged.connect( self.generation_settings_changed) self.combo_box_test_significance.currentTextChanged.connect( self.generation_settings_changed) self.combo_box_measure_effect_size.currentTextChanged.connect( self.generation_settings_changed) layout_ref_files = wl_layouts.Wl_Layout() layout_ref_files.addWidget(self.list_ref_files, 0, 0, 4, 1) layout_ref_files.addWidget(self.list_ref_files.button_add, 0, 1) layout_ref_files.addWidget(self.list_ref_files.button_ins, 1, 1) layout_ref_files.addWidget(self.list_ref_files.button_del, 2, 1) layout_ref_files.addWidget(self.list_ref_files.button_clr, 3, 1) layout_settings_measures = wl_layouts.Wl_Layout() layout_settings_measures.addWidget(self.label_settings_measures, 0, 0) layout_settings_measures.addWidget(self.button_settings_measures, 0, 1) layout_settings_measures.setColumnStretch(1, 1) self.group_box_generation_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_generation_settings.layout().addWidget( self.label_ref_files, 0, 0) self.group_box_generation_settings.layout().addLayout( layout_ref_files, 1, 0) self.group_box_generation_settings.layout().addWidget( self.label_test_significance, 2, 0) self.group_box_generation_settings.layout().addWidget( self.combo_box_test_significance, 3, 0) self.group_box_generation_settings.layout().addWidget( self.label_measure_effect_size, 4, 0) self.group_box_generation_settings.layout().addWidget( self.combo_box_measure_effect_size, 5, 0) self.group_box_generation_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 6, 0) self.group_box_generation_settings.layout().addLayout( layout_settings_measures, 7, 0) # Table Settings self.group_box_table_settings = QGroupBox(self.tr('Table Settings')) (self.checkbox_show_pct, self.checkbox_show_cumulative, self.checkbox_show_breakdown) = wl_widgets.wl_widgets_table_settings( self, tables=[self.table_keyword_extractor]) self.checkbox_show_pct.stateChanged.connect( self.table_settings_changed) self.checkbox_show_cumulative.stateChanged.connect( self.table_settings_changed) self.checkbox_show_breakdown.stateChanged.connect( self.table_settings_changed) self.group_box_table_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_table_settings.layout().addWidget( self.checkbox_show_pct, 0, 0) self.group_box_table_settings.layout().addWidget( self.checkbox_show_cumulative, 1, 0) self.group_box_table_settings.layout().addWidget( self.checkbox_show_breakdown, 2, 0) # Figure Settings self.group_box_fig_settings = QGroupBox(self.tr('Figure Settings'), self) (self.label_graph_type, self.combo_box_graph_type, self.label_sort_by_file, self.combo_box_sort_by_file, self.label_use_data, self.combo_box_use_data, self.checkbox_use_pct, self.checkbox_use_cumulative ) = wl_widgets.wl_widgets_fig_settings(self) self.label_rank = QLabel(self.tr('Rank:'), self) (self.label_rank_min, self.spin_box_rank_min, self.checkbox_rank_min_no_limit, self.label_rank_max, self.spin_box_rank_max, self.checkbox_rank_max_no_limit) = wl_widgets.wl_widgets_filter( self, filter_min=1, filter_max=100000) self.combo_box_graph_type.currentTextChanged.connect( self.fig_settings_changed) self.combo_box_sort_by_file.currentTextChanged.connect( self.fig_settings_changed) self.combo_box_use_data.currentTextChanged.connect( self.fig_settings_changed) self.checkbox_use_pct.stateChanged.connect(self.fig_settings_changed) self.checkbox_use_cumulative.stateChanged.connect( self.fig_settings_changed) self.spin_box_rank_min.valueChanged.connect(self.fig_settings_changed) self.checkbox_rank_min_no_limit.stateChanged.connect( self.fig_settings_changed) self.spin_box_rank_max.valueChanged.connect(self.fig_settings_changed) self.checkbox_rank_max_no_limit.stateChanged.connect( self.fig_settings_changed) layout_fig_settings_combo_boxes = wl_layouts.Wl_Layout() layout_fig_settings_combo_boxes.addWidget(self.label_graph_type, 0, 0) layout_fig_settings_combo_boxes.addWidget(self.combo_box_graph_type, 0, 1) layout_fig_settings_combo_boxes.addWidget(self.label_sort_by_file, 1, 0) layout_fig_settings_combo_boxes.addWidget(self.combo_box_sort_by_file, 1, 1) layout_fig_settings_combo_boxes.addWidget(self.label_use_data, 2, 0) layout_fig_settings_combo_boxes.addWidget(self.combo_box_use_data, 2, 1) layout_fig_settings_combo_boxes.setColumnStretch(1, 1) self.group_box_fig_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_fig_settings.layout().addLayout( layout_fig_settings_combo_boxes, 0, 0, 1, 3) self.group_box_fig_settings.layout().addWidget(self.checkbox_use_pct, 1, 0, 1, 3) self.group_box_fig_settings.layout().addWidget( self.checkbox_use_cumulative, 2, 0, 1, 3) self.group_box_fig_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 3, 0, 1, 3) self.group_box_fig_settings.layout().addWidget(self.label_rank, 4, 0, 1, 3) self.group_box_fig_settings.layout().addWidget(self.label_rank_min, 5, 0) self.group_box_fig_settings.layout().addWidget(self.spin_box_rank_min, 5, 1) self.group_box_fig_settings.layout().addWidget( self.checkbox_rank_min_no_limit, 5, 2) self.group_box_fig_settings.layout().addWidget(self.label_rank_max, 6, 0) self.group_box_fig_settings.layout().addWidget(self.spin_box_rank_max, 6, 1) self.group_box_fig_settings.layout().addWidget( self.checkbox_rank_max_no_limit, 6, 2) self.group_box_fig_settings.layout().setColumnStretch(1, 1) self.wrapper_settings.layout().addWidget(self.group_box_token_settings, 0, 0) self.wrapper_settings.layout().addWidget( self.group_box_generation_settings, 1, 0) self.wrapper_settings.layout().addWidget(self.group_box_table_settings, 2, 0) self.wrapper_settings.layout().addWidget(self.group_box_fig_settings, 3, 0) self.wrapper_settings.layout().setRowStretch(4, 1) self.load_settings()
def __init__(self, main, tab, table): super().__init__(main, _tr('Wl_Dialog_Results_Search', 'Search in Results')) self.tab = tab self.tables = [table] self.settings = self.main.settings_custom[self.tab]['search_results'] self.items_found = [] self.main.wl_work_area.currentChanged.connect(self.reject) (self.label_search_term, self.checkbox_multi_search_mode, self.stacked_widget_search_term, self.line_edit_search_term, self.list_search_terms, self.label_separator, self.checkbox_ignore_case, self.checkbox_match_inflected_forms, self.checkbox_match_whole_words, self.checkbox_use_regex, self.checkbox_ignore_tags, self.checkbox_match_tags) = wl_widgets.wl_widgets_search_settings( self, self.tab) self.button_find_next = QPushButton(self.tr('Find Next'), self) self.button_find_prev = QPushButton(self.tr('Find Previous'), self) self.button_find_all = QPushButton(self.tr('Find All'), self) # Pad with spaces self.button_clr_hightlights = QPushButton(self.tr('Clear Highlights'), self) self.button_restore_default_settings = wl_buttons.Wl_Button_Restore_Default_Settings( self, load_settings=self.load_settings) self.button_close = QPushButton(self.tr('Close'), self) self.checkbox_multi_search_mode.stateChanged.connect( self.search_settings_changed) self.line_edit_search_term.textChanged.connect( self.search_settings_changed) self.line_edit_search_term.returnPressed.connect( self.button_find_next.click) self.list_search_terms.model().dataChanged.connect( self.search_settings_changed) self.checkbox_ignore_case.stateChanged.connect( self.search_settings_changed) self.checkbox_match_inflected_forms.stateChanged.connect( self.search_settings_changed) self.checkbox_match_whole_words.stateChanged.connect( self.search_settings_changed) self.checkbox_use_regex.stateChanged.connect( self.search_settings_changed) self.checkbox_ignore_tags.stateChanged.connect( self.search_settings_changed) self.checkbox_match_tags.stateChanged.connect( self.search_settings_changed) self.button_find_next.clicked.connect(lambda: self.find_next()) self.button_find_prev.clicked.connect(lambda: self.find_prev()) self.button_find_all.clicked.connect(lambda: self.find_all()) self.button_clr_hightlights.clicked.connect(self.clr_highlights) self.button_close.clicked.connect(self.reject) layout_buttons_right = wl_layouts.Wl_Layout() layout_buttons_right.addWidget(self.button_find_next, 0, 0) layout_buttons_right.addWidget(self.button_find_prev, 1, 0) layout_buttons_right.addWidget(self.button_find_all, 2, 0) layout_buttons_right.addWidget(self.button_clr_hightlights, 3, 0) layout_buttons_right.setRowStretch(4, 1) layout_buttons_bottom = wl_layouts.Wl_Layout() layout_buttons_bottom.addWidget(self.button_restore_default_settings, 0, 0) layout_buttons_bottom.addWidget(self.button_close, 0, 2) layout_buttons_bottom.setColumnStretch(1, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(self.label_search_term, 0, 0) self.layout().addWidget(self.checkbox_multi_search_mode, 0, 1, Qt.AlignRight) self.layout().addWidget(self.stacked_widget_search_term, 1, 0, 1, 2) self.layout().addWidget(self.label_separator, 2, 0, 1, 2) self.layout().addWidget(self.checkbox_ignore_case, 3, 0, 1, 2) self.layout().addWidget(self.checkbox_match_inflected_forms, 4, 0, 1, 2) self.layout().addWidget(self.checkbox_match_whole_words, 5, 0, 1, 2) self.layout().addWidget(self.checkbox_use_regex, 6, 0, 1, 2) self.layout().addWidget(self.checkbox_ignore_tags, 7, 0, 1, 2) self.layout().addWidget(self.checkbox_match_tags, 8, 0, 1, 2) self.layout().addWidget( wl_layouts.Wl_Separator(self, orientation='vert'), 0, 2, 9, 1) self.layout().addLayout(layout_buttons_right, 0, 3, 9, 1) self.layout().addWidget(wl_layouts.Wl_Separator(self), 9, 0, 1, 4) self.layout().addLayout(layout_buttons_bottom, 10, 0, 1, 4) self.load_settings()
def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['measures'][ 'statistical_significance'] self.settings_custom = self.main.settings_custom['measures'][ 'statistical_significance'] # z-score group_box_z_score = QGroupBox(self.tr('z-score'), self) (self.label_z_score_direction, self.combo_box_z_score_direction ) = wl_widgets.wl_widgets_direction_2(self) group_box_z_score.setLayout(wl_layouts.Wl_Layout()) group_box_z_score.layout().addWidget(self.label_z_score_direction, 0, 0) group_box_z_score.layout().addWidget(self.combo_box_z_score_direction, 0, 1) group_box_z_score.layout().setColumnStretch(2, 1) # Student's t-test (2-sample) group_box_students_t_test_2_sample = QGroupBox( self.tr("Student's t-test (2-sample)"), self) (self.label_students_t_test_2_sample_divide, self.spin_box_students_t_test_2_sample_number_sections, self.label_students_t_test_2_sample_sections ) = wl_widgets.wl_widgets_number_sections(self) (self.label_students_t_test_2_sample_use_data, self.combo_box_students_t_test_2_sample_use_data ) = wl_widgets.wl_widgets_use_data_freq(self) self.label_students_t_test_2_sample_variances = QLabel( self.tr('Variances:'), self) self.combo_box_students_t_test_2_sample_variances = QComboBox(self) self.label_welchs_t_test = wl_labels.Wl_Label_Hint( self.tr(''' <p>* If variances are set to "Unequal", the Welch's t-test will be performed instead.</p> '''), self) self.combo_box_students_t_test_2_sample_variances.addItems( [self.tr('Equal'), self.tr('Unequal')]) layout_students_t_test_2_sample_number_sections = wl_layouts.Wl_Layout( ) layout_students_t_test_2_sample_number_sections.addWidget( self.label_students_t_test_2_sample_divide, 0, 0) layout_students_t_test_2_sample_number_sections.addWidget( self.spin_box_students_t_test_2_sample_number_sections, 0, 1) layout_students_t_test_2_sample_number_sections.addWidget( self.label_students_t_test_2_sample_sections, 0, 2) layout_students_t_test_2_sample_number_sections.setColumnStretch(3, 1) group_box_students_t_test_2_sample.setLayout(wl_layouts.Wl_Layout()) group_box_students_t_test_2_sample.layout().addLayout( layout_students_t_test_2_sample_number_sections, 0, 0, 1, 3) group_box_students_t_test_2_sample.layout().addWidget( self.label_students_t_test_2_sample_use_data, 1, 0) group_box_students_t_test_2_sample.layout().addWidget( self.combo_box_students_t_test_2_sample_use_data, 1, 1) group_box_students_t_test_2_sample.layout().addWidget( self.label_students_t_test_2_sample_variances, 2, 0) group_box_students_t_test_2_sample.layout().addWidget( self.combo_box_students_t_test_2_sample_variances, 2, 1) group_box_students_t_test_2_sample.layout().addWidget( self.label_welchs_t_test, 3, 0, 1, 3) group_box_students_t_test_2_sample.layout().setColumnStretch(2, 1) # Pearson's Chi-squared Test group_box_pearsons_chi_squared_test = QGroupBox( self.tr("Pearson's Chi-squared Test"), self) self.checkbox_pearsons_chi_squared_test_apply_correction = QCheckBox( self.tr("Apply Yates's correction for continuity")) group_box_pearsons_chi_squared_test.setLayout(wl_layouts.Wl_Layout()) group_box_pearsons_chi_squared_test.layout().addWidget( self.checkbox_pearsons_chi_squared_test_apply_correction, 0, 0) # Fisher's Exact Test group_box_fishers_exact_test = QGroupBox( self.tr("Fisher's Exact Test"), self) (self.label_fishers_exact_test_direction, self.combo_box_fishers_exact_test_direction ) = wl_widgets.wl_widgets_direction(self) group_box_fishers_exact_test.setLayout(wl_layouts.Wl_Layout()) group_box_fishers_exact_test.layout().addWidget( self.label_fishers_exact_test_direction, 0, 0) group_box_fishers_exact_test.layout().addWidget( self.combo_box_fishers_exact_test_direction, 0, 1) group_box_fishers_exact_test.layout().setColumnStretch(2, 1) # Mann-Whitney U Test group_box_mann_whitney_u_test = QGroupBox( self.tr('Mann-Whitney U Test'), self) (self.label_mann_whitney_u_test_divide, self.spin_box_mann_whitney_u_test_number_sections, self.label_mann_whitney_u_test_sections ) = wl_widgets.wl_widgets_number_sections(self) (self.label_mann_whitney_u_test_use_data, self.combo_box_mann_whitney_u_test_use_data ) = wl_widgets.wl_widgets_use_data_freq(self) (self.label_mann_whitney_u_test_direction, self.combo_box_mann_whitney_u_test_direction ) = wl_widgets.wl_widgets_direction(self) self.checkbox_mann_whitney_u_test_apply_correction = QCheckBox( self.tr('Apply continuity correction'), self) layout_mann_whitney_u_test_number_sections = wl_layouts.Wl_Layout() layout_mann_whitney_u_test_number_sections.addWidget( self.label_mann_whitney_u_test_divide, 0, 0) layout_mann_whitney_u_test_number_sections.addWidget( self.spin_box_mann_whitney_u_test_number_sections, 0, 1) layout_mann_whitney_u_test_number_sections.addWidget( self.label_mann_whitney_u_test_sections, 0, 2) layout_mann_whitney_u_test_number_sections.setColumnStretch(3, 1) group_box_mann_whitney_u_test.setLayout(wl_layouts.Wl_Layout()) group_box_mann_whitney_u_test.layout().addLayout( layout_mann_whitney_u_test_number_sections, 0, 0, 1, 3) group_box_mann_whitney_u_test.layout().addWidget( self.label_mann_whitney_u_test_use_data, 1, 0) group_box_mann_whitney_u_test.layout().addWidget( self.combo_box_mann_whitney_u_test_use_data, 1, 1) group_box_mann_whitney_u_test.layout().addWidget( self.label_mann_whitney_u_test_direction, 2, 0) group_box_mann_whitney_u_test.layout().addWidget( self.combo_box_mann_whitney_u_test_direction, 2, 1) group_box_mann_whitney_u_test.layout().addWidget( self.checkbox_mann_whitney_u_test_apply_correction, 3, 0, 1, 3) group_box_mann_whitney_u_test.layout().setColumnStretch(3, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_z_score, 0, 0) self.layout().addWidget(group_box_students_t_test_2_sample, 1, 0) self.layout().addWidget(group_box_pearsons_chi_squared_test, 2, 0) self.layout().addWidget(group_box_fishers_exact_test, 3, 0) self.layout().addWidget(group_box_mann_whitney_u_test, 4, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(5, 1)
def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['general'] self.settings_custom = self.main.settings_custom['general'] # Font Settings group_box_font_settings = QGroupBox(self.tr('Font Settings'), self) self.label_font_family = QLabel(self.tr('Font Family:'), self) self.combo_box_font_family = wl_boxes.Wl_Combo_Box_Font_Family(self) self.label_font_size = QLabel(self.tr('Font Size:'), self) self.combo_box_font_size = wl_boxes.Wl_Combo_Box_Font_Size(self) group_box_font_settings.setLayout(QGridLayout()) group_box_font_settings.layout().addWidget(self.label_font_family, 0, 0) group_box_font_settings.layout().addWidget(self.combo_box_font_family, 0, 1) group_box_font_settings.layout().addWidget(self.label_font_size, 1, 0) group_box_font_settings.layout().addWidget(self.combo_box_font_size, 1, 1) group_box_font_settings.layout().setColumnStretch(2, 1) # Proxy Settings group_box_proxy_settings = QGroupBox(self.tr('Proxy Settings'), self) self.checkbox_use_proxy = QCheckBox(self.tr('Use Proxy'), self) self.label_address = QLabel(self.tr('Address:'), self) self.line_edit_address = QLineEdit(self) self.label_port = QLabel(self.tr('Port:'), self) self.line_edit_port = QLineEdit(self) self.label_username = QLabel(self.tr('Username:'******'Password:'******'000.000.000.000') self.line_edit_port.setInputMask('00000') self.line_edit_password.setEchoMode(QLineEdit.Password) self.checkbox_use_proxy.clicked.connect(self.proxy_settings_changed) group_box_proxy_settings.setLayout(wl_layouts.Wl_Layout()) group_box_proxy_settings.layout().addWidget(self.checkbox_use_proxy, 0, 0, 1, 4) group_box_proxy_settings.layout().addWidget(self.label_address, 1, 0) group_box_proxy_settings.layout().addWidget(self.line_edit_address, 1, 1) group_box_proxy_settings.layout().addWidget(self.label_port, 1, 2) group_box_proxy_settings.layout().addWidget(self.line_edit_port, 1, 3) group_box_proxy_settings.layout().addWidget(self.label_username, 2, 0) group_box_proxy_settings.layout().addWidget(self.line_edit_username, 2, 1) group_box_proxy_settings.layout().addWidget(self.label_password, 2, 2) group_box_proxy_settings.layout().addWidget(self.line_edit_password, 2, 3) # Update Settings group_box_update_settings = QGroupBox(self.tr('Update Settings'), self) self.checkbox_check_updates_on_startup = QCheckBox(self.tr('Check for updates on startup'), self) group_box_update_settings.setLayout(wl_layouts.Wl_Layout()) group_box_update_settings.layout().addWidget(self.checkbox_check_updates_on_startup, 0, 0) # Miscellaneous group_box_misc = QGroupBox(self.tr('Miscellaneous'), self) self.checkbox_confirm_on_exit = QCheckBox(self.tr('Always confirm on exit'), self) group_box_misc.setLayout(wl_layouts.Wl_Layout()) group_box_misc.layout().addWidget(self.checkbox_confirm_on_exit, 0, 0) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_font_settings, 0, 0) self.layout().addWidget(group_box_proxy_settings, 1, 0) self.layout().addWidget(group_box_update_settings, 2, 0) self.layout().addWidget(group_box_misc, 3, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(4, 1)
def __init__(self, main): super().__init__(main) self.settings_global = self.main.settings_global['stop_word_lists'] self.settings_default = self.main.settings_default['stop_word_lists'] self.settings_custom = self.main.settings_custom['stop_word_lists'] # Stop Word Lists Settings group_box_stop_word_lists_settings = QGroupBox( self.tr('Stop Word Lists Settings'), self) self.table_stop_word_lists = wl_tables.Wl_Table( self, headers=[self.tr('Language'), self.tr('Stop Word List')], editable=True) self.table_stop_word_lists.verticalHeader().setHidden(True) self.table_stop_word_lists.model().setRowCount( len(self.settings_global)) self.table_stop_word_lists.disable_updates() for i, lang in enumerate(self.settings_global): self.table_stop_word_lists.model().setItem( i, 0, QStandardItem(wl_conversion.to_lang_text(self.main, lang))) self.table_stop_word_lists.model().setItem(i, 1, QStandardItem()) self.table_stop_word_lists.setItemDelegateForRow( i, wl_item_delegates.Wl_Item_Delegate_Combo_Box( parent=self.table_stop_word_lists, items=list( wl_nlp_utils.to_lang_util_texts( self.main, util_type='stop_word_lists', util_codes=self.settings_global[lang])), col=1)) self.table_stop_word_lists.enable_updates() self.table_stop_word_lists.model().dataChanged.connect( self.stop_word_list_changed) group_box_stop_word_lists_settings.setLayout(wl_layouts.Wl_Layout()) group_box_stop_word_lists_settings.layout().addWidget( self.table_stop_word_lists, 0, 0) # Preview group_box_preview = QGroupBox(self.tr('Preview'), self) self.label_stop_word_list_preview_lang = QLabel( self.tr('Select language:'), self) self.combo_box_stop_word_list_preview_lang = wl_boxes.Wl_Combo_Box( self) self.combo_box_stop_word_list_preview_lang.addItems( wl_conversion.to_lang_texts(self.main, self.settings_global)) self.label_stop_word_list_preview_count = QLabel('', self) self.list_stop_word_list_preview_results = wl_lists.Wl_List_Stop_Words( self) self.combo_box_stop_word_list_preview_lang.currentTextChanged.connect( self.preview_settings_changed) self.combo_box_stop_word_list_preview_lang.currentTextChanged.connect( self.preview_results_changed) layout_preview_settings = wl_layouts.Wl_Layout() layout_preview_settings.addWidget( self.label_stop_word_list_preview_lang, 0, 0) layout_preview_settings.addWidget( self.combo_box_stop_word_list_preview_lang, 0, 1) layout_preview_settings.addWidget( self.label_stop_word_list_preview_count, 0, 3) layout_preview_settings.setColumnStretch(2, 1) group_box_preview.setLayout(wl_layouts.Wl_Layout()) group_box_preview.layout().addLayout(layout_preview_settings, 0, 0, 1, 6) group_box_preview.layout().addWidget( self.list_stop_word_list_preview_results, 1, 0, 1, 6) group_box_preview.layout().addWidget( self.list_stop_word_list_preview_results.button_add, 2, 0) group_box_preview.layout().addWidget( self.list_stop_word_list_preview_results.button_ins, 2, 1) group_box_preview.layout().addWidget( self.list_stop_word_list_preview_results.button_del, 2, 2) group_box_preview.layout().addWidget( self.list_stop_word_list_preview_results.button_clr, 2, 3) group_box_preview.layout().addWidget( self.list_stop_word_list_preview_results.button_imp, 2, 4) group_box_preview.layout().addWidget( self.list_stop_word_list_preview_results.button_exp, 2, 5) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_stop_word_lists_settings, 0, 0) self.layout().addWidget(group_box_preview, 1, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(0, 3) self.layout().setRowStretch(1, 2) self.load_settings() self.preview_results_changed()
def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['exp'] self.settings_custom = self.main.settings_custom['exp'] # Tables group_box_exp_tables = QGroupBox(self.tr('Tables'), self) self.label_exp_tables_default_path = QLabel(self.tr('Default Path:'), self) self.line_edit_exp_tables_default_path = QLineEdit(self) self.button_exp_tables_default_path = QPushButton(self.tr('Browse...'), self) self.label_exp_tables_default_type = QLabel(self.tr('Default Type:'), self) self.combo_box_exp_tables_default_type = wl_boxes.Wl_Combo_Box(self) self.label_exp_tables_default_encoding = QLabel(self.tr('Default Encoding:'), self) self.combo_box_exp_tables_default_encoding = wl_boxes.Wl_Combo_Box_Encoding(self.main) self.combo_box_exp_tables_default_type.addItems(self.main.settings_global['file_types']['exp_tables']) self.button_exp_tables_default_path.clicked.connect(self.browse_tables) self.combo_box_exp_tables_default_type.currentTextChanged.connect(self.tables_default_type_changed) group_box_exp_tables.setLayout(wl_layouts.Wl_Layout()) group_box_exp_tables.layout().addWidget(self.label_exp_tables_default_path, 0, 0) group_box_exp_tables.layout().addWidget(self.line_edit_exp_tables_default_path, 0, 1) group_box_exp_tables.layout().addWidget(self.button_exp_tables_default_path, 0, 2) group_box_exp_tables.layout().addWidget(self.label_exp_tables_default_type, 1, 0) group_box_exp_tables.layout().addWidget(self.combo_box_exp_tables_default_type, 1, 1, 1, 2) group_box_exp_tables.layout().addWidget(self.label_exp_tables_default_encoding, 2, 0) group_box_exp_tables.layout().addWidget(self.combo_box_exp_tables_default_encoding, 2, 1, 1 ,2) # Search Terms group_box_exp_search_terms = QGroupBox(self.tr('Search Terms'), self) self.label_exp_search_terms_default_path = QLabel(self.tr('Default Path:'), self) self.line_edit_exp_search_terms_default_path = QLineEdit(self) self.button_exp_search_terms_default_path = QPushButton(self.tr('Browse...'), self) self.label_exp_search_terms_default_encoding = QLabel(self.tr('Default Encoding:'), self) self.combo_box_exp_search_terms_default_encoding = wl_boxes.Wl_Combo_Box_Encoding(self) self.button_exp_search_terms_default_path.clicked.connect(self.browse_search_terms) group_box_exp_search_terms.setLayout(wl_layouts.Wl_Layout()) group_box_exp_search_terms.layout().addWidget(self.label_exp_search_terms_default_path, 0, 0) group_box_exp_search_terms.layout().addWidget(self.line_edit_exp_search_terms_default_path, 0, 1) group_box_exp_search_terms.layout().addWidget(self.button_exp_search_terms_default_path, 0, 2) group_box_exp_search_terms.layout().addWidget(self.label_exp_search_terms_default_encoding, 1, 0) group_box_exp_search_terms.layout().addWidget(self.combo_box_exp_search_terms_default_encoding, 1, 1, 1, 2) # Stop Words group_box_exp_stop_words = QGroupBox(self.tr('Stop Words'), self) self.label_exp_stop_words_default_path = QLabel(self.tr('Default Path:'), self) self.line_edit_exp_stop_words_default_path = QLineEdit(self) self.button_exp_stop_words_default_path = QPushButton(self.tr('Browse...'), self) self.label_exp_stop_words_default_encoding = QLabel(self.tr('Default Encoding:'), self) self.combo_box_exp_stop_words_default_encoding = wl_boxes.Wl_Combo_Box_Encoding(self) self.button_exp_stop_words_default_path.clicked.connect(self.browse_stop_words) group_box_exp_stop_words.setLayout(wl_layouts.Wl_Layout()) group_box_exp_stop_words.layout().addWidget(self.label_exp_stop_words_default_path, 0, 0) group_box_exp_stop_words.layout().addWidget(self.line_edit_exp_stop_words_default_path, 0, 1) group_box_exp_stop_words.layout().addWidget(self.button_exp_stop_words_default_path, 0, 2) group_box_exp_stop_words.layout().addWidget(self.label_exp_stop_words_default_encoding, 1, 0) group_box_exp_stop_words.layout().addWidget(self.combo_box_exp_stop_words_default_encoding, 1, 1, 1, 2) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_exp_tables, 0, 0) self.layout().addWidget(group_box_exp_search_terms, 1, 0) self.layout().addWidget(group_box_exp_stop_words, 2, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(3, 1) self.tables_default_type_changed()
def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['files'] self.settings_custom = self.main.settings_custom['files'] # Default Settings group_box_default_settings = QGroupBox(self.tr('Default Settings'), self) self.label_files_encoding = QLabel(self.tr('Encoding:'), self) self.combo_box_files_encoding = wl_boxes.Wl_Combo_Box_Encoding(self) self.label_files_lang = QLabel(self.tr('Language:'), self) self.combo_box_files_lang = wl_boxes.Wl_Combo_Box_Lang(self) self.label_files_tokenized = QLabel(self.tr('Tokenized:'), self) self.combo_box_files_tokenized = wl_boxes.Wl_Combo_Box_Yes_No(self) self.label_files_tagged = QLabel(self.tr('Tagged:'), self) self.combo_box_files_tagged = wl_boxes.Wl_Combo_Box_Yes_No(self) group_box_default_settings.setLayout(wl_layouts.Wl_Layout()) group_box_default_settings.layout().addWidget( self.label_files_encoding, 0, 0) group_box_default_settings.layout().addWidget( self.combo_box_files_encoding, 0, 1) group_box_default_settings.layout().addWidget(self.label_files_lang, 1, 0) group_box_default_settings.layout().addWidget( self.combo_box_files_lang, 1, 1) group_box_default_settings.layout().addWidget( self.label_files_tokenized, 2, 0) group_box_default_settings.layout().addWidget( self.combo_box_files_tokenized, 2, 1) group_box_default_settings.layout().addWidget(self.label_files_tagged, 3, 0) group_box_default_settings.layout().addWidget( self.combo_box_files_tagged, 3, 1) group_box_default_settings.layout().setColumnStretch(3, 1) # Detection Settings group_box_auto_detection_settings = QGroupBox( self.tr('Auto-detection Settings'), self) self.label_files_number_lines = QLabel( self.tr('Number of lines to scan in each file:'), self) (self.spin_box_files_number_lines, self.checkbox_files_number_lines_no_limit ) = wl_widgets.wl_widgets_no_limit(self) self.spin_box_files_number_lines.setRange(1, 1000000) group_box_auto_detection_settings.setLayout(wl_layouts.Wl_Layout()) group_box_auto_detection_settings.layout().addWidget( self.label_files_number_lines, 0, 0) group_box_auto_detection_settings.layout().addWidget( self.spin_box_files_number_lines, 0, 1) group_box_auto_detection_settings.layout().addWidget( self.checkbox_files_number_lines_no_limit, 0, 2) group_box_auto_detection_settings.layout().setColumnStretch(3, 1) # Miscellaneous group_box_misc = QGroupBox(self.tr('Miscellaneous'), self) self.label_read_files_in_chunks = QLabel( self.tr('Read files in chunks of'), self) self.spin_box_read_files_in_chunks = wl_boxes.Wl_Spin_Box(self) self.label_read_files_in_chunks_lines = QLabel(self.tr('lines'), self) self.spin_box_read_files_in_chunks.setRange(1, 10000) group_box_misc.setLayout(wl_layouts.Wl_Layout()) group_box_misc.layout().addWidget(self.label_read_files_in_chunks, 0, 0) group_box_misc.layout().addWidget(self.spin_box_read_files_in_chunks, 0, 1) group_box_misc.layout().addWidget( self.label_read_files_in_chunks_lines, 0, 2) group_box_auto_detection_settings.layout().setColumnStretch(3, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_default_settings, 0, 0) self.layout().addWidget(group_box_auto_detection_settings, 1, 0) self.layout().addWidget(group_box_misc, 2, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(3, 1)
def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['figs'] self.settings_custom = self.main.settings_custom['figs'] # Line Chart group_box_figs_line_chart = QGroupBox(self.tr('Line Chart'), self) self.label_figs_line_chart_font = QLabel(self.tr('Font:'), self) self.combo_box_figs_line_chart_font = wl_boxes.Wl_Combo_Box_Font_Family( self) group_box_figs_line_chart.setLayout(wl_layouts.Wl_Layout()) group_box_figs_line_chart.layout().addWidget( self.label_figs_line_chart_font, 0, 0) group_box_figs_line_chart.layout().addWidget( self.combo_box_figs_line_chart_font, 0, 1) group_box_figs_line_chart.layout().setColumnStretch(2, 1) # Word Cloud group_box_figs_word_cloud = QGroupBox(self.tr('Word Cloud'), self) self.label_figs_word_cloud_font = QLabel(self.tr('Font:'), self) self.combo_box_figs_word_cloud_font = wl_boxes.Wl_Combo_Box(self) self.label_figs_word_cloud_bg_color = QLabel( self.tr('Background Color:'), self) (self.label_figs_word_cloud_bg_color_pick, self.button_figs_word_cloud_bg_color_pick ) = wl_widgets.wl_widgets_pick_color(self) self.combo_box_figs_word_cloud_font.addItems( ['DroidSansMono', 'Code2000', 'Unifont']) group_box_figs_word_cloud.setLayout(wl_layouts.Wl_Layout()) group_box_figs_word_cloud.layout().addWidget( self.label_figs_word_cloud_font, 0, 0) group_box_figs_word_cloud.layout().addWidget( self.combo_box_figs_word_cloud_font, 0, 1, 1, 2) group_box_figs_word_cloud.layout().addWidget( self.label_figs_word_cloud_bg_color, 1, 0) group_box_figs_word_cloud.layout().addWidget( self.label_figs_word_cloud_bg_color_pick, 1, 1) group_box_figs_word_cloud.layout().addWidget( self.button_figs_word_cloud_bg_color_pick, 1, 2) group_box_figs_word_cloud.layout().setColumnStretch(3, 1) # Network Graph group_box_figs_network_graph = QGroupBox(self.tr('Network Graph'), self) self.label_figs_network_graph_layout = QLabel(self.tr('Layout:'), self) self.combo_box_figs_network_graph_layout = wl_boxes.Wl_Combo_Box(self) self.label_figs_network_graph_node_font = QLabel( self.tr('Node Font:'), self) self.combo_box_figs_network_graph_node_font = wl_boxes.Wl_Combo_Box_Font_Family( self) self.label_figs_network_graph_node_font_size = QLabel( self.tr('Node Font Size:'), self) self.spin_box_figs_network_graph_node_font_size = wl_boxes.Wl_Spin_Box_Font_Size( self) self.label_figs_network_graph_edge_font = QLabel( self.tr('Edge Font:'), self) self.combo_box_figs_network_graph_edge_font = wl_boxes.Wl_Combo_Box_Font_Family( self) self.label_figs_network_graph_edge_font_size = QLabel( self.tr('Edge Font Size:'), self) self.spin_box_figs_network_graph_edge_font_size = wl_boxes.Wl_Spin_Box_Font_Size( self) self.label_figs_network_graph_edge_color = QLabel( self.tr('Edge Color:'), self) (self.label_figs_network_graph_edge_color_pick, self.combo_box_figs_network_graph_color_pick ) = wl_widgets.wl_widgets_pick_color(self) self.combo_box_figs_network_graph_layout.addItems([ self.tr('Circular'), self.tr('Kamada-Kawai'), self.tr('Planar'), self.tr('Random'), self.tr('Shell'), self.tr('Spring'), self.tr('Spectral') ]) group_box_figs_network_graph.setLayout(wl_layouts.Wl_Layout()) group_box_figs_network_graph.layout().addWidget( self.label_figs_network_graph_layout, 0, 0) group_box_figs_network_graph.layout().addWidget( self.combo_box_figs_network_graph_layout, 0, 1, 1, 2) group_box_figs_network_graph.layout().addWidget( self.label_figs_network_graph_node_font, 1, 0) group_box_figs_network_graph.layout().addWidget( self.combo_box_figs_network_graph_node_font, 1, 1, 1, 2) group_box_figs_network_graph.layout().addWidget( self.label_figs_network_graph_node_font_size, 2, 0) group_box_figs_network_graph.layout().addWidget( self.spin_box_figs_network_graph_node_font_size, 2, 1, 1, 2) group_box_figs_network_graph.layout().addWidget( self.label_figs_network_graph_edge_font, 3, 0) group_box_figs_network_graph.layout().addWidget( self.combo_box_figs_network_graph_edge_font, 3, 1, 1, 2) group_box_figs_network_graph.layout().addWidget( self.label_figs_network_graph_edge_font_size, 4, 0) group_box_figs_network_graph.layout().addWidget( self.spin_box_figs_network_graph_edge_font_size, 4, 1, 1, 2) group_box_figs_network_graph.layout().addWidget( self.label_figs_network_graph_edge_color, 5, 0) group_box_figs_network_graph.layout().addWidget( self.label_figs_network_graph_edge_color_pick, 5, 1) group_box_figs_network_graph.layout().addWidget( self.combo_box_figs_network_graph_color_pick, 5, 2) group_box_figs_network_graph.layout().setColumnStretch(3, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_figs_line_chart, 0, 0) self.layout().addWidget(group_box_figs_word_cloud, 1, 0) self.layout().addWidget(group_box_figs_network_graph, 2, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(3, 1)
def __init__(self, main): super().__init__(main) self.settings_default = self.main.settings_default['tags'] self.settings_custom = self.main.settings_custom['tags'] # Header Tag Settings group_box_header_tag_settings = QGroupBox( self.tr('Header Tag Settings'), self) self.table_tags_header = Wl_Table_Tags_Header(self) self.label_tags_header_note = wl_labels.Wl_Label_Important( self. tr('Note: All contents surrounded by header tags will be discarded during text processing!' ), self) self.label_tags_header_wildcard = wl_labels.Wl_Label_Hint( self. tr('* Use asterisk character (*) to indicate any number of characters' ), self) group_box_header_tag_settings.setLayout(wl_layouts.Wl_Layout()) group_box_header_tag_settings.layout().addWidget( self.table_tags_header, 0, 0, 1, 5) group_box_header_tag_settings.layout().addWidget( self.table_tags_header.button_add, 1, 0) group_box_header_tag_settings.layout().addWidget( self.table_tags_header.button_ins, 1, 1) group_box_header_tag_settings.layout().addWidget( self.table_tags_header.button_del, 1, 2) group_box_header_tag_settings.layout().addWidget( self.table_tags_header.button_clr, 1, 3) group_box_header_tag_settings.layout().addWidget( self.table_tags_header.button_reset, 1, 4) group_box_header_tag_settings.layout().addWidget( self.label_tags_header_wildcard, 2, 0, 1, 5) group_box_header_tag_settings.layout().addWidget( self.label_tags_header_note, 3, 0, 1, 5) group_box_header_tag_settings.layout().setRowStretch(3, 1) # Body Tag Settings group_box_body_tag_settings = QGroupBox(self.tr('Body Tag Settings'), self) self.table_tags_body = Wl_Table_Tags_Body(self) self.label_tags_body_wildcard = wl_labels.Wl_Label_Hint( self. tr('* Use asterisk character (*) to indicate any number of characters' ), self) group_box_body_tag_settings.setLayout(wl_layouts.Wl_Layout()) group_box_body_tag_settings.layout().addWidget(self.table_tags_body, 0, 0, 1, 5) group_box_body_tag_settings.layout().addWidget( self.table_tags_body.button_add, 1, 0) group_box_body_tag_settings.layout().addWidget( self.table_tags_body.button_ins, 1, 1) group_box_body_tag_settings.layout().addWidget( self.table_tags_body.button_del, 1, 2) group_box_body_tag_settings.layout().addWidget( self.table_tags_body.button_clr, 1, 3) group_box_body_tag_settings.layout().addWidget( self.table_tags_body.button_reset, 1, 4) group_box_body_tag_settings.layout().addWidget( self.label_tags_body_wildcard, 2, 0, 1, 5) group_box_body_tag_settings.layout().setRowStretch(3, 1) # XML Tag Settings group_box_xml_tag_settings = QGroupBox(self.tr('XML Tag Settings'), self) self.table_tags_xml = Wl_Table_Tags_Xml(self) group_box_xml_tag_settings.setLayout(wl_layouts.Wl_Layout()) group_box_xml_tag_settings.layout().addWidget(self.table_tags_xml, 0, 0, 1, 5) group_box_xml_tag_settings.layout().addWidget( self.table_tags_xml.button_add, 1, 0) group_box_xml_tag_settings.layout().addWidget( self.table_tags_xml.button_ins, 1, 1) group_box_xml_tag_settings.layout().addWidget( self.table_tags_xml.button_del, 1, 2) group_box_xml_tag_settings.layout().addWidget( self.table_tags_xml.button_clr, 1, 3) group_box_xml_tag_settings.layout().addWidget( self.table_tags_xml.button_reset, 1, 4) group_box_xml_tag_settings.layout().setRowStretch(2, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(group_box_header_tag_settings, 0, 0) self.layout().addWidget(group_box_body_tag_settings, 1, 0) self.layout().addWidget(group_box_xml_tag_settings, 2, 0) self.layout().setContentsMargins(6, 4, 6, 4) self.layout().setRowStretch(3, 1)
def __init__(self, main): super().__init__(main) # Avoid circular imports from wl_settings import ( wl_settings_general, wl_settings_files, wl_settings_data, wl_settings_sentence_tokenization, wl_settings_word_tokenization, wl_settings_syl_tokenization, wl_settings_pos_tagging, wl_settings_lemmatization, wl_settings_stop_word_lists, wl_settings_measures, wl_settings_figs ) self.main = main self.setWindowTitle(self.tr('Settings')) self.setFixedSize(1024, 768) self.tree_settings = QTreeView(self) self.tree_settings.setModel(QStandardItemModel()) self.tree_settings.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tree_settings.setHeaderHidden(True) self.tree_settings.header().setSectionResizeMode(QHeaderView.ResizeToContents) self.tree_settings.header().setStretchLastSection(False) self.tree_settings.model().appendRow(QStandardItem(self.tr('General'))) self.tree_settings.model().item(0).appendRow(QStandardItem(self.tr('Import'))) self.tree_settings.model().item(0).appendRow(QStandardItem(self.tr('Export'))) self.tree_settings.model().appendRow(QStandardItem(self.tr('Files'))) self.tree_settings.model().item(1).appendRow(QStandardItem(self.tr('Tags'))) self.tree_settings.model().appendRow(QStandardItem(self.tr('Data'))) self.tree_settings.model().appendRow(QStandardItem(self.tr('Sentence Tokenization'))) self.tree_settings.model().appendRow(QStandardItem(self.tr('Word Tokenization'))) self.tree_settings.model().appendRow(QStandardItem(self.tr('Syllable Tokenization'))) self.tree_settings.model().appendRow(QStandardItem(self.tr('POS Tagging'))) self.tree_settings.model().item(6).appendRow(QStandardItem(self.tr('Tagsets'))) self.tree_settings.model().appendRow(QStandardItem(self.tr('Lemmatization'))) self.tree_settings.model().appendRow(QStandardItem(self.tr('Stop Word Lists'))) self.tree_settings.model().appendRow(QStandardItem(self.tr('Measures'))) self.tree_settings.model().item(9).appendRow(QStandardItem(self.tr('Dispersion'))) self.tree_settings.model().item(9).appendRow(QStandardItem(self.tr('Adjusted Frequency'))) self.tree_settings.model().item(9).appendRow(QStandardItem(self.tr('Statistical Significance'))) self.tree_settings.model().item(9).appendRow(QStandardItem(self.tr('Effect Size'))) self.tree_settings.model().appendRow(QStandardItem(self.tr('Figures'))) # Calculate width for i in range(self.tree_settings.model().rowCount()): self.tree_settings.setExpanded(self.tree_settings.model().item(i, 0).index(), True) self.tree_settings.setFixedWidth(self.tree_settings.columnWidth(0) + 10) for i in range(self.tree_settings.model().rowCount()): self.tree_settings.setExpanded(self.tree_settings.model().item(i, 0).index(), False) self.tree_settings.selectionModel().selectionChanged.connect(self.selection_changed) self.scroll_area_settings = wl_layouts.Wl_Scroll_Area(self) self.stacked_widget_settings = QStackedWidget(self) # General self.settings_general = wl_settings_general.Wl_Settings_General(self.main) self.settings_imp = wl_settings_general.Wl_Settings_Imp(self.main) self.settings_exp = wl_settings_general.Wl_Settings_Exp(self.main) # Files self.settings_files = wl_settings_files.Wl_Settings_Files(self.main) self.settings_tags = wl_settings_files.Wl_Settings_Tags(self.main) self.settings_data = wl_settings_data.Wl_Settings_Data(self.main) self.settings_sentence_tokenization = wl_settings_sentence_tokenization.Wl_Settings_Sentence_Tokenization(self.main) self.settings_word_tokenization = wl_settings_word_tokenization.Wl_Settings_Word_Tokenization(self.main) self.settings_syl_tokenization = wl_settings_syl_tokenization.Wl_Settings_Syl_Tokenization(self.main) # POS Tagging self.settings_pos_tagging = wl_settings_pos_tagging.Wl_Settings_Pos_Tagging(self.main) self.settings_tagsets = wl_settings_pos_tagging.Wl_Settings_Tagsets(self.main) self.settings_lemmatization = wl_settings_lemmatization.Wl_Settings_Lemmatization(self.main) self.settings_stop_words = wl_settings_stop_word_lists.Wl_Settings_Stop_Word_Lists(self.main) # Measures self.settings_dispersion = wl_settings_measures.Wl_Settings_Dispersion(self.main) self.settings_adjusted_freq = wl_settings_measures.Wl_Settings_Adjusted_Freq(self.main) self.settings_statistical_significance = wl_settings_measures.Wl_Settings_Statistical_Significance(self.main) self.settings_effect_size = wl_settings_measures.Wl_Settings_Effect_Size(self.main) self.settings_figs = wl_settings_figs.Wl_Settings_Figs(self.main) self.settings_all = [ self.settings_general, self.settings_imp, self.settings_exp, self.settings_files, self.settings_tags, self.settings_data, self.settings_sentence_tokenization, self.settings_word_tokenization, self.settings_syl_tokenization, self.settings_pos_tagging, self.settings_tagsets, self.settings_lemmatization, self.settings_stop_words, self.settings_dispersion, self.settings_adjusted_freq, self.settings_statistical_significance, self.settings_effect_size, self.settings_figs ] for settings in self.settings_all: self.stacked_widget_settings.addWidget(settings) self.scroll_area_settings.setWidget(self.stacked_widget_settings) button_reset_settings = wl_buttons.Wl_Button(self.tr('Reset all settings'), self) button_save = QPushButton(self.tr('Save'), self) button_apply = QPushButton(self.tr('Apply'), self) button_cancel = QPushButton(self.tr('Cancel'), self) button_reset_settings.setFixedWidth(180) button_reset_settings.clicked.connect(self.reset_all_settings) button_save.clicked.connect(self.save_settings) button_apply.clicked.connect(self.apply_settings) button_cancel.clicked.connect(self.reject) layout_buttons = wl_layouts.Wl_Layout() layout_buttons.addWidget(button_reset_settings, 0, 0) layout_buttons.addWidget(button_save, 0, 2) layout_buttons.addWidget(button_apply, 0, 3) layout_buttons.addWidget(button_cancel, 0, 4) layout_buttons.setColumnStretch(1, 1) self.setLayout(wl_layouts.Wl_Layout()) self.layout().addWidget(self.tree_settings, 0, 0) self.layout().addWidget(self.scroll_area_settings, 0, 1) self.layout().addLayout(layout_buttons, 1, 0, 1, 2) self.tree_settings.node_selected_old = self.tree_settings.model().item(0)
def __init__(self, main): super().__init__(main) self.table_concordancer_parallel_upper = Wl_Table_Concordancer_Parallel_Upper( self) self.table_concordancer_parallel_lower = Wl_Table_Concordancer_Parallel_Lower( self) self.table_concordancer_parallel_upper.add_tables( [self.table_concordancer_parallel_lower]) self.table_concordancer_parallel_upper.verticalScrollBar( ).valueChanged.connect(self.table_concordancer_parallel_lower. verticalScrollBar().setValue) self.table_concordancer_parallel_lower.verticalScrollBar( ).valueChanged.connect(self.table_concordancer_parallel_upper. verticalScrollBar().setValue) self.table_concordancer_parallel_lower.add_linked_table( self.table_concordancer_parallel_upper) layout_results = wl_layouts.Wl_Layout() layout_results.addWidget( self.table_concordancer_parallel_upper.label_number_results, 0, 0) layout_results.addWidget( self.table_concordancer_parallel_upper.button_results_sort, 0, 3) layout_results.addWidget( self.table_concordancer_parallel_upper.button_results_search, 0, 4) layout_results.setColumnStretch(1, 1) self.wrapper_table.layout().addLayout(layout_results, 0, 0, 1, 5) self.wrapper_table.layout().addWidget( self.table_concordancer_parallel_upper, 1, 0, 1, 5) self.wrapper_table.layout().addWidget( self.table_concordancer_parallel_lower, 2, 0, 1, 5) self.wrapper_table.layout().addWidget( self.table_concordancer_parallel_lower.button_generate_table, 3, 0) self.wrapper_table.layout().addWidget( self.table_concordancer_parallel_lower.button_generate_fig, 3, 1) self.wrapper_table.layout().addWidget( self.table_concordancer_parallel_lower.button_exp_selected, 3, 2) self.wrapper_table.layout().addWidget( self.table_concordancer_parallel_lower.button_exp_all, 3, 3) self.wrapper_table.layout().addWidget( self.table_concordancer_parallel_lower.button_clr, 3, 4) # Token Settings self.group_box_token_settings = QGroupBox(self.tr('Token Settings'), self) (self.checkbox_puncs, self.token_checkbox_ignore_tags, self.checkbox_use_tags ) = wl_widgets.wl_widgets_token_settings_concordancer(self) self.checkbox_puncs.stateChanged.connect(self.token_settings_changed) self.token_checkbox_ignore_tags.stateChanged.connect( self.token_settings_changed) self.checkbox_use_tags.stateChanged.connect( self.token_settings_changed) self.group_box_token_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_token_settings.layout().addWidget( self.checkbox_puncs, 0, 0, 1, 2) self.group_box_token_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 1, 0, 1, 2) self.group_box_token_settings.layout().addWidget( self.token_checkbox_ignore_tags, 2, 0) self.group_box_token_settings.layout().addWidget( self.checkbox_use_tags, 2, 1) # Search Settings self.group_box_search_settings = QGroupBox(self.tr('Search Settings'), self) (self.label_search_term, self.checkbox_multi_search_mode, self.stacked_widget_search_term, self.line_edit_search_term, self.list_search_terms, self.label_separator, self.checkbox_ignore_case, self.checkbox_match_inflected_forms, self.checkbox_match_whole_words, self.checkbox_use_regex, self.search_checkbox_ignore_tags, self.checkbox_match_tags) = wl_widgets.wl_widgets_search_settings( self, tab='concordancer_parallel') (self.label_context_settings, self.button_context_settings ) = wl_widgets.wl_widgets_context_settings( self, tab='concordancer_parallel') self.checkbox_multi_search_mode.stateChanged.connect( self.search_settings_changed) self.line_edit_search_term.textChanged.connect( self.search_settings_changed) self.line_edit_search_term.returnPressed.connect( self.table_concordancer_parallel_lower.button_generate_table.click) self.list_search_terms.model().dataChanged.connect( self.search_settings_changed) self.checkbox_ignore_case.stateChanged.connect( self.search_settings_changed) self.checkbox_match_inflected_forms.stateChanged.connect( self.search_settings_changed) self.checkbox_match_whole_words.stateChanged.connect( self.search_settings_changed) self.checkbox_use_regex.stateChanged.connect( self.search_settings_changed) self.search_checkbox_ignore_tags.stateChanged.connect( self.search_settings_changed) self.checkbox_match_tags.stateChanged.connect( self.search_settings_changed) layout_context_settings = wl_layouts.Wl_Layout() layout_context_settings.addWidget(self.label_context_settings, 0, 0) layout_context_settings.addWidget(self.button_context_settings, 0, 1) layout_context_settings.setColumnStretch(1, 1) self.group_box_search_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_search_settings.layout().addWidget( self.label_search_term, 0, 0) self.group_box_search_settings.layout().addWidget( self.checkbox_multi_search_mode, 0, 1, Qt.AlignRight) self.group_box_search_settings.layout().addWidget( self.stacked_widget_search_term, 1, 0, 1, 2) self.group_box_search_settings.layout().addWidget( self.label_separator, 2, 0, 1, 2) self.group_box_search_settings.layout().addWidget( self.checkbox_ignore_case, 3, 0, 1, 2) self.group_box_search_settings.layout().addWidget( self.checkbox_match_inflected_forms, 4, 0, 1, 2) self.group_box_search_settings.layout().addWidget( self.checkbox_match_whole_words, 5, 0, 1, 2) self.group_box_search_settings.layout().addWidget( self.checkbox_use_regex, 6, 0, 1, 2) self.group_box_search_settings.layout().addWidget( self.search_checkbox_ignore_tags, 7, 0, 1, 2) self.group_box_search_settings.layout().addWidget( self.checkbox_match_tags, 8, 0, 1, 2) self.group_box_search_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 9, 0, 1, 2) self.group_box_search_settings.layout().addLayout( layout_context_settings, 10, 0, 1, 2) # Generation Settings self.group_box_generation_settings = QGroupBox( self.tr('Generation Settings'), self) self.label_src_file = QLabel(self.tr('Source File:'), self) self.combo_box_src_file = Wl_Combo_Box_File_Concordancer(self) self.label_tgt_file = QLabel(self.tr('Target File:'), self) self.combo_box_tgt_file = Wl_Combo_Box_File_Concordancer(self) self.combo_box_src_file.currentTextChanged.connect( self.generation_settings_changed) self.combo_box_tgt_file.currentTextChanged.connect( self.generation_settings_changed) self.label_sampling_method = QLabel(self.tr('Sampling Method:'), self) self.combo_box_sampling_method = wl_boxes.Wl_Combo_Box(self) self.stacked_widget_sample_size_text = wl_layouts.Wl_Stacked_Widget( self) self.label_sample_size_first_n_lines = QLabel(self.tr('Sample Size:'), self) self.label_sample_size_systematic_fixed_interval = QLabel( self.tr('Sampling Interval:'), self) self.label_sample_size_systematic_fixed_size = QLabel( self.tr('Sample Size:'), self) self.label_sample_size_random = QLabel(self.tr('Sample Size:'), self) self.stacked_widget_sample_size_val = wl_layouts.Wl_Stacked_Widget( self) self.spin_box_sample_size_first_n_lines = wl_boxes.Wl_Spin_Box(self) self.spin_box_sample_size_systematic_fixed_interval = wl_boxes.Wl_Spin_Box( self) self.spin_box_sample_size_systematic_fixed_size = wl_boxes.Wl_Spin_Box( self) self.spin_box_sample_size_random = wl_boxes.Wl_Spin_Box(self) self.stacked_widget_sample_size_text.addWidget( self.label_sample_size_first_n_lines) self.stacked_widget_sample_size_text.addWidget( self.label_sample_size_systematic_fixed_interval) self.stacked_widget_sample_size_text.addWidget( self.label_sample_size_systematic_fixed_size) self.stacked_widget_sample_size_text.addWidget( self.label_sample_size_random) self.stacked_widget_sample_size_val.addWidget( self.spin_box_sample_size_first_n_lines) self.stacked_widget_sample_size_val.addWidget( self.spin_box_sample_size_systematic_fixed_interval) self.stacked_widget_sample_size_val.addWidget( self.spin_box_sample_size_systematic_fixed_size) self.stacked_widget_sample_size_val.addWidget( self.spin_box_sample_size_random) self.combo_box_sampling_method.addItems([ self.tr('None'), self.tr('First n Lines'), self.tr('Systematic (Fixed Interval)'), self.tr('Systematic (Fixed Size)'), self.tr('Random') ]) self.spin_box_sample_size_first_n_lines.setRange(1, 1000000) self.spin_box_sample_size_systematic_fixed_interval.setRange(2, 10000) self.spin_box_sample_size_systematic_fixed_size.setRange(1, 10000) self.spin_box_sample_size_random.setRange(1, 1000000) self.combo_box_sampling_method.currentTextChanged.connect( self.generation_settings_changed) self.spin_box_sample_size_first_n_lines.valueChanged.connect( self.generation_settings_changed) self.spin_box_sample_size_systematic_fixed_interval.valueChanged.connect( self.generation_settings_changed) self.spin_box_sample_size_systematic_fixed_size.valueChanged.connect( self.generation_settings_changed) self.spin_box_sample_size_random.valueChanged.connect( self.generation_settings_changed) self.group_box_generation_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_generation_settings.layout().addWidget( self.label_src_file, 0, 0, 1, 2) self.group_box_generation_settings.layout().addWidget( self.combo_box_src_file, 1, 0, 1, 2) self.group_box_generation_settings.layout().addWidget( self.label_tgt_file, 2, 0, 1, 2) self.group_box_generation_settings.layout().addWidget( self.combo_box_tgt_file, 3, 0, 1, 2) self.group_box_generation_settings.layout().addWidget( wl_layouts.Wl_Separator(self), 4, 0, 1, 2) self.group_box_generation_settings.layout().addWidget( self.label_sampling_method, 5, 0) self.group_box_generation_settings.layout().addWidget( self.combo_box_sampling_method, 5, 1) self.group_box_generation_settings.layout().addWidget( self.stacked_widget_sample_size_text, 6, 0) self.group_box_generation_settings.layout().addWidget( self.stacked_widget_sample_size_val, 6, 1) self.group_box_generation_settings.layout().setColumnStretch(1, 1) # Table Settings self.group_box_table_settings = QGroupBox(self.tr('Table Settings'), self) (self.checkbox_show_pct, self.checkbox_show_cumulative, self.checkbox_show_breakdown) = wl_widgets.wl_widgets_table_settings( self, tables=[ self.table_concordancer_parallel_upper, self.table_concordancer_parallel_lower ]) self.checkbox_show_cumulative.hide() self.checkbox_show_breakdown.hide() self.checkbox_show_pct.stateChanged.connect( self.table_settings_changed) self.group_box_table_settings.setLayout(wl_layouts.Wl_Layout()) self.group_box_table_settings.layout().addWidget( self.checkbox_show_pct, 0, 0) self.wrapper_settings.layout().addWidget(self.group_box_token_settings, 0, 0) self.wrapper_settings.layout().addWidget( self.group_box_search_settings, 1, 0) self.wrapper_settings.layout().addWidget( self.group_box_generation_settings, 2, 0) self.wrapper_settings.layout().addWidget(self.group_box_table_settings, 3, 0) self.wrapper_settings.layout().setRowStretch(4, 1) self.load_settings()