[isidorus-cvs] r933 - in branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets: base isidorus

lgiessmann at common-lisp.net lgiessmann at common-lisp.net
Tue Sep 20 09:20:51 UTC 2011


Author: lgiessmann
Date: Tue Sep 20 02:20:51 2011
New Revision: 933

Log:
gdl-frontend: Widgets: make the classes LoadSchemaCallback and GdlWebPage using LoadScreenPanel to signal the user that the system is busy

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/isidorus/GdlWebPage.java
   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/base/TestClass.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java	Tue Sep 20 02:00:21 2011	(r932)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java	Tue Sep 20 02:20:51 2011	(r933)
@@ -5,7 +5,6 @@
 
 import com.google.gwt.core.client.EntryPoint;
 import com.google.gwt.user.client.Timer;
-import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.RootPanel;
 
@@ -23,7 +22,6 @@
 			@Override
 			public void run() {
 				lsp.removeFromParent();
-				Window.alert("timer fired event!");
 			}
 		};
 		

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/GdlWebPage.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/GdlWebPage.java	Tue Sep 20 02:00:21 2011	(r932)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/GdlWebPage.java	Tue Sep 20 02:20:51 2011	(r933)
@@ -37,6 +37,7 @@
 	private Button createNewButton = new Button("create new");
 	private PsiContainer psiContainer = null;
 	private GdlPanel gdlPanel = null;
+	private LoadScreenPanel loadScreenPanel = null;
 	private final String GDL_PANEL_STYLE_NAME = "gdl_panel";
 	private final String CREATE_NEW_BUTTON_STYLE_NAME = "create_new_button";
 	
@@ -73,6 +74,7 @@
 	
 	
 	public void resetPage() {
+		this.removeLoadScreenPanel();
 		if(gdlPanel != null) this.gdlPanel.removeFromParent();
 		if(this.psiContainer != null) this.psiContainer.removeFromParent();
 		if(this.createNewButton != null) this.createNewButton.removeFromParent();
@@ -87,6 +89,18 @@
 	}
 	
 	
+	public void removeLoadScreenPanel(){
+		if(this.loadScreenPanel != null) this.loadScreenPanel.removeFromParent();
+	}
+	
+	
+	public void createLoadScreenPanel(String title, String message){
+		this.removeLoadScreenPanel();
+		this.loadScreenPanel = new LoadScreenPanel(title, message);
+		RootPanel.get().add(this.loadScreenPanel);
+	}
+	
+	
 	private void requestPsis() throws ExecutionException {
 		String url = null;
 		String postData = null;
@@ -110,6 +124,7 @@
 		
 		RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
 		try{
+			this.createLoadScreenPanel("Wating for data", "Requesting all PSIs of instances of " + GdlWebPage.this.topicTypePsi + " from " + url);
 			builder.sendRequest(postData, new PsiRequest());
 		}catch(RequestException e){
 			e.printStackTrace();
@@ -129,7 +144,7 @@
 				GdlWebPage.this.gdlPanel = new GdlPanel(null, topicsToCreate, 362, 160);
 				GdlWebPage.this.mainPanel.add(gdlPanel);
 				gdlPanel.setTmEngine(new JtmsTmEngine());
-				gdlPanel.setLoadSchemaCallback(new LoadSchemaCallback());
+				gdlPanel.setLoadSchemaCallback(new LoadSchemaCallback(GdlWebPage.this));
 				gdlPanel.setCommitCallback(new CommitCallback());
 				gdlPanel.setDeleteCallback(new DeleteCallback());
 				gdlPanel.addStyleName(GdlWebPage.this.GDL_PANEL_STYLE_NAME);
@@ -154,7 +169,7 @@
 					GdlWebPage.this.gdlPanel = new GdlPanel(new Pair<String, TopicIdentifierTypes>(source.getText(), TopicIdentifierTypes.SubjectIdentifier), null, 362, 160);
 					GdlWebPage.this.mainPanel.add(gdlPanel);
 					gdlPanel.setTmEngine(new JtmsTmEngine());
-					gdlPanel.setLoadSchemaCallback(new LoadSchemaCallback());
+					gdlPanel.setLoadSchemaCallback(new LoadSchemaCallback(GdlWebPage.this));
 					gdlPanel.setCommitCallback(new CommitCallback());
 					gdlPanel.setDeleteCallback(new DeleteCallback());
 					gdlPanel.loadSchema();
@@ -216,6 +231,7 @@
 			} else {
 				Window.alert("could not request existing instances of " + GdlWebPage.this.topicTypePsi + ", because(" + response.getStatusCode() + "): " + response.getStatusText());
 			}
+			GdlWebPage.this.removeLoadScreenPanel();
 		}
 		
 

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/LoadSchemaCallback.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/LoadSchemaCallback.java	Tue Sep 20 02:00:21 2011	(r932)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/LoadSchemaCallback.java	Tue Sep 20 02:20:51 2011	(r933)
@@ -25,9 +25,15 @@
 	private ArrayList<Pair<String, TopicIdentifierTypes>> requestedTopicsToCreate = new ArrayList<Pair<String,TopicIdentifierTypes>>(); 
 	private Pair<String, TopicIdentifierTypes> requestedTopicToEdit = null;
 	private RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, isidorusUrl);
+	private GdlWebPage gdlWebPage = null;
 	
+	@SuppressWarnings("unused")
+	private LoadSchemaCallback(){}
 	
-	public LoadSchemaCallback(){}
+	
+	public LoadSchemaCallback(GdlWebPage gdlWebPage){
+		this.gdlWebPage = gdlWebPage;
+	}
 	
 	
 	// this method is invoked as a callback method
@@ -35,6 +41,7 @@
 	public void loadSchema(GdlPanel panel, Pair<String, TopicIdentifierTypes> requestedTopicToEdit , ArrayList<Pair<String, TopicIdentifierTypes>> requestedTopicsToCreate)throws RequestException {
 		this.requestedTopicsToCreate = requestedTopicsToCreate;
 		this.requestedTopicToEdit = requestedTopicToEdit;
+		this.gdlWebPage.createLoadScreenPanel("Requesting and Processing GDL data", "requesting a GDL-Schema from " + IsidorusConstants.GET_SCHEMA_REQUEST_URL + " and creating the corresponding UI-fragment");
 		requestBuilder.sendRequest(null, new RequestCallbackImpl(panel));
 	}
 
@@ -89,6 +96,7 @@
 				
 				dialog.center();
 			}
+			LoadSchemaCallback.this.gdlWebPage.removeLoadScreenPanel();
 		}
 		
 		
@@ -115,6 +123,7 @@
 			});
 			
 			dialog.center();
+			LoadSchemaCallback.this.gdlWebPage.removeLoadScreenPanel();
 		}
 	}
 }




More information about the Isidorus-cvs mailing list