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

Author: lgiessmann Date: Fri Jul 22 01:31:07 2011 New Revision: 657 Log: gdl-frontend: Widgets: fixed a bug when searching for the first containee of a container; extended the test gdl file Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/container/GdlUnit.java branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java ============================================================================== --- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java Thu Jul 21 02:55:39 2011 (r656) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java Fri Jul 22 01:31:07 2011 (r657) @@ -239,7 +239,7 @@ JsArray<Role> selection = assoc.getRoles(pair.getSecond()); int i = 0; for(; i != selection.length(); ++i) - if(isInstanceOf(selection.get(i).getPlayer(), pair.getFirst())) break; + if(pair.getFirst() == null || isInstanceOf(selection.get(i).getPlayer(), pair.getFirst())) break; if(i == selection.length()) return false; } @@ -250,7 +250,7 @@ Role currentRole = roles.get(i); int j = 0; for(; j != rolePlayertypesAndTypes.size(); ++j) - if(currentRole.getType().equals(rolePlayertypesAndTypes.get(j).getSecond()) && isInstanceOf(currentRole.getPlayer(), rolePlayertypesAndTypes.get(j).getFirst())) break; + if(currentRole.getType().equals(rolePlayertypesAndTypes.get(j).getSecond()) && (isInstanceOf(currentRole.getPlayer(), rolePlayertypesAndTypes.get(j).getFirst()) || rolePlayertypesAndTypes.get(j).getFirst() == null)) break; if(j == rolePlayertypesAndTypes.size()) return false; } @@ -310,22 +310,11 @@ localRolePlayertypesAndTypes.add(new Pair<Topic, Topic>(typeOfTopic, roleType)); for (Association assoc : allPotentialAssocs){ - if(getAnyIdOfTopic(topic).equals("http://psi.test.org/gdl-test/unit-1")){ // TODO: remove - String str = ""; - for (Pair<Topic, Topic> pair : localRolePlayertypesAndTypes) - str += ", [" + getAnyIdOfTopic(pair.getFirst()) + ", " + getAnyIdOfTopic(pair.getSecond()) + "]"; - - Window.alert(str); - } - if(hasRoles(assoc, localRolePlayertypesAndTypes)) assocsWoScope.add(assoc); } for (Association assoc : assocsWoScope) if(hasThemes(assoc, scope)) result.add(assoc); - - - return result; } @@ -424,15 +413,7 @@ rolePlayertypesAndTypes.add(new Pair<Topic, Topic>(visibleObject, descendantRoleType)); rolePlayertypesAndTypes.add(new Pair<Topic, Topic>(position, descriptorRoleType)); ArrayList<Association> descendantAssocsOfContainer = TmHelper.getAssociationsOfTopic(container, ancestorRoleType, positionAssocType, null, rolePlayertypesAndTypes); - - if(getAnyIdOfTopic(container).equals("http://psi.test.org/gdl-test/unit-1")){ // TODO: remove - Association assoc = container.getRolesPlayed(ancestorRoleType, positionAssocType).get(0).getParent(); - String str = ""; - for(int i = 0; i != assoc.getRoles().length(); ++i) - str += ", [" + getAnyIdOfTopic(assoc.getRoles().get(i).getType()) + ", " + getAnyIdOfTopic(assoc.getRoles().get(i).getPlayer()) + "]"; - Window.alert(getAnyIdOfTopic(container) + " >> " + descendantAssocsOfContainer.size() + " >> " + str); - } - + ArrayList<Topic> validDescendants = new ArrayList<Topic>(); for (Association descendantAssociation : descendantAssocsOfContainer) { JsArray<Role> descendantRoles = descendantAssociation.getRoles(descendantRoleType); @@ -448,7 +429,7 @@ for (Topic topic : validDescendants) bindings += ", " + getAnyIdOfTopic(topic); if(bindings.length() == 0) bindings = "[]"; else bindings = bindings.substring(2); - throw new InvalidGdlSchemaException("the topic " + top + " must be bound to exaclty one ancestor element, but found " + bindings); + throw new InvalidGdlSchemaException("the topic " + top + " must be bound to exaclty one descendant element, but found " + bindings); }else { return validDescendants.get(0); } Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/container/GdlUnit.java ============================================================================== --- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/container/GdlUnit.java Thu Jul 21 02:55:39 2011 (r656) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/container/GdlUnit.java Fri Jul 22 01:31:07 2011 (r657) @@ -2,6 +2,7 @@ import java.util.ArrayList; import com.google.gwt.user.client.Element; +import com.google.gwt.user.client.Window; import com.google.gwt.event.dom.client.BlurEvent; import com.google.gwt.event.dom.client.BlurHandler; import com.google.gwt.event.dom.client.FocusEvent; @@ -22,6 +23,7 @@ import com.google.gwt.event.dom.client.MouseUpHandler; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.ui.AbsolutePanel; import com.google.gwt.user.client.ui.CaptionPanel; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Widget; @@ -40,6 +42,7 @@ import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException; import us.isidor.gdl.anaToMia.Widgets.text.GdlTextObject; import us.isidor.gdl.anaToMia.Widgets.value.BorderStyleValue; +import us.isidor.gdl.anaToMia.Widgets.value.TextDecorationValue; public class GdlUnit extends GdlTextObject implements IGdlContainer { @@ -60,7 +63,7 @@ // creates a unit element or returns the one, if there is a unit element // in the subElements array private void createUnit() throws InvalidGdlSchemaException, ExecutionException{ - UnitWidget unit = new UnitWidget(); + UnitWidget unit = new UnitWidget(this.getTmRepresentative()); ActiveStyleHandler asHandler = new ActiveStyleHandler(this); FocusStyleHandler fsHandler = new FocusStyleHandler(this); HoverStyleHandler hsHandler = new HoverStyleHandler(this); @@ -133,12 +136,11 @@ } } - + // sets all GDL styles that are defined by the topic map representative to tha passed widget @Override public void setGdlStyle(Widget widget) throws InvalidGdlSchemaException, ExecutionException { super.setGdlStyle(widget); - this.setUnitName(widget, this.getUnitName()); } @@ -170,12 +172,14 @@ protected class UnitWidget extends Composite implements HasFocusHandlers, HasBlurHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseDownHandlers, HasMouseUpHandlers{ private CaptionPanel basePanel = new CaptionPanel(); + private AbsolutePanel containerPanel = new AbsolutePanel(); private Topic tmRepresentative = null; private ArrayList<Widget> subElements = new ArrayList<Widget>(); private UnitWidget(){ initWidget(this.basePanel); + this.basePanel.add(this.containerPanel); } @@ -207,15 +211,15 @@ this.subElements.add(newObj); if(this.getTmRepresentative().equals(ancestor)){ - this.basePanel.add(newObj); + this.containerPanel.add(newObj); } else{ Element elemBefore = oldObj.getElement(); Element elemAfter = DOM.getNextSibling(elemBefore); // insert before seems to be a more accepted and stable // way of inserting new child elements than insertAfter - if(elemAfter == null) this.basePanel.add(newObj); - else this.basePanel.getElement().insertBefore(newObj.getElement(), elemAfter); + if(elemAfter == null) this.containerPanel.add(newObj); + else this.containerPanel.getElement().insertBefore(newObj.getElement(), elemAfter); } position.setAttributes(newObj); return newObj; Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm ============================================================================== --- branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm Thu Jul 21 02:55:39 2011 (r656) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm Fri Jul 22 01:31:07 2011 (r657) @@ -43,6 +43,8 @@ {"subject_identifiers":["[gdl:unit-name]"], "instance_of":["si:[tmcl:occurrence-type]"]}, {"subject_identifiers":["[gdl:height]"], "instance_of":["si:[tmcl:occurrence-type]"]}, {"subject_identifiers":["[gdl:font-weight]"], "instance_of":["si:[tmcl:occurrence-type]"]}, + {"subject_identifiers":["[gdl:float]"], "instance_of":["si:[tmcl:occurrence-type]"]}, + {"subject_identifiers":["[gdl:clear]"], "instance_of":["si:[tmcl:occurrence-type]"]}, {"subject_identifiers":["[doc:default-creator-topic-view-1]"], "instance_of":["si:[gdl:Default-Creator-Topic-View]"], "names":[{"value": "Def. Creator View 1", "type":"si:[gdl:view-name]"}], "occurrences":[{"type":"si:[gdl:id]", "value":"default_creator_topic_view_1_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:background-color]", "value":"#ccc"}, {"type":"si:[gdl:width]", "value":"500px"}, {"type":"si:[gdl:height]", "value":"600px"}]}, {"subject_identifiers":["[gdl:View]"]}, {"subject_identifiers":["[gdl:Text]"]}, @@ -56,8 +58,10 @@ {"subject_identifiers":["[doc:text-1]"], "instance_of":["si:[gdl:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"text_1_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:readonly]", "value":"false", "datatype":"[xsd:boolean]"}]}, {"subject_identifiers":["[doc:unit-1]"], "instance_of":["si:[gdl:Unit]"], "occurrences":[{"type":"si:[gdl:id]", "value":"unit_1_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:unit-name]", "value":"unit 1"}, {"type":"si:[gdl:width]", "value":"400px"}, {"type":"si:[gdl:height]", "value":"200px"}, {"type":"si:[gdl:border-style]", "value":"dashed"}, {"type":"si:[gdl:border-width]", "value":"1px"}, {"type":"si:[gdl:text-decoration]", "value":"line-through"},{"type":"si:[gdl:background-color]", "value":"lime"}]}, {"subject_identifiers":["[doc:title-1]"], "instance_of":["si:[gdl:Title]"], "occurrences":[{"type":"si:[gdl:id]", "value":"title_1_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:text-decoration]", "value":"underline"}, {"type":"si:[gdl:background-color]", "value":"#ccc"}, {"type":"si:[gdl:font-weight]", "value":"bold"}]}, - {"subject_identifiers":["[doc:unit-1-reference]"], "instance_of":["si:[gdl:Reference]"]}, - {"subject_identifiers":["[doc:pos-of-unit-1-reference]"], "instance_of":["si:[gdl:Reference]"]}, + {"subject_identifiers":["[doc:unit-1-reference]"], "instance_of":["si:[gdl:Reference]"], "occurrences":[{"type":"si:[gdl:id]", "value":"unit_1_reference_id"},{"type":"si:[gdl:float]", "value":"left"}]}, + {"subject_identifiers":["[doc:unit-1-text]"], "instance_of":["si:[gdl:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"unit_1_text_id"}, {"type":"si:[gdl:clear]","value":"right"}]}, + {"subject_identifiers":["[doc:pos-of-unit-1-reference]"], "instance_of":["si:[gdl:Position]"]}, + {"subject_identifiers":["[doc:pos-of-unit-1-text]"], "instance_of":["si:[gdl:Position]"]}, {"subject_identifiers":["[doc:reference-1]"], "instance_of":["si:[gdl:Reference]"], "occurrences":[{"type":"si:[gdl:id]", "value":"reference_1_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:margin-left]", "value":"200px"}, {"type":"si:[gdl:background-color]", "value":"yellow"}]}, {"subject_identifiers":["[doc:list-box-1]"], "instance_of":["si:[gdl:List-Box]"], "occurrences":[{"type":"si:[gdl:id]", "value":"list_box_1_id", "datatype":"[xsd:ID]"}]}, {"subject_identifiers":["[gdl:Value]"], "instance_of":["si:[tmcl:topic-type]"]}, @@ -159,5 +163,7 @@ {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:person-list]"},{"type":"si:[gdl:containee]", "player":"si:[doc:list-item-2]"}, {"type":"si:[gdl:nth-element]", "player":"si:[doc:nth-elem-2]"}]}, {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:person-list]"},{"type":"si:[gdl:containee]", "player":"si:[doc:list-item-3]"}, {"type":"si:[gdl:nth-element]", "player":"si:[doc:nth-elem-3]"}]}, {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:unit-1]"},{"type":"si:[gdl:containee]", "player":"si:[doc:unit-1-reference]"}]}, - {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-reference]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-reference]"}]} + {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:unit-1]"},{"type":"si:[gdl:containee]", "player":"si:[doc:unit-1-text]"}]}, + {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-reference]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-reference]"}]}, + {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-reference]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-reference]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-text]"}]} ]} \ No newline at end of file
participants (1)
-
lgiessmann@common-lisp.net