Exemplo n.º 1
0
def start_app(ClassObject,
              geometry=None,
              stylesheet=None,
              user_settings=None,
              parent_win=None):

    if parent_win is None:
        app = QApplication(sys.argv)

    from confapp import conf
    conf += 'pyforms_gui.resources_settings'
    if user_settings:
        conf += user_settings

    mainwindow = StandAloneContainer(ClassObject)

    if hasattr(conf, 'PYFORMS_MAIN_WINDOW_ICON_PATH'):
        mainwindow.setWindowIcon(QIcon(conf.PYFORMS_MAIN_WINDOW_ICON_PATH))

    myapp = mainwindow.centralWidget()

    if geometry is not None:
        mainwindow.show()
        mainwindow.setGeometry(*geometry)
    else:
        mainwindow.showMaximized()

    if conf.PYFORMS_QUALITY_TESTS_PATH is not None:
        import argparse
        parser = argparse.ArgumentParser()
        parser.add_argument("--test", help="File with the tests script")
        args = parser.parse_args()

        if args.test:
            TEST_PATH = os.path.join(conf.PYFORMS_QUALITY_TESTS_PATH,
                                     args.test)
            TEST_FILE_PATH = os.path.join(TEST_PATH, args.test + '.py')
            DATA_PATH = os.path.join(TEST_PATH, 'data', sys.platform)
            INPUT_DATA_PATH = os.path.join(DATA_PATH, 'input-data')
            OUTPUT_DATA_PATH = os.path.join(DATA_PATH, 'output-data')
            EXPECTED_DATA_PATH = os.path.join(DATA_PATH, 'expected-data')

            with open(TEST_FILE_PATH) as f:
                global_vars = {}  # globals()
                local_vars = locals()
                code = compile(f.read(), TEST_FILE_PATH, 'exec')

                exec(code, global_vars, local_vars)

    if parent_win is None:
        if stylesheet: app.setStyleSheet(stylesheet)
        app.exec_()

    return myapp
Exemplo n.º 2
0
def start_app(ClassObject, geometry=None, stylesheet=None):
    from pyforms.utils.settings_manager import conf

    app = QApplication(sys.argv)

    conf += 'pyforms.gui.settings'

    mainwindow = StandAloneContainer(ClassObject)

    myapp = mainwindow.centralWidget()

    if geometry is not None:
        mainwindow.show()
        mainwindow.setGeometry(*geometry)
    else:
        mainwindow.showNormal()

    if conf.PYFORMS_QUALITY_TESTS_PATH is not None:
        import argparse
        parser = argparse.ArgumentParser()
        parser.add_argument("--test", help="File with the tests script")
        args = parser.parse_args()

        if args.test:
            TEST_PATH = os.path.join(conf.PYFORMS_QUALITY_TESTS_PATH,
                                     args.test)
            TEST_FILE_PATH = os.path.join(TEST_PATH, args.test + '.py')
            DATA_PATH = os.path.join(TEST_PATH, 'data', sys.platform)
            INPUT_DATA_PATH = os.path.join(DATA_PATH, 'input-data')
            OUTPUT_DATA_PATH = os.path.join(DATA_PATH, 'output-data')
            EXPECTED_DATA_PATH = os.path.join(DATA_PATH, 'expected-data')

            with open(TEST_FILE_PATH) as f:
                global_vars = {}  # globals()
                local_vars = locals()
                code = compile(f.read(), TEST_FILE_PATH, 'exec')

                exec(code, global_vars, local_vars)

    if stylesheet: app.setStyleSheet(stylesheet)
    app.exec_()
    return myapp