Class SourceTextPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
simula.editor.SourceTextPanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
The Source text Panel.
Link to GitHub: Source File.
- Author:
- Øystein Myhre Andersen
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) boolean
Signals auto refresh.private static final boolean
DEBUG on/offprivate StyledDocument
The StyledDocument.(package private) DocumentListener
The DocumentListener.(package private) JTextPane
Editable text pane with undo/redo history.(package private) boolean
Indicates that the source file has changed.(package private) SimulaEditor.Language
Current language.private JTextPane
The line number side-panel.(package private) MouseListener
The MouseListener.private JPopupMenu
The popup Menu.(package private) boolean
Indicates that refresh is needed.(package private) File
The source file.private Style
Styleprivate Style
Styleprivate Style
Styleprivate Style
Styleprivate Style
Styleprivate JScrollPane
The ScrollPaneprivate UndoableEditListener
The UndoableEditListener.private UndoManager
The undo manager.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
ConstructorsConstructorDescriptionSourceTextPanel
(File sourceFile, SimulaEditor.Language lang, JPopupMenu popupMenu) Create a new SourceTextPanel. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
Add Styles to the document.private int
countExtraControlCharacters
(String s, int pos) Utility: Count extra control characters in the given string(package private) void
Do refresh action.private String
edLineNumber
(int n) Utility: Edit right justified line number string.private void
fillTextPane
(int caretPosition, DefaultScanner preScanner) Fill the text pane with text delivered from the scanner.(package private) void
fillTextPane
(Reader reader, int caretPosition) Fill the text pane with text from the source file reader.private Style
getStyle
(Token.StyleCode code) Utility: Get Style(package private) UndoManager
Returns the undo manager.toString()
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, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
DEBUG
private static final boolean DEBUGDEBUG on/off- See Also:
-
lineNumbers
The line number side-panel. -
styleScrollPane
The ScrollPane -
styleRegular
Style -
styleKeyword
Style -
styleComment
Style -
styleConstant
Style -
styleLineNumber
Style -
popupMenu
The popup Menu. -
doc
The StyledDocument. -
editTextPane
JTextPane editTextPaneEditable text pane with undo/redo history. -
lang
Current language. -
sourceFile
File sourceFileThe source file. -
AUTO_REFRESH
boolean AUTO_REFRESHSignals auto refresh. -
undoManager
The undo manager. -
fileChanged
boolean fileChangedIndicates that the source file has changed. -
refreshNeeded
boolean refreshNeededIndicates that refresh is needed. -
undoListener
The UndoableEditListener. -
mouseListener
MouseListener mouseListenerThe MouseListener. -
documentListener
DocumentListener documentListenerThe DocumentListener.
-
-
Constructor Details
-
SourceTextPanel
SourceTextPanel(File sourceFile, SimulaEditor.Language lang, JPopupMenu popupMenu) Create a new SourceTextPanel.- Parameters:
sourceFile
- the source filelang
- the languagepopupMenu
- the popupMenu
-
-
Method Details
-
getUndoManager
-
fillTextPane
Fill the text pane with text from the source file reader.- Parameters:
reader
- the source file readercaretPosition
- argument
-
fillTextPane
Fill the text pane with text delivered from the scanner.- Parameters:
caretPosition
- the caretPosition after the operationspreScanner
- the scanner to use
-
doRefresh
void doRefresh()Do refresh action. -
edLineNumber
Utility: Edit right justified line number string.- Parameters:
n
- the length of line number field- Returns:
- the resulting line number string
-
countExtraControlCharacters
Utility: Count extra control characters in the given string- Parameters:
s
- the given stringpos
- limitin position in s- Returns:
- the resulting number of control characters
-
getStyle
Utility: Get Style- Parameters:
code
- style code- Returns:
- the resuting Style
-
addStylesToDocument
Add Styles to the document.- Parameters:
doc
- the document
-
toString
-