Exemplo n.º 1
0
def main():
    os.chdir(os.path.dirname(sys.argv[0]))

    app = QApplication(sys.argv)
    QApplication.setQuitOnLastWindowClosed(False)

    settings = Settings('facelock')

    aboutDialog = AboutDialog()
    settingsDialog = SettingsDialog(settings)

    ConfigurationChecker(settingsDialog).fixConfiguration()

    cameraProbe = CameraProbe()

    faceRecognitionBuilder=FaceRecognitionBuilder()\
      .withSettings(settings)\
      .withCameraProperties(cameraProbe.getFps(),
                            cameraProbe.getWidth(),
                            cameraProbe.getHeight())


    trayIconGUI = SystemTrayGUIBuilder().\
      withSettings(settings).\
      withAboutDialog(aboutDialog).\
      withSettingsDialog(settingsDialog).\
      withFaceRecognitionBuilder(faceRecognitionBuilder).\
      build()

    trayIconGUI.show()
    app.exec_()
Exemplo n.º 2
0
    def __handle_button(self, identifier):

        dialog = None

        # FIXME: ignore identifiers that will not be handled

        if identifier == 'action_create_environment':
            self.__ascii_to_fds()
            return

        elif identifier == 'action_import_environment':
            self.__import_environment()
            return

        elif identifier == 'action_import_fuel_map':
            self.__import_fuel_map()
            return

        elif identifier == 'action_import_dem':
            self.__import_dem()
            return

        elif identifier == 'action_export_fuel_map':
            self.__export_fuel_map()

        elif identifier == 'action_export_dem':
            self.__export_dem()
            return

        elif identifier == 'action_run_sim':
            self.__run_simulation()

        elif identifier == 'action_view_sim':

            # We do not care about return value of QMessageBox
            self.__view_simulation()
            return

        elif identifier == 'action_user_setting':
            dialog = UserSettingsForm()

        elif identifier == 'action_select_output_files':
            dialog = SelectOutputFileTypesForm()
            self._output_file_types = dialog.get_file_types()
            return  # Dialog will run itself, so we can return.

        elif identifier == 'action_about':
            dialog = AboutDialog()

        else:
            print('UNRECOGNIZED IDENTIFIER:', identifier)
            return

        if dialog is not None:
            dialog.setAttribute(QtCore.Qt.WA_DeleteOnClose
                                )  # Ensure resources are freed when dlg closes
            dialog.exec_()  # Executes dialog
Exemplo n.º 3
0
    def __init__(self, client, tray):
        xml = gtk.glade.XML(Paths.glade, 'popup')
        Signals.autoconnect(self, xml)

        self.__about = AboutDialog(client)
        self.__client = client
        self.__master = xml.get_widget('menu-master')
        self.__notifier = MasterNotifier(self.__client,
                                         self.__master.set_active)
        self.__tray = tray
        self.__widget = xml.get_widget('popup')
Exemplo n.º 4
0
    def __init__(self, parent = None):
    
        QMainWindow.__init__(self, parent)
        self.setupUi(self)
        
        self.console = QDialog()
        self.te = QTextEdit(self.console)
        self.te.setReadOnly(True)
        vl = QVBoxLayout()
        vl.addWidget(self.te)
        self.console.setLayout(vl)
        
        # Set status Offline
        self.statusBox.setCurrentIndex(5)
        self.statusEdit.hide()

        # Set connect
        self.connect(self.statusBox, SIGNAL("currentIndexChanged(int)"), self.changeStatus)
        self.connect(self.statusEdit, SIGNAL("returnPressed()"), self.changeStatus)

        # Set BuddyList
        self.BuddyList = BuddyList(self)
        self.vboxlayout.insertWidget(0, self.BuddyList)
        self.connect(self.BuddyList, SIGNAL("rename"), self.addBuddy)

        # Connection
        connection = ConnectionDialog(self)
        self.connect(self.actionConnection, SIGNAL("triggered()"), connection, SLOT("exec()"))
        self.connect(self.actionDeconnection, SIGNAL("triggered()"), self.disconnect)
        self.connect(connection, SIGNAL("configured()"), self.connection)

        # Contacts
        self.connect(self.actionAdd_a_buddy, SIGNAL("triggered()"), self.addBuddy)
        self.connect(self.actionAdd_a_group, SIGNAL("triggered()"), self.addGroup)

        # View
        self.connect(self.actionAway_buddies, SIGNAL("toogled()"), self.setAway)
        self.connect(self.actionOffline_buddies, SIGNAL("toogled()"), self.setOffline)
        self.connect(self.actionAway_buddies, SIGNAL("triggered()"), self.setAway)
        self.connect(self.actionOffline_buddies, SIGNAL("triggered()"), self.setOffline)

        # Tools
        self.connect(self.actionConsole, SIGNAL("triggered()"), self.swapConsole)
        
        # About Dialog
        about = AboutDialog(self)
        self.connect(self.actionAbout, SIGNAL("triggered()"), about, SLOT("exec()"))
        self.connect(self.actionAboutQt, SIGNAL("triggered()"), QApplication.instance(), SLOT("aboutQt()"))
        
        # Quit Signal connection
        self.connect(self.actionQuit, SIGNAL("triggered()"), self.quit)
