isidorus-cvs
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
July 2011
- 1 participants
- 156 discussions

27 Jul '11
Author: lgiessmann
Date: Wed Jul 27 04:07:48 2011
New Revision: 676
Log:
gdl-frontend: Widgets: fixed a bug in getAssociationsOfTopic; implemented the gdl:button-positioning of GdlActionButton(s)
Modified:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/ButtonableObject.java
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/TmHelper.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCheckBox.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlDeleteButton.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlRadioButton.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/complexData/GdlDatePicker.java
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/GdlUnit.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlListBox.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlReference.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlText.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlTitle.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.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/TODO.txt
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt Wed Jul 27 04:07:48 2011 (r676)
@@ -1,3 +1,4 @@
+* Fix GdlActionButton => Text-Attributes
* Implement GdlInfo
* Implement GdlButton(s)
* Implement TopicMaps data consumption
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/ButtonableObject.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/ButtonableObject.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/ButtonableObject.java Wed Jul 27 04:07:48 2011 (r676)
@@ -8,7 +8,6 @@
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Widget;
-import com.sun.corba.se.spi.orbutil.fsm.ActionBase;
public class ButtonableObject extends Composite {
@@ -27,6 +26,12 @@
}
+ public Widget getMainObject(){
+ if(this.mainPanel.getWidgetCount() != 0) return this.mainPanel.getWidget(0);
+ else return null;
+ }
+
+
public void addButton(GdlActionButton button){
this.mainPanel.add(button);
}
@@ -45,7 +50,7 @@
public boolean containsButton(Topic tmRepresentative){
- for(int i = 0; i != this.mainPanel.getWidgetCount(); ++i)
+ for(int i = 1; i < this.mainPanel.getWidgetCount(); ++i)
if(((GdlActionButton)this.mainPanel.getWidget(i)).getTmRepresentative().equals(tmRepresentative)) return true;
return false;
@@ -53,7 +58,7 @@
public boolean containsButton(GdlActionButton button){
- for(int i = 0; i != this.mainPanel.getWidgetCount(); ++i)
+ for(int i = 1; i < this.mainPanel.getWidgetCount(); ++i)
if(this.mainPanel.getWidget(i).equals(button)) return true;
return false;
@@ -64,7 +69,7 @@
if(activeButtons == null) return;
ArrayList<GdlActionButton> buttonsToRemove = new ArrayList<GdlActionButton>();
- for(int i = 0; i != this.mainPanel.getWidgetCount(); ++i)
+ for(int i = 1; i < this.mainPanel.getWidgetCount(); ++i)
if(!activeButtons.contains(this.mainPanel.getWidget(i))) buttonsToRemove.add((GdlActionButton)this.mainPanel.getWidget(i));
for (GdlActionButton buttonToRemove : buttonsToRemove)
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 Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java Wed Jul 27 04:07:48 2011 (r676)
@@ -97,10 +97,9 @@
// this method should be invoked if a new sub-element is added to this instance
protected ButtonableObject addToContainerPanel(Widget widget) throws ExecutionException, InvalidGdlSchemaException{
- this.setContentOrientation(this.getContentOrientation());
- this.subElements.add(widget);
-
+ this.setContentOrientation(this.getContentOrientation());
ButtonableObject btn = new ButtonableObject(widget);
+ this.subElements.add(btn);
this.containerPanel.add(btn);
return btn;
}
@@ -109,23 +108,20 @@
// sets all buttons in the sub-elements that are specified by a
// gdl:button-position association
protected void setNthButtons() throws InvalidGdlSchemaException, ExecutionException {
- if(this.actionButtonsAndPositions == null) this.actionButtonsAndPositions = TmHelper.topicContainsActionButtons(this.tmRepresentative);
+ if(this.actionButtonsAndPositions == null) this.actionButtonsAndPositions = TmHelper.topicContainsNthButtons(this.tmRepresentative);
- // walk though all sub elements
for(int i = 0; i != this.subElements.size(); ++i){
- ButtonableObject parent = (ButtonableObject)this.subElements.get(i).getParent();
-
// search all buttons for the current sub element
ArrayList<Topic> currentButtons = new ArrayList<Topic>();
for (Pair<Topic, Integer> pair : this.actionButtonsAndPositions)
if(pair.getSecond() == i || (i == this.subElements.size() -1 && pair.getSecond() == -1)) currentButtons.add(pair.getFirst());
// remove buttons that do not belong to the current sub element anymore
- parent.removeObsoleteButtons(currentButtons);
+ ((ButtonableObject)this.subElements.get(i)).removeObsoleteButtons(currentButtons);
// add buttons that are not bound to the current sub element, but belong to it
for (Topic currentButton : currentButtons)
- if(!parent.containsButton(currentButton)) parent.addButton((GdlActionButton)GdlInstantiator.instantiate(currentButton));
+ if(!((ButtonableObject)this.subElements.get(i)).containsButton(currentButton)) ((ButtonableObject)this.subElements.get(i)).addButton((GdlActionButton)GdlInstantiator.instantiate(currentButton));
}
}
@@ -1551,7 +1547,7 @@
public MultipleHandlerRegistration addClickHandler(ClickHandler handler) {
MultipleHandlerRegistration regs = new MultipleHandlerRegistration();
for (Widget item : this.subElements) {
- regs.addHandlerRegistration(item.addHandler(handler, ClickEvent.getType()));
+ regs.addHandlerRegistration(((ButtonableObject)item).getMainObject().addHandler(handler, ClickEvent.getType()));
}
return regs;
}
@@ -1562,7 +1558,7 @@
public MultipleHandlerRegistration addMouseOutHandler(MouseOutHandler handler){
MultipleHandlerRegistration regs = new MultipleHandlerRegistration();
for (Widget item : this.subElements) {
- regs.addHandlerRegistration(item.addHandler(handler, MouseOutEvent.getType()));
+ regs.addHandlerRegistration(((ButtonableObject)item).getMainObject().addHandler(handler, MouseOutEvent.getType()));
}
return regs;
}
@@ -1573,7 +1569,7 @@
public MultipleHandlerRegistration addMouseOverHandler(MouseOverHandler handler){
MultipleHandlerRegistration regs = new MultipleHandlerRegistration();
for (Widget item : this.subElements) {
- regs.addHandlerRegistration(item.addHandler(handler, MouseOverEvent.getType()));
+ regs.addHandlerRegistration(((ButtonableObject)item).getMainObject().addHandler(handler, MouseOverEvent.getType()));
}
return regs;
}
@@ -1584,7 +1580,7 @@
public MultipleHandlerRegistration addFocusHandler(FocusHandler handler){
MultipleHandlerRegistration regs = new MultipleHandlerRegistration();
for (Widget item : this.subElements) {
- regs.addHandlerRegistration(item.addHandler(handler, FocusEvent.getType()));
+ regs.addHandlerRegistration(((ButtonableObject)item).getMainObject().addHandler(handler, FocusEvent.getType()));
}
return regs;
}
@@ -1595,7 +1591,7 @@
public MultipleHandlerRegistration addMouseDownHandler(MouseDownHandler handler){
MultipleHandlerRegistration regs = new MultipleHandlerRegistration();
for (Widget item : this.subElements) {
- regs.addHandlerRegistration(item.addHandler(handler, MouseDownEvent.getType()));
+ regs.addHandlerRegistration(((ButtonableObject)item).getMainObject().addHandler(handler, MouseDownEvent.getType()));
}
return regs;
}
@@ -1606,7 +1602,7 @@
public MultipleHandlerRegistration addMouseUpHandler(MouseUpHandler handler){
MultipleHandlerRegistration regs = new MultipleHandlerRegistration();
for (Widget item : this.subElements) {
- regs.addHandlerRegistration(item.addHandler(handler, MouseUpEvent.getType()));
+ regs.addHandlerRegistration(((ButtonableObject)item).getMainObject().addHandler(handler, MouseUpEvent.getType()));
}
return regs;
}
@@ -1618,7 +1614,7 @@
public MultipleHandlerRegistration addBlurHandler(BlurHandler handler){
MultipleHandlerRegistration regs = new MultipleHandlerRegistration();
for (Widget item : this.subElements) {
- regs.addHandlerRegistration(item.addHandler(handler, BlurEvent.getType()));
+ regs.addHandlerRegistration(((ButtonableObject)item).getMainObject().addHandler(handler, BlurEvent.getType()));
}
return regs;
}
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 Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java Wed Jul 27 04:07:48 2011 (r676)
@@ -18,6 +18,7 @@
import us.isidor.gdl.anaToMia.Widgets.environment.Pair;
import us.isidor.gdl.anaToMia.Widgets.environment.TopicIdentifierTypes;
import com.google.gwt.core.client.JsArray;
+import com.google.gwt.user.client.Window;
public class TmHelper {
@@ -302,14 +303,14 @@
for(int i = 0; i != topic.getRolesPlayed(roleType, assocType).length(); ++i) allPotentialAssocs.add(topic.getRolesPlayed(roleType, assocType).get(i).getParent());
ArrayList<Association> assocsWoScope = new ArrayList<Association>();
- ArrayList<Pair<Topic, Topic>> localRolePlayertypesAndTypes = rolePlayertypesAndTypes;
+ @SuppressWarnings("unchecked")
+ ArrayList<Pair<Topic, Topic>> localRolePlayertypesAndTypes = (ArrayList<Pair<Topic, Topic>>)rolePlayertypesAndTypes.clone();
Topic typeOfTopic = topic.getTypes().length() != 0 ? topic.getTypes().get(0) : null;
localRolePlayertypesAndTypes.add(new Pair<Topic, Topic>(typeOfTopic, roleType));
- for (Association assoc : allPotentialAssocs){
+ for (Association assoc : allPotentialAssocs)
if(hasRoles(assoc, localRolePlayertypesAndTypes)) assocsWoScope.add(assoc);
- }
-
+
for (Association assoc : assocsWoScope) if(hasThemes(assoc, scope)) result.add(assoc);
return result;
@@ -335,7 +336,7 @@
// instance of gdl:Nth-Element.
// The integer contains the index specified by the nth-value occurrence, a -1 indicates
// the value last.
- public static ArrayList<Pair<Topic, Integer>> topicContainsActionButtons(Topic container) throws InvalidGdlSchemaException{
+ public static ArrayList<Pair<Topic, Integer>> topicContainsNthButtons(Topic container) throws InvalidGdlSchemaException{
ArrayList<Pair<Topic, Integer>> result = new ArrayList<Pair<Topic,Integer>>();
if(container == null) return result;
@@ -345,7 +346,7 @@
Topic actionButtonType = getTopicByPsi(GdlPsis.TopicType.gdlActionButton, tm);
Topic containeeRoleType = getTopicByPsi(GdlPsis.RoleType.gdlContainee, tm);
ArrayList<Topic> actionButtons = getOtherPlayerOfBinaryAssociation(container, containerRoleType, containsAssocType, null, actionButtonType, containeeRoleType);
-
+
Topic actionButtonRoleType = getTopicByPsi(GdlPsis.RoleType.gdlActionButton, tm);
Topic buttonPosition = getTopicByPsi(GdlPsis.AssociationType.gdlButtonPosition, tm);
Topic nthElementType = getTopicByPsi(GdlPsis.TopicType.gdlNthElement, tm);
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java Wed Jul 27 04:07:48 2011 (r676)
@@ -33,11 +33,10 @@
protected Button createButton() throws InvalidGdlSchemaException, ExecutionException{
if(this.subElements.size() != 0) return (Button)this.subElements.get(0);
Button btn = new Button();
- this.setGdlStyle(btn);
this.subElements.add(btn);
this.mainPanel.add(btn);
this.setId(this.getId());
-
+ this.setGdlStyle(btn);
return btn;
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCheckBox.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCheckBox.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCheckBox.java Wed Jul 27 04:07:48 2011 (r676)
@@ -17,6 +17,7 @@
this.createcheckBox().setText("Check Box 1");
this.createcheckBox().setText("Check Box 2");
this.createcheckBox().setText("Check Box 3");
+ this.setNthButtons();
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlDeleteButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlDeleteButton.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlDeleteButton.java Wed Jul 27 04:07:48 2011 (r676)
@@ -1,5 +1,6 @@
package us.isidor.gdl.anaToMia.Widgets.button;
+
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
import us.isidor.gdl.anaToMia.Widgets.environment.ExecutionException;
import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException;
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlRadioButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlRadioButton.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlRadioButton.java Wed Jul 27 04:07:48 2011 (r676)
@@ -18,6 +18,7 @@
this.createRadioButton().setText("Radio Button 1");
this.createRadioButton().setText("Radio Button 2");
this.createRadioButton().setText("Radio Button 3");
+ this.setNthButtons();
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/complexData/GdlDatePicker.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/complexData/GdlDatePicker.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/complexData/GdlDatePicker.java Wed Jul 27 04:07:48 2011 (r676)
@@ -47,6 +47,7 @@
super(tmRepresentative);
// create a date widget for each tm-construct
this.createDateWidget();
+ this.setNthButtons();
}
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 Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/container/GdlList.java Wed Jul 27 04:07:48 2011 (r676)
@@ -28,6 +28,7 @@
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.ButtonableObject;
import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis;
import us.isidor.gdl.anaToMia.Widgets.base.GdlVisibleObject;
import us.isidor.gdl.anaToMia.Widgets.base.IGdlContainer;
@@ -51,6 +52,7 @@
protected GdlList() throws InvalidGdlSchemaException, ExecutionException {
super();
this.createList();
+ this.setNthButtons();
}
@@ -174,7 +176,7 @@
protected void setGdlStyle() throws InvalidGdlSchemaException, ExecutionException{
if(this.subElements != null){
for (Widget item : this.subElements) {
- this.setGdlStyle(item);
+ this.setGdlStyle(((ButtonableObject)item).getMainObject());
}
}
}
@@ -197,7 +199,7 @@
// inserts the passed item on the given index
public void insert(GdlVisibleObject item, int position){
if(this.subElements != null && this.subElements.size() != 0){
- ((ListWidget)this.subElements.get(0)).insertWidget(item, position);
+ ((ListWidget)((ButtonableObject)this.subElements.get(0)).getMainObject()).insertWidget(item, position);
}
}
@@ -404,7 +406,7 @@
int idx = -1;
for (Pair<Topic, Integer> pair : this.storedItems) if(pair.getFirst().equals(current)) idx = pair.getSecond();
- ListWidget list = (ListWidget)this.subElements.get(0);
+ ListWidget list = (ListWidget)((ButtonableObject)this.subElements.get(0)).getMainObject();
GdlVisibleObject newObj = GdlInstantiator.instantiate(current);
list.insertWidget(newObj, idx);
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 Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/container/GdlUnit.java Wed Jul 27 04:07:48 2011 (r676)
@@ -56,6 +56,7 @@
super(tmRepresentative);
// create a unit for each tm-element
this.createUnit();
+ this.setNthButtons();
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlListBox.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlListBox.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlListBox.java Wed Jul 27 04:07:48 2011 (r676)
@@ -10,6 +10,7 @@
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Occurrence;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMapsTypes;
+import us.isidor.gdl.anaToMia.Widgets.base.ButtonableObject;
import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis;
import us.isidor.gdl.anaToMia.Widgets.base.IGdlHasValue;
import us.isidor.gdl.anaToMia.Widgets.environment.ActiveStyleHandler;
@@ -30,6 +31,7 @@
super(tmRepresentative);
// TODO: create a ListBox element for each TM-elem
this.createNewListBox().addItem("List-Box");
+ this.setNthButtons();
}
@@ -61,7 +63,15 @@
break;
}
}
- this.subElements.remove(elem);
+
+ ButtonableObject toRemove = null;
+ for (Widget widget: this.subElements){
+ if(((ButtonableObject)widget).getMainObject().equals(widget)){
+ toRemove = (ButtonableObject)widget;
+ }
+ }
+
+ this.subElements.remove(toRemove);
elem.removeFromParent();
}
@@ -158,7 +168,7 @@
public ArrayList<String> getStringValue() {
ArrayList<String> results = new ArrayList<String>();
for (Widget elem : super.subElements) {
- ListBox lb = ((ListBox)elem);
+ ListBox lb = (ListBox)((ButtonableObject)elem).getMainObject();
if(lb.getSelectedIndex() != -1) results.add(lb.getValue(lb.getSelectedIndex()));
}
return results;
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlReference.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlReference.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlReference.java Wed Jul 27 04:07:48 2011 (r676)
@@ -18,6 +18,7 @@
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Occurrence;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMapsTypes;
+import us.isidor.gdl.anaToMia.Widgets.base.ButtonableObject;
import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis;
import us.isidor.gdl.anaToMia.Widgets.base.IGdlHasValue;
import us.isidor.gdl.anaToMia.Widgets.environment.ActiveStyleHandler;
@@ -43,6 +44,7 @@
Reference ref = this.createReference(); // TODO: remove
ref.setText("Reference"); // TODO: remove
ref.setHref("http://www.google.de"); // TODO: remove
+ this.setNthButtons();
}
@@ -146,7 +148,7 @@
public ArrayList<String> getStringValue() {
ArrayList<String> result = new ArrayList<String>();
for (Widget widget : this.subElements) {
- result.add(((Reference)widget).getText());
+ result.add(((Reference)((ButtonableObject)widget).getMainObject()).getText());
}
return result;
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlText.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlText.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlText.java Wed Jul 27 04:07:48 2011 (r676)
@@ -1,7 +1,6 @@
package us.isidor.gdl.anaToMia.Widgets.text;
import java.util.ArrayList;
-
import com.google.gwt.event.dom.client.BlurEvent;
import com.google.gwt.event.dom.client.KeyPressEvent;
import com.google.gwt.event.dom.client.KeyPressHandler;
@@ -16,6 +15,7 @@
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Occurrence;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMapsTypes;
+import us.isidor.gdl.anaToMia.Widgets.base.ButtonableObject;
import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis;
import us.isidor.gdl.anaToMia.Widgets.base.IGdlHasValue;
import us.isidor.gdl.anaToMia.Widgets.environment.ActiveStyleHandler;
@@ -48,6 +48,7 @@
super(tmRepresentative);
// TODO: create a text element for each TM-elem
this.createNewTextArea().setText("Text"); // TODO: remove only for debugging
+ this.setNthButtons();
}
@@ -79,8 +80,17 @@
break;
}
}
- this.subElements.remove(elem);
- elem.removeFromParent();
+
+ ButtonableObject toRemove = null;
+ for (Widget elemIter : this.subElements){
+ if(((ButtonableObject)elemIter).getMainObject().equals(elem)){
+ toRemove = (ButtonableObject)elemIter;
+ break;
+ }
+ }
+
+ this.subElements.remove(toRemove);
+ toRemove.removeFromParent();
}
@@ -530,8 +540,9 @@
this.passwordKeyPressRegistrations = new ArrayList<HandlerRegistration>();
for (Widget item : this.subElements) {
+ TextArea elem = (TextArea)((ButtonableObject)item).getMainObject();
PasswordKeyPressHandler handler = new PasswordKeyPressHandler();
- this.passwordKeyPressRegistrations.add(((TextArea)item).addKeyPressHandler(handler));
+ this.passwordKeyPressRegistrations.add(elem.addKeyPressHandler(handler));
}
}
}else {
@@ -572,7 +583,7 @@
protected void setGdlStyle() throws InvalidGdlSchemaException, ExecutionException{
if(this.subElements != null){
for (Widget item : this.subElements) {
- this.setGdlStyle(item);
+ this.setGdlStyle(((ButtonableObject)item).getMainObject());
}
}
}
@@ -582,7 +593,7 @@
public ArrayList<String> getStringValue() {
ArrayList<String> results = new ArrayList<String>();
for (Widget item : this.subElements) {
- results.add(((TextArea)item).getValue());
+ results.add(((TextArea)((ButtonableObject)item).getMainObject()).getValue());
}
return results;
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlTitle.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlTitle.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/text/GdlTitle.java Wed Jul 27 04:07:48 2011 (r676)
@@ -4,6 +4,7 @@
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Occurrence;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMapsTypes;
+import us.isidor.gdl.anaToMia.Widgets.base.ButtonableObject;
import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis;
import us.isidor.gdl.anaToMia.Widgets.base.IGdlHasValue;
import us.isidor.gdl.anaToMia.Widgets.environment.ActiveStyleHandler;
@@ -61,6 +62,7 @@
super(tmRepresentative);
// TODO: create a Title element for each TM-elem
this.createTitle().setText("Title");
+ this.setNthButtons();
}
@@ -423,7 +425,7 @@
public ArrayList<String> getStringValue() {
ArrayList<String> result = new ArrayList<String>();
for (Widget title : this.subElements) {
- result.add(((TitleWidget)title).titleElement.getInnerText());
+ result.add(((TitleWidget)((ButtonableObject)title).getMainObject()).titleElement.getInnerText());
}
return result;
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java Wed Jul 27 04:07:48 2011 (r676)
@@ -2,7 +2,6 @@
import java.util.ArrayList;
import com.google.gwt.core.client.JsArray;
-import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Widget;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Name;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
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 Wed Jul 27 02:57:44 2011 (r675)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm Wed Jul 27 04:07:48 2011 (r676)
@@ -75,8 +75,8 @@
{"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]"], "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:unit-1-text-delete-button]"], "instance_of":["si:[gdl:Delete-Button]"], "occurrences":[{"type":"si:[gdl:id]","value":"unit_1_text_delete_button"}]},
- {"subject_identifiers":["[doc:unit-1-text-create-button]"], "instance_of":["si:[gdl:Create-Button]"], "occurrences":[{"type":"si:[gdl:id]","value":"unit_1_text_delete_button"}]},
+ {"subject_identifiers":["[doc:unit-1-text-delete-button]"], "instance_of":["si:[gdl:Delete-Button]"], "occurrences":[{"type":"si:[gdl:id]","value":"unit_1_text_delete_button"}, {"type":"si:[gdl:font-size]", "value":"8px"}]},
+ {"subject_identifiers":["[doc:unit-1-text-create-button]"], "instance_of":["si:[gdl:Create-Button]"], "occurrences":[{"type":"si:[gdl:id]","value":"unit_1_text_create_button"}, {"type":"si:[gdl:font-size]", "value":"8px"}]},
{"subject_identifiers":["[doc:pos-of-unit-1-reference]"], "instance_of":["si:[gdl:Position]"]},
{"subject_identifiers":["[doc:pos-of-unit-1-radio-button]"], "instance_of":["si:[gdl:Position]"]},
{"subject_identifiers":["[doc:pos-of-unit-1-check-box]"], "instance_of":["si:[gdl:Position]"]},
@@ -122,7 +122,7 @@
{"subject_identifiers":["[doc:multi-type-value-3]"], "instance_of":["si:[gdl:TM-Multiple-Type-Value]"]},
{"subject_identifiers":["[gdl:Topic-View]"]},
{"subject_identifiers":["[doc:nth-elem-del-btn]"], "instance_of":["si:[gdl:Nth-Element]"], "occurrences":[{"type":"si:[gdl:nth-value]", "value":"0"}]},
- {"subject_identifiers":["[doc:nth-elem-crt-btn]"], "instance_of":["si:[gdl:Nth-Element]"], "occurrences":[{"type":"si:[gdl:nth-value]", "value":"0"}]},
+ {"subject_identifiers":["[doc:nth-elem-crt-btn]"], "instance_of":["si:[gdl:Nth-Element]"], "occurrences":[{"type":"si:[gdl:nth-value]", "value":"last"}]},
{"subject_identifiers":["[gdl:Default-Topic-View]"]},
{"subject_identifiers":["[gdl:Special-Topic-View]"]},
{"subject_identifiers":["[gdl:Default-Creator-Topic-View]"]},
1
0

