EDIT: a mistake:
this.__startWidget.setJourneyContainer("test0rn");
i mean
this.__startWidget.setJourneyContainer(this);
at the end (in the last class)
********************************************************
Hi Matt,
my abstract class looks like:
qx.Class.define("travelagent.impl.fe.travelplaner.uis.AbstractMediator",
{
type: "abstract",
extend: qx.ui.container.Composite,
properties: {
journeyContainer : {inheritable:true, deferredInit: true}
},
members: {
/**
* @abstract
*/
edit: function() {return true;},
openMap: function() {return true;},
save: function() {return true;},
update: function(e) {return true;}
}
});
then i derive a DestinationWidget:
qx.Class.define("travelagent.impl.fe.travelplaner.uis.DestinationWidget",{
type: "abstract",
extend: travelagent.impl.fe.travelplaner.uis.AbstractMediator,
properties: {
destinationData : {inheritable:true, deferredInit:true, check :
"travelagent.impl.data.DestinationData"},
clockWidget : {inheritable:true, deferredInit:true},
calendarWidget : {inheritable:true, deferredInit:true},
mapWidget : {inheritable:true, deferredInit:true}
},
members:{
openMap:function(){
return true;
}
}
});
and in my StartWidget, i want to use the journeyContainer-Prop from the
AbstractMediator.
qx.Class.define("travelagent.impl.fe.travelplaner.uis.StartWidget",{
extend:travelagent.impl.fe.travelplaner.uis.DestinationWidget,
construct: function(data){
this.base(arguments);
this.initDestinationData(data);
this.__buildLayout(); //external method for the layout
alert(this.getJourneyContainer()); //test the prop
},
...
}
The alert-methode give my the following: null
I set the JourneyContainer-Prop in another class:
qx.Class.define("travelagent.impl.fe.travelplaner.TravelplanerContainer", {
extend : qx.ui.container.Scroll,
construct : function() {
this.base(arguments);
this.set({
width : 1024,
height : 400
});
var layout = new qx.ui.layout.VBox().set({
spacing : 5
// alignX: "center"
});
this.__journeyContainer = new
qx.ui.container.Composite(layout).set({
padding : 20,
width : 1008,
backgroundColor : "white"
});
this.__journeyContainer.setAllowStretchX(false);
this.add(this.__journeyContainer);
this.__journeyContainer.add(new
qx.ui.basic.Label("Travelplan"));
// init dummywidgets
var start = new travelagent.impl.data.DestinationData();
start.setType("StartWidget");
var goal = new travelagent.impl.data.DestinationData();
goal.setType("GoalWidget");
var waypoint = new travelagent.impl.data.DestinationData();
waypoint.setType("WaypointWidget");
var waypoint2 = new travelagent.impl.data.DestinationData();
waypoint2.setType("WaypointWidget");
var waypoint3 = new travelagent.impl.data.DestinationData();
waypoint3.setType("WaypointWidget");
goal.setPrev(waypoint);
waypoint.setPrev(start);
waypoint2.setPrev(waypoint);
waypoint3.setPrev(waypoint2);
...
this.addWidget(start);
},
members : {
// ref to component
__journeyContainer : null,
__startWidget : null,
__goalWidget : null,
/**
* Adds a widget to the travel plan. Therefore the type of the
given
* data object is checked.
*
* @param componentData
* {IComponentData} The data object of the widget to
add.
*/
addWidget : function(componentData) {
switch (componentData.getType()) {
case "StartWidget" :
this.__startWidget = new
travelagent.impl.fe.travelplaner.uis.StartWidget(componentData);
this.__startWidget.setJourneyContainer("test0rn");
this.__journeyContainer.add(this.__startWidget);
...
I hope this helps,
Thanks
-------- Original-Nachricht --------
> Datum: Wed, 03 Jun 2009 16:10:02 +0100
> Von: Matthew Gregory <[email protected]>
> An: [email protected]
> Betreff: Re: [qooxdoo-devel] Property usage
>
> > now i have a new problem with my property.
> > Another class set the journeyContainer:
> >
> > this.__startWidget.setJourneyContainer(this)
> >
> > when i call the getter in the startWidget, i get a null value. why? i
> thought that the property is inherit from AbstractMediator to StartWidget.
>
> That should work, any chance of a bit more code? Would be good if you
> could post the code that creates the class, sets the property and then
> where the property is being read
>
> > My second problem concerns the init-process.
> >
> > i have tried the following:
> >
> > properties: {
> > newTest:{nullable:true} //i guess this is the same like newTest = null;
> > }
> >
> > now i want to init the property in my constructor like:
> >
> > this.initNewTest("hello");
> >
> > Firebug says that the function ist undefined. how can i init my
> properties?
>
> (not 100% sure about the accuracy of this statement) Nullable properties
> are initialized to null by default, use setTest() instead. Or you could
> add an init value to the property
>
> > newTest:{nullable:true, init:"hello"}
>
> This only works well for "simple" types though, arrays and objects are
> initialized by reference and not value
>
>
>
>
> ------------------------------------------------------------------------------
> OpenSolaris 2009.06 is a cutting edge operating system for enterprises
> looking to deploy the next generation of Solaris that includes the latest
> innovations from Sun and the OpenSource community. Download a copy and
> enjoy capabilities such as Networking, Storage and Virtualization.
> Go to: http://p.sf.net/sfu/opensolaris-get
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel