use of org.talend.designer.runtime.visualization.internal.ui.properties.cpu.actions.FindAction.IFindTarget in project tdi-studio-se by Talend.
the class FindDialog method getFindTarget.
/**
* Gets the target for find action.
*
* @return The target for find action
*/
private static IFindTarget getFindTarget() {
IWorkbenchPart activePart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
if (activePart instanceof IFindTarget) {
return (IFindTarget) activePart;
}
PropertySheet part = (PropertySheet) activePart;
if (part == null) {
return null;
}
IPage page = part.getCurrentPage();
if (!(page instanceof TabbedPropertySheetPage)) {
return null;
}
TabbedPropertySheetPage propertySheetPage = (TabbedPropertySheetPage) page;
ISection[] sections = propertySheetPage.getCurrentTab().getSections();
if (sections.length != 1) {
return null;
}
ISection section = sections[0];
if (!(section instanceof IFindTarget)) {
return null;
}
return (IFindTarget) section;
}
use of org.talend.designer.runtime.visualization.internal.ui.properties.cpu.actions.FindAction.IFindTarget in project tdi-studio-se by Talend.
the class FindDialog method doFind.
/**
* Finds the item with string specified in text field.
*/
void doFind() {
IFindTarget target = getFindTarget();
if (target == null) {
return;
}
TreeViewer viewer = target.getTargetTreeViewer();
ITreeNode[] rootNodes = target.getTargetTreeNodes();
if (viewer == null || rootNodes.length == 0) {
return;
}
String searchText = findText.getText();
addHistory(searchText);
ITreeNode treeNode = null;
ITreeNode selectedNode = getSelectedNode(viewer);
startSearch = (selectedNode == null);
if (forwardButton.getSelection()) {
treeNode = searchTreeNodeInForward(viewer, rootNodes, selectedNode, searchText);
} else {
treeNode = searchTreeNodeInBackward(viewer, rootNodes, selectedNode, searchText);
}
if (treeNode != null) {
ISelection newSelection = new StructuredSelection(treeNode);
viewer.setSelection(newSelection);
}
findButton.forceFocus();
}
Aggregations