[isidorus-cvs] r675 - branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment
by lgiessmann@common-lisp.net 27 Jul '11
by lgiessmann@common-lisp.net 27 Jul '11
27 Jul '11
Author: lgiessmann
Date: Wed Jul 27 02:57:44 2011
New Revision: 675
Log:
gdl-frontend: Widgets: fixed a bug when instantiating GdlActionButton
Modified:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/GdlInstantiator.java
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/GdlInstantiator.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/GdlInstantiator.java Wed Jul 27 01:28:57 2011 (r674)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/GdlInstantiator.java Wed Jul 27 02:57:44 2011 (r675)
@@ -53,8 +53,6 @@
return new GdlRadioButton(tmRepresentative);
}else if(TmHelper.isInstanceOf(tmRepresentative, GdlPsis.TopicType.gdlCheckBox)){
return new GdlCheckBox(tmRepresentative);
- }else if(TmHelper.isInstanceOf(tmRepresentative, GdlPsis.TopicType.gdlActionButton)){
- return new GdlActionButton(tmRepresentative);
}else if(TmHelper.isInstanceOf(tmRepresentative, GdlPsis.TopicType.gdlValidateButton)){
return new GdlValidateButton(tmRepresentative);
}else if(TmHelper.isInstanceOf(tmRepresentative, GdlPsis.TopicType.gdlCreateButton)){
@@ -63,6 +61,8 @@
return new GdlDeleteButton(tmRepresentative);
}else if(TmHelper.isInstanceOf(tmRepresentative, GdlPsis.TopicType.gdlCommitButton)){
return new GdlCommitButton(tmRepresentative);
+ }else if(TmHelper.isInstanceOf(tmRepresentative, GdlPsis.TopicType.gdlActionButton)){
+ return new GdlActionButton(tmRepresentative);
}else if(TmHelper.isInstanceOf(tmRepresentative, GdlPsis.TopicType.gdlImage)){
return new GdlImage(tmRepresentative);
}else if(TmHelper.isInstanceOf(tmRepresentative, GdlPsis.TopicType.gdlVideo)){
1
0

[isidorus-cvs] r674 - branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base
by lgiessmann@common-lisp.net 27 Jul '11
by lgiessmann@common-lisp.net 27 Jul '11
27 Jul '11
Author: lgiessmann
Date: Wed Jul 27 01:28:57 2011
New Revision: 674
Log:
gdl-frontend: Widgets: implemented some function in GdlVisibleObject nad TmHelper that set GdlActionButtons
Modified:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/ButtonableObject.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPsis.java
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/TmHelper.java
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/ButtonableObject.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/ButtonableObject.java Tue Jul 26 14:21:43 2011 (r673)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/ButtonableObject.java Wed Jul 27 01:28:57 2011 (r674)
@@ -1,10 +1,14 @@
package us.isidor.gdl.anaToMia.Widgets.base;
+import java.util.ArrayList;
+
+import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
import us.isidor.gdl.anaToMia.Widgets.button.GdlActionButton;
import us.isidor.gdl.anaToMia.Widgets.environment.ExecutionException;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Widget;
+import com.sun.corba.se.spi.orbutil.fsm.ActionBase;
public class ButtonableObject extends Composite {
@@ -38,4 +42,32 @@
this.mainPanel.remove(this.mainPanel.getWidgetCount() - 1);
}
}
+
+
+ public boolean containsButton(Topic tmRepresentative){
+ for(int i = 0; i != this.mainPanel.getWidgetCount(); ++i)
+ if(((GdlActionButton)this.mainPanel.getWidget(i)).getTmRepresentative().equals(tmRepresentative)) return true;
+
+ return false;
+ }
+
+
+ public boolean containsButton(GdlActionButton button){
+ for(int i = 0; i != this.mainPanel.getWidgetCount(); ++i)
+ if(this.mainPanel.getWidget(i).equals(button)) return true;
+
+ return false;
+ }
+
+
+ public void removeObsoleteButtons(ArrayList<Topic> activeButtons){
+ if(activeButtons == null) return;
+
+ ArrayList<GdlActionButton> buttonsToRemove = new ArrayList<GdlActionButton>();
+ for(int i = 0; i != this.mainPanel.getWidgetCount(); ++i)
+ if(!activeButtons.contains(this.mainPanel.getWidget(i))) buttonsToRemove.add((GdlActionButton)this.mainPanel.getWidget(i));
+
+ for (GdlActionButton buttonToRemove : buttonsToRemove)
+ this.mainPanel.remove(buttonToRemove);
+ }
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPsis.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPsis.java Tue Jul 26 14:21:43 2011 (r673)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPsis.java Wed Jul 27 01:28:57 2011 (r674)
@@ -202,6 +202,7 @@
public final static String gdlHiddenValue = gdl + "hidden-value";
public final static String gdlValueGroup = gdl + "value-group";
public final static String gdlTmValue = gdl + "tm-value";
+ public final static String gdlActionButton = gdl + "action-button";
}
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 Tue Jul 26 14:21:43 2011 (r673)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java Wed Jul 27 01:28:57 2011 (r674)
@@ -4,9 +4,11 @@
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Occurrence;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMap;
+import us.isidor.gdl.anaToMia.Widgets.button.GdlActionButton;
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.GdlInstantiator;
import us.isidor.gdl.anaToMia.Widgets.environment.HoverStyleHandler;
import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException;
import us.isidor.gdl.anaToMia.Widgets.environment.MultipleHandlerRegistration;
@@ -67,6 +69,7 @@
protected ArrayList<Pair<String, String>> hoverCssNamesAndStyles = new ArrayList<Pair<String,String>>();
protected ArrayList<Widget> subElements = new ArrayList<Widget>();
protected ArrayList<Pair<Widget, ArrayList<EventHandler>>> eventHandlers = new ArrayList<Pair<Widget, ArrayList<EventHandler>>>();
+ protected ArrayList<Pair<Topic, Integer>> actionButtonsAndPositions = null;
// some constructors
@@ -102,6 +105,30 @@
return btn;
}
+
+ // sets all buttons in the sub-elements that are specified by a
+ // gdl:button-position association
+ protected void setNthButtons() throws InvalidGdlSchemaException, ExecutionException {
+ if(this.actionButtonsAndPositions == null) this.actionButtonsAndPositions = TmHelper.topicContainsActionButtons(this.tmRepresentative);
+
+ // walk though all sub elements
+ for(int i = 0; i != this.subElements.size(); ++i){
+ ButtonableObject parent = (ButtonableObject)this.subElements.get(i).getParent();
+
+ // search all buttons for the current sub element
+ ArrayList<Topic> currentButtons = new ArrayList<Topic>();
+ for (Pair<Topic, Integer> pair : this.actionButtonsAndPositions)
+ if(pair.getSecond() == i || (i == this.subElements.size() -1 && pair.getSecond() == -1)) currentButtons.add(pair.getFirst());
+
+ // remove buttons that do not belong to the current sub element anymore
+ parent.removeObsoleteButtons(currentButtons);
+
+ // add buttons that are not bound to the current sub element, but belong to it
+ for (Topic currentButton : currentButtons)
+ if(!parent.containsButton(currentButton)) parent.addButton((GdlActionButton)GdlInstantiator.instantiate(currentButton));
+ }
+ }
+
// a helper method that returns all occurrences of the type bound to the passed PSI
protected JsArray<Occurrence> getOccurrences(String occurrenceType){
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 Tue Jul 26 14:21:43 2011 (r673)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java Wed Jul 27 01:28:57 2011 (r674)
@@ -272,7 +272,7 @@
}
- // returns all topics that are instances if tm-value, which are also bound to this
+ // returns all topics that are instances of tm-value, which are also bound to this
// topic via a gdl:tm-binding association
public static ArrayList<Topic> getTmValues(Topic top){
ArrayList<Topic> result = new ArrayList<Topic>();
@@ -329,6 +329,57 @@
}
+ // Returns all pairs of topics and string that are of type gdl:Action-Button and are
+ // bound to the passed topic via a gdl:contains and via a gdl:button-position association.
+ // The topic is the gdl:Action-Button instance, whereas the string is the value of the
+ // instance of gdl:Nth-Element.
+ // The integer contains the index specified by the nth-value occurrence, a -1 indicates
+ // the value last.
+ public static ArrayList<Pair<Topic, Integer>> topicContainsActionButtons(Topic container) throws InvalidGdlSchemaException{
+ ArrayList<Pair<Topic, Integer>> result = new ArrayList<Pair<Topic,Integer>>();
+ if(container == null) return result;
+
+ TopicMap tm = container.getTopicMap();
+ Topic containsAssocType = getTopicByPsi(GdlPsis.AssociationType.gdlContains, tm);
+ Topic containerRoleType = getTopicByPsi(GdlPsis.RoleType.gdlContainer, tm);
+ Topic actionButtonType = getTopicByPsi(GdlPsis.TopicType.gdlActionButton, tm);
+ Topic containeeRoleType = getTopicByPsi(GdlPsis.RoleType.gdlContainee, tm);
+ ArrayList<Topic> actionButtons = getOtherPlayerOfBinaryAssociation(container, containerRoleType, containsAssocType, null, actionButtonType, containeeRoleType);
+
+ Topic actionButtonRoleType = getTopicByPsi(GdlPsis.RoleType.gdlActionButton, tm);
+ Topic buttonPosition = getTopicByPsi(GdlPsis.AssociationType.gdlButtonPosition, tm);
+ Topic nthElementType = getTopicByPsi(GdlPsis.TopicType.gdlNthElement, tm);
+ Topic nthElementRoleType = getTopicByPsi(GdlPsis.RoleType.gdlNthElement, tm);
+ Topic nthValueOccType = getTopicByPsi(GdlPsis.OccurrenceType.gdlNthValue, tm);
+ ArrayList<Pair<Topic, Topic>> rolePlayertypesAndTypes = new ArrayList<Pair<Topic,Topic>>();
+ rolePlayertypesAndTypes.add(new Pair<Topic, Topic>(nthElementType, nthElementRoleType));
+ for (Topic actionButton : actionButtons) {
+ ArrayList<Association> assocs = getAssociationsOfTopic(actionButton, actionButtonRoleType, buttonPosition, null, rolePlayertypesAndTypes);
+ if(assocs.size() == 0) continue;
+ if(assocs.size() > 1) throw new InvalidGdlSchemaException("the topic " + getAnyIdOfTopic(actionButton) + " must be bound none or once to a " + GdlPsis.AssociationType.gdlButtonPosition + " association, but is: " + assocs.size());
+ if(assocs.size() == 1) {
+ Topic nthElem = assocs.get(0).getRoles(nthElementRoleType).get(0).getPlayer();
+ JsArray<Occurrence> occs = nthElem.getOccurrences(nthValueOccType);
+ if(occs.length() != 1) throw new InvalidGdlSchemaException("the topic " + getAnyIdOfTopic(nthElem) + " must be bound exactly once to a " + GdlPsis.OccurrenceType.gdlNthValue + " occurrence, but is: " + occs.length());
+ int val = 0;
+ try{
+ if(occs.get(0).getValue().toLowerCase().equals("last")){
+ val = -1;
+ } else {
+ Integer.valueOf(occs.get(0).getValue());
+ }
+ }catch(NumberFormatException e){
+ throw new InvalidGdlSchemaException("The topic " + getAnyIdOfTopic(nthElem) + " must contain a value of the form <positive-integer>|\"last\" in the occurrence " + GdlPsis.OccurrenceType.gdlNthValue + ", but it contains: " + occs.get(0).getValue());
+ }
+
+ result.add(new Pair<Topic, Integer>(actionButton, val));
+ }
+ }
+
+ return result;
+ }
+
+
// returns an ordered list of the list items and their index stored in a pair instance
public static ArrayList<Pair<Topic, Integer>> listContains(Topic list) throws InvalidGdlSchemaException {
if(list == null) return new ArrayList<Pair<Topic,Integer>>();
1
0

[isidorus-cvs] r673 - branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets
by lgiessmann@common-lisp.net 26 Jul '11
by lgiessmann@common-lisp.net 26 Jul '11
26 Jul '11
Author: lgiessmann
Date: Tue Jul 26 14:21:43 2011
New Revision: 673
Log:
gdl-frontend: Widgets: extended the test gdl xml file
Modified:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm
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 Tue Jul 26 12:19:25 2011 (r672)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm Tue Jul 26 14:21:43 2011 (r673)
@@ -13,6 +13,7 @@
{"subject_identifiers":["[tmdm:supertype]"], "instance_of":["si:[tmcl:role-type]"]},
{"subject_identifiers":["[tmdm:subtype]"], "instance_of":["si:[tmcl:role-type]"]},
{"subject_identifiers":["[tmdm:supertype-subtype]"], "instance_of":["si:[tmcl:association-type]"]},
+ {"subject_identifiers":["[gdl:button-position]"], "instance_of":["si:[tmcl:association-type]"]},
{"subject_identifiers":["[gdl:contains]"], "instance_of":["si:[tmcl:association-type]"]},
{"subject_identifiers":["[gdl:container]"], "instance_of":["si:[tmcl:role-type]"]},
{"subject_identifiers":["[gdl:containee]"], "instance_of":["si:[tmcl:role-type]"]},
@@ -46,12 +47,15 @@
{"subject_identifiers":["[gdl:float]"], "instance_of":["si:[tmcl:occurrence-type]"]},
{"subject_identifiers":["[gdl:clear]"], "instance_of":["si:[tmcl:occurrence-type]"]},
{"subject_identifiers":["[gdl:resize]"], "instance_of":["si:[tmcl:occurrence-type]"]},
+ {"subject_identifiers":["[gdl:action-button]"], "instance_of":["si:[tmcl:occurrence-type]"]},
{"subject_identifiers":["[gdl:font-size]"], "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:Button]"]},
{"subject_identifiers":["[gdl:Action-Button]"]},
{"subject_identifiers":["[gdl:Input-Button]"]},
+ {"subject_identifiers":["[gdl:Delete-Button]"]},
+ {"subject_identifiers":["[gdl:Create-Button]"]},
{"subject_identifiers":["[gdl:Radio-Button]"]},
{"subject_identifiers":["[gdl:Check-Box]"]},
{"subject_identifiers":["[gdl:Space]"]},
@@ -71,6 +75,8 @@
{"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]"], "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:unit-1-text-delete-button]"], "instance_of":["si:[gdl:Delete-Button]"], "occurrences":[{"type":"si:[gdl:id]","value":"unit_1_text_delete_button"}]},
+ {"subject_identifiers":["[doc:unit-1-text-create-button]"], "instance_of":["si:[gdl:Create-Button]"], "occurrences":[{"type":"si:[gdl:id]","value":"unit_1_text_delete_button"}]},
{"subject_identifiers":["[doc:pos-of-unit-1-reference]"], "instance_of":["si:[gdl:Position]"]},
{"subject_identifiers":["[doc:pos-of-unit-1-radio-button]"], "instance_of":["si:[gdl:Position]"]},
{"subject_identifiers":["[doc:pos-of-unit-1-check-box]"], "instance_of":["si:[gdl:Position]"]},
@@ -115,6 +121,8 @@
{"subject_identifiers":["[doc:multi-type-value-2]"], "instance_of":["si:[gdl:TM-Multiple-Type-Value]"]},
{"subject_identifiers":["[doc:multi-type-value-3]"], "instance_of":["si:[gdl:TM-Multiple-Type-Value]"]},
{"subject_identifiers":["[gdl:Topic-View]"]},
+ {"subject_identifiers":["[doc:nth-elem-del-btn]"], "instance_of":["si:[gdl:Nth-Element]"], "occurrences":[{"type":"si:[gdl:nth-value]", "value":"0"}]},
+ {"subject_identifiers":["[doc:nth-elem-crt-btn]"], "instance_of":["si:[gdl:Nth-Element]"], "occurrences":[{"type":"si:[gdl:nth-value]", "value":"0"}]},
{"subject_identifiers":["[gdl:Default-Topic-View]"]},
{"subject_identifiers":["[gdl:Special-Topic-View]"]},
{"subject_identifiers":["[gdl:Default-Creator-Topic-View]"]},
@@ -153,6 +161,8 @@
{"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Input-Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Radio-Button]"}]},
{"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Input-Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Check-Box]"}]},
{"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Action-Button]"}]},
+ {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Action-Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Delete-Button]"}]},
+ {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Action-Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Create-Button]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-creator-topic-view-1]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-creator-topic-view-2]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-editor-topic-view]"}]},
@@ -196,5 +206,9 @@
{"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-space]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-text]"}]},
{"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-radio-button]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-text]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-radio-button]"}]},
{"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-check-box]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-radio-button]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-check-box]"}]},
- {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-action-button]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-check-box]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-action-button]"}]}
+ {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-action-button]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-check-box]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-action-button]"}]},
+ {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:unit-1-text]"},{"type":"si:[gdl:containee]", "player":"si:[doc:unit-1-text-create-button]"}]},
+ {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:unit-1-text]"},{"type":"si:[gdl:containee]", "player":"si:[doc:unit-1-text-delete-button]"}]},
+ {"type":"si:[gdl:button-position]", "roles":[{"type":"si:[gdl:nth-element]", "player":"si:[doc:nth-elem-crt-btn]"},{"type":"si:[gdl:action-button]", "player":"si:[doc:unit-1-text-create-button]"}]},
+ {"type":"si:[gdl:button-position]", "roles":[{"type":"si:[gdl:nth-element]", "player":"si:[doc:nth-elem-del-btn]"},{"type":"si:[gdl:action-button]", "player":"si:[doc:unit-1-text-delete-button]"}]}
]}
\ No newline at end of file
1
0

