Class SystemMap.SystemMapElement

java.lang.Object
com.inductiveautomation.ignition.gateway.web.models.SystemMap.SystemMapElement
All Implemented Interfaces:
Serializable, Comparable<SystemMap.SystemMapElement>
Enclosing class:
SystemMap

public static class SystemMap.SystemMapElement extends Object implements Serializable, Comparable<SystemMap.SystemMapElement>
The SystemMapElement is a block inside of the system map, representing distinct part of the overall system. It is created with a title, an order (vertical position index, relative to other elements), and a link to the status panel for the element.

After creating the element, the module can add StatusItems to it. Several convenience functions are provided for the most common types of status, such as the number of "connected objects".

See Also:
  • Constructor Details

    • SystemMapElement

      public SystemMapElement(int order, String titleKey, String statusPanelLink)
    • SystemMapElement

      public SystemMapElement(int order, String titleKey, String statusPanelLink, boolean linkExternal)
  • Method Details

    • addNumConnectedStatusItem

      public void addNumConnectedStatusItem(int numConnected, int total)
      Adds a status item like: "%d/%d connected" that has a warning state if numConnected is less than total. Also clears the SystemMapElement.active flag if total==0
    • addNumOpenStatusItem

      public void addNumOpenStatusItem(int numOpen)
      Adds a status item like: "%d open". Also clears the SystemMapElement.active flag if numOpen==0
    • addStatusItemf

      public void addStatusItemf(SystemMap.SystemMapElement.StatusItemState state, String bundleKey, Object... args)
    • addStatusItem

      public void addStatusItem(String display, SystemMap.SystemMapElement.StatusItemState state)
    • addStatusItem

      public void addStatusItem(SystemMap.SystemMapElement.StatusItem statusItem)
    • getStatusItems

      public List<SystemMap.SystemMapElement.StatusItem> getStatusItems()
    • compareTo

      public int compareTo(SystemMap.SystemMapElement other)
      Specified by:
      compareTo in interface Comparable<SystemMap.SystemMapElement>
    • getTitle

      public String getTitle()
    • getStatusPanelLink

      public String getStatusPanelLink()
    • isLinkExternal

      public boolean isLinkExternal()
    • isActive

      public boolean isActive()
    • setActive

      public void setActive(boolean active)
    • getActiveIcon

      public byte[] getActiveIcon()
    • setActiveIcon

      public void setActiveIcon(byte[] activeIcon)
    • getInactiveIcon

      public byte[] getInactiveIcon()
    • setInactiveIcon

      public void setInactiveIcon(byte[] inactiveIcon)
    • setIcons

      public void setIcons(Class<?> relativeTo, String pathPattern) throws IOException
      Shortcut for setting the active and inactive icons, assuming they are accessible through the classloader relative to the given class. The path pattern will be used with %s replaced with "active" and "inactive", like so:

       element.setIcons(getClass(), "images/elmicon_%s.png");
       

      Somewhat cheesy, but effective!

      Throws:
      IOException - when unable to read from the input streams obtained from class.getResourceAsStream()
      NullPointerException - if one of the icons is not found.
    • isIconVisible

      public boolean isIconVisible()
    • setIconVisible

      public void setIconVisible(boolean iconVisible)