Class ViewResourceEditor

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

    public class ViewResourceEditor
    extends ResourceEditor<DesignerViewConfig>
    PerspectiveEditor is used as the editor when the Perspective Workspace is active and editing a Perspective Project Resource.
    Since:
    8.0.0
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ViewResourceEditor.ViewSaveData
      Serialization helper class for view saves that includes size info about the view itself, used for getting appropriately sized screenshots
      • 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 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean arePipesSiblings()  
      java.util.Optional<WebDebugFrame> debugFrame()  
      protected DesignerViewConfig deserialize​(ProjectResource resource)
      Deserialize a project resource into the editing object type for this editor.
      DesignAdapter getAdapter()  
      JavaJsBridge getBridge()  
      BrowserPanel getBrowserPane()  
      DesignerContext getContext()  
      DeepSelection getDeepSelection()  
      EditActionHandler getEditActionHandler()  
      com.teamdev.jxbrowser.engine.Engine getEngine()  
      com.google.common.eventbus.EventBus getEventBus()  
      protected DesignerViewConfig getObjectForSave()
      Return the object that should be saved to represent this resource in the ProjectResource.
      ResourcePath getResourcePath()  
      ComponentSelection getSelection()  
      ViewStructure getStructure()  
      com.inductiveautomation.ignition.common.gson.JsonElement getViewAsJson()  
      ViewConfig getViewConfig()  
      ViewWorkspace getWorkspace()  
      protected void init​(DesignerViewConfig designerViewConfig)  
      protected boolean isOptimizeCommits()
      Override this and return true if you want commits to use equality on the resource objects to avoid un-necessary commits.
      boolean isPipeSelected()  
      void notifyActivated()  
      void notifyDeactivated()  
      protected void onCommitFailed​(java.lang.Exception ex)  
      void refresh()  
      protected void serializeResource​(ProjectResourceBuilder builder, DesignerViewConfig designerViewConfig)
      Serialize the object and put the serialized file(s) and attribute(s) into the project resource builder.
      void setDeepSelection​(java.lang.String path)  
      void setPipeMode​(java.lang.String pipingMode)  
      void setPreview​(boolean preview)  
      void setStructure​(ViewStructure structure)
      Called by the bridge whenever the structure of components changes.
      • 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
    • Method Detail

      • getEngine

        public com.teamdev.jxbrowser.engine.Engine getEngine()
      • getEventBus

        public com.google.common.eventbus.EventBus getEventBus()
      • serializeResource

        protected void serializeResource​(ProjectResourceBuilder builder,
                                         DesignerViewConfig designerViewConfig)
        Description copied from class: ResourceEditor
        Serialize the object and put the serialized file(s) and attribute(s) into the project resource builder. Default implementation is:
        builder.putData(serialize(object));
        Implementations don't need to bother setting the project's resourcePath, projectName, or applicationScope; those will be set automatically.
        Overrides:
        serializeResource in class ResourceEditor<DesignerViewConfig>
      • setStructure

        public void setStructure​(ViewStructure structure)
        Called by the bridge whenever the structure of components changes. Powered by a MobX reaction inside DesignerStore#initWorkspaceSync()
        Parameters:
        structure - A lightweight representation of the component hierarchy
      • isPipeSelected

        public boolean isPipeSelected()
      • arePipesSiblings

        public boolean arePipesSiblings()
      • setDeepSelection

        public void setDeepSelection​(java.lang.String path)
      • debugFrame

        public java.util.Optional<WebDebugFrame> debugFrame()
      • getViewConfig

        public ViewConfig getViewConfig()
      • getObjectForSave

        protected DesignerViewConfig getObjectForSave()
                                               throws java.lang.Exception
        Description copied from class: ResourceEditor
        Return the object that should be saved to represent this resource in the ProjectResource. Will be serialized using an XMLSerializer. Override save() to serialize in a different manner.
        Specified by:
        getObjectForSave in class ResourceEditor<DesignerViewConfig>
        Throws:
        java.lang.Exception
      • getViewAsJson

        public com.inductiveautomation.ignition.common.gson.JsonElement getViewAsJson()
                                                                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • setPreview

        public void setPreview​(boolean preview)
      • setPipeMode

        public void setPipeMode​(java.lang.String pipingMode)
      • refresh

        public void refresh()
      • notifyActivated

        public void notifyActivated()
      • notifyDeactivated

        public void notifyDeactivated()