import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Dialog;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class PopUpLabelDialog extends Dialog {
public class Result {
- public final String html;
public final String image;
Result() {
- html = htmlText.getText().trim();
image = imageText.getText().trim();
}
};
private Composite buttons;
// Widgets
- private Text htmlText;
+ private Combo labelCombo;
+ private Text curator;
private Text imageText;
+
// Dialog buttons
private Button cancelButton;
private Button assignButton;
}
private void createUI() {
- // Overall layout
content = new Composite(shell, 0);
- content.setLayout(LayoutFactory.createGridLayout(0, 0, 2, false));
+ content.setLayout(LayoutFactory.createGridLayout(0, 0, 1, false));
widgets = new Composite(content, 0);
widgets.setLayout(LayoutFactory.createGridLayout(10, 5, 3, false));
widgets.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
buttons = new Composite(content, 0);
buttons.setLayout(LayoutFactory.createGridLayout(10, 5, 3, false));
buttons.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-
// Form content
- label(widgets, "HTML file name:");
- htmlText = text(widgets, "imagemap.html");
+ label(widgets, "Annotate");
+ labelCombo = combo(widgets);
+ spacer(widgets);
+
+ label(widgets, "Curator");
+ curator = text(widgets,"Enter your name");
spacer(widgets);
hline(widgets);
-
+
// Button bar
expander(buttons);
cancelButton = new Button(buttons, SWT.PUSH);
shell.setDefaultButton(assignButton);
// Add listeners
+ addListeners();
+ }
+
+ private void addListeners() {
+
+ cancelButton.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event e) {
+ result = null;
+ shell.dispose();
+ }
+ });
+
+ assignButton.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event e) {
+ result = new Result();
+ shell.dispose();
+ }
+ });
}
private Label hline(Composite parent) {
private Label spacer(Composite parent) {
Label label = new Label(parent, SWT.NONE);
- label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
+ label.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));
return label;
}
return text;
}
+ private Combo combo(Composite parent) {
+ Combo combo = new Combo(parent, SWT.BORDER | SWT.DROP_DOWN);
+ combo.setLayoutData(layout2());
+ return combo;
+ }
+
private GridData layout1() {
return new GridData(SWT.LEFT, SWT.CENTER, false, false);
}
import java.lang.reflect.InvocationTargetException;
import java.net.*;
+import java.util.ArrayList;
import java.util.Properties;
import java.util.logging.*;
import java.awt.image.BufferedImage;
comboLabel.addKeyListener(new KeyListener() {
@Override
public void keyReleased(KeyEvent e) {
+ ArrayList<String> listElements = new ArrayList<String>();
/*
* For the down arrow functionality
*/
}
else if (!(e.keyCode == 13))
{
+ if(listElements != null)
+ {
+ listElements = null;
+ }
comboLabel.setListVisible(false);
- setLabel(comboLabel.getText());
+ listElements = getLabels(comboLabel.getText());
+ assign.setEnabled(!(comboLabel.getText().isEmpty()));
+
+ }
+ for (int i=0; i<listElements.size();i++)
+ {
+ comboLabel.add(listElements.get(i),i);
}
- //comboLabel.setSelection(arg0);
}
@Override
public void keyPressed(KeyEvent arg0) {
setPainter(painter);
}
- private void setLabel(String content) {
+ private ArrayList<String> getLabels(String content) {
+ ArrayList<String> labels = new ArrayList<String>();
try
{
comboLabel.remove(0,comboLabel.getItemCount()-1);
URL url = new URL("http://palea.cgrb.oregonstate.edu/services/PO_web_service.php?request_type=term_search&search_value="+encodedContent+"&inc_synonyms&branch_filter=plant_anatomy&max=20");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+ /*
+ * if the response is 'OK'
+ */
if(connection.getResponseCode() == 200)
{
String inputLine;
for(int i=0; i<array.length();i++)
{
listElement = (array.getJSONObject(i).getString("match")+" {"+array.getJSONObject(i).getString("accession_id")+"}");
- listElement = StringEscapeUtils.unescapeHtml4(listElement);
- comboLabel.add(listElement,i);
+ labels.add(i,StringEscapeUtils.unescapeHtml4(listElement));
}
in.close();
}
catch(Exception ex)
{
}
- /*if(comboLabel.getText().equals(null) && comboLabel.getItemCount()>0)
- {
- comboLabel.setText(comboLabel.getItem(0));
- }*/
- assign.setEnabled(!(comboLabel.getText().isEmpty()));
+ return labels;
}
private void apply() {
// Setup exporter
Exporter exporter = new Exporter(image, mask);
- exporter.setHtmlFile(result.html);
exporter.setImageFile(result.image);
String label = SegmentationView.comboLabel.getText();
if(label.indexOf('{') != -1)