def wordless_widgets_size(parent, size_min=1, size_max=100): def size_sync_changed(): if checkbox_size_sync.isChecked(): spin_box_size_min.setValue(spin_box_size_max.value()) def size_min_changed(): if checkbox_size_sync.isChecked( ) or spin_box_size_min.value() > spin_box_size_max.value(): spin_box_size_max.setValue(spin_box_size_min.value()) def size_max_changed(): if checkbox_size_sync.isChecked( ) or spin_box_size_min.value() > spin_box_size_max.value(): spin_box_size_min.setValue(spin_box_size_max.value()) checkbox_size_sync = QCheckBox(parent.tr('Sync'), parent) label_size_min = QLabel(parent.tr('From'), parent) spin_box_size_min = wordless_box.Wordless_Spin_Box(parent) label_size_max = QLabel(parent.tr('To'), parent) spin_box_size_max = wordless_box.Wordless_Spin_Box(parent) spin_box_size_min.setRange(size_min, size_max) spin_box_size_max.setRange(size_min, size_max) checkbox_size_sync.stateChanged.connect(size_sync_changed) spin_box_size_min.valueChanged.connect(size_min_changed) spin_box_size_max.valueChanged.connect(size_max_changed) size_sync_changed() size_min_changed() size_max_changed() return checkbox_size_sync, label_size_min, spin_box_size_min, label_size_max, spin_box_size_max
def wordless_widgets_number_sections(parent): label_divide = QLabel(parent.tr('Divide each text into'), parent) spin_box_number_sections = wordless_box.Wordless_Spin_Box(parent) label_sections = QLabel(parent.tr('sections'), parent) spin_box_number_sections.setRange(2, 1000) return label_divide, spin_box_number_sections, label_sections
def wordless_widgets_no_limit(parent, double=False): def no_limit_changed(): if checkbox_no_limit.isChecked(): spin_box_no_limit.setEnabled(False) else: spin_box_no_limit.setEnabled(True) if double: spin_box_no_limit = wordless_box.Wordless_Double_Spin_Box(parent) else: spin_box_no_limit = wordless_box.Wordless_Spin_Box(parent) checkbox_no_limit = QCheckBox(parent.tr('No Limit'), parent) checkbox_no_limit.stateChanged.connect(no_limit_changed) no_limit_changed() return spin_box_no_limit, checkbox_no_limit
def __init__(self, main): super().__init__(main) # Table self.table_overview = Wordless_Table_Overview(self) self.wrapper_table.layout().addWidget(self.table_overview, 0, 0, 1, 4) self.wrapper_table.layout().addWidget( self.table_overview.button_generate_table, 1, 0) self.wrapper_table.layout().addWidget( self.table_overview.button_export_selected, 1, 1) self.wrapper_table.layout().addWidget( self.table_overview.button_export_all, 1, 2) self.wrapper_table.layout().addWidget(self.table_overview.button_clear, 1, 3) # 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.stacked_widget_ignore_tags, self.checkbox_ignore_tags, self.checkbox_ignore_tags_tags, self.stacked_widget_ignore_tags_type, self.combo_box_ignore_tags, self.combo_box_ignore_tags_tags, self.label_ignore_tags, self.checkbox_use_tags ) = wordless_widgets.wordless_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_ignore_tags_tags.stateChanged.connect( self.token_settings_changed) self.combo_box_ignore_tags.currentTextChanged.connect( self.token_settings_changed) self.combo_box_ignore_tags_tags.currentTextChanged.connect( self.token_settings_changed) self.checkbox_use_tags.stateChanged.connect( self.token_settings_changed) layout_ignore_tags = wordless_layout.Wordless_Layout() layout_ignore_tags.addWidget(self.stacked_widget_ignore_tags, 0, 0) layout_ignore_tags.addWidget(self.stacked_widget_ignore_tags_type, 0, 1) layout_ignore_tags.addWidget(self.label_ignore_tags, 0, 2) layout_ignore_tags.setColumnStretch(3, 1) self.group_box_token_settings.setLayout( wordless_layout.Wordless_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( wordless_layout.Wordless_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( wordless_layout.Wordless_Separator(self), 7, 0, 1, 2) self.group_box_token_settings.layout().addLayout( layout_ignore_tags, 8, 0, 1, 2) self.group_box_token_settings.layout().addWidget( self.checkbox_use_tags, 9, 0, 1, 2) # Generation Settings self.group_box_generation_settings = QGroupBox( self.tr('Generation Settings'), self) self.label_base_sttr = QLabel( self.tr('Base of standardized type-token ratio:'), self) self.spin_box_base_sttr = wordless_box.Wordless_Spin_Box(self) self.spin_box_base_sttr.setRange(100, 10000) self.spin_box_base_sttr.valueChanged.connect( self.generation_settings_changed) self.group_box_generation_settings.setLayout( wordless_layout.Wordless_Layout()) self.group_box_generation_settings.layout().addWidget( self.label_base_sttr, 0, 0) self.group_box_generation_settings.layout().addWidget( self.spin_box_base_sttr, 1, 0) # 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 ) = wordless_widgets.wordless_widgets_table_settings( self, table=self.table_overview) 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( wordless_layout.Wordless_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) 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().setRowStretch(3, 1) self.load_settings()