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

lgiessmann at common-lisp.net lgiessmann at common-lisp.net
Fri Jul 8 11:01:44 UTC 2011


Author: lgiessmann
Date: Fri Jul  8 04:01:43 2011
New Revision: 583

Log:
gdl-frontend: Widgets: fixed the registration of event-handlers for GdlList => fixed the style-handlers for hover, active and focus

Modified:
   branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.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/container/GdlList.java

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java	Fri Jul  8 02:13:38 2011	(r582)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java	Fri Jul  8 04:01:43 2011	(r583)
@@ -21,7 +21,6 @@
 import us.isidor.gdl.anaToMia.Widgets.values.CursorValue;
 import us.isidor.gdl.anaToMia.Widgets.values.NumUnitValue;
 import com.google.gwt.core.client.JsArray;
-import com.google.gwt.dom.client.Element;
 import com.google.gwt.dom.client.Style.Display;
 import com.google.gwt.dom.client.Style.Float;
 import com.google.gwt.dom.client.Style.VerticalAlign;
@@ -55,7 +54,6 @@
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.dom.client.Node;
 
 
 public abstract class GdlVisibleObject extends Composite implements GdlDescriptor, HasClickHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasFocusHandlers, HasMouseDownHandlers, HasMouseUpHandlers, HasBlurHandlers{

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	Fri Jul  8 02:13:38 2011	(r582)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java	Fri Jul  8 04:01:43 2011	(r583)
@@ -83,6 +83,8 @@
 			Topic gdlTextDecoration = gdlPanel.getSchemaTm().createTopicBySubjectIdentifier(gdlPanel.getSchemaTm().createLocator(GdlPsis.OccurrenceType.gdlTextDecoration));
 			Topic gdlDisplay = gdlPanel.getSchemaTm().createTopicBySubjectIdentifier(gdlPanel.getSchemaTm().createLocator(GdlPsis.OccurrenceType.gdlDisplay));
 			Topic gdlContentOrientation = gdlPanel.getSchemaTm().createTopicBySubjectIdentifier(gdlPanel.getSchemaTm().createLocator(GdlPsis.OccurrenceType.gdlContentOrientation));
+			Topic gdlListStyleType = gdlPanel.getSchemaTm().createTopicBySubjectIdentifier(gdlPanel.getSchemaTm().createLocator(GdlPsis.OccurrenceType.gdlListStyleType));
+			
 			
 			tmpRepresentative.createOccurrence(gdlId, "ID_1", null);
 			tmpRepresentative.createOccurrence(gdlBackgroundColor, "red", null);
@@ -106,6 +108,7 @@
 			tmpRepresentative.createOccurrence(gdlTextDecoration, "underline", null);
 			tmpRepresentative.createOccurrence(gdlDisplay, "inline", null);
 			tmpRepresentative.createOccurrence(gdlContentOrientation, "vertical", null);
+			tmpRepresentative.createOccurrence(gdlListStyleType, "square", null);
 			Occurrence bgcHover = tmpRepresentative.createOccurrence(gdlBackgroundColor, "green", null);
 			bgcHover.addTheme(gdlHover);
 			Occurrence bgcActive = tmpRepresentative.createOccurrence(gdlBackgroundColor, "purple", null);
@@ -116,7 +119,7 @@
 			fsHover.addTheme(gdlHover);
 			
 			
-			GdlList tmp = new GdlList(tmpRepresentative){};
+			GdlList tmp = new GdlList(tmpRepresentative);
 			this.mainPanel.add(tmp);
 		}catch(Exception e){
 			e.printStackTrace();

Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/container/GdlList.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/container/GdlList.java	Fri Jul  8 02:13:38 2011	(r582)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/container/GdlList.java	Fri Jul  8 04:01:43 2011	(r583)
@@ -7,17 +7,38 @@
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.Widget;
 import com.google.gwt.dom.client.Node;
+import com.google.gwt.event.dom.client.BlurEvent;
+import com.google.gwt.event.dom.client.BlurHandler;
+import com.google.gwt.event.dom.client.FocusEvent;
+import com.google.gwt.event.dom.client.FocusHandler;
+import com.google.gwt.event.dom.client.HasBlurHandlers;
+import com.google.gwt.event.dom.client.HasFocusHandlers;
+import com.google.gwt.event.dom.client.HasMouseDownHandlers;
+import com.google.gwt.event.dom.client.HasMouseOutHandlers;
+import com.google.gwt.event.dom.client.HasMouseOverHandlers;
+import com.google.gwt.event.dom.client.HasMouseUpHandlers;
+import com.google.gwt.event.dom.client.MouseDownEvent;
+import com.google.gwt.event.dom.client.MouseDownHandler;
+import com.google.gwt.event.dom.client.MouseOutEvent;
+import com.google.gwt.event.dom.client.MouseOutHandler;
+import com.google.gwt.event.dom.client.MouseOverEvent;
+import com.google.gwt.event.dom.client.MouseOverHandler;
+import com.google.gwt.event.dom.client.MouseUpEvent;
+import com.google.gwt.event.dom.client.MouseUpHandler;
+import com.google.gwt.event.shared.HandlerRegistration;
 import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Occurrence;
 import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
 import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis;
 import us.isidor.gdl.anaToMia.Widgets.base.GdlVisibleObject;
+import us.isidor.gdl.anaToMia.Widgets.environment.ActiveStyleHandler;
 import us.isidor.gdl.anaToMia.Widgets.environment.ExecutionException;
+import us.isidor.gdl.anaToMia.Widgets.environment.FocusStyleHandler;
+import us.isidor.gdl.anaToMia.Widgets.environment.HoverStyleHandler;
 import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException;
 import us.isidor.gdl.anaToMia.Widgets.environment.Pair;
 import us.isidor.gdl.anaToMia.Widgets.values.ListStylePositionValue;
 import us.isidor.gdl.anaToMia.Widgets.values.ListStyleTypeValue;
 
-// TODO: check style attributes + css pseudo classes
 
 public class GdlList extends GdlVisibleObject{
 	// some constructors
@@ -37,6 +58,18 @@
 	public void initList(boolean ordered) throws InvalidGdlSchemaException, ExecutionException {
 		// this object is able to own only one sub-element
 		ListWidget list = new ListWidget(this.getOrdered());
+		ActiveStyleHandler asHandler = new ActiveStyleHandler(this);
+		FocusStyleHandler fsHandler = new FocusStyleHandler(this);
+		HoverStyleHandler hsHandler = new HoverStyleHandler(this);
+		int idSuffix = 0;
+		if(this.subElements != null) idSuffix = this.subElements.size(); 
+		list.setId(this.getId() + "__GDL_" + idSuffix);
+		list.addMouseDownHandler(asHandler);
+		list.addMouseUpHandler(asHandler);
+		list.addMouseOverHandler(hsHandler);
+		list.addMouseOutHandler(hsHandler);
+		list.addFocusHandler(fsHandler);
+		list.addBlurHandler(fsHandler);
 		super.addToContainerPanel(list);	
 		this.setGdlStyle(list);
 	}
@@ -134,8 +167,11 @@
 	public void setGdlStyle(Widget widget) throws InvalidGdlSchemaException, ExecutionException {
 		super.setGdlStyle(widget);
 
-		this.setListStylePositionValue((ListWidget)widget, this.getListStylePosition());
-		this.setListStyleType((ListWidget)widget, this.getListStyleType());
+		// this may be only called if the ListWidget is the passed argument
+		if(widget.getClass().equals(ListWidget.class)){
+			this.setListStylePositionValue((ListWidget)widget, this.getListStylePosition());
+			this.setListStyleType((ListWidget)widget, this.getListStyleType());
+		}
 	}
 	
 	
@@ -148,7 +184,7 @@
 	
 	
 	// Wraps a ul an ol element as a widget based on a SimplePanel
-	protected class ListWidget extends Composite {
+	protected class ListWidget extends Composite implements HasMouseDownHandlers, HasMouseUpHandlers, HasFocusHandlers, HasBlurHandlers, HasMouseOutHandlers, HasMouseOverHandlers{
 		private SimplePanel basePanel = new SimplePanel();
 		private Element listElement = null;
 		// note: index is not the actual index of the item in the array list,
@@ -235,6 +271,47 @@
 			
 			return -1;
 		}
+		
+		
+		public void setId(String id){
+			DOM.setElementAttribute(this.basePanel.getElement(), "id", id);
+		}
+
+
+		@Override
+		public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
+			return this.basePanel.addDomHandler(handler, MouseOverEvent.getType());
+		}
+
+
+		@Override
+		public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {
+			return this.basePanel.addDomHandler(handler, MouseOutEvent.getType());
+		}
+
+
+		@Override
+		public HandlerRegistration addBlurHandler(BlurHandler handler) {
+			return this.basePanel.addDomHandler(handler, BlurEvent.getType());
+		}
+
+
+		@Override
+		public HandlerRegistration addFocusHandler(FocusHandler handler) {
+			return this.basePanel.addDomHandler(handler, FocusEvent.getType());
+		}
+
+
+		@Override
+		public HandlerRegistration addMouseUpHandler(MouseUpHandler handler) {
+			return this.basePanel.addDomHandler(handler, MouseUpEvent.getType());
+		}
+
+
+		@Override
+		public HandlerRegistration addMouseDownHandler(MouseDownHandler handler) {
+			return this.basePanel.addDomHandler(handler, MouseDownEvent.getType());
+		}
 	}
 	
 	
@@ -297,8 +374,5 @@
 				}
 			}
 		}
-		
-		
-		
 	}
 }




More information about the Isidorus-cvs mailing list