diff options
| author | krasimir <krasimir@chalmers.se> | 2010-10-07 14:09:08 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2010-10-07 14:09:08 +0000 |
| commit | 5f84c536812730ed581af5f8523d1676f1966fba (patch) | |
| tree | 4621460ae6afcb5f4b07ee9c535ec60e2e284e0b | |
| parent | 89ae7a3ac4a875ead8d9c52b2b614a4e4a24b18a (diff) | |
dummy UI for documents saving/loading in the editor
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 Binary files differindex 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 |
