def _setup_main_window(ert: EnKFMain, notifier: ErtNotifier, args: argparse.Namespace): facade = LibresFacade(ert) config_file = args.config window = GertMainWindow(config_file) window.setWidget(SimulationPanel(ert, notifier, config_file)) gui_log_handler = GUILogHandler() logging.getLogger().addHandler(gui_log_handler) plugin_handler = PluginHandler(ert, ert.getWorkflowList().getPluginJobs(), window) window.addDock("Configuration summary", SummaryPanel(ert), area=Qt.BottomDockWidgetArea) window.addTool(PlotTool(ert, config_file)) window.addTool(ExportTool(ert)) window.addTool(WorkflowsTool(ert, notifier)) window.addTool(ManageCasesTool(ert, notifier)) window.addTool(PluginsTool(plugin_handler, notifier)) window.addTool(RunAnalysisTool(ert, notifier)) window.addTool(LoadResultsTool(facade)) window.addTool(EventViewerTool(gui_log_handler)) window.adjustSize() return window
def _setup_main_window(ert, args): config_file = args.config storage_client = create_client(args) window = GertMainWindow(config_file, storage_client) window.setWidget(SimulationPanel(config_file, storage_client)) plugin_handler = PluginHandler(ert, ert.getWorkflowList().getPluginJobs(), window) help_tool = HelpTool("ERT", window) window.addDock("Configuration Summary", SummaryPanel(), area=Qt.BottomDockWidgetArea) window.addTool(IdeTool(config_file, help_tool)) window.addTool(PlotTool(config_file, storage_client)) window.addTool(ExportTool()) window.addTool(WorkflowsTool()) window.addTool(ManageCasesTool()) window.addTool(PluginsTool(plugin_handler)) window.addTool(RunAnalysisTool()) window.addTool(LoadResultsTool()) window.addTool(help_tool) window.adjustSize() return window
def main(argv): app = QApplication( argv) # Early so that QT is initialized before other imports app.setWindowIcon(resourceIcon("application/window_icon_cutout")) # There seems to be a setlocale() call deep down in the initialization of # QApplication, if the user has set the LC_NUMERIC environment variables to # a locale with decimalpoint different from "." the application will fail # hard quite quickly. current_locale = QLocale() decimal_point = str(current_locale.decimalPoint()) if decimal_point != ".": msg = """ ** WARNING: You are using a locale with decimalpoint: '{}' - the ert application is written with the assumption that '.' is used as decimalpoint, and chances are that something will break if you continue with this locale. It is highly reccomended that you set the decimalpoint to '.' using one of the environment variables 'LANG', LC_ALL', or 'LC_NUMERIC' to either the 'C' locale or alternatively a locale which uses '.' as decimalpoint.\n""".format( decimal_point) sys.stderr.write(msg) if len(argv) == 1: config_file = QFileDialog.getOpenFileName(None, "Open Configuration File") config_file = str(config_file) if len(config_file) == 0: print( "-----------------------------------------------------------------" ) print( "-- You must supply the name of configuration file as the first --" ) print( "-- commandline argument: --" ) print( "-- --" ) print( "-- bash% gert <config_file> --" ) print( "-- --" ) print( "-- If the configuration file does not exist, gert will create --" ) print( "-- create a new configuration file. --" ) print( "-----------------------------------------------------------------" ) sys.exit(1) else: config_file = argv[1] help_center = HelpCenter("ERT") help_center.setHelpMessageLink("welcome_to_ert") strict = True verbose = False verbose_var = os.getenv("ERT_VERBOSE", "False") lower_verbose_var = verbose_var.lower() if lower_verbose_var == "true": verbose = True if not os.path.exists(config_file): print("Trying to start new config") new_configuration_dialog = NewConfigurationDialog(config_file) success = new_configuration_dialog.exec_() if not success: print("Can not run without a configuration file.") sys.exit(1) else: config_file = new_configuration_dialog.getConfigurationPath() dbase_type = new_configuration_dialog.getDBaseType() num_realizations = new_configuration_dialog.getNumberOfRealizations( ) storage_path = new_configuration_dialog.getStoragePath() EnKFMain.createNewConfig(config_file, storage_path, dbase_type, num_realizations) strict = False if os.path.isdir(config_file): print("The specified configuration file is a directory!") sys.exit(1) splash = ErtSplash() splash.version = "Version %s" % ert_gui.__version__ splash.show() splash.repaint() now = time.time() res_config = ResConfig(config_file) os.chdir(res_config.config_path) ert = EnKFMain(res_config, strict=strict, verbose=verbose) ert_gui.configureErtNotifier(ert, config_file) window = GertMainWindow() window.setWidget(SimulationPanel()) plugin_handler = PluginHandler(ert, ert.getWorkflowList().getPluginJobs(), window) help_tool = HelpTool("ERT", window) window.addDock("Configuration Summary", SummaryPanel(), area=Qt.BottomDockWidgetArea) window.addTool(IdeTool(os.path.basename(config_file), help_tool)) window.addTool(PlotTool()) window.addTool(ExportTool()) window.addTool(WorkflowsTool()) window.addTool(ManageCasesTool()) window.addTool(PluginsTool(plugin_handler)) window.addTool(RunAnalysisTool()) window.addTool(LoadResultsTool()) window.addTool(help_tool) window.adjustSize() sleep_time = 2 - (time.time() - now) if sleep_time > 0: time.sleep(sleep_time) window.show() splash.finish(window) window.activateWindow() window.raise_() ResLog.log( 3, "Versions: ecl:%s res:%s ert:%s" % (ecl.__version__, res.__version__, ert_gui.__version__)) if not ert._real_enkf_main().have_observations(): em = QMessageBox.warning( window, "Warning!", "No observations loaded. Model update algorithms disabled!") finished_code = app.exec_() sys.exit(finished_code)
def main(argv): app = QApplication(argv) #Early so that QT is initialized before other imports app.setWindowIcon(util.resourceIcon("application/window_icon_cutout")) if len(argv) == 1: config_file = QFileDialog.getOpenFileName(None, "Open Configuration File") config_file = str(config_file) if len(config_file) == 0: print("-----------------------------------------------------------------") print("-- You must supply the name of configuration file as the first --") print("-- commandline argument: --") print("-- --") print("-- bash% gert <config_file> --") print("-- --") print("-- If the configuration file does not exist, gert will create --") print("-- create a new configuration file. --") print("-----------------------------------------------------------------") sys.exit(1) else: config_file = argv[1] help_center = HelpCenter("ERT") help_center.setHelpLinkPrefix(os.getenv("ERT_SHARE_PATH") + "/gui/help/") help_center.setHelpMessageLink("welcome_to_ert") strict = True verbose = False verbose_var = os.getenv("ERT_VERBOSE", "False") lower_verbose_var = verbose_var.lower() if lower_verbose_var == "true": verbose = True if not os.path.exists(config_file): print("Trying to start new config") new_configuration_dialog = NewConfigurationDialog(config_file) success = new_configuration_dialog.exec_() if not success: print("Can not run without a configuration file.") sys.exit(1) else: config_file = new_configuration_dialog.getConfigurationPath() first_case_name = new_configuration_dialog.getCaseName() dbase_type = new_configuration_dialog.getDBaseType() num_realizations = new_configuration_dialog.getNumberOfRealizations() storage_path = new_configuration_dialog.getStoragePath() EnKFMain.createNewConfig(config_file, storage_path, first_case_name, dbase_type, num_realizations) strict = False if os.path.isdir(config_file): print("The specified configuration file is a directory!") sys.exit(1) splash = ErtSplash() splash.version = "Version %s" % Version.getVersion() splash.timestamp = Version.getBuildTime() splash.show() splash.repaint() now = time.time() ert = Ert(EnKFMain(config_file, strict=strict, verbose=verbose)) ErtConnector.setErt(ert.ert()) window = GertMainWindow() window.setWidget(SimulationPanel()) plugin_handler = PluginHandler(ert.ert(), ert.ert().getWorkflowList().getPluginJobs(), window) help_tool = HelpTool("ERT", window) window.addDock("Configuration Summary", SummaryPanel(), area=Qt.BottomDockWidgetArea) window.addTool(IdeTool(os.path.basename(config_file), ert.reloadERT, help_tool)) window.addTool(PlotTool(ert.ert())) window.addTool(ExportTool()) window.addTool(WorkflowsTool()) window.addTool(ManageCasesTool()) window.addTool(PluginsTool(plugin_handler)) window.addTool(LoadResultsTool()) window.addTool(help_tool) sleep_time = 2 - (time.time() - now) if sleep_time > 0: time.sleep(sleep_time) window.show() splash.finish(window) window.activateWindow() window.raise_() finished_code = app.exec_() ert.ert().free() sys.exit(finished_code)