From c51d1219852665c14a5809470054c00347fe5f9f Mon Sep 17 00:00:00 2001 From: Marc Halperin Date: Tue, 5 May 2015 17:32:32 -0700 Subject: [PATCH] Puts an asterisk next to required fields This should close issue #40. This puts an asterisk next to required fields. Adds a outputName method to MappableItem, Field, and Table. --- src/org/ohdsi/rabbitInAHat/DetailsPanel.java | 5 +++-- src/org/ohdsi/rabbitInAHat/LabeledRectangle.java | 16 ++++++++-------- src/org/ohdsi/rabbitInAHat/dataModel/Field.java | 10 +++++++++- .../rabbitInAHat/dataModel/MappableItem.java | 1 + src/org/ohdsi/rabbitInAHat/dataModel/Table.java | 3 +++ 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/src/org/ohdsi/rabbitInAHat/DetailsPanel.java b/src/org/ohdsi/rabbitInAHat/DetailsPanel.java index 55d4c0dd..61a8fd49 100644 --- a/src/org/ohdsi/rabbitInAHat/DetailsPanel.java +++ b/src/org/ohdsi/rabbitInAHat/DetailsPanel.java @@ -143,8 +143,9 @@ public void showTable(Table table) { DecimalFormat formatter = new DecimalFormat("#,###"); rowCountLabel.setText(formatter.format(table.getRowCount())); fieldTable.clear(); - for (Field field : table.getFields()) - fieldTable.add(field.getName(), field.getType()); + for (Field field : table.getFields()){ + fieldTable.add(field.outputName(), field.getType()); + } commentsArea.setText(table.getComment()); } diff --git a/src/org/ohdsi/rabbitInAHat/LabeledRectangle.java b/src/org/ohdsi/rabbitInAHat/LabeledRectangle.java index e91ecc63..2918b9f0 100644 --- a/src/org/ohdsi/rabbitInAHat/LabeledRectangle.java +++ b/src/org/ohdsi/rabbitInAHat/LabeledRectangle.java @@ -100,24 +100,24 @@ public void paint(Graphics g) { g2d.setFont(new Font("default", Font.PLAIN, FONT_SIZE)); FontMetrics fm = g2d.getFontMetrics(); - Rectangle2D r = fm.getStringBounds(item.getName(), g2d); + Rectangle2D r = fm.getStringBounds(item.outputName(), g2d); if (r.getWidth() >= width) { int breakPoint = 0; - int index = nextBreakPoint(item.getName(), 0); - double midPoint = item.getName().length() / 2d; + int index = nextBreakPoint(item.outputName(), 0); + double midPoint = item.outputName().length() / 2d; while (index != -1) { if (Math.abs(index - midPoint) < Math.abs(breakPoint - midPoint)) breakPoint = index; - index = nextBreakPoint(item.getName(), index + 1); + index = nextBreakPoint(item.outputName(), index + 1); } if (breakPoint == 0) { int textX = (this.getWidth() - (int) r.getWidth()) / 2; int textY = (this.getHeight() - (int) r.getHeight()) / 2 + fm.getAscent(); - g2d.drawString(item.getName(), x + textX, y + textY); + g2d.drawString(item.outputName(), x + textX, y + textY); } breakPoint++; - String line1 = item.getName().substring(0, breakPoint); - String line2 = item.getName().substring(breakPoint); + String line1 = item.outputName().substring(0, breakPoint); + String line2 = item.outputName().substring(breakPoint); r = fm.getStringBounds(line1, g2d); int textX = (this.getWidth() - (int) r.getWidth()) / 2; int textY = (this.getHeight() / 2 - (int) r.getHeight()) / 2 + fm.getAscent(); @@ -129,7 +129,7 @@ public void paint(Graphics g) { } else { int textX = (this.getWidth() - (int) r.getWidth()) / 2; int textY = (this.getHeight() - (int) r.getHeight()) / 2 + fm.getAscent(); - g2d.drawString(item.getName(), x + textX, y + textY); + g2d.drawString(item.outputName(), x + textX, y + textY); } } diff --git a/src/org/ohdsi/rabbitInAHat/dataModel/Field.java b/src/org/ohdsi/rabbitInAHat/dataModel/Field.java index b33aa28b..9044ee28 100644 --- a/src/org/ohdsi/rabbitInAHat/dataModel/Field.java +++ b/src/org/ohdsi/rabbitInAHat/dataModel/Field.java @@ -44,7 +44,15 @@ public void setTable(Table table) { public String getName() { return name; } - + + public String outputName(){ + if(!isNullable){ + return "*" + name; + }else{ + return name; + } + } + public void setName(String name) { this.name = name; } diff --git a/src/org/ohdsi/rabbitInAHat/dataModel/MappableItem.java b/src/org/ohdsi/rabbitInAHat/dataModel/MappableItem.java index fe3263c5..3169d604 100644 --- a/src/org/ohdsi/rabbitInAHat/dataModel/MappableItem.java +++ b/src/org/ohdsi/rabbitInAHat/dataModel/MappableItem.java @@ -20,5 +20,6 @@ import java.io.Serializable; public interface MappableItem extends Serializable{ + public String outputName(); public String getName(); } diff --git a/src/org/ohdsi/rabbitInAHat/dataModel/Table.java b/src/org/ohdsi/rabbitInAHat/dataModel/Table.java index 7121beac..37a8b015 100644 --- a/src/org/ohdsi/rabbitInAHat/dataModel/Table.java +++ b/src/org/ohdsi/rabbitInAHat/dataModel/Table.java @@ -41,6 +41,9 @@ public String getName() { return name; } + public String outputName(){ + return getName(); + } public void setName(String name) { this.name = name; }