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.MenuItemopenEventLogMenuItem
-
Constructor Summary
Constructors Constructor Description MainDesignerController(DesignerRoot owner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidafterChildrenInit()Runs once after every child has finished their initialization.protected voidbeforeParentInit()Executed before the parent's initialization.intgetBottomTabIndex()java.util.List<AbstractController>getChildren()net.sourceforge.pmd.lang.LanguageVersiongetLanguageVersion()java.lang.StringgetRecentFiles()voidhandleSelectedNodeInError(java.util.List<net.sourceforge.pmd.lang.ast.Node> n)Handles nodes that potentially caused an error.voidhighlightAsNameOccurences(java.util.List<net.sourceforge.pmd.lang.symboltable.NameOccurrence> occurrences)Highlight a list of name occurrences.voidhighlightXPathResults(java.util.List<net.sourceforge.pmd.lang.ast.Node> nodes)Replaces previously highlighted XPath results with the given nodes.voidinvalidateAst()booleanisBottomTabExpanded()booleanisMaximized()org.reactfx.value.Val<net.sourceforge.pmd.lang.LanguageVersion>languageVersionProperty()voidonNodeItemSelected(net.sourceforge.pmd.lang.ast.Node selectedValue)Executed when the user selects a node in a treeView or listView.voidonNodeItemSelected(net.sourceforge.pmd.lang.ast.Node selectedValue, boolean isFromNameDecl)Executed when the user selects a node in a treeView or listView.voidrefreshAST()Attempts to refresh the AST with the up-to-date source, also updating XPath results.voidrefreshXPathResults()Refreshes the XPath results if the compilation unit is valid.voidresetSelectedErrorNodes()voidresetXPathResults()java.util.List<net.sourceforge.pmd.lang.ast.Node>runXPathQuery(java.lang.String query)Runs an XPath (2.0) query on the current AST.voidsetBottomTabExpanded(boolean b)voidsetBottomTabIndex(int i)voidsetLanguageVersion(net.sourceforge.pmd.lang.LanguageVersion version)voidsetMaximized(boolean b)voidsetRecentFiles(java.lang.String files)voidshutdown()TextAwareNodeWrapperwrapNode(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:AbstractControllerExecuted before the parent's initialization. Always executed once at the start of the initialization of this controller.- Overrides:
beforeParentInitin classAbstractController
-
afterChildrenInit
protected void afterChildrenInit()
Description copied from class:AbstractControllerRuns 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:
afterChildrenInitin 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 XPathEvaluationExceptionRuns 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:
getChildrenin classAbstractController
-
-