def __init__(self, main):
        super().__init__(main)

        # Table
        self.table_keywords = Wordless_Table_Keywords(self)

        layout_results = wordless_layout.Wordless_Layout()
        layout_results.addWidget(self.table_keywords.label_number_results, 0,
                                 0)
        layout_results.addWidget(self.table_keywords.button_filter_results, 0,
                                 2)
        layout_results.addWidget(self.table_keywords.button_search_results, 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_keywords, 1, 0, 1, 5)
        self.wrapper_table.layout().addWidget(
            self.table_keywords.button_generate_table, 2, 0)
        self.wrapper_table.layout().addWidget(
            self.table_keywords.button_generate_fig, 2, 1)
        self.wrapper_table.layout().addWidget(
            self.table_keywords.button_export_selected, 2, 2)
        self.wrapper_table.layout().addWidget(
            self.table_keywords.button_export_all, 2, 3)
        self.wrapper_table.layout().addWidget(self.table_keywords.button_clear,
                                              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.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.label_ref_file = QLabel(self.tr('Reference File:'), self)
        self.combo_box_ref_file = wordless_box.Wordless_Combo_Box_Ref_File(
            self)
        (self.label_test_significance, self.combo_box_test_significance
         ) = wordless_widgets.wordless_widgets_test_significance(self)
        (self.label_measure_effect_size, self.combo_box_measure_effect_size
         ) = wordless_widgets.wordless_widgets_measure_effect_size(self)

        (self.label_settings_measures, self.button_settings_measures
         ) = wordless_widgets.wordless_widgets_settings_measures(
             self, tab=self.tr('Statistical Significance'))

        self.combo_box_test_significance.addItems(
            list(self.main.settings_global['tests_significance']
                 ['keywords'].keys()))
        self.combo_box_measure_effect_size.addItems(
            list(self.main.settings_global['measures_effect_size']
                 ['keywords'].keys()))

        self.combo_box_ref_file.currentTextChanged.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_settings_measures = wordless_layout.Wordless_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(
            wordless_layout.Wordless_Layout())
        self.group_box_generation_settings.layout().addWidget(
            self.label_ref_file, 0, 0)
        self.group_box_generation_settings.layout().addWidget(
            self.combo_box_ref_file, 1, 0)
        self.group_box_generation_settings.layout().addWidget(
            self.label_test_significance, 3, 0)
        self.group_box_generation_settings.layout().addWidget(
            self.combo_box_test_significance, 4, 0)
        self.group_box_generation_settings.layout().addWidget(
            self.label_measure_effect_size, 5, 0)
        self.group_box_generation_settings.layout().addWidget(
            self.combo_box_measure_effect_size, 6, 0)

        self.group_box_generation_settings.layout().addWidget(
            wordless_layout.Wordless_Separator(self), 7, 0)

        self.group_box_generation_settings.layout().addLayout(
            layout_settings_measures, 8, 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
         ) = wordless_widgets.wordless_widgets_table_settings(
             self, table=self.table_keywords)

        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)

        # Figure Settings
        self.group_box_fig_settings = QGroupBox(self.tr('Figure Settings'),
                                                self)

        (self.label_graph_type, self.combo_box_graph_type, self.label_use_file,
         self.combo_box_use_file, self.label_use_data, self.combo_box_use_data,
         self.checkbox_use_pct, self.checkbox_use_cumulative
         ) = wordless_widgets.wordless_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
         ) = wordless_widgets.wordless_widgets_filter(self,
                                                      filter_min=1,
                                                      filter_max=100000)

        self.combo_box_graph_type.currentTextChanged.connect(
            self.fig_settings_changed)
        self.combo_box_use_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 = wordless_layout.Wordless_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_use_file, 1, 0)
        layout_fig_settings_combo_boxes.addWidget(self.combo_box_use_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(
            wordless_layout.Wordless_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(
            wordless_layout.Wordless_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):
        super().__init__(main)

        # Table
        self.table_wordlist = Wordless_Table_Wordlist(self)

        layout_results = wordless_layout.Wordless_Layout()
        layout_results.addWidget(self.table_wordlist.label_number_results, 0,
                                 0)
        layout_results.addWidget(self.table_wordlist.button_results_filter, 0,
                                 2)
        layout_results.addWidget(self.table_wordlist.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, 1, 0, 1, 5)
        self.wrapper_table.layout().addWidget(
            self.table_wordlist.button_generate_table, 2, 0)
        self.wrapper_table.layout().addWidget(
            self.table_wordlist.button_generate_fig, 2, 1)
        self.wrapper_table.layout().addWidget(
            self.table_wordlist.button_export_selected, 2, 2)
        self.wrapper_table.layout().addWidget(
            self.table_wordlist.button_export_all, 2, 3)
        self.wrapper_table.layout().addWidget(self.table_wordlist.button_clear,
                                              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.stacked_widget_ignore_tags,
         self.checkbox_ignore_tags, self.checkbox_ignore_tags_tags,
         self.stacked_widget_ignore_tags_tags, 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_tags, 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.label_measure_dispersion, self.combo_box_measure_dispersion
         ) = wordless_widgets.wordless_widgets_measure_dispersion(self)
        (self.label_measure_adjusted_freq, self.combo_box_measure_adjusted_freq
         ) = wordless_widgets.wordless_widgets_measure_adjusted_freq(self)

        (self.label_settings_measures, self.button_settings_measures
         ) = wordless_widgets.wordless_widgets_settings_measures(
             self, tab=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 = wordless_layout.Wordless_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(
            wordless_layout.Wordless_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(
            wordless_layout.Wordless_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
         ) = wordless_widgets.wordless_widgets_table_settings(
             self, table=self.table_wordlist)

        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)

        # Figure Settings
        self.group_box_fig_settings = QGroupBox(self.tr('Figure Settings'),
                                                self)

        (self.label_graph_type, self.combo_box_graph_type, self.label_use_file,
         self.combo_box_use_file, self.label_use_data, self.combo_box_use_data,
         self.checkbox_use_pct, self.checkbox_use_cumulative
         ) = wordless_widgets.wordless_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
         ) = wordless_widgets.wordless_widgets_filter(self,
                                                      filter_min=1,
                                                      filter_max=100000)

        self.combo_box_graph_type.currentTextChanged.connect(
            self.fig_settings_changed)
        self.combo_box_use_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 = wordless_layout.Wordless_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_use_file, 1, 0)
        layout_fig_settings_combo_boxes.addWidget(self.combo_box_use_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(
            wordless_layout.Wordless_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(
            wordless_layout.Wordless_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()
Example #3
0
    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()