private ASelectableCondition highlightCondition;
private JComboBox activeFilterConditionComboBox;
private final FilterConditionEditor quickEditor;
public FilterController() {
Controller controller = Controller.getCurrentController();
filterMenuBuilder = new FilterMenuBuilder(this);
history = new FilterHistory();
filterChangeListener = new FilterChangeListener();
showAncestors = new JToggleButton.ToggleButtonModel();
showAncestors.setSelected(true);
showAncestors.addChangeListener(filterChangeListener);
showDescendants = new JToggleButton.ToggleButtonModel();
showDescendants.setSelected(false);
showDescendants.addChangeListener(filterChangeListener);
highlightNodes = new JToggleButton.ToggleButtonModel();
highlightNodes.setSelected(false);
applyToVisibleNodeOnly = new JToggleButton.ToggleButtonModel();
applyToVisibleNodeOnly.setSelected(false);
approximateMatchingButtonModel = new JToggleButton.ToggleButtonModel();
approximateMatchingButtonModel.setSelected(false);
caseSensitiveButtonModel = new JToggleButton.ToggleButtonModel();
caseSensitiveButtonModel.setSelected(false);
controller.getMapViewManager().addMapSelectionListener(this);
final AFreeplaneAction showFilterToolbar = new ToggleFilterToolbarAction("ShowFilterToolbarAction", "/filter_toolbar");
quickEditor = new FilterConditionEditor(this, 0, true);
quickEditor.setEnterKeyActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
((QuickFindAction)Controller.getCurrentController().getAction("QuickFindAction.FORWARD")).executeAction(true);
if(getHighlightNodes().isSelected()){
setHighlightCondition( quickEditor.getCondition());
}
}
}
);
controller.addAction(showFilterToolbar);
controller.addAction(new ApplyNoFilteringAction(this));
controller.addAction(new ApplySelectedViewConditionAction(this));
controller.addAction(new EditFilterAction(this));
controller.addAction(new UndoFilterAction(this));
controller.addAction(new RedoFilterAction(this));
controller.addAction(new ReapplyFilterAction(this));
controller.addAction(new ShowAncestorsAction(this));
controller.addAction(new ShowDescendantsAction(this));
controller.addAction(new ApplyToVisibleAction(this));
controller.addAction(new QuickFilterAction(this, quickEditor));
controller.addAction(new QuickFindAction(this, quickEditor, Direction.BACK));
controller.addAction(new QuickFindAction(this, quickEditor, Direction.FORWARD));
controller.addAction(new QuickFindAllAction(this, quickEditor));
controller.addAction(new QuickHighlightAction(this, quickEditor));
final FindAction find = new FindAction();
controller.addAction(find);
pathToFilterFile = ResourceController.getResourceController().getFreeplaneUserDirectory() + File.separator
+ "auto." + FilterController.FREEPLANE_FILTER_EXTENSION_WITHOUT_DOT;
}