[isidorus-cvs] r532 - in branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets: . base environment isidorus
lgiessmann at common-lisp.net
lgiessmann at common-lisp.net
Wed Jun 29 21:37:51 UTC 2011
Author: lgiessmann
Date: Wed Jun 29 14:37:50 2011
New Revision: 532
Log:
gdl-frontend: Widgets: added the class Pair<T, U>; added a dialogbox example; started to implement a LoadSchemaCallback class for isidorus
Added:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/LoadSchemaCallback.java
Modified:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/GDL_Widgets.gwt.xml
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPanel.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/ILoadSchemaCallback.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/Pair.java
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/GDL_Widgets.gwt.xml
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/GDL_Widgets.gwt.xml Wed Jun 29 13:00:44 2011 (r531)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/GDL_Widgets.gwt.xml Wed Jun 29 14:37:50 2011 (r532)
@@ -2,6 +2,7 @@
<module rename-to='gdl_widgets'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>
+ <inherits name="com.google.gwt.http.HTTP" />
<!-- Inherit the default GWT style sheet. You can change -->
<!-- the theme of your GWT application by uncommenting -->
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPanel.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPanel.java Wed Jun 29 13:00:44 2011 (r531)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPanel.java Wed Jun 29 14:37:50 2011 (r532)
@@ -99,14 +99,14 @@
}
- public void addOnErrorHandler(String descriptorId, IGdlErrorHandler handler){
+ public void registerOnErrorHandler(String descriptorId, IGdlErrorHandler handler){
if(!localOnErrorContainer.contains(handler)){
localOnErrorContainer.add(handler);
}
}
- public void removeOnErrorHandler(String descriptorId, IGdlErrorHandler handler){
+ public void deregisterOnErrorHandler(String descriptorId, IGdlErrorHandler handler){
localOnErrorContainer.remove(handler);
}
@@ -165,6 +165,11 @@
return this.deleteCallback;
}
+ // a getter for the internal topic map
+ public TopicMap getTm(){
+ return this.tm;
+ }
+
// this method is responsible for loading the Topic Map by using the
// loadCallback. After a successfully load operation the
@@ -177,7 +182,7 @@
if(this.loadSchemaCallback == null){
throw new ExecutionException("No LoadCallback was set yet");
}
- this.loadSchemaCallback.loadSchema(tm, this.requestedInstance, this.requestedTypes);
+ this.loadSchemaCallback.loadSchema(this, this.requestedInstance, this.requestedTypes);
}catch(Exception e){
for (IGdlErrorHandler handler : localOnErrorContainer) {
@@ -269,7 +274,7 @@
public void createView(){
try{
// TODO: Implement
- // TODO: register the handlers to the elements with the corresponding id
+ // TODO: register callbacks to the elements with the corresponding id
}catch(Exception e){
for (IGdlErrorHandler handler : localOnErrorContainer) {
handler.onError(GdlErrorTypes.ViewCreationError, e);
@@ -282,4 +287,9 @@
public void clear(){
this.mainPanel.clear();
}
+
+
+ // TODO: implement registration/deregistration for event handlers/callbacks for a specific element
+ // specified by its element id
+ // TODO: implement a registration for Action-Buttons specified by the element's id
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java Wed Jun 29 13:00:44 2011 (r531)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java Wed Jun 29 14:37:50 2011 (r532)
@@ -1,10 +1,17 @@
package us.isidor.gdl.anaToMia.Widgets.base;
import com.google.gwt.core.client.EntryPoint;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.DialogBox;
+import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.RootPanel;
+import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
public class TestClass implements EntryPoint{
@@ -22,6 +29,42 @@
gdlPanel.setPixelSize(100, 100);
DOM.setStyleAttribute(gdlPanel.getElement(), "backgroundColor", "yellow");
mainPanel.add(gdlPanel);
+
+ testDialogBox();
+ }
+
+
+ public void testDialogBox(){
+ final DialogBox dialogbox = new DialogBox();
+ VerticalPanel dialogBoxContents = new VerticalPanel();
+ dialogbox.setText("DialogBox");
+ HTML message = new HTML("Click 'Close' to close");
+ message.setStyleName("demo-DialogBox-message");
+ ClickHandler listener = new ClickHandler()
+ {
+ @Override
+ public void onClick(ClickEvent event) {
+ dialogbox.hide();
+ }
+ };
+ Button button = new Button("Close", listener);
+ SimplePanel holder = new SimplePanel();
+ holder.add(button);
+ dialogBoxContents.add(message);
+ dialogBoxContents.add(holder);
+ dialogbox.setWidget(dialogBoxContents);
+
+ //
+ // Add a button to the demo to show the above DialogBox
+ listener = new ClickHandler()
+ {
+ @Override
+ public void onClick(ClickEvent event) {
+ dialogbox.center();
+ }
+ };
+ button = new Button("Show DialogBox", listener);
+ mainPanel.add(button);
}
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/ILoadSchemaCallback.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/ILoadSchemaCallback.java Wed Jun 29 13:00:44 2011 (r531)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/ILoadSchemaCallback.java Wed Jun 29 14:37:50 2011 (r532)
@@ -1,8 +1,11 @@
package us.isidor.gdl.anaToMia.Widgets.environment;
+import com.google.gwt.http.client.RequestException;
+
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Construct;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMap;
+import us.isidor.gdl.anaToMia.Widgets.base.GdlPanel;
public interface ILoadSchemaCallback {
- public Construct loadSchema(TopicMap tm, String instanceIdentifier, String[] typeIdentifiers);
+ public void loadSchema(GdlPanel panel, String instanceIdentifier, String[] typeIdentifiers)throws RequestException;
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/Pair.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/Pair.java Wed Jun 29 13:00:44 2011 (r531)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/Pair.java Wed Jun 29 14:37:50 2011 (r532)
@@ -1,5 +1,26 @@
package us.isidor.gdl.anaToMia.Widgets.environment;
-public class Pair {
-
+public class Pair<T, U> {
+ private T first = null;
+ private U second = null;
+
+
+ @SuppressWarnings("unused")
+ private Pair(){}
+
+
+ public Pair(T first, U second){
+ this.first = first;
+ this.second = second;
+ }
+
+
+ public T getFirst(){
+ return this.first;
+ }
+
+
+ public U getSecond(){
+ return this.second;
+ }
}
Added: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/LoadSchemaCallback.java
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/LoadSchemaCallback.java Wed Jun 29 14:37:50 2011 (r532)
@@ -0,0 +1,57 @@
+package us.isidor.gdl.anaToMia.Widgets.isidorus;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.http.client.Request;
+import com.google.gwt.http.client.RequestBuilder;
+import com.google.gwt.http.client.RequestCallback;
+import com.google.gwt.http.client.RequestException;
+import com.google.gwt.http.client.Response;
+import com.google.gwt.http.client.URL;
+import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Construct;
+import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMap;
+import us.isidor.gdl.anaToMia.Widgets.base.GdlPanel;
+import us.isidor.gdl.anaToMia.Widgets.environment.ILoadSchemaCallback;
+
+
+public class LoadSchemaCallback implements ILoadSchemaCallback{
+ private final String isidorusUrl = URL.encode(GWT.getModuleBaseURL() + "testJson.txt"); // TODO: replace with the correct URL
+ private RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, isidorusUrl);
+
+ public LoadSchemaCallback(){}
+
+
+ @Override
+ public void loadSchema(GdlPanel panel, String instanceIdentifier, String[] typeIdentifiers) throws RequestException {
+ Request request = requestBuilder.sendRequest(null, new RequestCallbackImpl(panel));
+ }
+
+
+ private class RequestCallbackImpl implements RequestCallback{
+ private GdlPanel panel = null;
+
+
+ @SuppressWarnings("unused")
+ private RequestCallbackImpl() {}
+
+
+ public RequestCallbackImpl(GdlPanel panel){
+ this.panel = panel;
+ }
+
+
+ @Override
+ public void onResponseReceived(Request request, Response response) {
+ if(Response.SC_OK == response.getStatusCode()){
+ panel.createView();
+ } else {
+ // TODO: implement error handling => http://examples.roughian.com/index.htm#Widgets~DialogBox
+ }
+ }
+
+
+ @Override
+ public void onError(Request request, Throwable exception) {
+ // TODO: implement error handling => http://examples.roughian.com/index.htm#Widgets~DialogBox
+ }
+ }
+}
More information about the Isidorus-cvs
mailing list