From 980055d4c01fa31f911348b5dfb6907dd9f44bfa Mon Sep 17 00:00:00 2001 From: bancika Date: Thu, 5 Jan 2017 12:36:04 +0100 Subject: [PATCH] added default templates --- .../org/diylc/common/ITemplateProcessor.java | 2 ++ .../src/org/diylc/core/Template.java | 20 ++++++++++- .../src/org/diylc/presenter/Presenter.java | 32 +++++++++++++++++- diylc/diylc-library/lib/diylc-core.jar | Bin 230770 -> 231126 bytes diylc/diylc-swing/lib/diylc-core.jar | Bin 230770 -> 231126 bytes .../src/org/diylc/images/IconLoader.java | 5 +-- .../src/org/diylc/images/pin_green.png | Bin 0 -> 722 bytes .../src/org/diylc/images/pin_grey.png | Bin 0 -> 708 bytes .../toolbox/ComponentButtonFactory.java | 29 ++++++++++++++-- diylc/diylc-swing/update.xml | 4 +++ 10 files changed, 85 insertions(+), 7 deletions(-) create mode 100644 diylc/diylc-swing/src/org/diylc/images/pin_green.png create mode 100644 diylc/diylc-swing/src/org/diylc/images/pin_grey.png diff --git a/diylc/diylc-core/src/org/diylc/common/ITemplateProcessor.java b/diylc/diylc-core/src/org/diylc/common/ITemplateProcessor.java index fd66cf9c..709d62b8 100644 --- a/diylc/diylc-core/src/org/diylc/common/ITemplateProcessor.java +++ b/diylc/diylc-core/src/org/diylc/common/ITemplateProcessor.java @@ -17,6 +17,8 @@ public interface ITemplateProcessor { void applyTemplateToSelection(Template template); void deleteTemplate(String categoryName, String componentTypeName, String templateName); + + void setTemplateDefault(String categoryName, String componentTypeName, String templateName, boolean defaultFlag); public class TemplateAlreadyExistsException extends Exception { diff --git a/diylc/diylc-core/src/org/diylc/core/Template.java b/diylc/diylc-core/src/org/diylc/core/Template.java index 094562a5..ed8b8c1e 100644 --- a/diylc/diylc-core/src/org/diylc/core/Template.java +++ b/diylc/diylc-core/src/org/diylc/core/Template.java @@ -9,12 +9,14 @@ public class Template { private String name; private Map values; private List points; + private boolean defaultFlag; - public Template(String name, Map values, List points) { + public Template(String name, Map values, List points, boolean defaultFlag) { super(); this.name = name; this.values = values; this.points = points; + this.defaultFlag = defaultFlag; } public String getName() { @@ -41,10 +43,19 @@ public class Template { this.points = points; } + public boolean isDefaultFlag() { + return defaultFlag; + } + + public void setDefaultFlag(boolean defaultFlag) { + this.defaultFlag = defaultFlag; + } + @Override public int hashCode() { final int prime = 31; int result = 1; + result = prime * result + (defaultFlag ? 1231 : 1237); result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((points == null) ? 0 : points.hashCode()); result = prime * result + ((values == null) ? 0 : values.hashCode()); @@ -60,6 +71,8 @@ public class Template { if (getClass() != obj.getClass()) return false; Template other = (Template) obj; + if (defaultFlag != other.defaultFlag) + return false; if (name == null) { if (other.name != null) return false; @@ -77,4 +90,9 @@ public class Template { return false; return true; } + + @Override + public String toString() { + return name; + } } diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index 87293aa8..a556489d 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -1790,6 +1790,18 @@ public class Presenter implements IPlugInPort { setNewComponentTypeSlot(null, null); return; } + + // try to find a default template if none is provided + if (componentType != null && template == null) { + List