Class CodeEditor
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.inductiveautomation.ignition.designer.gui.tools.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
-
-
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
-
-
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 Static 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.static void
fixCommentAction(org.fife.ui.rsyntaxtextarea.RSyntaxTextArea textArea)
Remove the pre-seeded 'close tag' action fromKeyEvent.VK_SLASH
and replace it withRSyntaxTextAreaEditorKit.rstaToggleCommentAction
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 completionsvoid
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 pathKeyvoid
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
-
-
-
-
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.
-
CodeEditor
public CodeEditor(DesignerContext context)
-
-
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 ofScriptFunctionHint
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 pathhints
- a list of all hints that should be removed from the map
-
rebuildDefaultCompletions
protected void rebuildDefaultCompletions()
Will rebuild the completions
-
fixCommentAction
public static void fixCommentAction(org.fife.ui.rsyntaxtextarea.RSyntaxTextArea textArea)
Remove the pre-seeded 'close tag' action fromKeyEvent.VK_SLASH
and replace it withRSyntaxTextAreaEditorKit.rstaToggleCommentAction
- Parameters:
textArea
- the text area to modify the input map of
-
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 classjavax.swing.JComponent
-
-