X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodel%2Fcomponents%2Fparams%2FRectComponentParams.java;fp=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodel%2Fcomponents%2Fparams%2FRectComponentParams.java;h=8fafaf97e740a4a7ecf7a67ad625fd519f385bfb;hb=b2f3d0b16783289fab229c667c18d61f84119bbd;hp=0000000000000000000000000000000000000000;hpb=e7eb7ef33104e3795a0f312623fd2b947392aea1;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/params/RectComponentParams.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/params/RectComponentParams.java new file mode 100644 index 00000000..8fafaf97 --- /dev/null +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/params/RectComponentParams.java @@ -0,0 +1,53 @@ +package net.mograsim.logic.ui.model.components.params; + +import java.io.IOException; + +import net.haspamelodica.swt.helper.swtobjectwrappers.Point; + +public class RectComponentParams +{ + public final static String fileExtension = ".rc"; + public String displayName; + public int inputCount, outputCount, logicWidth; + public GeneralComponentParams composition; + + public static class InnerComponentParams + { + public Point pos; + public String type; + public int logicWidth; + } + + public static class InnerWireParams + { + public InnerPinParams pin1, pin2; + public Point[] path; + } + + public static class InnerPinParams + { + public int compId, pinIndex; + } + + public static RectComponentParams readJson(String path) throws IOException + { + return JsonHandler.readJson(path, RectComponentParams.class); + } + + /** + * Writes this {@link RectComponentParams} object into a file in json format. The correct file extension is important! Check + * {@link RectComponentParams}.fileExtension + */ + public void writeJson(String path) + { + try + { + JsonHandler.writeJson(this, path); + } + catch (IOException e) + { + System.err.println("Failed to write RectComponentParams to file"); + e.printStackTrace(); + } + } +}