Exemplo n.º 5
0
    def onClick(self, sender):
        if (sender == self.signOutLink):
            Window.alert(
                "If this were implemented, you would be signed out now.")
        elif (sender == self.aboutLink):
            # When the 'About' item is selected, show the AboutDialog.
            # Note that showing a dialog box does not block -- execution continues
            # normally, and the dialog fires an event when it is closed.
            dlg = AboutDialog()

            # Position it roughly in the middle of the screen.
            left = (Window.getClientWidth() - 512) / 2
            top = (Window.getClientHeight() - 256) / 2
            Logger("TopPanel", "left: %d" % left)
            Logger("TopPanel", "top: %d" % top)
            dlg.setPopupPosition(left, top)

            dlg.show()
Exemplo n.º 6
0
    def doClickEvent(self, index, tag):
        if self.is_loading == True:  # block click event if loading data in process
            return

        if tag.find('check#') != -1:
            print('index: %s label: %s' % (index, tag))
            print(self.check[index].get())
        else:
            if tag is 'Open':
                self.filename = filedialog.askopenfilename(
                    initialdir="/",
                    title=self.openfdialog_filter,
                    filetypes=(("Supported Files (*.py)", "*.py"),
                               ("All Files", "*.*")))
                print(self.filename)
            elif tag.find('Server') != -1:
                s = ServerDialog(self.parent, title=tag)
            elif tag is 'SaveAs':
                self.filename = filedialog.asksaveasfilename(
                    initialdir="/",
                    title=self.savefdialog_filter,
                    filetypes=(("Supported Files (*.py)", "*.py"),
                               ("All Files", "*.*")))
            elif tag is 'Recipients':
                r = RecipientDialog(self.parent, title="Email Addresses ")
            elif tag is 'New':
                c = ConfigCrawlDialog(self.parent, title="New Crawl")
                self.init_settings()
                self.init_workspaces()
            elif tag.find('Preferences') != -1:
                o = OptionsDialog(self.parent, title=tag)
            elif tag.find('About') != -1:
                a = AboutDialog(self.parent, title=tag)
            elif tag.find('Dispatchers') != -1:
                self.settings.SetSettings(
                    'selected_table',
                    'dispatchers')  # set an action button that in dialog
                d = DispatcherDialog(self.parent, title=tag)
            elif tag.find('Companies') != -1:
                self.settings.SetSettings(
                    'selected_table',
                    'companies')  # set an action button that in dialog
                d = DispatcherDialog(self.parent, title=tag)
            elif tag.find('Refresh') != -1:
                self.init_workspaces()
                self.start_dataThread()
            elif tag.find('All') != -1:
                res = messagebox.askquestion(
                    'Load All Crawled Data',
                    'This may take a few time.\nAre you sure you want to load all crawled data from WFM?'
                )
                if res == 'yes':
                    self.set_WFMTable(TABLE_ALLDATA)
                    self.start_dataThread()
            elif tag.find('Status') != -1:
                self.settings.SetSettings(
                    'selected_table',
                    'status')  # set an action button that in dialog
                d = DispatcherDialog(self.parent, title=tag)

            elif tag.find('Exit') != -1:
                self.onExit()
            elif tag.find('StartCrawl') != -1:
                if self.kill_ie.get() == 1:
                    self.process.kill_process('iexplore.exe')

                self.crawlDialog = CrawlerDialog(self.parent)  # init GUI
                #self.crawler = Crawler(self.crawlDialog) #init Controller
                #self.crawler.startCrawler()

            else:
                print('doClickEvent  index: %s label: %s' % (index, tag))
    def initUI(self):
        self.clusteringParameters = ClusteringParameters(self)
        self.dimRedParameters = DimensionalityReductionParameters(self)
        self.classifierParameters = ClassifierParameters(self)
        self.regressionParameters = RegressionParameters(self)
        self.densityEstimationParameters = DensityEstimationParameters(self)
        self.probabilityDensityViewer = ProbabilityDensityViewer(self)
        self.licenseDialog = LicenseDialog(self)
        self.aboutDialog = AboutDialog(self, self.licenseDialog)
        self.infoDialog = InfoDialog(self)
        self.operationStack = OperationStack(self)

        self.createSamplesDockWidget = CreateSamplesProperties(self)
        self.addDockWidget(QtCore.Qt.BottomDockWidgetArea,
                           self.createSamplesDockWidget)

        self.statusbar = QtWidgets.QStatusBar()
        self.setStatusBar(self.statusbar)

        self.featurespace = FeatureSpace(self, self.statusbar,
                                         self.createSamplesDockWidget)
        self.setCentralWidget(self.featurespace)

        self.classifier = None
        self.regressor = None
        self.densityEstimator = None

        featureSpaceNewAction = QtWidgets.QAction('&New', self)
        featureSpaceNewAction.setShortcut('Ctrl+N')
        featureSpaceNewAction.setStatusTip('Create empty feature space')
        featureSpaceNewAction.triggered.connect(self.newFeatureSpace)

        featureSpaceOpenAction = QtWidgets.QAction('&Open...', self)
        featureSpaceOpenAction.setShortcut('Ctrl+O')
        featureSpaceOpenAction.setStatusTip('Load a feature space')
        featureSpaceOpenAction.triggered.connect(self.openFeatureSpace)

        featureSpaceSaveAction = QtWidgets.QAction('&Save', self)
        featureSpaceSaveAction.setShortcut('Ctrl+S')
        featureSpaceSaveAction.setStatusTip('Save the feature space')
        featureSpaceSaveAction.triggered.connect(self.saveFeatureSpace)

        featureSpaceSaveAsAction = QtWidgets.QAction('Save &as...', self)
        featureSpaceSaveAsAction.setStatusTip(
            'Save the feature space to a new file')
        featureSpaceSaveAsAction.triggered.connect(self.saveAsFeatureSpace)

        featureSpaceImportAction = QtWidgets.QAction('&Import samples...',
                                                     self)
        featureSpaceImportAction.setStatusTip(
            'Read feature vectors from an ASCII file')
        featureSpaceImportAction.triggered.connect(self.importFeatureSpace)

        featureSpaceExportAction = QtWidgets.QAction('&Export samples...',
                                                     self)
        featureSpaceExportAction.setStatusTip(
            'Write the feature vectors to an ASCII file')
        featureSpaceExportAction.triggered.connect(self.exportFeatureSpace)

        featureSpaceSaveImageAction = QtWidgets.QAction(
            'Export as image...', self)
        featureSpaceSaveImageAction.setStatusTip(
            'Export the feature space as image')
        featureSpaceSaveImageAction.triggered.connect(
            self.exportFeatureSpaceAsImage)

        self.__featureSpaceHideSamplesAction = QtWidgets.QAction(
            'Hide samples', self)
        self.__featureSpaceHideSamplesAction.setStatusTip('Hide all samples')
        self.__featureSpaceHideSamplesAction.setShortcut('F8')
        self.__featureSpaceHideSamplesAction.triggered.connect(
            self.hideSamples)
        self.__featureSpaceHideSamplesAction.setCheckable(True)
        self.__featureSpaceHideSamplesAction.setChecked(False)

        exitAction = QtWidgets.QAction('&Quit', self)
        exitAction.setShortcut(QtCore.Qt.CTRL + QtCore.Qt.Key_Q)
        exitAction.setStatusTip('Exit the Python Classification Toolbox')
        exitAction.triggered.connect(self.close)

        menubar = self.menuBar()
        menubar.setNativeMenuBar(False)
        featureSpaceMenu = menubar.addMenu('&Feature Space')
        featureSpaceMenu.addAction(featureSpaceNewAction)
        featureSpaceMenu.addAction(featureSpaceOpenAction)
        featureSpaceMenu.addAction(featureSpaceSaveAction)
        featureSpaceMenu.addAction(featureSpaceSaveAsAction)
        featureSpaceMenu.addSeparator()
        featureSpaceMenu.addAction(featureSpaceImportAction)
        featureSpaceMenu.addAction(featureSpaceExportAction)
        featureSpaceMenu.addAction(featureSpaceSaveImageAction)
        featureSpaceMenu.addSeparator()
        featureSpaceMenu.addAction(self.__featureSpaceHideSamplesAction)
        featureSpaceMenu.addSeparator()
        featureSpaceMenu.addAction(exitAction)

        clusteringKMeansAction = QtWidgets.QAction('k-Means Clustering...',
                                                   self)
        clusteringKMeansAction.setStatusTip('k-Means Clustering')
        clusteringKMeansAction.triggered.connect(
            lambda: self.clusterWithParameters(Clustering.kMeans))

        clusteringGMMAction = QtWidgets.QAction('Gaussian Mixture Model...',
                                                self)
        clusteringGMMAction.setStatusTip('Gaussian Mixture Model')
        clusteringGMMAction.triggered.connect(
            lambda: self.clusterWithParameters(Clustering.GMM))

        clusteringParametersAction = QtWidgets.QAction('Parameters...', self)
        clusteringParametersAction.setStatusTip(
            'Edit the parameters of the clustering algorithms')
        clusteringParametersAction.triggered.connect(
            self.editClusteringParameters)

        clusteringMenu = menubar.addMenu('C&lustering')
        clusteringMenu.addAction(clusteringKMeansAction)
        clusteringMenu.addAction(clusteringGMMAction)
        clusteringMenu.addSeparator()
        clusteringMenu.addAction(clusteringParametersAction)

        dimRedPCAAction = QtWidgets.QAction('Principal Component Analysis...',
                                            self)
        dimRedPCAAction.setStatusTip('Principal Component Analysis (PCA)')
        dimRedPCAAction.triggered.connect(
            lambda: self.reduceDimensionalityWithParameters(
                DimensionalityReduction.PCA))

        dimRedMenu = menubar.addMenu('&Dimensionality Reduction')
        dimRedMenu.addAction(dimRedPCAAction)

        classificationLogRegAction = QtWidgets.QAction(
            'Linear Logistic Regression...', self)
        classificationLogRegAction.setStatusTip(
            'Linear Logistic Regression classifier')
        classificationLogRegAction.triggered.connect(
            lambda: self.classifyWithParameters(Classifier.LogReg))

        classificationNormAction = QtWidgets.QAction('Norm classifier...',
                                                     self)
        classificationNormAction.setStatusTip(
            'Classification based on the distance to the class centers')
        classificationNormAction.triggered.connect(
            lambda: self.classifyWithParameters(Classifier.Norm))

        classificationNaiveBayesAction = QtWidgets.QAction('Naive Bayes', self)
        classificationNaiveBayesAction.setStatusTip('Naive Bayes classifier')
        classificationNaiveBayesAction.triggered.connect(
            lambda: self.classify(Classifier.NaiveBayes))

        classificationGaussianAction = QtWidgets.QAction(
            'Gaussian classifier', self)
        classificationGaussianAction.setStatusTip('Gaussian classifier')
        classificationGaussianAction.triggered.connect(
            lambda: self.classify(Classifier.Gauss))

        classificationGMMAction = QtWidgets.QAction('GMM classifier...', self)
        classificationGMMAction.setStatusTip(
            'Gaussian Mixture Model classifier')
        classificationGMMAction.triggered.connect(
            lambda: self.classifyWithParameters(Classifier.GMM))

        classificationKNNAction = QtWidgets.QAction('kNN...', self)
        classificationKNNAction.setStatusTip('k Nearest Neighbor classifier')
        classificationKNNAction.triggered.connect(
            lambda: self.classifyWithParameters(Classifier.kNN))

        classificationLinRegAction = QtWidgets.QAction('Linear Regression...',
                                                       self)
        classificationLinRegAction.setStatusTip('Linear Regression classifier')
        classificationLinRegAction.triggered.connect(
            lambda: self.classifyWithParameters(Classifier.LinReg))

        classificationPerceptronAction = QtWidgets.QAction(
            'Rosenblatt\'s Perceptron...', self)
        classificationPerceptronAction.setStatusTip('Rosenblatt\'s Perceptron')
        classificationPerceptronAction.triggered.connect(
            lambda: self.classifyWithParameters(Classifier.Perceptron))

        classificationMLPAction = QtWidgets.QAction('Multilayer Perceptron...',
                                                    self)
        classificationMLPAction.setStatusTip('Multilayer Perceptron')
        classificationMLPAction.triggered.connect(
            lambda: self.classifyWithParameters(Classifier.MLP))
        try:
            # requires sklearn >= 0.18.dev0
            neural_network.MLPClassifier()
        except:
            classificationMLPAction.setEnabled(False)

        classificationSVMAction = QtWidgets.QAction('SVM...', self)
        classificationSVMAction.setStatusTip('Support Vector Machine')
        classificationSVMAction.triggered.connect(
            lambda: self.classifyWithParameters(Classifier.SVM))

        classificationDecisionTreeAction = QtWidgets.QAction(
            'Decision Tree...', self)
        classificationDecisionTreeAction.setStatusTip(
            'Decision Tree classifier')
        classificationDecisionTreeAction.triggered.connect(
            lambda: self.classifyWithParameters(Classifier.DecisionTree))

        classificationRandomForestAction = QtWidgets.QAction(
            'Random Forest...', self)
        classificationRandomForestAction.setStatusTip(
            'Random Forest classifier')
        classificationRandomForestAction.triggered.connect(
            lambda: self.classifyWithParameters(Classifier.RandomForest))

        classificationParametersAction = QtWidgets.QAction(
            'Parameters...', self)
        classificationParametersAction.setStatusTip(
            'Edit the parameters of the classification algorithms')
        classificationParametersAction.triggered.connect(
            self.editClassificationParameters)

        classificationNoneAction = QtWidgets.QAction('None', self)
        classificationNoneAction.setStatusTip('Delete classification results')
        classificationNoneAction.triggered.connect(self.unsetClassifier)

        classificationMenu = menubar.addMenu('&Classification')
        classificationMenu.addAction(classificationLogRegAction)
        classificationMenu.addAction(classificationNormAction)
        classificationMenu.addAction(classificationNaiveBayesAction)
        classificationMenu.addAction(classificationGaussianAction)
        classificationMenu.addAction(classificationGMMAction)
        classificationMenu.addAction(classificationKNNAction)
        classificationMenu.addAction(classificationLinRegAction)
        classificationMenu.addAction(classificationPerceptronAction)
        classificationMenu.addAction(classificationMLPAction)
        classificationMenu.addAction(classificationSVMAction)
        classificationMenu.addAction(classificationDecisionTreeAction)
        classificationMenu.addAction(classificationRandomForestAction)
        classificationMenu.addSeparator()
        classificationMenu.addAction(classificationParametersAction)
        classificationMenu.addAction(classificationNoneAction)

        regressionLinRegAction = QtWidgets.QAction('Linear Regression...',
                                                   self)
        regressionLinRegAction.setStatusTip('Linear Regression')
        regressionLinRegAction.triggered.connect(
            lambda: self.regressionWithParameters(Regression.LinearRegression))

        regressionSVRAction = QtWidgets.QAction('Support Vector Regression...',
                                                self)
        regressionSVRAction.setStatusTip('Support Vector Regression (SVR)')
        regressionSVRAction.triggered.connect(
            lambda: self.regressionWithParameters(Regression.SVR))

        regressionRegressionTreeAction = QtWidgets.QAction(
            'Regression Tree...', self)
        regressionRegressionTreeAction.setStatusTip('Regression Tree')
        regressionRegressionTreeAction.triggered.connect(
            lambda: self.regressionWithParameters(Regression.RegressionTree))

        regressionRegressionForestAction = QtWidgets.QAction(
            'Regression Forest...', self)
        regressionRegressionForestAction.setStatusTip('Regression Forest')
        regressionRegressionForestAction.triggered.connect(
            lambda: self.regressionWithParameters(Regression.RegressionForest))

        regressionParametersAction = QtWidgets.QAction('Parameters...', self)
        regressionParametersAction.setStatusTip(
            'Edit the parameters of the regression algorithms')
        regressionParametersAction.triggered.connect(
            self.editRegressionParameters)

        regressionNoneAction = QtWidgets.QAction('None', self)
        regressionNoneAction.setStatusTip('Delete regression result')
        regressionNoneAction.triggered.connect(self.unsetRegressor)

        regressionMenu = menubar.addMenu('&Regression')
        regressionMenu.addAction(regressionLinRegAction)
        regressionMenu.addAction(regressionSVRAction)
        regressionMenu.addAction(regressionRegressionTreeAction)
        regressionMenu.addAction(regressionRegressionForestAction)
        regressionMenu.addSeparator()
        regressionMenu.addAction(regressionParametersAction)
        regressionMenu.addAction(regressionNoneAction)

        densityEstimationHistogramAction = QtWidgets.QAction(
            'Histogram...', self)
        densityEstimationHistogramAction.setStatusTip('Histogram estimation')
        densityEstimationHistogramAction.triggered.connect(
            lambda: self.densityEstimationWithParameters(DensityEstimation.
                                                         Histogram))

        densityEstimationSphereAction = QtWidgets.QAction(
            'Sphere Density Estimation...', self)
        densityEstimationSphereAction.setStatusTip('Sphere Density Estimation')
        densityEstimationSphereAction.triggered.connect(
            lambda: self.densityEstimationWithParameters(
                DensityEstimation.SphereDensityEstimation))

        densityEstimationKernelAction = QtWidgets.QAction(
            'Kernel Density Estimation...', self)
        densityEstimationKernelAction.setStatusTip('Kernel Density Estimation')
        densityEstimationKernelAction.triggered.connect(
            lambda: self.densityEstimationWithParameters(
                DensityEstimation.KernelDensityEstimation))

        densityEstimationParametersAction = QtWidgets.QAction(
            'Parameters...', self)
        densityEstimationParametersAction.setStatusTip(
            'Edit the parameters of the density estimation algorithms')
        densityEstimationParametersAction.triggered.connect(
            self.editDensityEstimationParameters)

        densityEstimationNoneAction = QtWidgets.QAction('None', self)
        densityEstimationNoneAction.setStatusTip(
            'Delete density estimation result')
        densityEstimationNoneAction.triggered.connect(
            self.unsetDensityEstimation)

        densityEstimationMenu = menubar.addMenu('Density &Estimation')
        densityEstimationMenu.addAction(densityEstimationHistogramAction)
        densityEstimationMenu.addAction(densityEstimationSphereAction)
        densityEstimationMenu.addAction(densityEstimationKernelAction)
        densityEstimationMenu.addSeparator()
        densityEstimationMenu.addAction(densityEstimationParametersAction)
        densityEstimationMenu.addAction(densityEstimationNoneAction)

        aboutAction = QtWidgets.QAction('About...', self)
        aboutAction.setStatusTip('About this software')
        aboutAction.triggered.connect(self.aboutDialog.exec_)

        licenseAction = QtWidgets.QAction('License...', self)
        licenseAction.setStatusTip('GNU General Public License')
        licenseAction.triggered.connect(self.licenseDialog.showLicense)

        infoAction = QtWidgets.QAction('Info...', self)
        infoAction.setStatusTip('Information about the Python distribution')
        infoAction.triggered.connect(self.infoDialog.exec_)

        helpMenu = menubar.addMenu('&Help')
        helpMenu.addAction(aboutAction)
        helpMenu.addAction(licenseAction)
        helpMenu.addAction(infoAction)

        #		exitAction = QtGui.QAction(QtGui.QIcon('./img/exit.png'), 'Exit', self)
        #		exitAction.setShortcut('Ctrl+Q')
        #		exitAction.triggered.connect(QtGui.qApp.quit)

        #		coordinateSystemAction = QtGui.QAction(QtGui.QIcon('./img/coord.png'), 'Move coordinate system', self)
        #		coordinateSystemAction.triggered.connect(self.onMoveCoordinateSystem)

        #		gaussCreateAction = QtGui.QAction(QtGui.QIcon('./img/create_gauss.png'), 'Create Gaussians', self)
        #		gaussCreateAction.triggered.connect(self.onCreateGaussians)

        #		gaussModifyAction = QtGui.QAction(QtGui.QIcon('./img/modify_gauss.png'), 'Modify Gaussians', self)
        #		gaussModifyAction.triggered.connect(self.onModifyGaussians)

        self.moveCoordinateSystemButton = QtWidgets.QToolButton()
        self.moveCoordinateSystemButton.setIcon(
            QtGui.QIcon(resource_path('./img/coord.png')))
        self.moveCoordinateSystemButton.setStatusTip(
            'Move the coordinate system by dragging the mouse or zoom in or out using the mouse scroll wheel'
        )
        self.moveCoordinateSystemButton.setCheckable(True)
        self.moveCoordinateSystemButton.setChecked(True)
        self.moveCoordinateSystemButton.clicked.connect(
            self.onMoveCoordinateSystem)

        self.createGaussButton = QtWidgets.QToolButton()
        self.createGaussButton.setIcon(
            QtGui.QIcon(resource_path('./img/create_gauss.png')))
        self.createGaussButton.setStatusTip(
            'Create samples drawn from a new Gaussian pdf by spanning the bounding box of the covariance matrix'
        )
        self.createGaussButton.setCheckable(True)
        self.createGaussButton.clicked.connect(self.onCreateGaussians)

        self.modifyGaussButton = QtWidgets.QToolButton()
        self.modifyGaussButton.setIcon(
            QtGui.QIcon(resource_path('./img/modify_gauss.png')))
        self.modifyGaussButton.setStatusTip(
            'Modify existing Gaussian pdfs by left of right clicking on the center'
        )
        self.modifyGaussButton.setCheckable(True)
        self.modifyGaussButton.clicked.connect(self.onModifyGaussians)

        self.createSamplesButton = QtWidgets.QToolButton()
        self.createSamplesButton.setIcon(
            QtGui.QIcon(resource_path('./img/samples.png')))
        self.createSamplesButton.setStatusTip(
            'Create and modify individual samples by spanning a rectangle that contains one or more samples'
        )
        self.createSamplesButton.setCheckable(True)
        self.createSamplesButton.clicked.connect(self.onCreateSamples)

        self.toolbar = QtWidgets.QToolBar(self)
        self.toolbar.setIconSize(QtCore.QSize(48, 48))
        self.addToolBar(QtCore.Qt.RightToolBarArea, self.toolbar)
        # self.toolbar.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
        # self.toolbar.addAction(coordinateSystemAction)
        # self.toolbar.addAction(gaussCreateAction)
        # self.toolbar.addAction(gaussModifyAction)
        self.toolbar.addWidget(self.moveCoordinateSystemButton)
        self.toolbar.addWidget(self.createGaussButton)
        self.toolbar.addWidget(self.modifyGaussButton)
        self.toolbar.addWidget(self.createSamplesButton)

        QtGui.QShortcut(QtGui.QKeySequence("Ctrl+Z"), self, self.undo)
        QtGui.QShortcut(QtGui.QKeySequence("Ctrl+R"), self, self.redo)

        self.printLicenseMessage()
