Class MainWindow

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ClockListener

    public class MainWindow
    extends javax.swing.JFrame
    implements java.beans.PropertyChangeListener, ClockListener
    Main window of the Rachota application.
    See Also:
    Serialized Form
    • Nested Class Summary

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

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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
      private javax.swing.JMenuBar mbMenu  
      private javax.swing.JMenuItem mnAbout  
      private javax.swing.JMenuItem mnAddNote  
      private javax.swing.JMenuItem mnAdjustStart  
      private javax.swing.JMenuItem mnCopyTask  
      private javax.swing.JMenuItem mnCorrectDuration  
      private javax.swing.JMenuItem mnDocs  
      private javax.swing.JMenuItem mnExit  
      private javax.swing.JMenuItem mnFAQs  
      private javax.swing.JMenu mnHelp  
      private javax.swing.JMenuItem mnMoveTime  
      private javax.swing.JMenuItem mnSettings  
      private javax.swing.JMenuItem mnSwitchDate  
      private javax.swing.JMenu mnSystem  
      private javax.swing.JMenu mnTask  
      private javax.swing.JMenu mnTools  
      private boolean reportingActivity
      Flag to prevent multiple reporting of activity.
      private javax.swing.JSeparator separator  
      private static int TAB_ANALYTICS_VIEW
      Index of analytics view tab.
      private static int TAB_DAY_VIEW
      Index of day view tab.
      private static int TAB_HISTORY_VIEW
      Index of history view tab.
      private javax.swing.JTabbedPane tpViews  
      • Fields inherited from class javax.swing.JFrame

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • Fields inherited from class java.awt.Component

        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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      MainWindow()
      Creates new application main window.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static void checkAnotherInstance()
      Checks whether another instance of Rachota is running or Rachota was not exited normally i.e.
      private void createSystemTray()  
      private boolean enableSystemTray()
      Returns whether system tray icon should be created or not.
      private void formComponentShown​(java.awt.event.ComponentEvent evt)  
      private void formMouseEntered​(java.awt.event.MouseEvent evt)  
      private void formWindowClosing​(java.awt.event.WindowEvent evt)
      Method called when application should be exited.
      private void formWindowIconified​(java.awt.event.WindowEvent evt)  
      java.awt.Font getFont()
      Returns font that should be used for all widgets in this component based on the language preferences specified by user.
      private javax.swing.JMenuItem getMenuItem​(java.lang.String menuName)  
      private java.awt.PopupMenu getTrayPopupMenu()  
      private void initComponents()
      This method is called from within the constructor to initialize the form.
      static void main​(java.lang.String[] args)
      Main method called when application is started.
      private void mnAboutActionPerformed​(java.awt.event.ActionEvent evt)
      Method called when information about the application should be displayed.
      private void mnAddNoteActionPerformed​(java.awt.event.ActionEvent evt)  
      private void mnAdjustStartActionPerformed​(java.awt.event.ActionEvent evt)  
      private void mnCopyTaskActionPerformed​(java.awt.event.ActionEvent evt)
      Method called when copy task action is required.
      private void mnCorrectDurationActionPerformed​(java.awt.event.ActionEvent evt)  
      private void mnDocsActionPerformed​(java.awt.event.ActionEvent evt)  
      private void mnExitActionPerformed​(java.awt.event.ActionEvent evt)
      Method called when exit application action was invoked.
      private void mnFAQsActionPerformed​(java.awt.event.ActionEvent evt)  
      private void mnMoveTimeActionPerformed​(java.awt.event.ActionEvent evt)
      Method called when move time action is required.
      private void mnSettingsActionPerformed​(java.awt.event.ActionEvent evt)
      Method called when change settings action is required.
      private void mnSwitchDateActionPerformed​(java.awt.event.ActionEvent evt)  
      void propertyChange​(java.beans.PropertyChangeEvent evt)
      Method called when some property of task was changed.
      void tick()
      Method called when one clock tick is over.
      private void tpViewsMouseEntered​(java.awt.event.MouseEvent evt)  
      private void updateSystemTray​(DayView dayView)  
      • Methods inherited from class javax.swing.JFrame

        addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        postEvent
    • Field Detail

      • mbMenu

        private javax.swing.JMenuBar mbMenu
      • mnAbout

        private javax.swing.JMenuItem mnAbout
      • mnAddNote

        private javax.swing.JMenuItem mnAddNote
      • mnAdjustStart

        private javax.swing.JMenuItem mnAdjustStart
      • mnCopyTask

        private javax.swing.JMenuItem mnCopyTask
      • mnCorrectDuration

        private javax.swing.JMenuItem mnCorrectDuration
      • mnDocs

        private javax.swing.JMenuItem mnDocs
      • mnExit

        private javax.swing.JMenuItem mnExit
      • mnFAQs

        private javax.swing.JMenuItem mnFAQs
      • mnHelp

        private javax.swing.JMenu mnHelp
      • mnMoveTime

        private javax.swing.JMenuItem mnMoveTime
      • mnSettings

        private javax.swing.JMenuItem mnSettings
      • mnSwitchDate

        private javax.swing.JMenuItem mnSwitchDate
      • mnSystem

        private javax.swing.JMenu mnSystem
      • mnTask

        private javax.swing.JMenu mnTask
      • mnTools

        private javax.swing.JMenu mnTools
      • separator

        private javax.swing.JSeparator separator
      • tpViews

        private javax.swing.JTabbedPane tpViews
      • reportingActivity

        private boolean reportingActivity
        Flag to prevent multiple reporting of activity.
      • TAB_DAY_VIEW

        private static final int TAB_DAY_VIEW
        Index of day view tab.
        See Also:
        Constant Field Values
      • TAB_HISTORY_VIEW

        private static final int TAB_HISTORY_VIEW
        Index of history view tab.
        See Also:
        Constant Field Values
      • TAB_ANALYTICS_VIEW

        private static final int TAB_ANALYTICS_VIEW
        Index of analytics view tab.
        See Also:
        Constant Field Values
    • Constructor Detail

      • MainWindow

        public MainWindow()
                   throws java.lang.Exception
        Creates new application main window.
        Throws:
        java.lang.Exception - Exception thrown when some I/O problems occur while loading settings or diary files.
    • Method Detail

      • main

        public static void main​(java.lang.String[] args)
                         throws java.lang.Exception
        Main method called when application is started.
        Parameters:
        args - Command line arguments passed from operating system.
        Throws:
        java.lang.Exception - Exception thrown when some I/O problems occur while loading settings or diary files.
      • getFont

        public java.awt.Font getFont()
        Returns font that should be used for all widgets in this component based on the language preferences specified by user.
        Specified by:
        getFont in interface java.awt.MenuContainer
        Overrides:
        getFont in class java.awt.Component
        Returns:
        Font to be used in this component.
      • initComponents

        private void initComponents()
        This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.
      • formWindowIconified

        private void formWindowIconified​(java.awt.event.WindowEvent evt)
      • mnSwitchDateActionPerformed

        private void mnSwitchDateActionPerformed​(java.awt.event.ActionEvent evt)
      • mnMoveTimeActionPerformed

        private void mnMoveTimeActionPerformed​(java.awt.event.ActionEvent evt)
        Method called when move time action is required.
        Parameters:
        evt - Event that invoked the action.
      • mnCopyTaskActionPerformed

        private void mnCopyTaskActionPerformed​(java.awt.event.ActionEvent evt)
        Method called when copy task action is required.
        Parameters:
        evt - Event that invoked the action.
      • mnSettingsActionPerformed

        private void mnSettingsActionPerformed​(java.awt.event.ActionEvent evt)
        Method called when change settings action is required.
        Parameters:
        evt - Event that invoked the action.
      • mnExitActionPerformed

        private void mnExitActionPerformed​(java.awt.event.ActionEvent evt)
        Method called when exit application action was invoked.
        Parameters:
        evt - Event that invoked the action.
      • mnAboutActionPerformed

        private void mnAboutActionPerformed​(java.awt.event.ActionEvent evt)
        Method called when information about the application should be displayed.
        Parameters:
        evt - Event that invoked the action.
      • formWindowClosing

        private void formWindowClosing​(java.awt.event.WindowEvent evt)
        Method called when application should be exited.
        Parameters:
        evt - Event that invoked the action.
      • formComponentShown

        private void formComponentShown​(java.awt.event.ComponentEvent evt)
      • mnAddNoteActionPerformed

        private void mnAddNoteActionPerformed​(java.awt.event.ActionEvent evt)
      • mnAdjustStartActionPerformed

        private void mnAdjustStartActionPerformed​(java.awt.event.ActionEvent evt)
      • formMouseEntered

        private void formMouseEntered​(java.awt.event.MouseEvent evt)
      • tpViewsMouseEntered

        private void tpViewsMouseEntered​(java.awt.event.MouseEvent evt)
      • mnCorrectDurationActionPerformed

        private void mnCorrectDurationActionPerformed​(java.awt.event.ActionEvent evt)
      • mnDocsActionPerformed

        private void mnDocsActionPerformed​(java.awt.event.ActionEvent evt)
      • mnFAQsActionPerformed

        private void mnFAQsActionPerformed​(java.awt.event.ActionEvent evt)
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent evt)
        Method called when some property of task was changed.
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener
        Parameters:
        evt - Event describing what was changed.
      • updateSystemTray

        private void updateSystemTray​(DayView dayView)
      • getTrayPopupMenu

        private java.awt.PopupMenu getTrayPopupMenu()
      • createSystemTray

        private void createSystemTray()
      • tick

        public void tick()
        Description copied from interface: ClockListener
        Method called when one clock tick is over.
        Specified by:
        tick in interface ClockListener
      • enableSystemTray

        private boolean enableSystemTray()
        Returns whether system tray icon should be created or not.
        Returns:
        False if Rachota enable.systemtray setting is set to false. True otherwise.
      • checkAnotherInstance

        private static void checkAnotherInstance()
        Checks whether another instance of Rachota is running or Rachota was not exited normally i.e. if this instance could be launched. If there is not a lock file in userdir, startup is approved. If there is the lock file, user is asked to confirm if he really wants to share selected userdir with another instance of Rachota. If s/he agrees, the startup goes on.
      • getMenuItem

        private javax.swing.JMenuItem getMenuItem​(java.lang.String menuName)