/* This file is part of jTotus. jTotus is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. jTotus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with jTotus. If not, see <http://www.gnu.org/licenses/>. */ package org.jtotus.gui; import org.jtotus.crypt.JtotusKeyRingPassword; import org.jtotus.engine.Engine; import org.jdesktop.application.Application; import org.jdesktop.application.SingleFrameApplication; import org.jtotus.engine.StartUpLoader; import org.jtotus.gui.passwords.JtotusPasswordGUI; /** * The main class of the application. */ public class JtotusApp extends SingleFrameApplication { /** * At startup create and show the main frame of the application. */ @Override protected void startup() { //Load ScriptEngine for JavaScript StartUpLoader loader = StartUpLoader.getInstance(); loader.load("js"); //Request for key-ring password JtotusPasswordGUI keyRingGUI = new JtotusPasswordGUI(new javax.swing.JFrame(), true); keyRingGUI.askForKeyRing(); JtotusKeyRingPassword password = JtotusKeyRingPassword.getInstance(); if (password.getKeyRingPassword() == null) { keyRingGUI.dispose(); System.exit(-1); } JtotusView mainWindow = new JtotusView(this); mainWindow.initialize(); show(mainWindow); Engine mainEngine = Engine.getInstance(); mainEngine.setGUI(mainWindow); mainEngine.run(); } /** * This method is to initialize the specified window by injecting resources. * Windows shown in our application come fully initialized from the GUI * builder, so this additional configuration is not needed. */ @Override protected void configureWindow(java.awt.Window root) { } /** * A convenient static getter for the application instance. * @return the instance of JtotusApp */ public static JtotusApp getApplication() { return Application.getInstance(JtotusApp.class); } /** * Main method launching the application. * @param args */ public static void main(String[] args) { launch(JtotusApp.class, args); } }