Exemplo n.º 8
0
 def on_about_clicked(self):
     about_dialog = AboutDialog()
     about_dialog.exec_()
Exemplo n.º 9
0
 def about(self):
     dialog = AboutDialog(self.AppContext.get_resource('About.txt'),
                          version=self.version)
     dialog.exec_()
Exemplo n.º 10
0
def show_about():
    logging.info("Show About dialog")
    about_dialog = AboutDialog(about_dialog_glade, SAFE_EYES_VERSION)
    about_dialog.show()
Exemplo n.º 11
0
    def __init__(self):
        super(self.__class__, self).__init__()
        self.setupUi(self)
        self.scale_spacing = 0.1  # in meters
        self.viewDataType = "thickness"
        self.scans2dLoaded = False
        self.scans3dLoaded = False
        self.refSelectionMode = False
        self.toolMode = -1
        self.setToolMode(ToolModes.MoveMode)
        self.reportTool = -1
        self.setReportTool(ReportTools.L)
        self.statusBarMessage = ""
        self.statusLabel = QtGui.QLabel()
        self.statusLabel.setText(self.statusBarMessage)
        self.statusbar.addWidget(self.statusLabel)
        self.optionsDialog = OptionsDialog()
        self.evaluationDialog = EvaluationDialog()
        self.scanManager = ScanManager(self.scanViewer, self.graphicsView,
                                       self.graphicsView_2)
        self.generate3dDialog = Generate3dDialog()
        self.reportDialog = ReportDialog()
        self.testDialog = TestDialog()
        self.autoDetectDialog = AutoDetectDialog(self.optionsDialog)
        self.savePictureDialog = SavePictureDialog()
        self.aboutDialog = AboutDialog()

        self.connect(self.autoDetectDialog,
                     SIGNAL('showElement(PyQt_PyObject)'), self.loadElement)
        self.reportDialog.connect(self.autoDetectDialog,
                                  SIGNAL('reportElement(PyQt_PyObject)'),
                                  self.reportDialog.setCurrentElement)

        self.toolBar.actionTriggered.connect(self.processAction)
        self.menubar.triggered.connect(self.processAction)

        self.connect(self.pushButton_thickness, SIGNAL('clicked()'),
                     self.thicknessButtonClicked)
        self.connect(self.pushButton_distance, SIGNAL('clicked()'),
                     self.distanceButtonClicked)

        self.connect(self.pushButton_3d, SIGNAL('clicked()'),
                     self.openGenerete3dDialog)
        self.connect(self.pushButton_go, SIGNAL('clicked()'), self.loadScan)

        self.connect(self.optionsDialog, SIGNAL("accepted()"),
                     self.optionsAccepted)
        self.optionsDialog.connect(self.evaluationDialog,
                                   SIGNAL('changeTreshold(PyQt_PyObject)'),
                                   self.optionsDialog.setTreshold)

        self.connect(self.scanViewer,
                     SIGNAL('mousePositionChanged(PyQt_PyObject)'),
                     self.mousePositionChanged)
        self.connect(self.scanViewer, SIGNAL('areaSelected(PyQt_PyObject)'),
                     self.areaSelected)
        self.connect(self.scanViewer, SIGNAL('tempDragModeActivated()'),
                     self.tempDragModeEnable)
        self.connect(self.scanViewer, SIGNAL('tempDragModeDeactivated()'),
                     self.tempDragModeDisable)
        self.connect(self.scanViewer, SIGNAL('mouseClicked(PyQt_PyObject)'),
                     self.reportElement)
        self.scanManager.connect(self.scanViewer, SIGNAL('changeScale()'),
                                 self.scanManager.changeScale)

        self.connect(self.scanManager, SIGNAL('scans2dLoaded()'),
                     self.setScans2dLoaded)
        self.connect(self.scanManager, SIGNAL('scans3dLoaded()'),
                     self.setScans3dLoaded)

        self.connect(self.evaluationDialog,
                     SIGNAL('changeParams(PyQt_PyObject)'), self.openOptions)
        self.connect(self.evaluationDialog, SIGNAL('activateRefSelection()'),
                     self.activateRefSelectionMode)
        self.connect(self.evaluationDialog, SIGNAL('deactivateRefSelection()'),
                     self.deactivateRefSelectionMode)
        self.connect(self.evaluationDialog,
                     SIGNAL('corrosionReportSignal(PyQt_PyObject)'),
                     self.addCorrosionReport)

        self.connect(self.generate3dDialog,
                     SIGNAL('generate3d(PyQt_PyObject)'), self.generate3d)

        self.verticalSlider.valueChanged.connect(self.rearrangeScan)
        self.scanViewer.horizontalScrollBar().sliderReleased.connect(
            self.scanManager.checkIfScanLimitsReached)
        self.scanManager.connect(self.scanViewer,
                                 SIGNAL('checkIfScanLimitsReached()'),
                                 self.scanManager.checkIfScanLimitsReached)

        self.graphicsView.setBackgroundColor([255, 255, 255, 255])
        self.thicknessButtonClicked()
