mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 17:22:09 +10:00
Improved code robustness
This commit is contained in:
@@ -46,6 +46,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
|
|
||||||
@@ -231,11 +232,16 @@ public class Presenter implements IPlugInPort {
|
|||||||
importDefaultBlocks();
|
importDefaultBlocks();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void installPlugin(IPlugIn plugIn) {
|
public void installPlugin(Supplier<IPlugIn> plugInSupplier) {
|
||||||
LOG.info(String.format("installPlugin(%s)", plugIn.getClass().getSimpleName()));
|
try {
|
||||||
plugIns.add(plugIn);
|
IPlugIn plugIn = plugInSupplier.get();
|
||||||
plugIn.connect(this);
|
LOG.info(String.format("installPlugin(%s)", plugIn.getClass().getSimpleName()));
|
||||||
messageDispatcher.registerListener(plugIn);
|
plugIns.add(plugIn);
|
||||||
|
plugIn.connect(this);
|
||||||
|
messageDispatcher.registerListener(plugIn);
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("Error while installing plugin", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
|
|||||||
@@ -3477,5 +3477,21 @@
|
|||||||
</changes>
|
</changes>
|
||||||
<url>https://github.com/bancika/diy-layout-creator/releases</url>
|
<url>https://github.com/bancika/diy-layout-creator/releases</url>
|
||||||
</org.diylc.appframework.update.Version>
|
</org.diylc.appframework.update.Version>
|
||||||
|
<org.diylc.appframework.update.Version>
|
||||||
|
<versionNumber>
|
||||||
|
<major>4</major>
|
||||||
|
<minor>16</minor>
|
||||||
|
<build>0</build>
|
||||||
|
</versionNumber>
|
||||||
|
<releaseDate>2021-01-04 00:00:00.000 CET</releaseDate>
|
||||||
|
<name></name>
|
||||||
|
<changes>
|
||||||
|
<org.diylc.appframework.update.Change>
|
||||||
|
<changeType>IMPROVEMENT</changeType>
|
||||||
|
<description>Improved code robustness</description>
|
||||||
|
</org.diylc.appframework.update.Change>
|
||||||
|
</changes>
|
||||||
|
<url>https://github.com/bancika/diy-layout-creator/releases</url>
|
||||||
|
</org.diylc.appframework.update.Version>
|
||||||
</a>
|
</a>
|
||||||
</java.util.Arrays_-ArrayList>
|
</java.util.Arrays_-ArrayList>
|
||||||
|
|||||||
@@ -124,27 +124,26 @@ public class MainFrame extends JFrame implements ISwingUI {
|
|||||||
|
|
||||||
this.presenter = new Presenter(this, configManager);
|
this.presenter = new Presenter(this, configManager);
|
||||||
|
|
||||||
canvasPlugin = new CanvasPlugin(this, configManager);
|
presenter.installPlugin(() -> new ToolBox(this));
|
||||||
|
presenter.installPlugin(() -> new FileMenuPlugin(this));
|
||||||
presenter.installPlugin(new ToolBox(this));
|
presenter.installPlugin(() -> new EditMenuPlugin(this));
|
||||||
presenter.installPlugin(new FileMenuPlugin(this));
|
presenter.installPlugin(() -> new ConfigPlugin(this));
|
||||||
presenter.installPlugin(new EditMenuPlugin(this));
|
presenter.installPlugin(() -> new LayersMenuPlugin(this));
|
||||||
presenter.installPlugin(new ConfigPlugin(this));
|
presenter.installPlugin(() -> new CloudPlugIn(this));
|
||||||
presenter.installPlugin(new LayersMenuPlugin(this));
|
|
||||||
presenter.installPlugin(new CloudPlugIn(this));
|
|
||||||
if ("true".equalsIgnoreCase(System.getProperty("org.diylc.enableTests")))
|
if ("true".equalsIgnoreCase(System.getProperty("org.diylc.enableTests")))
|
||||||
presenter.installPlugin(new TestMenuPlugin(this));
|
presenter.installPlugin(() -> new TestMenuPlugin(this));
|
||||||
presenter.installPlugin(new HelpMenuPlugin(this));
|
presenter.installPlugin(() -> new HelpMenuPlugin(this));
|
||||||
presenter.installPlugin(new ActionBarPlugin(this));
|
presenter.installPlugin(() -> new ActionBarPlugin(this));
|
||||||
|
|
||||||
presenter.installPlugin(new StatusBar(this));
|
presenter.installPlugin(() -> new StatusBar(this));
|
||||||
|
|
||||||
presenter.installPlugin(canvasPlugin);
|
canvasPlugin = new CanvasPlugin(this, configManager);
|
||||||
|
presenter.installPlugin(() -> canvasPlugin);
|
||||||
|
presenter.installPlugin(() -> new ComponentTree(this, canvasPlugin.getCanvasPanel()));
|
||||||
|
|
||||||
presenter.installPlugin(new ComponentTree(this, canvasPlugin.getCanvasPanel()));
|
presenter.installPlugin(() -> new FramePlugin());
|
||||||
presenter.installPlugin(new FramePlugin());
|
|
||||||
|
|
||||||
presenter.installPlugin(new AutoSavePlugin(this));
|
presenter.installPlugin(() -> new AutoSavePlugin(this));
|
||||||
|
|
||||||
presenter.createNewProject();
|
presenter.createNewProject();
|
||||||
|
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ public class LoadlineEditorFrame extends JFrame implements IView {
|
|||||||
|
|
||||||
|
|
||||||
this.plugInPort = new Presenter(this, configManager);
|
this.plugInPort = new Presenter(this, configManager);
|
||||||
this.plugInPort.installPlugin(new IPlugIn() {
|
this.plugInPort.installPlugin(() -> new IPlugIn() {
|
||||||
|
|
||||||
@SuppressWarnings("incomplete-switch")
|
@SuppressWarnings("incomplete-switch")
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user