Class MainDesignerController
- java.lang.Object
-
- net.sourceforge.pmd.util.fxdesigner.util.AbstractController
-
- net.sourceforge.pmd.util.fxdesigner.MainDesignerController
-
- All Implemented Interfaces:
javafx.fxml.Initializable
,SettingsOwner
public class MainDesignerController extends AbstractController
Main controller of the app. Mediator for subdivisions of the UI.- Since:
- 6.0.0
- Author:
- Clément Fournier
- See Also:
NodeInfoPanelController
,SourceEditorController
,EventLogController
,XPathPanelController
-
-
Field Summary
Fields Modifier and Type Field Description javafx.scene.control.MenuItem
openEventLogMenuItem
-
Constructor Summary
Constructors Constructor Description MainDesignerController(DesignerRoot owner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
afterChildrenInit()
Runs once after every child has finished their initialization.protected void
beforeParentInit()
Executed before the parent's initialization.int
getBottomTabIndex()
java.util.List<AbstractController>
getChildren()
net.sourceforge.pmd.lang.LanguageVersion
getLanguageVersion()
java.lang.String
getRecentFiles()
void
handleSelectedNodeInError(java.util.List<net.sourceforge.pmd.lang.ast.Node> n)
Handles nodes that potentially caused an error.void
highlightAsNameOccurences(java.util.List<net.sourceforge.pmd.lang.symboltable.NameOccurrence> occurrences)
Highlight a list of name occurrences.void
highlightXPathResults(java.util.List<net.sourceforge.pmd.lang.ast.Node> nodes)
Replaces previously highlighted XPath results with the given nodes.void
invalidateAst()
boolean
isBottomTabExpanded()
boolean
isMaximized()
org.reactfx.value.Val<net.sourceforge.pmd.lang.LanguageVersion>
languageVersionProperty()
void
onNodeItemSelected(net.sourceforge.pmd.lang.ast.Node selectedValue)
Executed when the user selects a node in a treeView or listView.void
onNodeItemSelected(net.sourceforge.pmd.lang.ast.Node selectedValue, boolean isFromNameDecl)
Executed when the user selects a node in a treeView or listView.void
refreshAST()
Attempts to refresh the AST with the up-to-date source, also updating XPath results.void
refreshXPathResults()
Refreshes the XPath results if the compilation unit is valid.void
resetSelectedErrorNodes()
void
resetXPathResults()
java.util.List<net.sourceforge.pmd.lang.ast.Node>
runXPathQuery(java.lang.String query)
Runs an XPath (2.0) query on the current AST.void
setBottomTabExpanded(boolean b)
void
setBottomTabIndex(int i)
void
setLanguageVersion(net.sourceforge.pmd.lang.LanguageVersion version)
void
setMaximized(boolean b)
void
setRecentFiles(java.lang.String files)
void
shutdown()
TextAwareNodeWrapper
wrapNode(net.sourceforge.pmd.lang.ast.Node node)
Returns a wrapper around the given node that gives access to its textual representation in the editor area.-
Methods inherited from class net.sourceforge.pmd.util.fxdesigner.util.AbstractController
afterParentInit, getChildrenSettingsNodes, initialize
-
-
-
-
Constructor Detail
-
MainDesignerController
public MainDesignerController(DesignerRoot owner)
-
-
Method Detail
-
beforeParentInit
protected void beforeParentInit()
Description copied from class:AbstractController
Executed before the parent's initialization. Always executed once at the start of the initialization of this controller.- Overrides:
beforeParentInit
in classAbstractController
-
afterChildrenInit
protected void afterChildrenInit()
Description copied from class:AbstractController
Runs once after every child has finished their initialization. This will be run in all cases. It's only useful if the children do something useful in theirAbstractController.afterParentInit()
.- Overrides:
afterChildrenInit
in classAbstractController
-
shutdown
public void shutdown()
-
refreshAST
public void refreshAST()
Attempts to refresh the AST with the up-to-date source, also updating XPath results.
-
refreshXPathResults
public void refreshXPathResults()
Refreshes the XPath results if the compilation unit is valid. Otherwise does nothing.
-
wrapNode
public TextAwareNodeWrapper wrapNode(net.sourceforge.pmd.lang.ast.Node node)
Returns a wrapper around the given node that gives access to its textual representation in the editor area.
-
onNodeItemSelected
public void onNodeItemSelected(net.sourceforge.pmd.lang.ast.Node selectedValue)
Executed when the user selects a node in a treeView or listView.
-
onNodeItemSelected
public void onNodeItemSelected(net.sourceforge.pmd.lang.ast.Node selectedValue, boolean isFromNameDecl)
Executed when the user selects a node in a treeView or listView.- Parameters:
isFromNameDecl
- Whether the node was selected in the scope hierarchy treeview
-
highlightAsNameOccurences
public void highlightAsNameOccurences(java.util.List<net.sourceforge.pmd.lang.symboltable.NameOccurrence> occurrences)
Highlight a list of name occurrences.- Parameters:
occurrences
- May be empty but never null.
-
runXPathQuery
public java.util.List<net.sourceforge.pmd.lang.ast.Node> runXPathQuery(java.lang.String query) throws XPathEvaluationException
Runs an XPath (2.0) query on the current AST. Performs no side effects.- Parameters:
query
- the query- Returns:
- the matched nodes
- Throws:
XPathEvaluationException
- if the query fails
-
handleSelectedNodeInError
public void handleSelectedNodeInError(java.util.List<net.sourceforge.pmd.lang.ast.Node> n)
Handles nodes that potentially caused an error. This can for example highlight nodes on the editor. Effects can be reset withresetSelectedErrorNodes()
.- Parameters:
n
- Node
-
resetSelectedErrorNodes
public void resetSelectedErrorNodes()
-
resetXPathResults
public void resetXPathResults()
-
highlightXPathResults
public void highlightXPathResults(java.util.List<net.sourceforge.pmd.lang.ast.Node> nodes)
Replaces previously highlighted XPath results with the given nodes.
-
invalidateAst
public void invalidateAst()
-
getLanguageVersion
public net.sourceforge.pmd.lang.LanguageVersion getLanguageVersion()
-
setLanguageVersion
public void setLanguageVersion(net.sourceforge.pmd.lang.LanguageVersion version)
-
languageVersionProperty
public org.reactfx.value.Val<net.sourceforge.pmd.lang.LanguageVersion> languageVersionProperty()
-
getRecentFiles
public java.lang.String getRecentFiles()
-
setRecentFiles
public void setRecentFiles(java.lang.String files)
-
isMaximized
public boolean isMaximized()
-
setMaximized
public void setMaximized(boolean b)
-
isBottomTabExpanded
public boolean isBottomTabExpanded()
-
setBottomTabExpanded
public void setBottomTabExpanded(boolean b)
-
getBottomTabIndex
public int getBottomTabIndex()
-
setBottomTabIndex
public void setBottomTabIndex(int i)
-
getChildren
public java.util.List<AbstractController> getChildren()
- Overrides:
getChildren
in classAbstractController
-
-