Package editor

Class EditorHost

  • All Implemented Interfaces:
    IEditorHost, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    Direct Known Subclasses:
    GosuEditor, StandardEditor

    public abstract class EditorHost
    extends javax.swing.JPanel
    implements IEditorHost
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) class  EditorHost.EditorKeyHandler  
      protected static class  EditorHost.HighlightMode  
      static class  EditorHost.LabHighlighter  
      (package private) class  EditorHost.ParseTask  
      private static class  EditorHost.TimerPool  
      • 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
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      private void _duplicate()  
      private void _handleBraceRightNow​(int caretPosition, boolean wasBraceTyped)  
      (package private) void _handleBulkComment()  
      (package private) void _handleBulkIndent​(boolean bOutdent)  
      (package private) void _handleEnter()  
      private void _joinLines()  
      protected void addDocumentListener()  
      protected void addKeyHandlers()  
      static boolean areAnyParserTasksPending()  
      protected boolean areMoreThanOneParserTasksGoingToUpdateContainingType()  
      protected boolean areMoreThanOneParserTasksPendingForThisEditor()  
      void centerView()  
      void clipCopy​(java.awt.datatransfer.Clipboard clipboard)  
      void clipCut​(java.awt.datatransfer.Clipboard clipboard)  
      void clipPaste​(java.awt.datatransfer.Clipboard clipboard, boolean asGosu)  
      void delete()
      delete the currently selected text, or the current line if nothing is selected
      (package private) void deleteLine()  
      (package private) void deleteWord()  
      (package private) void deleteWordForwards()  
      (package private) void dismissCompletionPopup()  
      void displayGotoLinePopup()  
      void duplicate()  
      private void fixCloseBraceIfNecessary​(java.lang.String previousLine)  
      private java.awt.datatransfer.Transferable getClipCopyContents()  
      javax.swing.JPopupMenu getCompletionPopup()  
      javax.swing.text.AbstractDocument getDocument()  
      java.lang.String getExpandedSelection()  
      protected EditorHost.HighlightMode getHighlightMode()  
      private java.lang.String getIndentWhitespace()  
      int getLineNumberAtCaret()  
      int getLineOffset​(int iLine)  
      IType getParsedClass()  
      static TaskQueue getParserTaskQueue()  
      private EditorHost.ParseTask getParseTask​(boolean forceCodeCompletion)  
      IScriptPartId getScriptPart()  
      abstract ISymbolTable getSymbolTableAtCursor()  
      java.lang.String getText()  
      int getTimerCount()  
      AtomicUndoManager getUndoManager()  
      void gotoLine​(int iLine)  
      void gotoLine​(int iLine, int iColumn)  
      void gotoNextUsageHighlight()  
      void gotoOffset​(int offset)  
      void gotoPrevUsageHighlight()  
      (package private) void handleBackspace()  
      (package private) void handleBraceRight()  
      private void handleBraceRightNow​(int caretPosition)  
      (package private) void handleBulkComment()  
      (package private) void handleBulkIndent​(boolean bOutdent)  
      void handleColon()  
      void handleCompleteCode()  
      void handleDot()  
      protected abstract void handleDot​(ISymbolTable transientSymTable)  
      (package private) void handleEnter()  
      private boolean handleOpenBrace​(java.lang.String strLine)  
      protected void hideMiscPopups()  
      void highlightLocations​(java.util.List<SearchLocation> locations)  
      private void indentIfOpenBracePrecedes​(java.lang.String strLine)  
      boolean isAltDown()  
      boolean isCompleteCode()  
      boolean isCompletionPopupShowing()  
      boolean isParserSuspended()  
      void joinLines()  
      (package private) void jumpRight()  
      void parse()  
      protected void parse​(boolean forceCodeCompletion)  
      void parseAndWaitForParser()  
      static void postTaskInParserThread​(java.lang.Runnable task)  
      void read​(IScriptPartId partId, java.lang.String strSource)  
      private void recordCaretPositionForUndo()  
      void removeAllHighlights()  
      private void removeHightlights()  
      (package private) void runIfNoKeyPressedInMillis​(long lMillis, java.lang.Runnable task)  
      void setCompleteCode​(boolean bCompleteCode)  
      void setCompletionPopup​(javax.swing.JPopupMenu completionPopup)  
      protected void setHighlightMode​(EditorHost.HighlightMode mode)  
      void setLabel​(java.lang.String label)  
      void setParserSuspended​(boolean bParserSuspended)  
      void setScriptPart​(IScriptPartId partId)  
      void setUndoableEditListener​(javax.swing.event.UndoableEditListener uel)
      Sets the one and only undoable edit listener for this editor section.
      void showFileInTree()  
      private int swallowSpaces​(javax.swing.text.Document document, int i)  
      (package private) void unindent()  
      static void waitForIntellisenseTimers()  
      void waitForParser()  
      static void waitOnParserThread()  
      • 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
    • Field Detail

      • TAB_SIZE

        public static final int TAB_SIZE
        The number of spacess assigned to a tab
        See Also:
        Constant Field Values
      • INTELLISENSE_TASK_QUEUE

        public static final java.lang.String INTELLISENSE_TASK_QUEUE
        See Also:
        Constant Field Values
      • COMPLETION_DELAY

        static int COMPLETION_DELAY
        Delay in millis for code completion to wait for key presses before displaying.
      • _completionPopup

        private javax.swing.JPopupMenu _completionPopup
      • _uel

        private javax.swing.event.UndoableEditListener _uel
      • _bParserSuspended

        private boolean _bParserSuspended
      • _bEnterPressedConsumed

        private boolean _bEnterPressedConsumed
      • _bAltDown

        private boolean _bAltDown
      • _bCompleteCode

        private boolean _bCompleteCode
      • _iTimerCount

        private int _iTimerCount
    • Method Detail

      • read

        public void read​(IScriptPartId partId,
                         java.lang.String strSource)
                  throws java.io.IOException
        Specified by:
        read in interface IEditorHost
        Throws:
        java.io.IOException
      • parseAndWaitForParser

        public void parseAndWaitForParser()
      • waitForParser

        public void waitForParser()
      • addKeyHandlers

        protected void addKeyHandlers()
      • showFileInTree

        public void showFileInTree()
      • getLineNumberAtCaret

        public int getLineNumberAtCaret()
      • getLineOffset

        public int getLineOffset​(int iLine)
      • handleBulkIndent

        void handleBulkIndent​(boolean bOutdent)
      • _handleBulkIndent

        void _handleBulkIndent​(boolean bOutdent)
      • setLabel

        public void setLabel​(java.lang.String label)
        Specified by:
        setLabel in interface IEditorHost
      • getDocument

        public javax.swing.text.AbstractDocument getDocument()
        Specified by:
        getDocument in interface IEditorHost
      • setUndoableEditListener

        public void setUndoableEditListener​(javax.swing.event.UndoableEditListener uel)
        Sets the one and only undoable edit listener for this editor section. The primary use case for this method is to establish an undo manager connection.
        Specified by:
        setUndoableEditListener in interface IEditorHost
        Parameters:
        uel - The UndoableEditListener to connect to this section's document.
      • addDocumentListener

        protected void addDocumentListener()
      • getText

        public java.lang.String getText()
        Specified by:
        getText in interface IEditorHost
      • dismissCompletionPopup

        void dismissCompletionPopup()
      • getCompletionPopup

        public javax.swing.JPopupMenu getCompletionPopup()
      • setCompletionPopup

        public void setCompletionPopup​(javax.swing.JPopupMenu completionPopup)
      • isCompletionPopupShowing

        public boolean isCompletionPopupShowing()
      • displayGotoLinePopup

        public void displayGotoLinePopup()
      • gotoLine

        public void gotoLine​(int iLine)
      • gotoLine

        public void gotoLine​(int iLine,
                             int iColumn)
      • gotoOffset

        public void gotoOffset​(int offset)
      • duplicate

        public void duplicate()
      • _duplicate

        private void _duplicate()
      • recordCaretPositionForUndo

        private void recordCaretPositionForUndo()
                                         throws javax.swing.text.BadLocationException
        Throws:
        javax.swing.text.BadLocationException
      • delete

        public void delete()
        delete the currently selected text, or the current line if nothing is selected
      • getExpandedSelection

        public java.lang.String getExpandedSelection()
        Returns:
        the selected text in the editor, expanding to the entire current line if no selection exists
      • deleteWord

        void deleteWord()
      • deleteWordForwards

        void deleteWordForwards()
      • deleteLine

        void deleteLine()
      • unindent

        void unindent()
      • joinLines

        public void joinLines()
      • _joinLines

        private void _joinLines()
      • swallowSpaces

        private int swallowSpaces​(javax.swing.text.Document document,
                                  int i)
                           throws javax.swing.text.BadLocationException
        Throws:
        javax.swing.text.BadLocationException
      • jumpRight

        void jumpRight()
      • centerView

        public void centerView()
      • removeHightlights

        private void removeHightlights()
      • hideMiscPopups

        protected void hideMiscPopups()
      • clipCut

        public void clipCut​(java.awt.datatransfer.Clipboard clipboard)
        Specified by:
        clipCut in interface IEditorHost
      • clipCopy

        public void clipCopy​(java.awt.datatransfer.Clipboard clipboard)
        Specified by:
        clipCopy in interface IEditorHost
      • clipPaste

        public void clipPaste​(java.awt.datatransfer.Clipboard clipboard,
                              boolean asGosu)
        Specified by:
        clipPaste in interface IEditorHost
      • getClipCopyContents

        private java.awt.datatransfer.Transferable getClipCopyContents()
      • handleEnter

        void handleEnter()
      • _handleEnter

        void _handleEnter()
      • handleOpenBrace

        private boolean handleOpenBrace​(java.lang.String strLine)
      • fixCloseBraceIfNecessary

        private void fixCloseBraceIfNecessary​(java.lang.String previousLine)
                                       throws javax.swing.text.BadLocationException
        Throws:
        javax.swing.text.BadLocationException
      • handleBackspace

        void handleBackspace()
      • indentIfOpenBracePrecedes

        private void indentIfOpenBracePrecedes​(java.lang.String strLine)
      • getIndentWhitespace

        private java.lang.String getIndentWhitespace()
      • handleBulkComment

        void handleBulkComment()
      • _handleBulkComment

        void _handleBulkComment()
      • handleBraceRight

        void handleBraceRight()
      • handleBraceRightNow

        private void handleBraceRightNow​(int caretPosition)
      • _handleBraceRightNow

        private void _handleBraceRightNow​(int caretPosition,
                                          boolean wasBraceTyped)
      • parse

        public void parse()
      • parse

        protected void parse​(boolean forceCodeCompletion)
      • postTaskInParserThread

        public static void postTaskInParserThread​(java.lang.Runnable task)
      • getParserTaskQueue

        public static TaskQueue getParserTaskQueue()
      • isParserSuspended

        public boolean isParserSuspended()
      • setParserSuspended

        public void setParserSuspended​(boolean bParserSuspended)
      • areAnyParserTasksPending

        public static boolean areAnyParserTasksPending()
      • areMoreThanOneParserTasksPendingForThisEditor

        protected boolean areMoreThanOneParserTasksPendingForThisEditor()
      • areMoreThanOneParserTasksGoingToUpdateContainingType

        protected boolean areMoreThanOneParserTasksGoingToUpdateContainingType()
      • isCompleteCode

        public boolean isCompleteCode()
      • setCompleteCode

        public void setCompleteCode​(boolean bCompleteCode)
      • handleDot

        public void handleDot()
      • handleColon

        public void handleColon()
      • handleCompleteCode

        public void handleCompleteCode()
      • handleDot

        protected abstract void handleDot​(ISymbolTable transientSymTable)
      • getSymbolTableAtCursor

        public abstract ISymbolTable getSymbolTableAtCursor()
      • runIfNoKeyPressedInMillis

        void runIfNoKeyPressedInMillis​(long lMillis,
                                       java.lang.Runnable task)
      • waitOnParserThread

        public static void waitOnParserThread()
      • getTimerCount

        public int getTimerCount()
      • waitForIntellisenseTimers

        public static void waitForIntellisenseTimers()
      • isAltDown

        public boolean isAltDown()