[isidorus-cvs] r672 - in branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets: . base view
by lgiessmann@common-lisp.net 26 Jul '11
by lgiessmann@common-lisp.net 26 Jul '11
26 Jul '11
Author: lgiessmann
Date: Tue Jul 26 12:19:25 2011
New Revision: 672
Log:
gdl-frontend: Widgets: changed addToContainer => ButtonableObject
Modified:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt
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/TmHelper.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt Tue Jul 26 08:20:22 2011 (r671)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt Tue Jul 26 12:19:25 2011 (r672)
@@ -1,3 +1,4 @@
+* Implement GdlInfo
* Implement GdlButton(s)
* Implement TopicMaps data consumption
* Implement TopicMaps data generation
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 Tue Jul 26 08:20:22 2011 (r671)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java Tue Jul 26 12:19:25 2011 (r672)
@@ -93,13 +93,13 @@
// this method should be invoked if a new sub-element is added to this instance
- protected void addToContainerPanel(Widget widget) throws ExecutionException, InvalidGdlSchemaException{
+ protected ButtonableObject addToContainerPanel(Widget widget) throws ExecutionException, InvalidGdlSchemaException{
this.setContentOrientation(this.getContentOrientation());
-
-
-
this.subElements.add(widget);
- this.containerPanel.add(widget);
+
+ ButtonableObject btn = new ButtonableObject(widget);
+ this.containerPanel.add(btn);
+ return btn;
}
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 Tue Jul 26 08:20:22 2011 (r671)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TmHelper.java Tue Jul 26 12:19:25 2011 (r672)
@@ -2,7 +2,6 @@
import java.util.ArrayList;
import java.util.List;
-
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Association;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Construct;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Locator;
@@ -15,12 +14,10 @@
import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis.RoleType;
import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis.TMDM;
import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis.TopicType;
-import us.isidor.gdl.anaToMia.Widgets.container.GdlUnit;
import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException;
import us.isidor.gdl.anaToMia.Widgets.environment.Pair;
import us.isidor.gdl.anaToMia.Widgets.environment.TopicIdentifierTypes;
import com.google.gwt.core.client.JsArray;
-import com.google.gwt.user.client.Window;
public class TmHelper {
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java Tue Jul 26 08:20:22 2011 (r671)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java Tue Jul 26 12:19:25 2011 (r672)
@@ -7,6 +7,7 @@
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Name;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMap;
+import us.isidor.gdl.anaToMia.Widgets.base.ButtonableObject;
import us.isidor.gdl.anaToMia.Widgets.base.GdlPosition;
import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis;
import us.isidor.gdl.anaToMia.Widgets.base.GdlVisibleObject;
@@ -43,9 +44,10 @@
// instances ov GdlView does not organize their sub-elements in
// tables, sub-elements are placed directly on the mainpanel
@Override
- protected void addToContainerPanel(Widget widget){
+ protected ButtonableObject addToContainerPanel(Widget widget){
this.subElements.add(widget);
this.mainPanel.add(widget);
+ return null;
}
1
0

[isidorus-cvs] r671 - in branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets: base button view
by lgiessmann@common-lisp.net 26 Jul '11
by lgiessmann@common-lisp.net 26 Jul '11
26 Jul '11
Author: lgiessmann
Date: Tue Jul 26 08:20:22 2011
New Revision: 671
Log:
gdl-frontend: Widgets: implemented ButtonableObject
Added:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/ButtonableObject.java
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/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/button/GdlActionButton.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java
Added: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/ButtonableObject.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/base/ButtonableObject.java Tue Jul 26 08:20:22 2011 (r671)
@@ -0,0 +1,41 @@
+package us.isidor.gdl.anaToMia.Widgets.base;
+
+import us.isidor.gdl.anaToMia.Widgets.button.GdlActionButton;
+import us.isidor.gdl.anaToMia.Widgets.environment.ExecutionException;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+
+public class ButtonableObject extends Composite {
+ private HorizontalPanel mainPanel = new HorizontalPanel();
+
+
+ private ButtonableObject(){
+ initWidget(this.mainPanel);
+ }
+
+
+ public ButtonableObject(Widget mainObject) throws ExecutionException {
+ this();
+ if(mainObject == null) throw new ExecutionException("mainObject must not be set to null!");
+ if(this.mainPanel != null) this.mainPanel.add(mainObject);
+ }
+
+
+ public void addButton(GdlActionButton button){
+ this.mainPanel.add(button);
+ }
+
+
+ public boolean removeButton(GdlActionButton button){
+ return this.mainPanel.remove(button);
+ }
+
+
+ public void removeAllButtons(){
+ while(this.mainPanel.getWidgetCount() > 1){
+ this.mainPanel.remove(this.mainPanel.getWidgetCount() - 1);
+ }
+ }
+}
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 Tue Jul 26 04:41:34 2011 (r670)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPanel.java Tue Jul 26 08:20:22 2011 (r671)
@@ -30,9 +30,6 @@
// GDL loading, GDL commit, GDL validate, GDL delete failed, but any other execution error also executes an
// error handler
private ArrayList<IOnErrorCallback> localOnErrorContainer = new ArrayList<IOnErrorCallback>();
- // buttonCallbacks contains pairs of ClickHandlers and Strings that acts as IDs.
- // The ClickHandlers will be registered on the buttons with the corresponding id attribute.
- private ArrayList<Pair<ClickHandler, String>> buttonCallbacks = new ArrayList<Pair<ClickHandler, String>>();
// if any value is set in this array list, the requested view is a Default-Creator-Topic-View
private ArrayList<Pair<String, TopicIdentifierTypes>> requestedTopicsToCreate = new ArrayList<Pair<String,TopicIdentifierTypes>>();
@@ -55,6 +52,10 @@
private ICommitCallback commitCallback = null;
// callback instance for deleting the frontend data on the server
private IDeleteCallback deleteCallback = null;
+
+ // contains all callbacks that are used as click handlers and the corresponding
+ // html element id of the button element
+ private ArrayList<Pair<String, ClickHandler>> buttonCallbacks = new ArrayList<Pair<String, ClickHandler>>();
// some constructors
@@ -63,28 +64,42 @@
}
- protected GdlPanel(Pair<String, TopicIdentifierTypes> topicToEdit, ArrayList<Pair<String, TopicIdentifierTypes>> topicToCreate) throws ExecutionException{
+ protected GdlPanel(Pair<String, TopicIdentifierTypes> topicToEdit, ArrayList<Pair<String, TopicIdentifierTypes>> topicToCreate, ArrayList<Pair<String, ClickHandler>> buttonCallbacks) throws ExecutionException{
this();
if(topicToEdit != null)this.requestedTopicToEdit = topicToEdit;
if(topicToCreate != null && topicToCreate.size() != 0)this.requestedTopicsToCreate = topicToCreate;
if(this.requestedTopicsToCreate.size() != 0 && this.requestedTopicToEdit != null)
throw new ExecutionException("only one container can be set, i.e. either topics to create or a topic to edit");
+
+ if(buttonCallbacks != null){
+ this.buttonCallbacks = buttonCallbacks;
+ }
}
- public GdlPanel(Pair<String, TopicIdentifierTypes> topicToEdit, ArrayList<Pair<String, TopicIdentifierTypes>> topicToCreate, int width, int height) throws ExecutionException{
- this(topicToEdit, topicToCreate);
+ public GdlPanel(Pair<String, TopicIdentifierTypes> topicToEdit, ArrayList<Pair<String, TopicIdentifierTypes>> topicToCreate, ArrayList<Pair<String, ClickHandler>> buttonCallbacks, int width, int height) throws ExecutionException{
+ this(topicToEdit, topicToCreate, buttonCallbacks);
this.setPixelSize(width, height);
}
- public GdlPanel(Pair<String, TopicIdentifierTypes> topicToEdit, ArrayList<Pair<String, TopicIdentifierTypes>> topicToCreate, String width, String height) throws ExecutionException{
- this(topicToEdit, topicToCreate);
+ public GdlPanel(Pair<String, TopicIdentifierTypes> topicToEdit, ArrayList<Pair<String, TopicIdentifierTypes>> topicToCreate, ArrayList<Pair<String, ClickHandler>> buttonCallbacks, String width, String height) throws ExecutionException{
+ this(topicToEdit, topicToCreate, buttonCallbacks);
this.setSize(width, height);
}
+
+ public ClickHandler getclickHandler(String id){
+ if(id == null) return null;
+
+ for (Pair<String, ClickHandler> pair : this.buttonCallbacks)
+ if(pair.getFirst().equals(id)) return pair.getSecond();
+
+ return null;
+ }
+
public void registerOnErrorHandler(String descriptorId, IOnErrorCallback handler){
if(!localOnErrorContainer.contains(handler)){
localOnErrorContainer.add(handler);
@@ -264,9 +279,6 @@
else if(this.requestedTopicToEdit != null)
this.view = GdlInstantiator.instantiateDefaultEditorTopicView(this.requestedTopicToEdit, this.requestedSchemaTm);
mainPanel.add(view);
- for (Pair<ClickHandler, String> item : this.buttonCallbacks) {
- view.registerButtonCallback(item.getFirst(), item.getSecond());
- }
}catch(Exception e){
Window.alert("could not create a view (" + e.getClass() + "): " + e.getMessage());
e.printStackTrace();
@@ -275,50 +287,11 @@
}
}
}
-
-
- // this method is responsible for registering ClickHandlers of buttons
- // of the actual view element. If no view exist, the ClickHandlers and ids
- // are stored until the creation of a view, finally they are registered on the
- // created view
- public void registerButtonCallback(ClickHandler handler, String id){
- if(handler == null || id == null){
- if(this.view == null){
- this.buttonCallbacks.add(new Pair<ClickHandler, String>(handler, id));
- } else {
- this.view.registerButtonCallback(handler, id);
- }
- }
- }
-
-
- // this method is responsible for deregistering ClickHandlers of buttons
- // of the actual view element. If no view exist, the ClickHandlers are removed
- // from the private stored ClickHandler ArrayList and so they won't be
- // added when a view is created
- public void deregisterButtonCallback(ClickHandler handler, String id){
- if(handler == null || id == null){
- if(this.view == null){
- ArrayList<Pair<ClickHandler, String>> toDelete = new ArrayList<Pair<ClickHandler,String>>();
- for (Pair<ClickHandler, String> item : this.buttonCallbacks) {
- if(item.getFirst().equals(handler) && item.getSecond().equals(id)){
- toDelete.add(item);
- }
- }
-
- for(Pair<ClickHandler, String> item : toDelete) {
- this.buttonCallbacks.remove(item);
- }
- } else {
- this.view.deregisterButtonCallback(handler, id);
- }
- }
- }
// remove all content from the main panel
public void clear(){
this.mainPanel.clear();
- this.buttonCallbacks = new ArrayList<Pair<ClickHandler,String>>();
+ this.buttonCallbacks = new ArrayList<Pair<String,ClickHandler>>();
}
}
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 Tue Jul 26 04:41:34 2011 (r670)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java Tue Jul 26 08:20:22 2011 (r671)
@@ -91,21 +91,13 @@
return this.tmRepresentative;
}
-
- public void registerButtonCallback(ClickHandler handler, String id){
- // TODO: implement
- }
-
-
- public void deregisterButtonCallback(ClickHandler handler, String id){
- // TODO: implement
- }
-
-
+
// this method should be invoked if a new sub-element is added to this instance
protected void addToContainerPanel(Widget widget) throws ExecutionException, InvalidGdlSchemaException{
this.setContentOrientation(this.getContentOrientation());
-
+
+
+
this.subElements.add(widget);
this.containerPanel.add(widget);
}
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 Jul 26 04:41:34 2011 (r670)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java Tue Jul 26 08:20:22 2011 (r671)
@@ -30,7 +30,7 @@
ArrayList<Pair<String, TopicIdentifierTypes>> requestedTopicsToCreate = new ArrayList<Pair<String,TopicIdentifierTypes>>();
requestedTopicsToCreate.add(new Pair<String, TopicIdentifierTypes>("http://psi.test.org/gdl-test/Poet", TopicIdentifierTypes.SubjectIdentifier));
requestedTopicsToCreate.add(new Pair<String, TopicIdentifierTypes>("http://psi.test.org/gdl-test/Musician", TopicIdentifierTypes.SubjectIdentifier));
- gdlPanel = new GdlPanel(null, requestedTopicsToCreate);
+ gdlPanel = new GdlPanel(null, requestedTopicsToCreate, null);
mainPanel.add(gdlPanel);
gdlPanel.setTmEngine(new JtmsTmEngine());
gdlPanel.setLoadSchemaCallback(new LoadSchemaCallback());
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java Tue Jul 26 04:41:34 2011 (r670)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java Tue Jul 26 08:20:22 2011 (r671)
@@ -37,6 +37,7 @@
this.subElements.add(btn);
this.mainPanel.add(btn);
this.setId(this.getId());
+
return btn;
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java Tue Jul 26 04:41:34 2011 (r670)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/view/GdlView.java Tue Jul 26 08:20:22 2011 (r671)
@@ -66,16 +66,6 @@
}
- public void registerButtonCallback(ClickHandler handler, String id){
- for (Widget widget : this.subElements) ((GdlVisibleObject)widget).registerButtonCallback(handler, id);
- }
-
-
- public void deregisterButtonCallback(ClickHandler handler, String id){
- for (Widget widget : this.subElements) ((GdlVisibleObject)widget).deregisterButtonCallback(handler, id);
- }
-
-
// Searches the topic that represents the first item that is placed within this view instance
// i.e. such an item must not have an association that is bound to it via a role of the type
// gdl:ancestor.
1
0

[isidorus-cvs] r670 - branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button
by lgiessmann@common-lisp.net 26 Jul '11
by lgiessmann@common-lisp.net 26 Jul '11
26 Jul '11
Author: lgiessmann
Date: Tue Jul 26 04:41:34 2011
New Revision: 670
Log:
gdl-frontend: Widgets: implemented GdlDeleteButton, GdlCommitbutton, GdlValidateButton and GdlCreateButton
Modified:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCommitButton.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCreateButton.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlDeleteButton.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlValidateButton.java
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java Tue Jul 26 04:19:31 2011 (r669)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java Tue Jul 26 04:41:34 2011 (r670)
@@ -1,10 +1,7 @@
package us.isidor.gdl.anaToMia.Widgets.button;
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.Widget;
-
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Occurrence;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
import us.isidor.gdl.anaToMia.Widgets.base.GdlPsis;
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCommitButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCommitButton.java Tue Jul 26 04:19:31 2011 (r669)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCommitButton.java Tue Jul 26 04:41:34 2011 (r670)
@@ -14,5 +14,7 @@
public GdlCommitButton(Topic tmRepresentative) throws InvalidGdlSchemaException, ExecutionException{
super(tmRepresentative);
+ // TODO: set all tm values
+ this.createButton().setText("commit");
}
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCreateButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCreateButton.java Tue Jul 26 04:19:31 2011 (r669)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCreateButton.java Tue Jul 26 04:41:34 2011 (r670)
@@ -14,5 +14,7 @@
public GdlCreateButton(Topic tmRepresentative) throws InvalidGdlSchemaException, ExecutionException{
super(tmRepresentative);
+ // TODO: set all tm values
+ this.createButton().setText("create");
}
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlDeleteButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlDeleteButton.java Tue Jul 26 04:19:31 2011 (r669)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlDeleteButton.java Tue Jul 26 04:41:34 2011 (r670)
@@ -14,5 +14,7 @@
public GdlDeleteButton(Topic tmRepresentative) throws InvalidGdlSchemaException, ExecutionException{
super(tmRepresentative);
+ // TODO: set all tm values
+ this.createButton().setText("delete");
}
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlValidateButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlValidateButton.java Tue Jul 26 04:19:31 2011 (r669)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlValidateButton.java Tue Jul 26 04:41:34 2011 (r670)
@@ -14,5 +14,7 @@
public GdlValidateButton(Topic tmRepresentative) throws InvalidGdlSchemaException, ExecutionException{
super(tmRepresentative);
+ // TODO: set all tm values
+ this.createButton().setText("validate");
}
}
1
0

