use of org.freeplane.main.application.survey.FreeplaneSurveyProperties in project freeplane by freeplane.
the class FreeplaneGUIStarter method createController.
@SuppressWarnings("serial")
public Controller createController() {
try {
Controller controller = new Controller(applicationResourceController);
Controller.setCurrentController(controller);
Compat.macAppChanges();
controller.addAction(new QuitAction());
applicationResourceController.init();
LogUtils.createLogger();
FreeplaneGUIStarter.showSysInfo();
final String lookandfeel = System.getProperty("lookandfeel", applicationResourceController.getProperty("lookandfeel"));
final boolean supportHidpi = Boolean.valueOf(System.getProperty("lookandfeel.scaleuifonts", applicationResourceController.getProperty("lookandfeel.scaleuifonts")));
FrameController.setLookAndFeel(lookandfeel, supportHidpi);
final JFrame frame;
frame = new JFrame("Freeplane");
frame.setContentPane(new JPanel() {
@Override
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed) {
return super.processKeyBinding(ks, e, condition, pressed) || MenuKeyProcessor.INSTANCE.processKeyBinding(ks, e, condition, pressed);
}
});
frame.setName(UITools.MAIN_FREEPLANE_FRAME);
final MMapViewController mapViewController = new MMapViewController(controller);
viewController = new ApplicationViewController(controller, mapViewController, frame);
splash = new FreeplaneSplashModern(frame);
if (!System.getProperty("org.freeplane.nosplash", "false").equals("true")) {
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
splash.setVisible(true);
}
});
}
mapViewController.addMapViewChangeListener(applicationResourceController.getLastOpenedList());
controller.addExtension(HighlightController.class, new HighlightController());
FilterController.install();
PrintController.install();
FormatController.install(new FormatController());
final ScannerController scannerController = new ScannerController();
ScannerController.install(scannerController);
scannerController.addParsersForStandardFormats();
ModelessAttributeController.install();
TextController.install();
TimeController.install();
LinkController.install();
IconController.installConditionControllers();
HelpController.install();
controller.addAction(new NextNodeAction(Direction.FORWARD));
controller.addAction(new NextNodeAction(Direction.BACK));
controller.addAction(new NextNodeAction(Direction.FORWARD_N_FOLD));
controller.addAction(new NextNodeAction(Direction.BACK_N_FOLD));
controller.addAction(NextPresentationItemAction.createFoldingAction());
controller.addAction(NextPresentationItemAction.createNotFoldingAction());
controller.addAction(new ShowSelectionAsRectangleAction());
controller.addAction(new ViewLayoutTypeAction(MapViewLayout.OUTLINE));
FilterController.getCurrentFilterController().getConditionFactory().addConditionController(70, new LogicalStyleFilterController());
MapController.install();
NodeHistory.install(controller);
final FreeplaneSurveyProperties freeplaneSurveyProperties = new FreeplaneSurveyProperties();
if (freeplaneSurveyProperties.mayAskUserToFillSurveys()) {
controller.addApplicationLifecycleListener(new SurveyStarter(freeplaneSurveyProperties, new SurveyRunner(freeplaneSurveyProperties), Math.random()));
}
return controller;
} catch (final Exception e) {
LogUtils.severe(e);
throw new RuntimeException(e);
}
}
Aggregations