Exemplo n.º 12
0
 def slot_About(self):
     w = AboutDialog(self)
     w.show()
Exemplo n.º 13
0
 def aboutSlot(self):
     AboutDialog().exec()
Exemplo n.º 14
0
 def showAboutDialog(self, e):
     aboutDialog = AboutDialog(self)
     aboutDialog.show()
Exemplo n.º 15
0
 def aboutdialog(self):
     aboutdialogWindow = AboutDialog()
     aboutdialogWindow.show()
     aboutdialogWindow.exec_()
Exemplo n.º 16
0
 def openAboutDialog(self):
     ad = AboutDialog(self)
     ad.exec_()
Exemplo n.º 17
0
 def about_dlg(self):
     # TODO: add version info/changelist to about dialog
     aboutdlg = AboutDialog(root, title="About")
Exemplo n.º 18
0
 def OnMenuHelp(self, event):
     dlg = AboutDialog(self, "About")
     dlg.CenterOnScreen()
     dlg.ShowModal()
     dlg.Destroy()
Exemplo n.º 19
0
 def OnAbout(self, event):
     from AboutDialog import AboutDialog
     aboutdlg = AboutDialog(None, _L["about_title"])
     aboutdlg.ShowModal()
 def on_about(self):
     """
     点击关于软件,弹出关于界面\n
     :return:
     """
     self.about_dlg = AboutDialog(True)
Exemplo n.º 21
0
 def OnAbout(self, event):
     dialog = AboutDialog(self)
     dialog.ShowModal()
Exemplo n.º 22
0
 def webViewBridgeSlot_about(self):
     aboutDialog = AboutDialog()
     aboutDialog.exec_()