[isidorus-cvs] r669 - in branches/gdl-frontend/src/anaToMia/GDL_Widgets: src/us/isidor/gdl/anaToMia/Widgets src/us/isidor/gdl/anaToMia/Widgets/base src/us/isidor/gdl/anaToMia/Widgets/button war/gdl_widgets
by lgiessmann@common-lisp.net 26 Jul '11
by lgiessmann@common-lisp.net 26 Jul '11
26 Jul '11
Author: lgiessmann
Date: Tue Jul 26 04:19:31 2011
New Revision: 669
Log:
gdl-frontend: Widgets: implemented GdlActionButton
Modified:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt
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/button/GdlActionButton.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/TODO.txt
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt Fri Jul 22 10:44:58 2011 (r668)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt Tue Jul 26 04:19:31 2011 (r669)
@@ -1,5 +1,4 @@
* Implement GdlButton(s)
-* Implement GdlButton(s) positioning
* Implement TopicMaps data consumption
* Implement TopicMaps data generation
* ImplementGdlVisibleObject => (de)registerButtonCallback
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 22 10:44:58 2011 (r668)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java Tue Jul 26 04:19:31 2011 (r669)
@@ -1323,8 +1323,7 @@
if(value != null) this.setCssProperty(widget, styleClass, "borderTopLeftRadius", value.getCssValue());
}
-
-
+
// sets the padding style property of this element by using the GWT DOM class
public void setPadding(Widget widget, NumUnitValue value, String styleClass) throws InvalidGdlSchemaException, ExecutionException {
if(value != null) this.setCssProperty(widget, styleClass, "padding", value.getCssValue());
@@ -1421,8 +1420,7 @@
throw new InvalidGdlSchemaException("GDL defines only the style classes " + values + ", but found " + styleClass);
}
}
-
-
+
// sets a given css property and css value of this element's sub element
protected void setCssProperty(Widget elem, String styleClass, String cssProperty, String cssValue)throws InvalidGdlSchemaException, ExecutionException{
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java Fri Jul 22 10:44:58 2011 (r668)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlActionButton.java Tue Jul 26 04:19:31 2011 (r669)
@@ -1,12 +1,25 @@
package us.isidor.gdl.anaToMia.Widgets.button;
+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.Widget;
+
+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.environment.ExecutionException;
import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException;
+import us.isidor.gdl.anaToMia.Widgets.value.AbsoluteNumValue;
+import us.isidor.gdl.anaToMia.Widgets.value.BorderStyleValue;
+import us.isidor.gdl.anaToMia.Widgets.value.ColorValue;
+import us.isidor.gdl.anaToMia.Widgets.value.ContentOrientationValue;
+import us.isidor.gdl.anaToMia.Widgets.value.CursorValue;
+import us.isidor.gdl.anaToMia.Widgets.value.NumUnitValue;
+import us.isidor.gdl.anaToMia.Widgets.value.TextAlignValue;
public class GdlActionButton extends GdlButton {
- // TODO: implement
-
+
protected GdlActionButton(){
super();
}
@@ -14,5 +27,217 @@
public GdlActionButton(Topic tmRepresentative) throws InvalidGdlSchemaException, ExecutionException{
super(tmRepresentative);
+ // TODO: set all tm values
+ this.createButton().setText("Action-Button"); // TODO: remove set text
+ }
+
+
+ // creates a new button if no one exist, otherwise returns the existing button
+ protected Button createButton() throws InvalidGdlSchemaException, ExecutionException{
+ if(this.subElements.size() != 0) return (Button)this.subElements.get(0);
+ Button btn = new Button();
+ this.setGdlStyle(btn);
+ this.subElements.add(btn);
+ this.mainPanel.add(btn);
+ this.setId(this.getId());
+ return btn;
+ }
+
+
+ // sets the id property of this element by using the GWT DOM class
+ @Override
+ public void setId(String id){
+ if(id != null && this.subElements.size() != 0){
+ DOM.setElementProperty(this.subElements.get(0).getElement(), "id", id);
+ }
+ }
+
+
+ // content orientation has no effect on buttons
+ @Override
+ @Deprecated
+ public void setContentOrientation(ContentOrientationValue value) throws InvalidGdlSchemaException, ExecutionException {
+ return;
+ }
+
+
+ // returns a TextAlingvalue instance that represents the text-align of this element.
+ // If a styleClass is set, only the corresponding value of the scoped occurrence is returned
+ // or null. The default value for gdl:Action-Button is Center
+ @Override
+ public TextAlignValue getTextAlign(String styleClass) throws InvalidGdlSchemaException {
+ Occurrence textAlignOcc = null;
+ if(styleClass != null){
+ textAlignOcc = super.getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlTextAlign, styleClass);
+ } else {
+ textAlignOcc = super.getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlTextAlign);
+ }
+
+ if(textAlignOcc == null && styleClass != null){
+ return null;
+ } else if(textAlignOcc == null) {
+ return TextAlignValue.CENTER;
+ } else {
+ try{
+ return TextAlignValue.valueOf(textAlignOcc.getValue().toUpperCase());
+ }catch(IllegalArgumentException e){
+ throw new InvalidGdlSchemaException("The occurrence " + GdlPsis.OccurrenceType.gdlTextAlign + " must be set to one of \"left\", \"right\", \"center\" or \"justify\", but is \"" + textAlignOcc.getValue() + "\"");
+ }
+ }
+ }
+
+
+ // returns a AbsoluteNumValue instance that represents the width of this element's border.
+ // If a styleClass is set, only the corresponding value of the scoped occurrence is returned
+ // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this
+ // property is returned.
+ public AbsoluteNumValue getBorderWidth(String styleClass) throws InvalidGdlSchemaException {
+ Occurrence widthOcc = null;
+ if(styleClass != null){
+ widthOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlBorderWidth, styleClass);
+ } else {
+ widthOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlBorderWidth);
+ }
+
+ if(widthOcc == null && styleClass != null){
+ return null;
+ } else if(widthOcc == null) {
+ return new AbsoluteNumValue("1px");
+ } else {
+ return new AbsoluteNumValue(widthOcc.getValue());
+ }
+ }
+
+
+ // returns a NumUnitValue instance that represents the padding of this element.
+ // If a styleClass is set, only the corresponding value of the scoped occurrence is returned
+ // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this
+ // property is returned.
+ @Override
+ public NumUnitValue getPadding(String styleClass) throws InvalidGdlSchemaException {
+ Occurrence paddingOcc = null;
+ if(styleClass != null){
+ paddingOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlPadding, styleClass);
+ } else {
+ paddingOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlPadding);
+ }
+
+ if(paddingOcc == null && styleClass != null){
+ return null;
+ } else if(paddingOcc == null) {
+ return new NumUnitValue("5px");
+ } else {
+ return new NumUnitValue(paddingOcc.getValue());
+ }
+ }
+
+
+ // returns a ColorValue instance that represents the color of this element's border.
+ // If a styleClass is set, only the corresponding value of the scoped occurrence is returned
+ // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this
+ // property is returned.
+ @Override
+ public ColorValue getBorderColor(String styleClass) throws InvalidGdlSchemaException {
+ Occurrence colorOcc = null;
+ if(styleClass != null){
+ colorOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlBorderColor, styleClass);
+ } else {
+ colorOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlBorderColor);
+ }
+
+ if(colorOcc == null && styleClass != null){
+ return null;
+ } else if(colorOcc == null) {
+ return new ColorValue("#bbbbbb");
+ } else {
+ return new ColorValue(colorOcc.getValue());
+ }
+ }
+
+
+
+ // returns a ColorValue instance that represents the style of this element's border.
+ // If a styleClass is set, only the corresponding value of the scoped occurrence is returned
+ // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this
+ // property is returned.
+ public BorderStyleValue getBorderStyle(String styleClass) throws InvalidGdlSchemaException {
+ Occurrence styleOcc = null;
+ if(styleClass != null){
+ styleOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlBorderStyle, styleClass);
+ } else {
+ styleOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlBorderStyle);
+ }
+
+ if(styleOcc == null && styleClass != null){
+ return null;
+ } else if(styleOcc == null) {
+ return BorderStyleValue.SOLID;
+ } else {
+ try{
+ return BorderStyleValue.valueOf(styleOcc.getValue().toUpperCase());
+ }catch(IllegalArgumentException e){
+ String values = "none, hidden, dotted, dashed, solid, double, groove, ridge, inset, outset";
+ throw new InvalidGdlSchemaException("border-style must be set to one of " + values + ", but is " + styleOcc.getValue());
+ }
+ }
+ }
+
+
+ // returns a CursorValue instance that represents the cursor of this element.
+ // If a styleClass is set, only the corresponding value of the scoped occurrence is returned
+ // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this
+ // property is returned.
+ public CursorValue getCursor(String styleClass) throws InvalidGdlSchemaException {
+ Occurrence cursorOcc = null;
+ if(styleClass != null){
+ cursorOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlCursor, styleClass);
+ } else {
+ cursorOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlCursor);
+ }
+
+ if(cursorOcc == null && styleClass != null){
+ return null;
+ } else if(cursorOcc == null) {
+ return CursorValue.POINTER;
+ } else {
+ try{
+ return CursorValue.valueOf(cursorOcc.getValue().toUpperCase().replace("-", "_"));
+ }catch(IllegalArgumentException e){
+ String values = "auto, default, crosshair, pointer, move, n-resize, ne-resize," +
+ "nw-resize, e-resize, se-resize, s-resize, sw-resize, w-resize," +
+ "text, wait, help, or progress";
+ throw new InvalidGdlSchemaException("cursor must be set to one of " + values + ", but is " + cursorOcc.getValue());
+ }
+ }
+ }
+
+
+
+ // returns a NumUnitValue instance that represents the radius of this element's border.
+ // If a styleClass is set, only the corresponding value of the scoped occurrence is returned
+ // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this
+ // property is returned.
+ public NumUnitValue getBorderRadius(String styleClass) throws InvalidGdlSchemaException {
+ Occurrence radiusOcc = null;
+ if(styleClass != null){
+ radiusOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlBorderRadius, styleClass);
+ } else {
+ radiusOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlBorderRadius);
+ }
+
+ if(radiusOcc == null && styleClass != null){
+ return null;
+ } else if(radiusOcc == null) {
+ return new NumUnitValue("5px");
+ } else {
+ return new NumUnitValue(radiusOcc.getValue());
+ }
+ }
+
+
+ // Returns the actual button element
+ public Button getButton(){
+ if(this.subElements.size() == 0) return null;
+ else return (Button)this.subElements.get(0);
}
}
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 Fri Jul 22 10:44:58 2011 (r668)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm Tue Jul 26 04:19:31 2011 (r669)
@@ -50,6 +50,7 @@
{"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:Button]"]},
+ {"subject_identifiers":["[gdl:Action-Button]"]},
{"subject_identifiers":["[gdl:Input-Button]"]},
{"subject_identifiers":["[gdl:Radio-Button]"]},
{"subject_identifiers":["[gdl:Check-Box]"]},
@@ -60,6 +61,7 @@
{"subject_identifiers":["[gdl:List]"]},
{"subject_identifiers":["[doc:unit-1-radio-button]"], "instance_of":["si:[gdl:Radio-Button]"], "occurrences":[{"type":"si:[gdl:id]", "value":"unit_1_radio_button_id"},{"type":"si:[gdl:content-orientation]", "value":"horizontal"}, {"type":"si:[gdl:background-color]", "value": "lime"}, {"type":"si:[gdl:margin-left]", "value":"15pt"}, {"type":"si:[gdl:font-size]", "value":"8pt"}]},
{"subject_identifiers":["[doc:unit-1-check-box]"], "instance_of":["si:[gdl:Check-Box]"], "occurrences":[{"type":"si:[gdl:id]", "value":"unit_1_check_box_id"},{"type":"si:[gdl:content-orientation]", "value":"vertical"}, {"type":"si:[gdl:background-color]", "value": "lime"}, {"type":"si:[gdl:margin]", "value":"30pt"}, {"type":"si:[gdl:font-size]", "value":"8pt"}]},
+ {"subject_identifiers":["[doc:unit-1-action-button]"], "instance_of":["si:[gdl:Action-Button]"], "occurrences":[{"type":"si:[gdl:id]","value":"unit_1_action_button"}]},
{"subject_identifiers":["[doc:list-item-1]"], "instance_of":["si:[gdl:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"list_item_1_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:padding-bottom]", "value":"5px"}, {"type":"si:[gdl:margin-bottom]", "value":"5px"}]},
{"subject_identifiers":["[doc:list-item-3]"], "instance_of":["si:[gdl:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"list_item_3_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:padding-bottom]", "value":"5px"}]},
{"subject_identifiers":["[doc:list-item-2]"], "instance_of":["si:[gdl:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"list_item_2_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:padding]", "value":"5px"}, {"type":"si:[gdl:margin-top]", "value":"5px"}]},
@@ -72,6 +74,7 @@
{"subject_identifiers":["[doc:pos-of-unit-1-reference]"], "instance_of":["si:[gdl:Position]"]},
{"subject_identifiers":["[doc:pos-of-unit-1-radio-button]"], "instance_of":["si:[gdl:Position]"]},
{"subject_identifiers":["[doc:pos-of-unit-1-check-box]"], "instance_of":["si:[gdl:Position]"]},
+ {"subject_identifiers":["[doc:pos-of-unit-1-action-button]"], "instance_of":["si:[gdl:Position]"]},
{"subject_identifiers":["[doc:pos-of-unit-1-space]"], "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"}]},
@@ -149,6 +152,7 @@
{"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Input-Button]"}]},
{"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Input-Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Radio-Button]"}]},
{"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Input-Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Check-Box]"}]},
+ {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Action-Button]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-creator-topic-view-1]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-creator-topic-view-2]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-editor-topic-view]"}]},
@@ -186,9 +190,11 @@
{"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:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:unit-1]"},{"type":"si:[gdl:containee]", "player":"si:[doc:unit-1-radio-button]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:unit-1]"},{"type":"si:[gdl:containee]", "player":"si:[doc:unit-1-check-box]"}]},
+ {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:unit-1]"},{"type":"si:[gdl:containee]", "player":"si:[doc:unit-1-action-button]"}]},
{"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-space]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-reference]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-space]"}]},
{"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-space]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-text]"}]},
{"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-radio-button]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-text]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-radio-button]"}]},
- {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-check-box]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-radio-button]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-check-box]"}]}
+ {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-check-box]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-radio-button]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-check-box]"}]},
+ {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-action-button]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-check-box]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-action-button]"}]}
]}
\ No newline at end of file
1
0

