Class TextWithControls
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.jrd.frontend.frame.main.decompilerview.TextWithControls
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,ClasspathProvider
,ExecuteMethodProvider
,LastScriptProvider
,SaveProvider
,UploadProvider
,LinesProvider
public class TextWithControls extends javax.swing.JPanel implements LinesProvider, ClasspathProvider, ExecuteMethodProvider, SaveProvider, UploadProvider, LastScriptProvider
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TextWithControls.CodeCompletionType
private class
TextWithControls.CompileActionListener
private class
TextWithControls.CompletionSettingsButtonPopUp
private class
TextWithControls.RSyntaxTextAreaWithCompletion
-
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
-
Nested classes/interfaces inherited from interface org.jrd.frontend.frame.main.decompilerview.dummycompiler.providers.ClasspathProvider
ClasspathProvider.SettingsClasspathProvider
-
Nested classes/interfaces inherited from interface org.jrd.frontend.frame.main.decompilerview.LinesProvider
LinesProvider.LinesFormat
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
addToRunningVm
private SearchControlsPanel
bytecodeSearchControls
private org.fife.ui.rsyntaxtextarea.RSyntaxTextArea
bytecodeSyntaxTextArea
private TextWithControls.CodeCompletionType
cct
private ClassesAndMethodsProvider
classesAndMethodsProvider
private KeywordBasedCodeCompletion
codeCompletion
private javax.swing.JButton
completionButton
private java.io.File
decorativeFilePlaceholder
private java.lang.String
execute
private AbstractCompileAction
lastCompile
private AbstractCompileAction
lastCompileAndRun
private org.jboss.byteman.agent.submit.ScriptText
lastScriptForByteman
private JrdCompletionSettings
oldSettings
private DecompilationController.AgentApiGenerator
popup
private java.io.File
save
private boolean
useBootForBytemanAndUpload
-
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 TextWithControls(java.lang.String title, java.lang.String codeSelect, TextWithControls.CodeCompletionType cct, ClassesAndMethodsProvider classesAndMethodsProvider)
TextWithControls(java.lang.String title, TextWithControls.CodeCompletionType cct)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addGuessCompletionItem(javax.swing.JPopupMenu menu, javax.swing.JMenuItem guess)
private void
addJasmAction(PluginManager pluginManager, DecompilerWrapper jasm, java.lang.String title, javax.swing.JMenu compile, MainProviders mainProviders)
private void
addJavacAction(PluginManager pluginManager, java.lang.String title, javax.swing.JMenu compile, ClasspathProvider classpathProvider, ExecuteMethodProvider lexecute, SaveProvider lsave, UploadProvider uploadProvider)
javax.swing.JComponent
asComponent()
void
close()
private void
createAdvancedSubmenu(javax.swing.JPopupMenu menu)
private org.fife.ui.rsyntaxtextarea.RSyntaxTextArea
createSrcTextArea()
private java.lang.Object[]
detectJasms()
private static java.lang.String[]
getAllLexers()
private java.util.Collection<java.lang.String>
getAllTabsTexts()
ClassesAndMethodsProvider
getClasspath()
private javax.swing.JMenu
getCompileAndRunMenu(PluginManager pluginManager, DecompilerWrapper jasm7, DecompilerWrapper jasm8)
private javax.swing.JMenu
getCompileMenu(PluginManager pluginManager, DecompilerWrapper jasm7, DecompilerWrapper jasm8)
java.io.File
getFile()
org.jboss.byteman.agent.submit.ScriptText
getLastScript()
java.util.List<java.lang.String>
getLines(LinesProvider.LinesFormat type)
java.lang.String
getMethodToExecute()
java.lang.String
getName()
private FeatureFullHex
getParentPane()
private StandaloneHex
getParentWindow()
java.io.File
getSaveDirectory()
org.fife.ui.rsyntaxtextarea.RSyntaxTextArea
getSyntaxTextArea()
ClasspathProvider
getTarget()
java.lang.String
getText()
byte[]
getTextAsBytes()
VmInfo
getVmInfo()
VmManager
getVmManager()
private static boolean
hasVm(ClassesAndMethodsProvider lclassesAndMethodsProvider)
boolean
isBin()
boolean
isBoot()
private boolean
isTreatAllTabsAsOneBatch()
boolean
isUploadEnabled()
private static void
lastUsed(JustBearerAction component, AbstractCompileAction last)
private void
normalCodeCompletionGuess(java.util.List<CompletionItem.CompletionItemSet> guessed)
void
open(java.io.File f)
void
redo()
void
removeCodecompletion()
private static void
repaintMenu(javax.swing.JPopupMenu menu)
(package private) void
resetSrcArea(java.lang.String data)
void
resetUndoRedo()
void
resetUpload()
void
save(java.io.File f)
private void
saveOldSettings()
void
scrollDown()
void
setClassesAndMethodsProvider(ClassesAndMethodsProvider classesAndMethodsProvider)
private void
setCompletionHelper()
void
setFile(java.io.File f)
void
setLastScript(org.jboss.byteman.agent.submit.ScriptText st)
void
setLines(LinesProvider.LinesFormat type, java.util.List<java.lang.String> lines)
void
setPopup(DecompilationController.AgentApiGenerator ap)
void
setText(java.lang.String s)
private void
setTreatAllTabsAsOneBatch(boolean selected)
(package private) void
showApiMenu(java.awt.Point forcedLocation)
void
undo()
-
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, 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
-
Methods inherited from interface org.jrd.frontend.frame.main.decompilerview.LinesProvider
isText
-
-
-
-
Field Detail
-
bytecodeSyntaxTextArea
private final org.fife.ui.rsyntaxtextarea.RSyntaxTextArea bytecodeSyntaxTextArea
-
bytecodeSearchControls
private final SearchControlsPanel bytecodeSearchControls
-
cct
private final TextWithControls.CodeCompletionType cct
-
classesAndMethodsProvider
private ClassesAndMethodsProvider classesAndMethodsProvider
-
popup
private DecompilationController.AgentApiGenerator popup
-
decorativeFilePlaceholder
private java.io.File decorativeFilePlaceholder
-
codeCompletion
private KeywordBasedCodeCompletion codeCompletion
-
oldSettings
private JrdCompletionSettings oldSettings
-
lastCompile
private AbstractCompileAction lastCompile
-
lastCompileAndRun
private AbstractCompileAction lastCompileAndRun
-
execute
private java.lang.String execute
-
save
private java.io.File save
-
lastScriptForByteman
private org.jboss.byteman.agent.submit.ScriptText lastScriptForByteman
-
addToRunningVm
private boolean addToRunningVm
-
useBootForBytemanAndUpload
private boolean useBootForBytemanAndUpload
-
completionButton
private final javax.swing.JButton completionButton
-
-
Constructor Detail
-
TextWithControls
public TextWithControls(java.lang.String title, TextWithControls.CodeCompletionType cct)
-
TextWithControls
public TextWithControls(java.lang.String title, java.lang.String codeSelect, TextWithControls.CodeCompletionType cct, ClassesAndMethodsProvider classesAndMethodsProvider)
-
-
Method Detail
-
setClassesAndMethodsProvider
public void setClassesAndMethodsProvider(ClassesAndMethodsProvider classesAndMethodsProvider)
-
normalCodeCompletionGuess
private void normalCodeCompletionGuess(java.util.List<CompletionItem.CompletionItemSet> guessed)
-
saveOldSettings
private void saveOldSettings()
-
removeCodecompletion
public void removeCodecompletion()
-
getText
public java.lang.String getText()
-
getTextAsBytes
public byte[] getTextAsBytes()
-
undo
public void undo()
- Specified by:
undo
in interfaceLinesProvider
-
redo
public void redo()
- Specified by:
redo
in interfaceLinesProvider
-
getSyntaxTextArea
public org.fife.ui.rsyntaxtextarea.RSyntaxTextArea getSyntaxTextArea()
-
resetSrcArea
void resetSrcArea(java.lang.String data)
-
createSrcTextArea
private org.fife.ui.rsyntaxtextarea.RSyntaxTextArea createSrcTextArea()
-
setPopup
public void setPopup(DecompilationController.AgentApiGenerator ap)
-
showApiMenu
void showApiMenu(java.awt.Point forcedLocation)
-
getLines
public java.util.List<java.lang.String> getLines(LinesProvider.LinesFormat type)
- Specified by:
getLines
in interfaceLinesProvider
-
setLines
public void setLines(LinesProvider.LinesFormat type, java.util.List<java.lang.String> lines)
- Specified by:
setLines
in interfaceLinesProvider
-
isBin
public boolean isBin()
- Specified by:
isBin
in interfaceLinesProvider
-
getFile
public java.io.File getFile()
- Specified by:
getFile
in interfaceLinesProvider
-
setFile
public void setFile(java.io.File f)
- Specified by:
setFile
in interfaceLinesProvider
-
open
public void open(java.io.File f) throws java.io.IOException
- Specified by:
open
in interfaceLinesProvider
- Throws:
java.io.IOException
-
save
public void save(java.io.File f) throws java.io.IOException
- Specified by:
save
in interfaceLinesProvider
- Throws:
java.io.IOException
-
asComponent
public javax.swing.JComponent asComponent()
- Specified by:
asComponent
in interfaceLinesProvider
-
resetUndoRedo
public void resetUndoRedo()
- Specified by:
resetUndoRedo
in interfaceLinesProvider
-
close
public void close()
- Specified by:
close
in interfaceLinesProvider
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceLinesProvider
- Overrides:
getName
in classjava.awt.Component
-
getAllLexers
private static java.lang.String[] getAllLexers()
-
setText
public void setText(java.lang.String s)
-
scrollDown
public void scrollDown()
-
setCompletionHelper
private void setCompletionHelper()
-
createAdvancedSubmenu
private void createAdvancedSubmenu(javax.swing.JPopupMenu menu)
-
repaintMenu
private static void repaintMenu(javax.swing.JPopupMenu menu)
-
addGuessCompletionItem
private void addGuessCompletionItem(javax.swing.JPopupMenu menu, javax.swing.JMenuItem guess)
-
detectJasms
private java.lang.Object[] detectJasms()
-
getCompileAndRunMenu
private javax.swing.JMenu getCompileAndRunMenu(PluginManager pluginManager, DecompilerWrapper jasm7, DecompilerWrapper jasm8)
-
hasVm
private static boolean hasVm(ClassesAndMethodsProvider lclassesAndMethodsProvider)
-
getCompileMenu
private javax.swing.JMenu getCompileMenu(PluginManager pluginManager, DecompilerWrapper jasm7, DecompilerWrapper jasm8)
-
addJavacAction
private void addJavacAction(PluginManager pluginManager, java.lang.String title, javax.swing.JMenu compile, ClasspathProvider classpathProvider, ExecuteMethodProvider lexecute, SaveProvider lsave, UploadProvider uploadProvider)
-
addJasmAction
private void addJasmAction(PluginManager pluginManager, DecompilerWrapper jasm, java.lang.String title, javax.swing.JMenu compile, MainProviders mainProviders)
-
lastUsed
private static void lastUsed(JustBearerAction component, AbstractCompileAction last)
-
getClasspath
public ClassesAndMethodsProvider getClasspath()
- Specified by:
getClasspath
in interfaceClasspathProvider
-
getMethodToExecute
public java.lang.String getMethodToExecute()
- Specified by:
getMethodToExecute
in interfaceExecuteMethodProvider
-
getSaveDirectory
public java.io.File getSaveDirectory()
- Specified by:
getSaveDirectory
in interfaceSaveProvider
-
isUploadEnabled
public boolean isUploadEnabled()
- Specified by:
isUploadEnabled
in interfaceUploadProvider
-
resetUpload
public void resetUpload()
- Specified by:
resetUpload
in interfaceUploadProvider
-
getVmInfo
public VmInfo getVmInfo()
- Specified by:
getVmInfo
in interfaceClasspathProvider
-
getVmManager
public VmManager getVmManager()
- Specified by:
getVmManager
in interfaceClasspathProvider
-
getLastScript
public org.jboss.byteman.agent.submit.ScriptText getLastScript()
- Specified by:
getLastScript
in interfaceLastScriptProvider
-
setLastScript
public void setLastScript(org.jboss.byteman.agent.submit.ScriptText st)
- Specified by:
setLastScript
in interfaceLastScriptProvider
-
getTarget
public ClasspathProvider getTarget()
- Specified by:
getTarget
in interfaceUploadProvider
-
isBoot
public boolean isBoot()
- Specified by:
isBoot
in interfaceUploadProvider
-
setTreatAllTabsAsOneBatch
private void setTreatAllTabsAsOneBatch(boolean selected)
-
isTreatAllTabsAsOneBatch
private boolean isTreatAllTabsAsOneBatch()
-
getAllTabsTexts
private java.util.Collection<java.lang.String> getAllTabsTexts()
-
getParentWindow
private StandaloneHex getParentWindow()
-
getParentPane
private FeatureFullHex getParentPane()
-
-