예제 #1
0
    def __init__(self):
        super().__init__()
        self.corpus = None
        self.nyt_api = None
        self.output_info = ''
        self.num_retrieved = 0
        self.num_all = 0

        # API key
        self.api_dlg = self.APICredentialsDialog(self)
        self.api_dlg.accept(silent=True)
        gui.button(self.controlArea,
                   self,
                   'Article API Key',
                   callback=self.api_dlg.exec_,
                   focusPolicy=Qt.NoFocus)

        # Query
        query_box = gui.widgetBox(self.controlArea, 'Query', addSpace=True)
        self.query_box = QueryBox(query_box,
                                  self,
                                  self.recent_queries,
                                  callback=self.new_query_input)

        # Year box
        date_box = gui.hBox(query_box)
        DatePickerInterval(date_box,
                           self,
                           'date_from',
                           'date_to',
                           min_date=MIN_DATE,
                           max_date=date.today(),
                           margin=(0, 3, 0, 0))

        # Text includes features
        self.controlArea.layout().addWidget(
            CheckListLayout('Text includes',
                            self,
                            'text_includes',
                            self.attributes,
                            cols=2,
                            callback=self.set_text_features))

        # Output
        info_box = gui.hBox(self.controlArea, 'Output')
        gui.label(info_box, self, 'Articles: %(output_info)s')

        # Buttons
        self.button_box = gui.hBox(self.controlArea)
        self.button_box.layout().addWidget(self.report_button)

        self.search_button = gui.button(self.button_box,
                                        self,
                                        'Search',
                                        self.start_stop,
                                        focusPolicy=Qt.NoFocus)
예제 #2
0
    def __init__(self):
        super().__init__()
        self.corpus = None
        self.nyt_api = None
        self.output_info = ''
        self.num_retrieved = 0
        self.num_all = 0

        # API key
        self.api_dlg = self.APICredentialsDialog(self)
        self.api_dlg.accept(silent=True)
        gui.button(self.controlArea, self, 'Article API Key', callback=self.api_dlg.exec_,
                   focusPolicy=Qt.NoFocus)

        # Query
        query_box = gui.widgetBox(self.controlArea, 'Query', addSpace=True)
        self.query_box = QueryBox(query_box, self, self.recent_queries,
                                  callback=self.new_query_input)

        # Year box
        date_box = gui.hBox(query_box)
        DatePickerInterval(date_box, self, 'date_from', 'date_to',
                           min_date=MIN_DATE, max_date=date.today(),
                           margin=(0, 3, 0, 0))

        # Text includes features
        self.controlArea.layout().addWidget(
            CheckListLayout('Text includes', self, 'text_includes', self.attributes,
                            cols=2, callback=self.set_text_features))

        # Output
        info_box = gui.hBox(self.controlArea, 'Output')
        gui.label(info_box, self, 'Articles: %(output_info)s')

        # Buttons
        self.button_box = gui.hBox(self.controlArea)
        self.button_box.layout().addWidget(self.report_button)

        self.search_button = gui.button(self.button_box, self, 'Search', self.start_stop,
                                        focusPolicy=Qt.NoFocus)
예제 #3
0
    def __init__(self):
        super().__init__()
        self.data = None
        self.available_tests = [TTest(), ZTest(), FisherTest(), Anova()]
        self.active_tests = []

        self.available_columns = itemmodels.VariableListModel(parent=self)

        self.available_corrections = [
            None, BonferroniCorrection(), SidakCorrection()]

        vlayout = QHBoxLayout()
        # Data selection
        gui.widgetBox(
            self.controlArea, self.tr('Chose data to test'),
            orientation=vlayout, spacing=16
        )
        self.varview = QListView(selectionMode=QListView.MultiSelection)
        self.varview.setModel(self.available_columns)
        self.varview.selectionModel().selectionChanged.connect(
            self.update_column_selection
        )
        vlayout.addWidget(self.varview)

        # Test selection
        self.tests = itemmodels.VariableListModel(parent=self)
        self.testview = QListView(selectionMode=QListView.SingleSelection)
        self.testview.setModel(self.tests)
        self.testview.selectionModel().selectionChanged.connect(
            self.test_selected
        )
        vlayout.addWidget(self.testview)

        # Correction selection
        self.corrections = itemmodels.VariableListModel(parent=self)
        self.corrections[:] = \
            [str(None), BonferroniCorrection().name, SidakCorrection().name]
        self.cor_varview = QListView(selectionMode=QListView.SingleSelection)
        self.cor_varview.setModel(self.corrections)
        self.cor_varview.selectionModel().selectionChanged.connect(
            self.set_correction
        )
        vlayout.addWidget(self.cor_varview)

        self.n_of_tests = 1

        self.n_of_tests_input = gui.lineEdit(
            self.controlArea, self,
            'n_of_tests',
            label='<p align="right">Number of tests</p>',
            callbackOnType=True,
            controlWidth=150,
            orientation=Qt.Horizontal,
            callback=self.number_of_tests_changed,
        )

        self.chosen_correction = None

        pval_box = gui.vBox(self.controlArea)
        self.pval_infolabel = gui.widgetLabel(
            pval_box,
            '<p align="left"><b>p-value: </b></p>',
        )