[isidorus-cvs] r668 - branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets
by lgiessmann@common-lisp.net 22 Jul '11
by lgiessmann@common-lisp.net 22 Jul '11
22 Jul '11
Author: lgiessmann
Date: Fri Jul 22 10:44:58 2011
New Revision: 668
Log:
gdl-frontend: Widgets: fixed + extended the JTM GDL test file
Modified:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm
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 Fri Jul 22 10:39:04 2011 (r667)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/war/gdl_widgets/test.gdl.jtm Fri Jul 22 10:44:58 2011 (r668)
@@ -52,12 +52,14 @@
{"subject_identifiers":["[gdl:Button]"]},
{"subject_identifiers":["[gdl:Input-Button]"]},
{"subject_identifiers":["[gdl:Radio-Button]"]},
+ {"subject_identifiers":["[gdl:Check-Box]"]},
{"subject_identifiers":["[gdl:Space]"]},
{"subject_identifiers":["[gdl:Text]"]},
{"subject_identifiers":["[gdl:Title]"]},
{"subject_identifiers":["[gdl:Reference]"]},
{"subject_identifiers":["[gdl:List]"]},
{"subject_identifiers":["[doc:unit-1-radio-button]"], "instance_of":["si:[gdl:Radio-Button]"], "occurrences":[{"type":"si:[gdl:id]", "value":"unit_1_radio_button_id"},{"type":"si:[gdl:content-orientation]", "value":"horizontal"}, {"type":"si:[gdl:background-color]", "value": "lime"}, {"type":"si:[gdl:margin-left]", "value":"15pt"}, {"type":"si:[gdl:font-size]", "value":"8pt"}]},
+ {"subject_identifiers":["[doc:unit-1-check-box]"], "instance_of":["si:[gdl:Check-Box]"], "occurrences":[{"type":"si:[gdl:id]", "value":"unit_1_check_box_id"},{"type":"si:[gdl:content-orientation]", "value":"vertical"}, {"type":"si:[gdl:background-color]", "value": "lime"}, {"type":"si:[gdl:margin]", "value":"30pt"}, {"type":"si:[gdl:font-size]", "value":"8pt"}]},
{"subject_identifiers":["[doc:list-item-1]"], "instance_of":["si:[gdl:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"list_item_1_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:padding-bottom]", "value":"5px"}, {"type":"si:[gdl:margin-bottom]", "value":"5px"}]},
{"subject_identifiers":["[doc:list-item-3]"], "instance_of":["si:[gdl:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"list_item_3_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:padding-bottom]", "value":"5px"}]},
{"subject_identifiers":["[doc:list-item-2]"], "instance_of":["si:[gdl:Text]"], "occurrences":[{"type":"si:[gdl:id]", "value":"list_item_2_id", "datatype":"[xsd:ID]"}, {"type":"si:[gdl:padding]", "value":"5px"}, {"type":"si:[gdl:margin-top]", "value":"5px"}]},
@@ -68,6 +70,8 @@
{"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-radio-button]"], "instance_of":["si:[gdl:Position]"]},
+ {"subject_identifiers":["[doc:pos-of-unit-1-check-box]"], "instance_of":["si:[gdl:Position]"]},
{"subject_identifiers":["[doc:pos-of-unit-1-space]"], "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"}]},
@@ -144,6 +148,7 @@
{"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Text-Object]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Button]"}]},
{"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Input-Button]"}]},
{"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Input-Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Radio-Button]"}]},
+ {"type":"si:[tmdm:supertype-subtype]", "roles":[{"type":"si:[tmdm:supertype]", "player":"si:[gdl:Input-Button]"},{"type":"si:[tmdm:subtype]", "player":"si:[gdl:Check-Box]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-creator-topic-view-1]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-creator-topic-view-2]"}]},
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:test-schema]"},{"type":"si:[gdl:containee]", "player":"si:[doc:default-editor-topic-view]"}]},
@@ -180,8 +185,10 @@
{"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:unit-1]"},{"type":"si:[gdl:containee]", "player":"si:[doc:unit-1-space]"}]},
{"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:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:unit-1]"},{"type":"si:[gdl:containee]", "player":"si:[doc:unit-1-radio-button]"}]},
+ {"type":"si:[gdl:contains]", "roles":[{"type":"si:[gdl:container]", "player":"si:[doc:unit-1]"},{"type":"si:[gdl:containee]", "player":"si:[doc:unit-1-check-box]"}]},
{"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-space]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-reference]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-space]"}]},
{"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-space]"}, {"type":"si:[gdl:descendant]", "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-text]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-radio-button]"}]}
+ {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-radio-button]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-text]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-radio-button]"}]},
+ {"type":"si:[gdl:position]", "roles":[{"type":"si:[gdl:descriptor]", "player":"si:[doc:pos-of-unit-1-check-box]"},{"type":"si:[gdl:ancestor]", "player":"si:[doc:unit-1-radio-button]"}, {"type":"si:[gdl:descendant]", "player":"si:[doc:unit-1-check-box]"}]}
]}
\ No newline at end of file
1
0

