// term detail table
private static Table termDetailTable;
+ // Composite for Term synonyms (nested in Term details table)
+ private Composite termSynonymComposite;
+
+ // term synonym table (1-col list of nested synonyms)
+ private static Table termSynonymTable;
+
// Control to change brush size
private final BrushControl brushControl;
accession_id("Accession ID"),
aspect("Branch") /* a.k.a. "Aspect" */,
definition("Definition"),
- comment("Comment"),
- synonyms("Synonyms");
+ comment("Comment")/*,
+ synonyms("Synonyms")*/;
final String extendedLabel;
termDetailLabels(String extendedLabel) {
this.extendedLabel = extendedLabel;
createToolViewSelectionToolbar();
createToolTermLookupBar();
createTermDetailTable();
+ createTermSynonymTable();
createTermDetailFields();
// lay out the controls
*/
public static void termDetailLookup(String accessionId) {
termDetailTable.setEnabled(true);
+ termSynonymTable.setEnabled(true);
+ termSynonymTable.clearAll();
String webServiceURL = new String();
try {
for (termDetailLabels code : values) {
String currResponseValue = responseArray.getJSONObject(0).getString(code.toString()); // assumes an array of one response
if (items[i].getText(0).equals(code.extendedLabel)) {
- if (code.extendedLabel.equals("Synonyms")) {
+ /*if (code.extendedLabel.equals("Synonyms")) {
String formattedSyns = new String();
+
JSONArray synArray = responseArray.getJSONObject(0).getJSONArray("synonyms");
for (int j=0; j<synArray.length(); j++) {
formattedSyns += synArray.getString(j) + System.getProperty("line.separator");
}
items[i].setText(1, formattedSyns);
- } else {
+ } else {*/
items[i].setText(1, currResponseValue);
- }
+ //}
}
}
termDetailTable.getColumn(1).pack();
termDetailTable.pack();
}
+ // populate termSynonymTable w/ synonyms
+ JSONArray synArray = responseArray.getJSONObject(0).getJSONArray("synonyms");
+
+ for (int j=0; j<synArray.length(); j++) {
+ TableItem item = new TableItem (termSynonymTable, SWT.NONE);
+ item.setText(0,synArray.getString(j));
+ }
+ termSynonymTable.getColumn(0).pack();
+ termSynonymTable.pack();
+
in.close();
} else {
+ termDetailTable.setEnabled(false);
+ termSynonymTable.setEnabled(false);
throw new Exception("Bad HTTP response code: " + connection.getResponseCode());
}
}
}
}
+ /**
+ * Set initial properties of the Term Synonyms inner composite
+ */
+ private void createTermSynonymTable() {
+ // Toolbar for holding detail fields
+ termSynonymTable = SwtUtils.addTable(termDetailComposite);
+ termSynonymTable.setLinesVisible (true);
+ termSynonymTable.setHeaderVisible (true);
+
+ TableColumn column = new TableColumn (termSynonymTable, SWT.BORDER_SOLID);
+ column.setText("Synonyms");
+
+ TableItem item = new TableItem (termSynonymTable, SWT.NONE);
+ item.setText(0,"");
+ termSynonymTable.getColumn(0).pack();
+
+ termSynonymTable.setEnabled(false);
+ termSynonymTable.pack();
+ }
+
/**
* Set initial properties of the Term Detail right pane
*/
termDetailLabels[] values = termDetailLabels.values();
for (termDetailLabels code : values) {
TableItem item = new TableItem (termDetailTable, SWT.NONE);
- item.setText (0, code.extendedLabel);
- item.setText (1,"");
+ item.setText(0, code.extendedLabel);
+ item.setText(1,"");
}
for (int i=0; i<titles.length; i++) {
gd.widthHint = 70;
termDetailTable.setLayoutData(gd);
+ /**/
+
+ // Layout term synonym table
+ gd = new GridData();
+ gd.horizontalSpan = 2;
+ gd.grabExcessHorizontalSpace = true;
+ gd.grabExcessVerticalSpace = true;
+ gd.horizontalAlignment = SWT.FILL;
+ gd.verticalAlignment = GridData.BEGINNING;
+ gd.heightHint = 200;
+ gd.widthHint = 70;
+ termSynonymTable.setLayoutData(gd);
+
+ /**/
+
// Layout species dropdown
gd = new GridData();
gd.widthHint = width/2;