Class CodeEditor

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

    public class CodeEditor
    extends javax.swing.JPanel
    CodeEditor is a panel that includes a syntax highlighting text area that defaults to Python syntax, bracket matching, line numbering, etc. The main components are RSyntaxTextArea, and related packages from.
    Since:
    7.8.1
    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
      protected org.fife.ui.autocomplete.AutoCompletion autoCompleter  
      protected org.fife.rsta.ui.CollapsibleSectionPanel collapsingSectionPanel  
      static java.lang.String[] PYTHON_KEYWORDS  
      protected org.fife.ui.rtextarea.RTextScrollPane rTextScrollPane  
      protected org.fife.ui.rsyntaxtextarea.RSyntaxTextArea textArea  
      • 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
      CodeEditor()  
      CodeEditor​(DesignerContext context)  
      CodeEditor​(javax.swing.JFrame parent, DesignerContext context)
      This constructor will instantiate a CodeEditor and use the context's script manager to populate and initialize the auto completion hints using default color theme and Python syntax highlighting.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addAutoCompletionhints​(java.lang.String pathKey, java.util.List<ScriptFunctionHint> hints)
      Will add a one or more hints to the autocomplete system for all CodeEditors for the lifetime of this gateway.
      org.fife.ui.autocomplete.AutoCompletion getAutoCompleter()  
      org.fife.rsta.ui.CollapsibleSectionPanel getCollapsingSectionPanel()  
      org.fife.ui.autocomplete.CompletionProvider getCompletionProvider()  
      NamedTheme getCurrentTheme()  
      org.fife.ui.rsyntaxtextarea.ErrorStrip getErrorStrip()  
      org.fife.ui.rtextarea.RTextScrollPane getrTextScrollPane()  
      java.lang.String getText()
      Returns the text held by the internal RSyntaxText area.
      org.fife.ui.rsyntaxtextarea.RSyntaxTextArea getTextArea()  
      boolean isShowCompletionDescription()  
      protected void rebuildDefaultCompletions()
      Will rebuild the completions
      void removeAutoCompletions​(java.lang.String pathKey, java.util.List<ScriptFunctionHint> hints)
      Removes all hints that have the same function signature as those in the list and are associated with the given pathKey
      void setCurrentTheme​(NamedTheme namedTheme)  
      void setFont​(java.awt.Font font)  
      void showCompletionDescription​(boolean show)
      Sets whether or not the autocompletion should pop up the description window for functions
      • 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, 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
    • Field Detail

      • PYTHON_KEYWORDS

        public static final java.lang.String[] PYTHON_KEYWORDS
      • textArea

        protected org.fife.ui.rsyntaxtextarea.RSyntaxTextArea textArea
      • rTextScrollPane

        protected org.fife.ui.rtextarea.RTextScrollPane rTextScrollPane
      • autoCompleter

        protected org.fife.ui.autocomplete.AutoCompletion autoCompleter
      • collapsingSectionPanel

        protected org.fife.rsta.ui.CollapsibleSectionPanel collapsingSectionPanel
    • Constructor Detail

      • CodeEditor

        public CodeEditor()
      • CodeEditor

        public CodeEditor​(javax.swing.JFrame parent,
                          DesignerContext context)
        This constructor will instantiate a CodeEditor and use the context's script manager to populate and initialize the auto completion hints using default color theme and Python syntax highlighting.
    • Method Detail

      • addAutoCompletionhints

        public void addAutoCompletionhints​(java.lang.String pathKey,
                                           java.util.List<ScriptFunctionHint> hints)
        Will add a one or more hints to the autocomplete system for all CodeEditors for the lifetime of this gateway. The 'pathKey' is generally the first part of the function's fully qualified path. For example, 'shared.timers.startTimer()' would have a pathKey of 'shared'.
        Parameters:
        pathKey - the key that will be registered with the autocompletion system.
        hints - a list of ScriptFunctionHint that will be added to the auto-completion system
      • removeAutoCompletions

        public void removeAutoCompletions​(java.lang.String pathKey,
                                          java.util.List<ScriptFunctionHint> hints)
        Removes all hints that have the same function signature as those in the list and are associated with the given pathKey
        Parameters:
        pathKey - the pathkey, generally the first part of the full function path
        hints - a list of all hints that should be removed from the map
      • rebuildDefaultCompletions

        protected void rebuildDefaultCompletions()
        Will rebuild the completions
      • getCurrentTheme

        public NamedTheme getCurrentTheme()
      • setCurrentTheme

        public void setCurrentTheme​(NamedTheme namedTheme)
      • showCompletionDescription

        public void showCompletionDescription​(boolean show)
        Sets whether or not the autocompletion should pop up the description window for functions
        Parameters:
        show - true to show the description window, false to only show the autocomplete options
      • isShowCompletionDescription

        public boolean isShowCompletionDescription()
      • getAutoCompleter

        public org.fife.ui.autocomplete.AutoCompletion getAutoCompleter()
      • getCollapsingSectionPanel

        public org.fife.rsta.ui.CollapsibleSectionPanel getCollapsingSectionPanel()
      • getCompletionProvider

        public org.fife.ui.autocomplete.CompletionProvider getCompletionProvider()
      • getrTextScrollPane

        public org.fife.ui.rtextarea.RTextScrollPane getrTextScrollPane()
      • getErrorStrip

        public org.fife.ui.rsyntaxtextarea.ErrorStrip getErrorStrip()
      • getTextArea

        public org.fife.ui.rsyntaxtextarea.RSyntaxTextArea getTextArea()
      • getText

        public java.lang.String getText()
        Returns the text held by the internal RSyntaxText area. If the text area is null, an empty string is returned.
        Returns:
        the contents of the code editor, or an empty String
      • setFont

        public void setFont​(java.awt.Font font)
        Overrides:
        setFont in class javax.swing.JComponent