def preview_lang_changed(self): self.settings_custom['preview_lang'] = wl_conversion.to_lang_code( self.main, self.combo_box_tagsets_lang.currentText()) preview_lang = self.settings_custom['preview_lang'] self.combo_box_tagsets_pos_tagger.blockSignals(True) self.combo_box_tagsets_pos_tagger.clear() self.combo_box_tagsets_pos_tagger.addItems( wl_nlp_utils.to_lang_util_texts( self.main, util_type='pos_taggers', util_codes=self.settings_global[preview_lang])) self.combo_box_tagsets_pos_tagger.setCurrentText( wl_nlp_utils.to_lang_util_text( self.main, util_type='pos_taggers', util_code=self.settings_custom['preview_pos_tagger'] [preview_lang])) self.combo_box_tagsets_pos_tagger.blockSignals(False) self.combo_box_tagsets_pos_tagger.currentTextChanged.emit('')
def test_to_lang_util_texts(): for util_type in settings_lang_utils: TO_LANG_UTIL_TEXT = { util_code: util_text for util_text, util_code in settings_lang_utils[util_type].items() } util_texts = wl_nlp_utils.to_lang_util_texts( main, util_type, settings_lang_utils[util_type].values()) assert list(util_texts) == list(TO_LANG_UTIL_TEXT.values())
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['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()