Class PMIWeekView

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  PMIWeekView.TimeInfo  
      • 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
    • Constructor Summary

      Constructors 
      Constructor Description
      PMIWeekView()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent e)  
      protected javax.swing.JComponent createComponent​(EventItem item, java.util.Date startDate, java.util.Date endDate)  
      protected com.inductiveautomation.factorypmi.application.components.PMIWeekView.DayInfo findDayAt​(int x, int y)  
      protected java.util.List<EventItem> findEventsForDay​(java.util.Date day)  
      protected PMIWeekView.TimeInfo findTimeAt​(int x, int y)  
      int getAutoZoomEndHour()  
      int getAutoZoomStartHour()  
      java.awt.Color getBoxOutline()  
      java.util.Calendar getCal()  
      java.awt.Color getCalendarBackground()  
      com.inductiveautomation.factorypmi.application.components.PMIWeekView.DayInfo getCurrentDay()  
      EventBox getCurrentEvent()  
      int getDay()  
      java.awt.Font getEventFont()  
      java.awt.Color getEventForeground()
      Gets the text color for objects on this view.
      Dataset getEvents()  
      int getGridMarks()  
      java.awt.Font getHourFont()  
      java.awt.Color getHourForeground()  
      java.awt.Color getHoverBackground()  
      java.lang.String getHoveredDay()  
      int getHoveredEvent()  
      java.lang.String getHoveredTime()  
      protected int getLayer​(EventItem event)
      Overridden in subclasses to display events on separate layers rather than side-by-side
      int getMonth()  
      java.awt.Color getNonWorkingHourBackground()  
      java.awt.Color getSelectedBackground()  
      java.lang.String getSelectedDay()  
      int getSelectedEvent()  
      java.awt.Color getTodayBackground()  
      java.awt.Font getWeekdayFont()  
      java.awt.Color getWeekDaysBackground()  
      java.awt.Color getWeekDaysForeground()  
      int getWorkingEndHour()  
      int getWorkingStartHour()  
      int getYear()  
      void initialize()  
      protected void initUI()  
      boolean isAutoZoom()  
      boolean isFocusable()  
      boolean isOptimizedDrawingEnabled()  
      boolean isShowEventTime()  
      boolean isShowWeekend()  
      boolean isTwentyFourHour()  
      void localeChanged​(java.util.Locale newLocale)  
      static void main​(java.lang.String[] args)  
      void mouseClicked​(java.awt.event.MouseEvent e)  
      void mouseDragged​(java.awt.event.MouseEvent e)  
      void mouseEntered​(java.awt.event.MouseEvent e)  
      void mouseExited​(java.awt.event.MouseEvent e)  
      void mouseMoved​(java.awt.event.MouseEvent e)  
      void mousePressed​(java.awt.event.MouseEvent e)
      The EventBox components add this as a mouse listener, so these are listening to the event boxes themselves
      void mouseReleased​(java.awt.event.MouseEvent e)  
      protected void onShutdown()
      Subclasses should override this to provide shutdown logic.
      protected void onStartup()
      Subclasses should override this to provide startup logic.
      protected void paintCalendar​(java.awt.Graphics2D g, int x, int y, int w, int h)  
      protected void paintChildren​(java.awt.Graphics g)  
      protected void paintComponent​(java.awt.Graphics graphics)  
      protected void paintWeekDays​(java.awt.Graphics2D g, int x, int y, int w, int h)  
      void setAutoZoom​(boolean autoZoom)  
      void setAutoZoomEndHour​(int autoZoomEndHour)  
      void setAutoZoomStartHour​(int autoZoomStartHour)  
      protected void setBeginningOfDay​(java.util.Calendar cal)
      Sets the calendar to 00:00:00.000 (12 AM)
      void setBoxOutline​(java.awt.Color boxOutline)  
      void setCalendarBackground​(java.awt.Color calendarBackground)  
      void setCurrentDay​(com.inductiveautomation.factorypmi.application.components.PMIWeekView.DayInfo currentDay)  
      void setCurrentEvent​(EventBox currentEvent)  
      void setDate​(int year, int month, int day)
      Sets the year, month and day all at once in order to avoid updating the internal calendar one field at a time, waiting until the end of the method to fire property changes and reinit the UI.
      void setDay​(int day)  
      protected void setEndOfDay​(java.util.Calendar cal)
      Sets the calendar to 23:59:59 (11:59 PM)
      void setEventFont​(java.awt.Font eventFont)  
      void setEventForeground​(java.awt.Color color)
      Sets the text color for objects on this view.
      void setEvents​(Dataset events)  
      void setGridMarks​(int gridMarks)  
      void setHourFont​(java.awt.Font hourFont)  
      void setHourForeground​(java.awt.Color hourForeground)  
      void setHoverBackground​(java.awt.Color hoverBackground)  
      void setHoveredDay​(java.lang.String hoveredDay)  
      void setHoveredDayOnly​(java.lang.String hoveredDay)  
      void setHoveredEvent​(int hoveredEvent)  
      void setHoveredEventOnly​(int hoveredEvent)  
      void setHoveredTime​(java.lang.String hoveredTime)  
      void setHoveredTimeOnly​(java.lang.String hoveredTime)  
      void setMonth​(int month)  
      void setNonWorkingHourBackground​(java.awt.Color nonWorkingHourBackground)  
      void setSelectedBackground​(java.awt.Color selectedBackground)  
      void setSelectedDay​(java.lang.String selectedDay)  
      void setSelectedDayOnly​(java.lang.String selectedDay)  
      void setSelectedEvent​(int selectedEvent)  
      void setSelectedEventOnly​(int selectedEvent)  
      void setShowEventTime​(boolean showTime)  
      void setShowWeekend​(boolean showWeekend)  
      void setTodayBackground​(java.awt.Color todayBackground)  
      void setTwentyFourHour​(boolean twentyFourHour)  
      void setUseLocaleTimeFormat​(boolean useLocaleTimeFormat)  
      void setWeekdayFont​(java.awt.Font weekdayFont)  
      void setWeekDaysBackground​(java.awt.Color weekDaysBackground)  
      void setWeekDaysForeground​(java.awt.Color weekDaysForeground)  
      void setWorkingEndHour​(int workingEndHour)  
      void setWorkingStartHour​(int workingStartHour)  
      void setYear​(int year)  
      void updateDateInfo​(java.util.Locale locale)  
      • 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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, 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, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, 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, 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, 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
    • Field Detail

      • todayDate

        public java.util.Date todayDate
    • Constructor Detail

      • PMIWeekView

        public PMIWeekView()
    • Method Detail

      • isOptimizedDrawingEnabled

        public boolean isOptimizedDrawingEnabled()
        Overrides:
        isOptimizedDrawingEnabled in class javax.swing.JComponent
      • isFocusable

        public boolean isFocusable()
        Overrides:
        isFocusable in class java.awt.Component
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent e)
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
      • initUI

        protected void initUI()
      • setBeginningOfDay

        protected final void setBeginningOfDay​(java.util.Calendar cal)
        Sets the calendar to 00:00:00.000 (12 AM)
      • setEndOfDay

        protected final void setEndOfDay​(java.util.Calendar cal)
        Sets the calendar to 23:59:59 (11:59 PM)
      • getLayer

        protected int getLayer​(EventItem event)
        Overridden in subclasses to display events on separate layers rather than side-by-side
      • findEventsForDay

        protected java.util.List<EventItem> findEventsForDay​(java.util.Date day)
      • createComponent

        protected javax.swing.JComponent createComponent​(EventItem item,
                                                         java.util.Date startDate,
                                                         java.util.Date endDate)
      • main

        public static void main​(java.lang.String[] args)
      • getEvents

        public Dataset getEvents()
      • setEvents

        public void setEvents​(Dataset events)
      • isAutoZoom

        public boolean isAutoZoom()
      • setAutoZoom

        public void setAutoZoom​(boolean autoZoom)
      • isShowEventTime

        public boolean isShowEventTime()
      • setShowEventTime

        public void setShowEventTime​(boolean showTime)
      • getAutoZoomStartHour

        public int getAutoZoomStartHour()
      • setAutoZoomStartHour

        public void setAutoZoomStartHour​(int autoZoomStartHour)
      • getAutoZoomEndHour

        public int getAutoZoomEndHour()
      • setAutoZoomEndHour

        public void setAutoZoomEndHour​(int autoZoomEndHour)
      • getWorkingStartHour

        public int getWorkingStartHour()
      • setWorkingStartHour

        public void setWorkingStartHour​(int workingStartHour)
      • getWorkingEndHour

        public int getWorkingEndHour()
      • setWorkingEndHour

        public void setWorkingEndHour​(int workingEndHour)
      • getGridMarks

        public int getGridMarks()
      • setGridMarks

        public void setGridMarks​(int gridMarks)
      • setDate

        public void setDate​(int year,
                            int month,
                            int day)
        Sets the year, month and day all at once in order to avoid updating the internal calendar one field at a time, waiting until the end of the method to fire property changes and reinit the UI. Otherwise an exception can be thrown when going to a month with fewer days than the current month when you happen to be on the day that doesn't exist. (e.g. 3/31 -> 4/x)
        Parameters:
        year - >= 0
        month - 1-12
        day - 1-31
      • getDay

        public int getDay()
      • setDay

        public void setDay​(int day)
      • getMonth

        public int getMonth()
      • setMonth

        public void setMonth​(int month)
      • getYear

        public int getYear()
      • setYear

        public void setYear​(int year)
      • getSelectedDay

        public java.lang.String getSelectedDay()
      • setSelectedDayOnly

        public void setSelectedDayOnly​(java.lang.String selectedDay)
      • setSelectedDay

        public void setSelectedDay​(java.lang.String selectedDay)
      • getHoveredDay

        public java.lang.String getHoveredDay()
      • setHoveredDay

        public void setHoveredDay​(java.lang.String hoveredDay)
      • setHoveredDayOnly

        public void setHoveredDayOnly​(java.lang.String hoveredDay)
      • getHoveredTime

        public java.lang.String getHoveredTime()
      • setHoveredTime

        public void setHoveredTime​(java.lang.String hoveredTime)
      • setHoveredTimeOnly

        public void setHoveredTimeOnly​(java.lang.String hoveredTime)
      • getSelectedEvent

        public int getSelectedEvent()
      • setSelectedEventOnly

        public void setSelectedEventOnly​(int selectedEvent)
      • setSelectedEvent

        public void setSelectedEvent​(int selectedEvent)
      • getHoveredEvent

        public int getHoveredEvent()
      • setHoveredEvent

        public void setHoveredEvent​(int hoveredEvent)
      • setHoveredEventOnly

        public void setHoveredEventOnly​(int hoveredEvent)
      • getCurrentDay

        public com.inductiveautomation.factorypmi.application.components.PMIWeekView.DayInfo getCurrentDay()
      • setCurrentDay

        public void setCurrentDay​(com.inductiveautomation.factorypmi.application.components.PMIWeekView.DayInfo currentDay)
      • getCurrentEvent

        public EventBox getCurrentEvent()
      • setCurrentEvent

        public void setCurrentEvent​(EventBox currentEvent)
      • setEventFont

        public void setEventFont​(java.awt.Font eventFont)
      • getEventFont

        public java.awt.Font getEventFont()
      • setEventForeground

        public void setEventForeground​(java.awt.Color color)
        Sets the text color for objects on this view.
        Parameters:
        color - the color to set
      • getEventForeground

        public java.awt.Color getEventForeground()
        Gets the text color for objects on this view.
        Returns:
        the Color that is currently set. Will not be null
      • setHourFont

        public void setHourFont​(java.awt.Font hourFont)
      • getHourFont

        public java.awt.Font getHourFont()
      • getWeekdayFont

        public java.awt.Font getWeekdayFont()
      • setWeekdayFont

        public void setWeekdayFont​(java.awt.Font weekdayFont)
      • getWeekDaysForeground

        public java.awt.Color getWeekDaysForeground()
      • setWeekDaysForeground

        public void setWeekDaysForeground​(java.awt.Color weekDaysForeground)
      • getWeekDaysBackground

        public java.awt.Color getWeekDaysBackground()
      • setWeekDaysBackground

        public void setWeekDaysBackground​(java.awt.Color weekDaysBackground)
      • getBoxOutline

        public java.awt.Color getBoxOutline()
      • setBoxOutline

        public void setBoxOutline​(java.awt.Color boxOutline)
      • getCalendarBackground

        public java.awt.Color getCalendarBackground()
      • setCalendarBackground

        public void setCalendarBackground​(java.awt.Color calendarBackground)
      • getTodayBackground

        public java.awt.Color getTodayBackground()
      • setTodayBackground

        public void setTodayBackground​(java.awt.Color todayBackground)
      • getSelectedBackground

        public java.awt.Color getSelectedBackground()
      • setSelectedBackground

        public void setSelectedBackground​(java.awt.Color selectedBackground)
      • getHoverBackground

        public java.awt.Color getHoverBackground()
      • setHoverBackground

        public void setHoverBackground​(java.awt.Color hoverBackground)
      • getHourForeground

        public java.awt.Color getHourForeground()
      • setHourForeground

        public void setHourForeground​(java.awt.Color hourForeground)
      • getNonWorkingHourBackground

        public java.awt.Color getNonWorkingHourBackground()
      • setNonWorkingHourBackground

        public void setNonWorkingHourBackground​(java.awt.Color nonWorkingHourBackground)
      • isTwentyFourHour

        public boolean isTwentyFourHour()
      • setTwentyFourHour

        public void setTwentyFourHour​(boolean twentyFourHour)
      • setUseLocaleTimeFormat

        public void setUseLocaleTimeFormat​(boolean useLocaleTimeFormat)
      • isShowWeekend

        public boolean isShowWeekend()
      • setShowWeekend

        public void setShowWeekend​(boolean showWeekend)
      • mouseDragged

        public void mouseDragged​(java.awt.event.MouseEvent e)
        Specified by:
        mouseDragged in interface java.awt.event.MouseMotionListener
      • mouseMoved

        public void mouseMoved​(java.awt.event.MouseEvent e)
        Specified by:
        mouseMoved in interface java.awt.event.MouseMotionListener
      • mouseClicked

        public void mouseClicked​(java.awt.event.MouseEvent e)
        Specified by:
        mouseClicked in interface java.awt.event.MouseListener
      • mouseEntered

        public void mouseEntered​(java.awt.event.MouseEvent e)
        Specified by:
        mouseEntered in interface java.awt.event.MouseListener
      • mouseExited

        public void mouseExited​(java.awt.event.MouseEvent e)
        Specified by:
        mouseExited in interface java.awt.event.MouseListener
      • mousePressed

        public void mousePressed​(java.awt.event.MouseEvent e)
        The EventBox components add this as a mouse listener, so these are listening to the event boxes themselves
        Specified by:
        mousePressed in interface java.awt.event.MouseListener
      • mouseReleased

        public void mouseReleased​(java.awt.event.MouseEvent e)
        Specified by:
        mouseReleased in interface java.awt.event.MouseListener
      • findDayAt

        protected com.inductiveautomation.factorypmi.application.components.PMIWeekView.DayInfo findDayAt​(int x,
                                                                                                          int y)
      • paintWeekDays

        protected void paintWeekDays​(java.awt.Graphics2D g,
                                     int x,
                                     int y,
                                     int w,
                                     int h)
      • paintCalendar

        protected void paintCalendar​(java.awt.Graphics2D g,
                                     int x,
                                     int y,
                                     int w,
                                     int h)
      • getCal

        public java.util.Calendar getCal()
      • updateDateInfo

        public void updateDateInfo​(java.util.Locale locale)