Package apps

Class Apps

  • All Implemented Interfaces:
    java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    Direct Known Subclasses:
    DecoderPro, DispatcherPro, InstallTest, PanelPro, SoundPro

    public class Apps
    extends javax.swing.JPanel
    implements java.beans.PropertyChangeListener, java.awt.event.WindowListener
    Base class for JMRI applications.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) static javax.swing.JComponent _buttonSpace  
      (package private) static javax.swing.JComponent _jynstrumentSpace  
      protected static boolean configDeferredLoadOK  
      (package private) static java.lang.String configFilename  
      protected static boolean configOK  
      (package private) ConnectionConfig[] connection  
      (package private) javax.swing.JLabel cs4  
      (package private) javax.swing.JLabel cs5  
      (package private) javax.swing.JLabel cs6  
      (package private) javax.swing.JLabel cs7  
      (package private) static boolean debugFired  
      (package private) static java.awt.event.AWTEventListener debugListener  
      (package private) static boolean debugmsg  
      (package private) static java.lang.String nameString  
      (package private) static java.lang.String profileFilename  
      (package private) static SplashWindow sp  
      • Fields inherited from class javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      Apps()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void attachHelp()
      Attach Help target to Help button on Main Screen.
      protected void buildLine​(ConnectionConfig conn, javax.swing.JLabel cs, javax.swing.JPanel pane)  
      protected void buildLine4​(javax.swing.JPanel pane)  
      protected void buildLine5​(javax.swing.JPanel pane)  
      protected void buildLine6​(javax.swing.JPanel pane)  
      protected void buildLine7​(javax.swing.JPanel pane)  
      static javax.swing.JComponent buttonSpace()
      Provide access to a place where applications can expect the configuration code to build run-time buttons.
      protected static void createFrame​(Apps containedPane, JmriJFrame frame)  
      protected void createMenus​(javax.swing.JMenuBar menuBar, WindowInterface wi)
      Create default menubar.
      void doPreferences()
      Open Preferences action.
      static java.lang.String getConfigFileName()  
      static boolean handleQuit()
      The application decided to quit, handle that.
      static boolean handleRestart()
      The application decided to restart, handle that.
      protected java.lang.String line1()  
      protected java.lang.String line2()  
      protected java.lang.String line3()  
      protected java.lang.String line8()  
      protected java.lang.String line9()  
      protected static void loadFile​(java.lang.String name)  
      protected java.lang.String logo()  
      protected java.lang.String mainWindowHelpID()
      Returns the ID for the main window's help, which is application specific
      void propertyChange​(java.beans.PropertyChangeEvent ev)  
      protected static void setApplication​(java.lang.String name)  
      protected void setButtonSpace()
      Prepare the JPanel to contain buttons in the startup GUI.
      protected static void setConfigFilename​(java.lang.String def, java.lang.String[] args)
      Set up the configuration file name at startup.
      protected static void setJmriSystemProperty​(java.lang.String key, java.lang.String value)  
      protected void setJynstrumentSpace()  
      protected void setPrefsFrameHelp​(JmriJFrame frame, java.lang.String location)
      Set the location of the window-specific help for the preferences pane.
      protected static void setStartupInfo​(java.lang.String name)
      Set and log some startup information.
      protected static void splash​(boolean show)  
      protected static void splash​(boolean show, boolean debug)  
      protected static javax.swing.JPanel splashDebugMsg()  
      protected static void startupDebug()  
      protected javax.swing.JPanel statusPanel()
      Fill in the logo and status panel
      protected void updateLine​(ConnectionConfig conn, javax.swing.JLabel cs)  
      void windowActivated​(java.awt.event.WindowEvent e)  
      void windowClosed​(java.awt.event.WindowEvent e)  
      void windowClosing​(java.awt.event.WindowEvent e)
      Closing the main window is a shutdown request.
      void windowDeactivated​(java.awt.event.WindowEvent e)  
      void windowDeiconified​(java.awt.event.WindowEvent e)  
      void windowIconified​(java.awt.event.WindowEvent e)  
      void windowOpened​(java.awt.event.WindowEvent e)  
      static void ynstrument​(java.lang.String path)  
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Apps

        public Apps()
    • Method Detail

      • setButtonSpace

        protected void setButtonSpace()
        Prepare the JPanel to contain buttons in the startup GUI. Since it's possible to add buttons via the preferences, this space may have additional buttons appended to it later. The default implementation here just creates an empty space for these to be added to.
      • ynstrument

        public static void ynstrument​(java.lang.String path)
      • createMenus

        protected void createMenus​(javax.swing.JMenuBar menuBar,
                                   WindowInterface wi)
        Create default menubar.

        This does not include the development menu.

        Parameters:
        menuBar - Menu bar to be populated
        wi - WindowInterface where this menu bar will appear
      • doPreferences

        public void doPreferences()
        Open Preferences action. Often done due to error
      • setPrefsFrameHelp

        protected void setPrefsFrameHelp​(JmriJFrame frame,
                                         java.lang.String location)
        Set the location of the window-specific help for the preferences pane. Made a separate method so if can be overridden for application specific preferences help
        Parameters:
        frame - The frame being described in the help system
        location - The location within the JavaHelp system
      • mainWindowHelpID

        protected java.lang.String mainWindowHelpID()
        Returns the ID for the main window's help, which is application specific
        Returns:
        help identifier for main window
      • line1

        protected java.lang.String line1()
      • line2

        protected java.lang.String line2()
      • line3

        protected java.lang.String line3()
      • buildLine4

        protected void buildLine4​(javax.swing.JPanel pane)
      • buildLine5

        protected void buildLine5​(javax.swing.JPanel pane)
      • buildLine6

        protected void buildLine6​(javax.swing.JPanel pane)
      • buildLine7

        protected void buildLine7​(javax.swing.JPanel pane)
      • line8

        protected java.lang.String line8()
      • line9

        protected java.lang.String line9()
      • logo

        protected java.lang.String logo()
      • statusPanel

        protected javax.swing.JPanel statusPanel()
        Fill in the logo and status panel
        Returns:
        Properly-filled out JPanel
      • windowClosing

        public void windowClosing​(java.awt.event.WindowEvent e)
        Closing the main window is a shutdown request.
        Specified by:
        windowClosing in interface java.awt.event.WindowListener
        Parameters:
        e - the event triggering the close
      • windowActivated

        public void windowActivated​(java.awt.event.WindowEvent e)
        Specified by:
        windowActivated in interface java.awt.event.WindowListener
      • windowClosed

        public void windowClosed​(java.awt.event.WindowEvent e)
        Specified by:
        windowClosed in interface java.awt.event.WindowListener
      • windowDeactivated

        public void windowDeactivated​(java.awt.event.WindowEvent e)
        Specified by:
        windowDeactivated in interface java.awt.event.WindowListener
      • windowDeiconified

        public void windowDeiconified​(java.awt.event.WindowEvent e)
        Specified by:
        windowDeiconified in interface java.awt.event.WindowListener
      • windowIconified

        public void windowIconified​(java.awt.event.WindowEvent e)
        Specified by:
        windowIconified in interface java.awt.event.WindowListener
      • windowOpened

        public void windowOpened​(java.awt.event.WindowEvent e)
        Specified by:
        windowOpened in interface java.awt.event.WindowListener
      • setJmriSystemProperty

        protected static void setJmriSystemProperty​(java.lang.String key,
                                                    java.lang.String value)
      • buttonSpace

        public static javax.swing.JComponent buttonSpace()
        Provide access to a place where applications can expect the configuration code to build run-time buttons.
        Returns:
        null if no such space exists
        See Also:
        CreateButtonModelFactory
      • splash

        protected static void splash​(boolean show)
      • splash

        protected static void splash​(boolean show,
                                     boolean debug)
      • splashDebugMsg

        protected static javax.swing.JPanel splashDebugMsg()
      • handleQuit

        public static boolean handleQuit()
        The application decided to quit, handle that.
        Returns:
        true if successfully ran all shutdown tasks and can quit; false otherwise
      • handleRestart

        public static boolean handleRestart()
        The application decided to restart, handle that.
        Returns:
        true if successfully ran all shutdown tasks and can quit; false otherwise
      • setConfigFilename

        protected static void setConfigFilename​(java.lang.String def,
                                                java.lang.String[] args)
        Set up the configuration file name at startup.

        The Configuration File name variable holds the name used to load the configuration file during later startup processing. Applications invoke this method to handle the usual startup hierarchy:

        • If an absolute filename was provided on the command line, use it
        • If a filename was provided that's not absolute, consider it to be in the preferences directory
        • If no filename provided, use a default name (that's application specific)
        This name will be used for reading and writing the preferences. It need not exist when the program first starts up. This name may be proceeded with config= and may not contain the equals sign (=).
        Parameters:
        def - Default value if no other is provided
        args - Argument array from the main routine
      • loadFile

        protected static void loadFile​(java.lang.String name)
      • setApplication

        protected static void setApplication​(java.lang.String name)
      • setStartupInfo

        protected static void setStartupInfo​(java.lang.String name)
        Set and log some startup information. This is intended to be the central connection point for common startup and logging.
        Parameters:
        name - Program/application name as known by the user
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent ev)
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener
      • attachHelp

        protected void attachHelp()
        Attach Help target to Help button on Main Screen.