summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2010-10-07 14:09:08 +0000
committerkrasimir <krasimir@chalmers.se>2010-10-07 14:09:08 +0000
commit5f84c536812730ed581af5f8523d1676f1966fba (patch)
tree4621460ae6afcb5f4b07ee9c535ec60e2e284e0b
parent89ae7a3ac4a875ead8d9c52b2b614a4e4a24b18a (diff)
dummy UI for documents saving/loading in the editor
-rw-r--r--src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/DocumentsPanel.java56
-rw-r--r--src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/EditorApp.java32
-rw-r--r--src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/TextInputPanel.java17
-rw-r--r--src/ui/gwt/src/org/grammaticalframework/ui/gwt/public/Editor.css34
-rw-r--r--src/ui/gwt/src/org/grammaticalframework/ui/gwt/public/textinput-buttons.pngbin518 -> 1171 bytes
5 files changed, 134 insertions, 5 deletions
diff --git a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/DocumentsPanel.java b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/DocumentsPanel.java
new file mode 100644
index 000000000..1cdd99700
--- /dev/null
+++ b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/DocumentsPanel.java
@@ -0,0 +1,56 @@
+package org.grammaticalframework.ui.gwt.client;
+
+import java.util.*;
+import com.google.gwt.user.client.*;
+import com.google.gwt.user.client.ui.*;
+import com.google.gwt.http.client.*;
+import com.google.gwt.xml.client.*;
+import com.google.gwt.event.logical.shared.*;
+import com.google.gwt.event.dom.client.*;
+
+public class DocumentsPanel extends Composite {
+
+ private PGFWrapper pgf;
+ private FlexTable table;
+
+ public DocumentsPanel(PGFWrapper pgf) {
+ this.pgf = pgf;
+
+ VerticalPanel documentsPanel = new VerticalPanel();
+ documentsPanel.setStylePrimaryName("my-DocumentsFrame");
+
+ Label header = new Label("Documents");
+ header.setStylePrimaryName("my-DocumentsHeader");
+ documentsPanel.add(header);
+
+ table = new FlexTable();
+ table.setStylePrimaryName("my-DocumentsTable");
+ documentsPanel.add(table);
+
+ addRow(0, "Test0");
+ addRow(1, "Test1");
+ addRow(2, "Test2");
+ addRow(3, "Test3");
+
+ table.addClickHandler(new ClickHandler() {
+ public void onClick(ClickEvent event) {
+ HTMLTable.Cell cell = table.getCellForEvent(event);
+ if (cell != null) {
+ int row = cell.getRowIndex();
+ selectRow(row);
+ }
+ }
+ });
+
+ initWidget(documentsPanel);
+ setStylePrimaryName("my-DocumentsPanel");
+ }
+
+ private void addRow(int row, String text) {
+ table.setText(row, 0, text);
+ table.getRowFormatter().addStyleName(row, "row");
+ }
+
+ private void selectRow(int row) {
+ }
+}
diff --git a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/EditorApp.java b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/EditorApp.java
index 107e2c6cd..30e1cd896 100644
--- a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/EditorApp.java
+++ b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/EditorApp.java
@@ -19,6 +19,7 @@ public class EditorApp implements EntryPoint {
protected Widget translatePanel;
protected BrowsePanel browsePanel;
protected QueryPanel queryPanel;
+ protected DocumentsPanel documentsPanel;
protected StatusPopup statusPopup;
protected TextInputPanel textPanel;
protected FridgeBagPanel bagPanel;
@@ -217,6 +218,7 @@ public class EditorApp implements EntryPoint {
translatePanel = createTranslatePanel();
browsePanel = createBrowsePanel();
queryPanel = createQueryPanel();
+ documentsPanel = createDocumentsPanel();
VerticalPanel vPanel = new VerticalPanel();
vPanel.setWidth("100%");
@@ -318,13 +320,29 @@ public class EditorApp implements EntryPoint {
return new QueryPanel(pgf);
}
+ protected DocumentsPanel createDocumentsPanel() {
+ return new DocumentsPanel(pgf);
+ }
+
protected Widget createLinksPanel(final Panel parent) {
HorizontalPanel linksPanel = new HorizontalPanel();
linksPanel.setStylePrimaryName("my-LinksPanel");
+ Hyperlink documentsLink = new Hyperlink("Documents", "documents");
+ documentsLink.addClickListener(new ClickListener() {
+ public void onClick(Widget sender) {
+ parent.remove(browsePanel);
+ parent.remove(queryPanel);
+ parent.remove(translatePanel);
+ parent.add(documentsPanel);
+ }
+ });
+ linksPanel.add(documentsLink);
+
Hyperlink translateLink = new Hyperlink("Translate", "translate");
translateLink.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
+ parent.remove(documentsPanel);
parent.remove(browsePanel);
parent.remove(queryPanel);
parent.add(translatePanel);
@@ -335,6 +353,7 @@ public class EditorApp implements EntryPoint {
Hyperlink queryLink = new Hyperlink("Query", "query");
queryLink.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
+ parent.remove(documentsPanel);
parent.remove(translatePanel);
parent.remove(browsePanel);
parent.add(queryPanel);
@@ -345,6 +364,7 @@ public class EditorApp implements EntryPoint {
Hyperlink browseLink = new Hyperlink("Browse", "browse");
browseLink.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
+ parent.remove(documentsPanel);
parent.remove(translatePanel);
parent.remove(queryPanel);
parent.add(browsePanel);
@@ -379,15 +399,23 @@ public class EditorApp implements EntryPoint {
}
public void onHistoryChanged(String token) {
- if (token.equals("translate")) {
+ if (token.equals("documents")) {
+ parent.add(documentsPanel);
+ parent.remove(translatePanel);
parent.remove(queryPanel);
parent.remove(browsePanel);
+ } else if (token.equals("translate")) {
+ parent.remove(documentsPanel);
parent.add(translatePanel);
+ parent.remove(queryPanel);
+ parent.remove(browsePanel);
} else if (token.equals("query")) {
+ parent.remove(documentsPanel);
parent.remove(translatePanel);
- parent.remove(browsePanel);
parent.add(queryPanel);
+ parent.remove(browsePanel);
} else if (token.equals("browse")) {
+ parent.remove(documentsPanel);
parent.remove(translatePanel);
parent.remove(queryPanel);
parent.add(browsePanel);
diff --git a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/TextInputPanel.java b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/TextInputPanel.java
index cfaec4f03..2a70e4d02 100644
--- a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/TextInputPanel.java
+++ b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/TextInputPanel.java
@@ -71,7 +71,7 @@ public class TextInputPanel extends Composite implements Focusable, HasValueChan
toolbar.setCellVerticalAlignment(buttons,HorizontalPanel.ALIGN_MIDDLE);
Image clearButton = new Image("org.grammaticalframework.ui.gwt.EditorApp/textinput-buttons.png",0,0,20,20);
- clearButton.setTitle("Clears the whole text.");
+ clearButton.setTitle("Clears the whole document.");
clearButton.setStylePrimaryName("button");
clearButton.addClickListener(new ClickListener () {
public void onClick(Widget sender) {
@@ -80,7 +80,17 @@ public class TextInputPanel extends Composite implements Focusable, HasValueChan
});
buttons.add(clearButton);
- Image deleteLastButton = new Image("org.grammaticalframework.ui.gwt.EditorApp/textinput-buttons.png",20,0,20,20);
+ Image saveButton = new Image("org.grammaticalframework.ui.gwt.EditorApp/textinput-buttons.png",20,0,20,20);
+ saveButton.setTitle("Save the document.");
+ saveButton.setStylePrimaryName("button");
+ saveButton.addClickListener(new ClickListener () {
+ public void onClick(Widget sender) {
+ save();
+ }
+ });
+ buttons.add(saveButton);
+
+ Image deleteLastButton = new Image("org.grammaticalframework.ui.gwt.EditorApp/textinput-buttons.png",40,0,20,20);
deleteLastButton.setTitle("Removes the last word.");
deleteLastButton.setStylePrimaryName("button");
deleteLastButton.addClickListener(new ClickListener () {
@@ -160,6 +170,9 @@ public class TextInputPanel extends Composite implements Focusable, HasValueChan
tempPanel = null;
fireValueChange();
}
+
+ public void save() {
+ }
public void addMagnet(Magnet magnet) {
Label wordLabel = new Label(magnet.getText());
diff --git a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/public/Editor.css b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/public/Editor.css
index 2b876160e..233255ade 100644
--- a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/public/Editor.css
+++ b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/public/Editor.css
@@ -1,4 +1,36 @@
-/** Add css rules here for your application. */
+.my-DocumentsPanel {
+ padding: 1em;
+ width: 100%;
+}
+
+.my-DocumentsFrame {
+ width: 100%;
+}
+
+.my-DocumentsHeader {
+ width: 100%;
+ background-attachement: scroll;
+ background-color: #E5E5E5;
+ background-image: url("background.png");
+ background-position: 0px -192px;
+ background-repeat: repeat-x;
+ font-size: 150%;
+}
+
+.my-DocumentsTable {
+ width: 100%;
+ border: 1px solid #E5E5E5;
+ border-collapse: collapse;
+}
+
+.my-DocumentsTable .row td {
+ cursor:pointer;
+ border: 1px solid #E5E5E5;
+}
+
+.my-DocumentsTable .row:hover {
+ background-color: rgb(147, 194, 241);
+}
.my-TranslatePanel {
padding-top: 1em;
diff --git a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/public/textinput-buttons.png b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/public/textinput-buttons.png
index 46029f34e..9f6017f70 100644
--- a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/public/textinput-buttons.png
+++ b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/public/textinput-buttons.png
Binary files differ