From 86500cb4a01484134874c78bb0eadd7b9dd74264 Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Fri, 8 Feb 2019 22:44:26 +0100 Subject: [PATCH] import/export variants and building blocks --- .../diylc/common/BuildingBlockPackage.java | 47 ++++ .../src/org/diylc/common/IBlockProcessor.java | 6 +- .../org/diylc/common/IVariantProcessor.java | 14 +- .../src/org/diylc/common/VariantPackage.java | 47 ++++ .../src/org/diylc/presenter/Presenter.java | 150 ++++++++-- diylc/diylc-swing/DIYLCStarter.launch | 2 +- diylc/diylc-swing/lib/diylc-core.jar | Bin 247689 -> 247689 bytes .../src/org/diylc/images/IconLoader.java | 3 +- .../diylc-swing/src/org/diylc/images/node.png | Bin 0 -> 865 bytes .../src/org/diylc/swing/ActionFactory.java | 256 +++++++++++++++++- .../swing/plugins/file/FileFilterEnum.java | 2 +- .../swing/plugins/file/FileMenuPlugin.java | 12 +- .../toolbox/ComponentButtonFactory.java | 6 +- .../plugins/toolbox/ComponentTabbedPane.java | 2 +- .../diylc/swing/plugins/tree/TreePanel.java | 4 +- diylc/diylc-swing/update.xml | 4 + 16 files changed, 519 insertions(+), 36 deletions(-) create mode 100644 diylc/diylc-core/src/org/diylc/common/BuildingBlockPackage.java create mode 100644 diylc/diylc-core/src/org/diylc/common/VariantPackage.java create mode 100644 diylc/diylc-swing/src/org/diylc/images/node.png diff --git a/diylc/diylc-core/src/org/diylc/common/BuildingBlockPackage.java b/diylc/diylc-core/src/org/diylc/common/BuildingBlockPackage.java new file mode 100644 index 00000000..1131dd2e --- /dev/null +++ b/diylc/diylc-core/src/org/diylc/common/BuildingBlockPackage.java @@ -0,0 +1,47 @@ +/* + + DIY Layout Creator (DIYLC). + Copyright (c) 2009-2018 held jointly by the individual authors. + + This file is part of DIYLC. + + DIYLC is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + DIYLC is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DIYLC. If not, see . + +*/ +package org.diylc.common; + +import java.util.Collection; +import java.util.Map; + +import org.diylc.core.IDIYComponent; + +public class BuildingBlockPackage { + + private Map>> block; + private String owner; + + public BuildingBlockPackage(Map>> blocks, String owner) { + super(); + this.block = blocks; + this.owner = owner; + } + + public Map>> getBlocks() { + return block; + } + + public String getOwner() { + return owner; + } +} diff --git a/diylc/diylc-core/src/org/diylc/common/IBlockProcessor.java b/diylc/diylc-core/src/org/diylc/common/IBlockProcessor.java index 139915f4..b9f93fae 100644 --- a/diylc/diylc-core/src/org/diylc/common/IBlockProcessor.java +++ b/diylc/diylc-core/src/org/diylc/common/IBlockProcessor.java @@ -20,6 +20,8 @@ */ package org.diylc.common; + +import java.io.IOException; public interface IBlockProcessor { @@ -29,7 +31,9 @@ public interface IBlockProcessor { void loadBlock(String blockName) throws InvalidBlockException; - void deleteBlock(String blockName); + void deleteBlock(String blockName); + + int importBlocks(String fileName) throws IOException; public class BlockAlreadyExistsException extends Exception { diff --git a/diylc/diylc-core/src/org/diylc/common/IVariantProcessor.java b/diylc/diylc-core/src/org/diylc/common/IVariantProcessor.java index d0cce3d4..b481b849 100644 --- a/diylc/diylc-core/src/org/diylc/common/IVariantProcessor.java +++ b/diylc/diylc-core/src/org/diylc/common/IVariantProcessor.java @@ -21,8 +21,10 @@ */ package org.diylc.common; +import java.io.FileNotFoundException; +import java.io.IOException; import java.util.List; - + import org.diylc.core.Template; public interface IVariantProcessor { @@ -32,17 +34,19 @@ public interface IVariantProcessor { void saveSelectedComponentAsVariant(String variantName); - List