From 6e947da74f3d3befbf78db26bb1fab0ddef0a9e7 Mon Sep 17 00:00:00 2001 From: hneemann Date: Thu, 24 Mar 2016 18:46:58 +0100 Subject: [PATCH] long names are shown below the GenericShape --- .../java/de/neemann/digital/gui/LibrarySelector.java | 8 +++++++- .../de/neemann/digital/gui/draw/shapes/GenericShape.java | 9 +++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/LibrarySelector.java b/src/main/java/de/neemann/digital/gui/LibrarySelector.java index a664af252..b6497881f 100644 --- a/src/main/java/de/neemann/digital/gui/LibrarySelector.java +++ b/src/main/java/de/neemann/digital/gui/LibrarySelector.java @@ -111,7 +111,7 @@ public class LibrarySelector implements ElementNotFoundNotification { public Element create(ElementAttributes attributes) { return new CustomElement(circuit, library); } - }, circuit.getInputNames(library)); + }, circuit.getInputNames(library)).setShortName(createShortName(file)); library.addDescription(description); customMenu.add(new InsertAction(description.getName(), insertHistory, circuitComponent)); return description; @@ -121,4 +121,10 @@ public class LibrarySelector implements ElementNotFoundNotification { return null; } + private String createShortName(File file) { + String name = file.getName(); + if (name.endsWith(".dig")) name = name.substring(0, name.length() - 4); + return name; + } + } diff --git a/src/main/java/de/neemann/digital/gui/draw/shapes/GenericShape.java b/src/main/java/de/neemann/digital/gui/draw/shapes/GenericShape.java index d382aa380..872eade98 100644 --- a/src/main/java/de/neemann/digital/gui/draw/shapes/GenericShape.java +++ b/src/main/java/de/neemann/digital/gui/draw/shapes/GenericShape.java @@ -120,8 +120,13 @@ public class GenericShape implements Shape { graphic.drawText(p.getPos().add(-2, 0), p.getPos().add(5, 0), p.getName(), Orientation.RIGHTCENTER, Style.SHAPE_PIN); } } - Vector pos = new Vector(SIZE2 * width, -SIZE2 + 2); - graphic.drawText(pos, pos.add(1, 0), name, Orientation.CENTERTOP, Style.NORMAL); + if (name.length() <= 3) { + Vector pos = new Vector(SIZE2 * width, -SIZE2 + 2); + graphic.drawText(pos, pos.add(1, 0), name, Orientation.CENTERTOP, Style.NORMAL); + } else { + Vector pos = new Vector(SIZE2 * width, height + 2); + graphic.drawText(pos, pos.add(1, 0), name, Orientation.CENTERTOP, Style.SHAPE_PIN); + } } }