[isidorus-cvs] r667 - in branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets: . button
by lgiessmann@common-lisp.net 22 Jul '11
by lgiessmann@common-lisp.net 22 Jul '11
22 Jul '11
Author: lgiessmann
Date: Fri Jul 22 10:39:04 2011
New Revision: 667
Log:
gdl-frontend: Widgets: implemented GdlCheckBox
Added:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlInputButton.java
Modified:
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlButton.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCheckBox.java
branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlRadioButton.java
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt Fri Jul 22 10:04:46 2011 (r666)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/TODO.txt Fri Jul 22 10:39:04 2011 (r667)
@@ -1,6 +1,5 @@
* Implement GdlButton(s)
* Implement GdlButton(s) positioning
-* change the GDL spec of GdlUnit => set a default constraint (or none)
* Implement TopicMaps data consumption
* Implement TopicMaps data generation
* ImplementGdlVisibleObject => (de)registerButtonCallback
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlButton.java Fri Jul 22 10:04:46 2011 (r666)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlButton.java Fri Jul 22 10:39:04 2011 (r667)
@@ -5,9 +5,7 @@
import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException;
import us.isidor.gdl.anaToMia.Widgets.text.GdlTextObject;
-public abstract class GdlButton extends GdlTextObject {
- // TODO: implement
-
+public abstract class GdlButton extends GdlTextObject {
protected GdlButton(){
super();
}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCheckBox.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCheckBox.java Fri Jul 22 10:04:46 2011 (r666)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlCheckBox.java Fri Jul 22 10:39:04 2011 (r667)
@@ -1,12 +1,11 @@
package us.isidor.gdl.anaToMia.Widgets.button;
+import com.google.gwt.user.client.ui.CheckBox;
import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
import us.isidor.gdl.anaToMia.Widgets.environment.ExecutionException;
import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException;
-public class GdlCheckBox extends GdlButton {
- // TODO: implement
-
+public class GdlCheckBox extends GdlInputButton {
protected GdlCheckBox(){
super();
}
@@ -14,5 +13,19 @@
public GdlCheckBox(Topic tmRepresentative) throws InvalidGdlSchemaException, ExecutionException{
super(tmRepresentative);
+ // TODO: create a check box for each tm construct
+ this.createcheckBox().setText("Check Box 1");
+ this.createcheckBox().setText("Check Box 2");
+ this.createcheckBox().setText("Check Box 3");
+ }
+
+
+
+ public CheckBox createcheckBox() throws InvalidGdlSchemaException, ExecutionException{
+ CheckBox cb = new CheckBox();
+ cb.setName(this.getGroupName());
+ this.addToContainerPanel(cb);
+ this.setGdlStyle(cb);
+ return cb;
}
}
Added: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlInputButton.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/button/GdlInputButton.java Fri Jul 22 10:39:04 2011 (r667)
@@ -0,0 +1,21 @@
+package us.isidor.gdl.anaToMia.Widgets.button;
+
+import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic;
+import us.isidor.gdl.anaToMia.Widgets.environment.ExecutionException;
+import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException;
+
+public class GdlInputButton extends GdlButton {
+ protected GdlInputButton(){
+ super();
+ }
+
+
+ public GdlInputButton(Topic tmRepresentative) throws InvalidGdlSchemaException, ExecutionException{
+ super(tmRepresentative);
+ }
+
+
+ public String getGroupName() throws InvalidGdlSchemaException{
+ return this.getId() + "__RB__GROUP";
+ }
+}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlRadioButton.java
==============================================================================
--- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlRadioButton.java Fri Jul 22 10:04:46 2011 (r666)
+++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/button/GdlRadioButton.java Fri Jul 22 10:39:04 2011 (r667)
@@ -6,7 +6,7 @@
import us.isidor.gdl.anaToMia.Widgets.environment.ExecutionException;
import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException;
-public class GdlRadioButton extends GdlButton {
+public class GdlRadioButton extends GdlInputButton {
protected GdlRadioButton(){
super();
}
@@ -21,12 +21,6 @@
}
-
- public String getGroupName() throws InvalidGdlSchemaException{
- return this.getId() + "__RB__GROUP";
- }
-
-
public RadioButton createRadioButton() throws InvalidGdlSchemaException, ExecutionException{
RadioButton rb = new RadioButton(this.getGroupName());
this.addToContainerPanel(rb);
1
0