[flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread thunderstumpgesatwork
Hi,

The delegate function thinks you just have a CairngormEvent. I think
you just need to check to make sure the event you received is your
custom event type and then cast it.

so:

if (eventHere is LoadScorecardEvent)
{
del.getScorecard( LoadScorecardEvent(eventHere).scorecardId );
}
else
{
// do nothing, or raise error, or log warning, or whatever.
}


best of luck,
Thunder

--- In flexcoders@yahoogroups.com, Douglas Knudsen
[EMAIL PROTECTED] wrote:

 can someone point me to a example of how to pass data in a cairngorm
type
 event?  I'm trying the below with
 
 package com.mycompany.events
 {
 import com.adobe.cairngorm.control.CairngormEvent;
 
 public class LoadScorecardEvent extends CairngormEvent
 {
 public static var EVENT_LOAD_SCORECARD: String =
 'LoadScorecardEvent';
  public var scorecardId:Number;
 /**
  * The constructor,
  */
 public function LoadScorecardEvent( )
 {
 super( EVENT_LOAD_SCORECARD );
 
 }
 
 }
 
 }
 
 then in a view dispatching like so
 var devent : LoadScorecardEvent = new LoadScorecardEvent(  );
 devent.scorecardId = 5;

CairngormEventDispatcher.getInstance().dispatchEvent(
 devent );
 
 and in the command I have
 
 public function execute( eventHere : CairngormEvent ) : void
{
   var del : MainDelegate = new MainDelegate( this );
   del.getScorecard( eventHere.scorecardId );
 
}
 
 But this bombs out with a error about scorecardId not in eventHere.
 
 DK
 
 
 -- 
 Douglas Knudsen
 http://www.cubicleman.com
 this is my signature, like it?








--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 





Re: [flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread Douglas Knudsen



ah, righto. thanks d00ds. I had this hacked up too much...no worky good. If only I can get that damn RO to calm down now and do what its told! but that's another thread.DK
On 7/27/06, thunderstumpgesatwork [EMAIL PROTECTED] wrote:
Hi,The delegate function thinks you just have a CairngormEvent. I thinkyou just need to check to make sure the event you received is yourcustom event type and then cast it.so:if (eventHere is LoadScorecardEvent)
{del.getScorecard( LoadScorecardEvent(eventHere).scorecardId );}else{// do nothing, or raise error, or log warning, or whatever.}best of luck,Thunder--- In 
flexcoders@yahoogroups.com, Douglas Knudsen[EMAIL PROTECTED] wrote: can someone point me to a example of how to pass data in a cairngormtype event?I'm trying the below with
 package com.mycompany.events { import com.adobe.cairngorm.control.CairngormEvent; public class LoadScorecardEvent extends CairngormEvent { public static var EVENT_LOAD_SCORECARD: String =
 'LoadScorecardEvent';public var scorecardId:Number; /*** The constructor,*/ public function LoadScorecardEvent( ) {
 super( EVENT_LOAD_SCORECARD ); } } } then in a view dispatching like so var devent : LoadScorecardEvent = new LoadScorecardEvent();
 devent.scorecardId = 5;CairngormEventDispatcher.getInstance().dispatchEvent( devent ); and in the command I have public function execute( eventHere : CairngormEvent ) : void
{ var del : MainDelegate = new MainDelegate( this ); del.getScorecard( eventHere.scorecardId );} But this bombs out with a error about scorecardId not in eventHere.
 DK -- Douglas Knudsen http://www.cubicleman.com this is my signature, like it?
--Flexcoders Mailing ListFAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txtSearch Archives: 
http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups Links* To visit your group on the web, go to:http://groups.yahoo.com/group/flexcoders/
* To unsubscribe from this group, send an email to:[EMAIL PROTECTED]* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/-- Douglas Knudsenhttp://www.cubicleman.com
this is my signature, like it?

__._,_.___





--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com








   






  
  
SPONSORED LINKS
  
  
  

Web site design development
  
  
Computer software development
  
  
Software design and development
  
  


Macromedia flex
  
  
Software development best practice
  

   
  







  
  
  YAHOO! GROUPS LINKS



  Visit your group "flexcoders" on the web.
  To unsubscribe from this group, send an email to:[EMAIL PROTECTED]
  Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.



  






__,_._,___



Re: [flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread Ralf Bokelberg



Its really a pity, that we loose all the nice type information while going all the way through Cairngorm. 

Cheers,
Ralf. On 7/27/06, Douglas Knudsen [EMAIL PROTECTED] wrote:

ah, righto. thanks d00ds. I had this hacked up too
much...no worky good. If only I can get that damn RO to
calm down now and do what its told! but that's another thread.DK
On 7/27/06, thunderstumpgesatwork 
[EMAIL PROTECTED] wrote:
Hi,The delegate function thinks you just have a CairngormEvent. I thinkyou just need to check to make sure the event you received is yourcustom event type and then cast it.so:if (eventHere is LoadScorecardEvent)
{del.getScorecard( LoadScorecardEvent(eventHere).scorecardId );}else{// do nothing, or raise error, or log warning, or whatever.}best of luck,Thunder--- In 

flexcoders@yahoogroups.com, Douglas Knudsen[EMAIL PROTECTED] wrote: can someone point me to a example of how to pass data in a cairngormtype event?I'm trying the below with
 package com.mycompany.events { import com.adobe.cairngorm.control.CairngormEvent; public class LoadScorecardEvent extends CairngormEvent { public static var EVENT_LOAD_SCORECARD: String =
 'LoadScorecardEvent';public var scorecardId:Number; /*** The constructor,*/ public function LoadScorecardEvent( ) {
 super( EVENT_LOAD_SCORECARD ); } } } then in a view dispatching like so var devent : LoadScorecardEvent = new LoadScorecardEvent();
 devent.scorecardId = 5;CairngormEventDispatcher.getInstance().dispatchEvent( devent ); and in the command I have public function execute( eventHere : CairngormEvent ) : void
{ var del : MainDelegate = new MainDelegate( this ); del.getScorecard( eventHere.scorecardId );} But this bombs out with a error about scorecardId not in eventHere.
 DK -- Douglas Knudsen 
http://www.cubicleman.com this is my signature, like it?
--Flexcoders Mailing ListFAQ: 
http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txtSearch Archives: 

http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups Links* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
-- Douglas Knudsenhttp://www.cubicleman.com
this is my signature, like it?




-- Ralf Bokelberg [EMAIL PROTECTED]Flex  Flash Consultant based in Cologne/Germany

__._,_.___





--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com








   






  
  
SPONSORED LINKS
  
  
  

Web site design development
  
  
Computer software development
  
  
Software design and development
  
  


Macromedia flex
  
  
Software development best practice
  

   
  







  
  
  YAHOO! GROUPS LINKS



  Visit your group "flexcoders" on the web.
  To unsubscribe from this group, send an email to:[EMAIL PROTECTED]
  Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.



  






__,_._,___



Re: [flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread JesterXL





I'm with you. I've been determing type of 
event based on the event.type in the Command's execute method to get my 
strong-typing back.

- Original Message - 
From: Ralf 
Bokelberg 
To: flexcoders@yahoogroups.com 
Sent: Thursday, July 27, 2006 12:58 PM
Subject: Re: [flexcoders] Re: cairngorm Events and data 
payloads
Its really a pity, that we loose all the nice type information 
while going all the way through Cairngorm. Cheers,Ralf. 
On 7/27/06, Douglas 
Knudsen [EMAIL PROTECTED] 
wrote:

  
  ah, righto. thanks d00ds. I had this hacked up too much...no 
  worky good. If only I can get that damn RO to calm down now and do 
  what its told! but that's another thread.
  DK
  
  On 7/27/06, thunderstumpgesatwork  
  [EMAIL PROTECTED] wrote:
  Hi,The 
delegate function thinks you just have a CairngormEvent. I thinkyou just 
need to check to make sure the event you received is yourcustom event 
type and then cast it.so:if (eventHere is 
LoadScorecardEvent) {del.getScorecard( 
LoadScorecardEvent(eventHere).scorecardId 
);}else{// do nothing, or raise 
error, or log warning, or whatever.}best of 
luck,Thunder--- In flexcoders@yahoogroups.com, "Douglas 
Knudsen"[EMAIL PROTECTED] wrote: can someone 
point me to a example of how to pass data in a cairngormtype 
event?I'm trying the below with  package 
com.mycompany.events { import 
com.adobe.cairngorm.control.CairngormEvent; 
public class LoadScorecardEvent extends 
CairngormEvent 
{ public static var 
EVENT_LOAD_SCORECARD: String =  
'LoadScorecardEvent';public 
var 
scorecardId:Number; 
/*** The 
constructor,*/ 
public function LoadScorecardEvent( 
) { 
 
super( EVENT_LOAD_SCORECARD 
); 
} } 
} then in a view dispatching like so var devent : 
LoadScorecardEvent = new LoadScorecardEvent(); 
 
devent.scorecardId = 
5;CairngormEventDispatcher.getInstance().dispatchEvent( 
devent ); and in the command I have public 
function execute( eventHere : CairngormEvent ) : void 
{ 
var del : MainDelegate = new MainDelegate( this 
); 
del.getScorecard( eventHere.scorecardId 
);} 
But this bombs out with a error about scorecardId not in eventHere. 
 DK -- Douglas 
Knudsen http://www.cubicleman.com this is my signature, 
like it?--Flexcoders Mailing 
ListFAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txtSearch 
Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! 
Groups Links* To visit your group on the web, go 
to: 
http://groups.yahoo.com/group/flexcoders/ * To 
unsubscribe from this group, send an email to: 
[EMAIL PROTECTED]* Your use of 
Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/-- Douglas Knudsenhttp://www.cubicleman.com 
  this is my signature, like it? -- 
Ralf Bokelberg [EMAIL PROTECTED]Flex 
 Flash Consultant based in Cologne/Germany  
__._,_.___





--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com








   






  
  
SPONSORED LINKS
  
  
  

Web site design development
  
  
Computer software development
  
  
Software design and development
  
  


Macromedia flex
  
  
Software development best practice
  

   
  







  
  
  YAHOO! GROUPS LINKS



  Visit your group "flexcoders" on the web.
  To unsubscribe from this group, send an email to:[EMAIL PROTECTED]
  Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.



  






__,_._,___



Re: [flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread Ralf Bokelberg



The only typesafe solution i can think of, is to abandon CairngormEvents and replace them by methods of the FrontController. Most of the apps i've seen so far don't make use of the runtime changeability anyways. What do we loose if we do it like that? 
Cheers,Ralf. On 7/27/06, JesterXL [EMAIL PROTECTED] wrote:









I'm with you. I've been determing type of 
event based on the event.type in the Command's execute method to get my 
strong-typing back.

- Original Message - 
From: 
Ralf 
Bokelberg 
To: flexcoders@yahoogroups.com
 
Sent: Thursday, July 27, 2006 12:58 PM
Subject: Re: [flexcoders] Re: cairngorm Events and data 
payloads
Its really a pity, that we loose all the nice type information 
while going all the way through Cairngorm. Cheers,Ralf. 
On 7/27/06, Douglas 
Knudsen [EMAIL PROTECTED] 
wrote:

  
  ah, righto. thanks d00ds. I had this hacked up too much...no 
  worky good. If only I can get that damn RO to calm down now and do 
  what its told! but that's another thread.
  DK
  
  On 7/27/06, thunderstumpgesatwork 
 
  [EMAIL PROTECTED] wrote:
  Hi,The 
delegate function thinks you just have a CairngormEvent. I thinkyou just 
need to check to make sure the event you received is yourcustom event 
type and then cast it.so:if (eventHere is 
LoadScorecardEvent) {del.getScorecard( 
LoadScorecardEvent(eventHere).scorecardId 
);}else{// do nothing, or raise 
error, or log warning, or whatever.}best of 
luck,Thunder--- In 
flexcoders@yahoogroups.com, Douglas 
Knudsen[EMAIL PROTECTED] wrote: can someone 
point me to a example of how to pass data in a cairngormtype 
event?I'm trying the below with  package 
com.mycompany.events { import 
com.adobe.cairngorm.control.CairngormEvent; 
public class LoadScorecardEvent extends 
CairngormEvent 
{ public static var 
EVENT_LOAD_SCORECARD: String =  
'LoadScorecardEvent';public 
var 
scorecardId:Number; 
/*** The 
constructor,*/ 
public function LoadScorecardEvent( 
) { 
 
super( EVENT_LOAD_SCORECARD 
); 
} } 
} then in a view dispatching like so var devent : 
LoadScorecardEvent = new LoadScorecardEvent(); 
 
devent.scorecardId = 
5;CairngormEventDispatcher.getInstance().dispatchEvent( 
devent ); and in the command I have public 
function execute( eventHere : CairngormEvent ) : void 
{ 
var del : MainDelegate = new MainDelegate( this 
); 
del.getScorecard( eventHere.scorecardId 
);} 
But this bombs out with a error about scorecardId not in eventHere. 
 DK -- Douglas 
Knudsen http://www.cubicleman.com
 this is my signature, 
like it?--Flexcoders Mailing 
ListFAQ: 
http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txtSearch 
Archives: 
http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! 
Groups Links* To visit your group on the web, go 
to:
 
http://groups.yahoo.com/group/flexcoders/ * To 
unsubscribe from this group, send an email to:
 
[EMAIL PROTECTED]* Your use of 
Yahoo! Groups is subject to: 
http://docs.yahoo.com/info/terms/-- Douglas Knudsen
http://www.cubicleman.com 
  this is my signature, like it? -- 
Ralf Bokelberg [EMAIL PROTECTED]
Flex 
 Flash Consultant based in Cologne/Germany  



-- Ralf Bokelberg [EMAIL PROTECTED]Flex  Flash Consultant based in Cologne/Germany

__._,_.___





--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com








   






  
  
SPONSORED LINKS
  
  
  

Web site design development
  
  
Computer software development
  
  
Software design and development
  
  


Macromedia flex
  
  
Software development best practice
  

   
  







  
  
  YAHOO! GROUPS LINKS



  Visit your group "flexcoders" on the web.
  To unsubscribe from this group, send an email to:[EMAIL PROTECTED]
  Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.



  






__,_._,___



Re: [flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread JesterXL





Well, my events extend CairngormEvent, so I can 
technically upcast 'em when they get in the Command's execute method. I 
know Steven didn't really dig this idea, but if you case the type, you can 
compare to the Event's constant like:

public static const EVENT_DOSOMETHING:String = 
"doSomething";

function execute(event:CairngormEvent)
{
 switch(event.type)
 {
  case 
MyEvent.EVENT_DOSOMETHING:
  
 someMethod ( MyEvent(event).someTypeSafeProp);
  
 break;
 }
}


- Original Message - 
From: Ralf 
Bokelberg 
To: flexcoders@yahoogroups.com 
Sent: Thursday, July 27, 2006 4:20 PM
Subject: Re: [flexcoders] Re: cairngorm Events and data 
payloads
The only typesafe solution i can think of, is to abandon 
CairngormEvents and replace them by methods of the FrontController. Most of the 
apps i've seen so far don't make use of the runtime changeability anyways. What 
do we loose if we do it like that? Cheers,Ralf. 
On 7/27/06, JesterXL 
[EMAIL PROTECTED] 
wrote:

  
  
  I'm with you. I've been determing type of event based on the event.type in the Command's execute method to get my 
  strong-typing back.
  
  
  - Original Message - 
  From: 
  Ralf Bokelberg 
  To: flexcoders@yahoogroups.com 
  
  Sent: Thursday, July 27, 2006 12:58 PM
  Subject: Re: [flexcoders] Re: cairngorm Events and data 
  payloads
  
  
  Its really a pity, that we loose all the nice type information 
  while going all the way through Cairngorm. Cheers,Ralf. 
  On 7/27/06, Douglas 
  Knudsen [EMAIL PROTECTED] wrote: 
  

ah, righto. thanks d00ds. I had this hacked up too 
much...no worky good. If only I can get that damn RO to calm 
down now and do what its told! but that's another thread.
DK

On 7/27/06, thunderstumpgesatwork  
[EMAIL PROTECTED] wrote: 
Hi,The 
  delegate function thinks you just have a CairngormEvent. I thinkyou 
  just need to check to make sure the event you received is yourcustom 
  event type and then cast it.so:if (eventHere is 
  LoadScorecardEvent) {del.getScorecard( 
  LoadScorecardEvent(eventHere).scorecardId 
  );}else{// do nothing, or raise 
  error, or log warning, or whatever.}best of 
  luck,Thunder--- In flexcoders@yahoogroups.com, "Douglas 
  Knudsen"[EMAIL PROTECTED] wrote: can someone 
  point me to a example of how to pass data in a cairngormtype 
  event?I'm trying the below with  package 
  com.mycompany.events { import 
  com.adobe.cairngorm.control.CairngormEvent; 
  public class LoadScorecardEvent extends 
  CairngormEvent 
  { public static 
  var EVENT_LOAD_SCORECARD: String =  
  'LoadScorecardEvent';public 
  var 
  scorecardId:Number; 
  /*** 
  The 
  constructor,*/ 
  public function LoadScorecardEvent( 
  ) { 
   
  super( EVENT_LOAD_SCORECARD 
  ); 
  } } 
  } then in a view dispatching like so var devent : 
  LoadScorecardEvent = new LoadScorecardEvent(); 
   
  devent.scorecardId = 
  5;CairngormEventDispatcher.getInstance().dispatchEvent( 
  devent ); and in the command I have public 
  function execute( eventHere : CairngormEvent ) : void 
  { 
  var del : MainDelegate = new MainDelegate( this 
  ); 
  del.getScorecard( eventHere.scorecardId 
  );} 
  But this bombs out with a error about scorecardId not in eventHere. 
   DK -- Douglas 
  Knudsen http://www.cubicleman.com this is my signature, 
  like it?--Flexcoders Mailing 
  ListFAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txtSearch 
  Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! 
  Groups Links* To visit your group on the web, go 
  to: 
  http://groups.yahoo.com/group/flexcoders/ * To 
  unsubscribe from this group, send an email 
  to: 
  [EMAIL PROTECTED]* Your use of 
  Yahoo! Groups is subject to:  
  http://docs.yahoo.com/info/terms/-- Douglas Knudsenhttp://www.cubicleman.com 
this is my signature, like it? 
  -- Ralf Bokelberg [EMAIL PROTECTED]
  Flex  Flash Consultant based in Cologne/Germany 
  -- Ralf Bokelberg 
[EMAIL PROTECTED]Flex 
 Flash Consultant based in Cologne/Germany  
__._,_.___





--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com








   






  
  
SPONSORED LINKS
  
  
  

Web site design development
  
  
Computer software development
  
  
Software design and development
  
  


Macromedia flex
  
  
Software development best practice
  

   
  







  
  
  YAHOO! GROUPS LINKS



  Visit yo

[flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread ben.clinkinbeard
Forgive the dense noob here, but how is the type info lost? I thought
that by subclassing CairngormEvent you get basic checking and then you
can just do a cast or 'event as MyCutomEvent' inside the execute
method. I guess I am just not clear on what the issue is and where the
problem lies. Can someone edumacate me?

Thanks,
Ben
http://www.returnundefined.com/

--- In flexcoders@yahoogroups.com, JesterXL [EMAIL PROTECTED] wrote:

 Well, my events extend CairngormEvent, so I can technically upcast
'em when they get in the Command's execute method.  I know Steven
didn't really dig this idea, but if you case the type, you can compare
to the Event's constant like:
 
 public static const EVENT_DOSOMETHING:String = doSomething;
 
 function execute(event:CairngormEvent)
 {
 switch(event.type)
 {
 case MyEvent.EVENT_DOSOMETHING:
 someMethod ( MyEvent(event).someTypeSafeProp);
 break;
 }
 }
 
 
 - Original Message - 
 From: Ralf Bokelberg 
 To: flexcoders@yahoogroups.com 
 Sent: Thursday, July 27, 2006 4:20 PM
 Subject: Re: [flexcoders] Re: cairngorm Events and data payloads
 
 
 The only typesafe solution i can think of, is to abandon
CairngormEvents and replace them by methods of the FrontController.
Most of the apps i've seen so far don't make use of the runtime
changeability anyways. What do we loose if we do it like that? 
 
 Cheers,
 Ralf. 
 
 
 On 7/27/06, JesterXL [EMAIL PROTECTED] wrote:
   I'm with you.  I've been determing type of event based on the
event.type in the Command's execute method to get my strong-typing back.
 
   - Original Message - 
   From: Ralf Bokelberg 
   To: flexcoders@yahoogroups.com 
   Sent: Thursday, July 27, 2006 12:58 PM
   Subject: Re: [flexcoders] Re: cairngorm Events and data payloads
 
 
   Its really a pity, that we loose all the nice type information
while going all the way through Cairngorm. 
 
   Cheers,
   Ralf. 
 
 
   On 7/27/06, Douglas Knudsen [EMAIL PROTECTED] wrote: 
 ah, righto.  thanks d00ds.  I had this hacked up too much...no
worky good.   If only I can get that damn RO to calm down now and do
what its told!  but that's another thread.
 
 
 DK
 
 
 
 On 7/27/06, thunderstumpgesatwork  [EMAIL PROTECTED] wrote: 
   Hi,
 
   The delegate function thinks you just have a CairngormEvent. I
think
   you just need to check to make sure the event you received is your
   custom event type and then cast it.
 
   so:
 
   if (eventHere is LoadScorecardEvent) 
   {
   del.getScorecard( LoadScorecardEvent(eventHere).scorecardId );
   }
   else
   {
   // do nothing, or raise error, or log warning, or whatever.
   }
 
 
   best of luck,
   Thunder
 
   --- In flexcoders@yahoogroups.com, Douglas Knudsen
   douglasknudsen@ wrote:
   
can someone point me to a example of how to pass data in a
cairngorm
   type
event?  I'm trying the below with 
   
package com.mycompany.events
{
import com.adobe.cairngorm.control.CairngormEvent;
   
public class LoadScorecardEvent extends CairngormEvent
{
public static var EVENT_LOAD_SCORECARD: String = 
'LoadScorecardEvent';
 public var scorecardId:Number;
/**
 * The constructor,
 */
public function LoadScorecardEvent( )
{ 
super( EVENT_LOAD_SCORECARD );
   
}
   
}
   
}
   
then in a view dispatching like so
var devent : LoadScorecardEvent = new LoadScorecardEvent(  ); 
devent.scorecardId = 5;
   
   CairngormEventDispatcher.getInstance().dispatchEvent(
devent );
   
and in the command I have
   
public function execute( eventHere : CairngormEvent ) : void 
   {
  var del : MainDelegate = new MainDelegate( this );
  del.getScorecard( eventHere.scorecardId );
   
   }
   
But this bombs out with a error about scorecardId not in
eventHere. 
   
DK
   
   
--
Douglas Knudsen
http://www.cubicleman.com
this is my signature, like it?
   
 
 
 
 
 
 
 
   --
   Flexcoders Mailing List
   FAQ:
http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
   Search Archives:
http://www.mail-archive.com/flexcoders%40yahoogroups.com
   Yahoo! Groups Links
 
 
 
 
 
 
 
 
 
 
 
 -- 
 Douglas Knudsen
 http://www.cubicleman.com 
 this is my signature, like it? 
 
 
 
 
   -- 
   Ralf Bokelberg [EMAIL PROTECTED]
 
   Flex  Flash Consultant based in Cologne/Germany 
 
 
 
 -- 
 Ralf Bokelberg [EMAIL PROTECTED]
 Flex  Flash Consultant based in Cologne/Germany








--
Flexcoders Mailing List
FAQ

Re: [flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread JesterXL
My initial frustration was I'd create this event class, which allowed 
strong-typing, like so:

package
{
import com.adobe.control.CairngormEvent;

public class MyEvent extends CairngormEvent
{
public static const ACTION:String = action;

public var someID:int;

public function MyEvent(p_type:String, p_someID:int)
{
super(p_type);
someID = p_someID;
}
}
}

So, my event now has context.  If I need to have my Command get a person 
record from the DB for example, this event will contain the payload it 
needs; the person ID I'm looking for.  However, by the time it gets to the 
Command, it's a base class, the CairngormEvent.

package
{
public class MyCommand implements AllTheInterfacesEct
{
public function execute ( event:CairngormEvent )
{
trace(event.someID); // faith based programming
}
}
}

Now, for some, their Events are directly linked to Commands, like so:

LoginEvent will fire LoginCommand which calls LoginDelegate
GetPersonEvent will fire GetPersonCommand which calls GetPersonDelegate

At a simple level, yes, this'll do.  So, you can acutally make some 
assumptions in the above; if you play by the default Cairngorm rules, you 
KNOW by convention that your MyCommand class will get a MyEvent, so you 
could risk up-casting, like so:

someDelegateMethod ( MyEvent ( event ) . someID );

...that's faith, though.  You'll get an exception if for some reason that's 
not the real event.  It'd be better if the compiler caught that vs. the 
runtime, before it's a problem.  For me, I use multiple events inside 
Commands, so it's exacerbated.  The Controller keeps all of this under tabs, 
but again, it'd be nice if MyCommand for example GOT MyEvent in the execute. 
I supposed you could make that assumption; not sure if it'd compile. 
Anyway, convention over strict-typing is ok since a lot of conventions teams 
follow can do the above, for example, and assume you'll get what you need.


- Original Message - 
From: ben.clinkinbeard [EMAIL PROTECTED]
To: flexcoders@yahoogroups.com
Sent: Thursday, July 27, 2006 10:22 PM
Subject: [flexcoders] Re: cairngorm Events and data payloads


Forgive the dense noob here, but how is the type info lost? I thought
that by subclassing CairngormEvent you get basic checking and then you
can just do a cast or 'event as MyCutomEvent' inside the execute
method. I guess I am just not clear on what the issue is and where the
problem lies. Can someone edumacate me?

Thanks,
Ben
http://www.returnundefined.com/

--- In flexcoders@yahoogroups.com, JesterXL [EMAIL PROTECTED] wrote:

 Well, my events extend CairngormEvent, so I can technically upcast
'em when they get in the Command's execute method.  I know Steven
didn't really dig this idea, but if you case the type, you can compare
to the Event's constant like:

 public static const EVENT_DOSOMETHING:String = doSomething;

 function execute(event:CairngormEvent)
 {
 switch(event.type)
 {
 case MyEvent.EVENT_DOSOMETHING:
 someMethod ( MyEvent(event).someTypeSafeProp);
 break;
 }
 }


 - Original Message - 
 From: Ralf Bokelberg
 To: flexcoders@yahoogroups.com
 Sent: Thursday, July 27, 2006 4:20 PM
 Subject: Re: [flexcoders] Re: cairngorm Events and data payloads


 The only typesafe solution i can think of, is to abandon
CairngormEvents and replace them by methods of the FrontController.
Most of the apps i've seen so far don't make use of the runtime
changeability anyways. What do we loose if we do it like that?

 Cheers,
 Ralf.


 On 7/27/06, JesterXL [EMAIL PROTECTED] wrote:
   I'm with you.  I've been determing type of event based on the
event.type in the Command's execute method to get my strong-typing back.

   - Original Message - 
   From: Ralf Bokelberg
   To: flexcoders@yahoogroups.com
   Sent: Thursday, July 27, 2006 12:58 PM
   Subject: Re: [flexcoders] Re: cairngorm Events and data payloads


   Its really a pity, that we loose all the nice type information
while going all the way through Cairngorm.

   Cheers,
   Ralf.


   On 7/27/06, Douglas Knudsen [EMAIL PROTECTED] wrote:
 ah, righto.  thanks d00ds.  I had this hacked up too much...no
worky good.   If only I can get that damn RO to calm down now and do
what its told!  but that's another thread.


 DK



 On 7/27/06, thunderstumpgesatwork  [EMAIL PROTECTED] wrote:
   Hi,

   The delegate function thinks you just have a CairngormEvent. I
think
   you just need to check to make sure the event you received is your
   custom event type and then cast it.

   so:

   if (eventHere is LoadScorecardEvent)
   {
   del.getScorecard( LoadScorecardEvent(eventHere).scorecardId );
   }
   else
   {
   // do nothing, or raise error, or log warning, or whatever.
   }


   best of luck,
   Thunder

   --- In flexcoders

[flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread ben.clinkinbeard
Doesn't execute() accept a CairngromEvent for the sake of polymorphism
though? How could you do things any differently and still preserve
that aspect? Additionally, if you want your Commands to support
multiple types of events isn't it essential that execute() accept a
superclass or common interface? Are you just wishing AS supported
method overloading or is there something I am still not getting?

Thanks,
Ben
http://www.returnundefined.com/

--- In flexcoders@yahoogroups.com, JesterXL [EMAIL PROTECTED] wrote:

 My initial frustration was I'd create this event class, which allowed 
 strong-typing, like so:
 
 package
 {
 import com.adobe.control.CairngormEvent;
 
 public class MyEvent extends CairngormEvent
 {
 public static const ACTION:String = action;
 
 public var someID:int;
 
 public function MyEvent(p_type:String, p_someID:int)
 {
 super(p_type);
 someID = p_someID;
 }
 }
 }
 
 So, my event now has context.  If I need to have my Command get a
person 
 record from the DB for example, this event will contain the payload it 
 needs; the person ID I'm looking for.  However, by the time it gets
to the 
 Command, it's a base class, the CairngormEvent.
 
 package
 {
 public class MyCommand implements AllTheInterfacesEct
 {
 public function execute ( event:CairngormEvent )
 {
 trace(event.someID); // faith based programming
 }
 }
 }
 
 Now, for some, their Events are directly linked to Commands, like so:
 
 LoginEvent will fire LoginCommand which calls LoginDelegate
 GetPersonEvent will fire GetPersonCommand which calls GetPersonDelegate
 
 At a simple level, yes, this'll do.  So, you can acutally make some 
 assumptions in the above; if you play by the default Cairngorm
rules, you 
 KNOW by convention that your MyCommand class will get a MyEvent, so you 
 could risk up-casting, like so:
 
 someDelegateMethod ( MyEvent ( event ) . someID );
 
 ...that's faith, though.  You'll get an exception if for some reason
that's 
 not the real event.  It'd be better if the compiler caught that vs. the 
 runtime, before it's a problem.  For me, I use multiple events inside 
 Commands, so it's exacerbated.  The Controller keeps all of this
under tabs, 
 but again, it'd be nice if MyCommand for example GOT MyEvent in the
execute. 
 I supposed you could make that assumption; not sure if it'd compile. 
 Anyway, convention over strict-typing is ok since a lot of
conventions teams 
 follow can do the above, for example, and assume you'll get what you
need.
 
 
 - Original Message - 
 From: ben.clinkinbeard [EMAIL PROTECTED]
 To: flexcoders@yahoogroups.com
 Sent: Thursday, July 27, 2006 10:22 PM
 Subject: [flexcoders] Re: cairngorm Events and data payloads
 
 
 Forgive the dense noob here, but how is the type info lost? I thought
 that by subclassing CairngormEvent you get basic checking and then you
 can just do a cast or 'event as MyCutomEvent' inside the execute
 method. I guess I am just not clear on what the issue is and where the
 problem lies. Can someone edumacate me?
 
 Thanks,
 Ben
 http://www.returnundefined.com/
 
 --- In flexcoders@yahoogroups.com, JesterXL jesterxl@ wrote:
 
  Well, my events extend CairngormEvent, so I can technically upcast
 'em when they get in the Command's execute method.  I know Steven
 didn't really dig this idea, but if you case the type, you can compare
 to the Event's constant like:
 
  public static const EVENT_DOSOMETHING:String = doSomething;
 
  function execute(event:CairngormEvent)
  {
  switch(event.type)
  {
  case MyEvent.EVENT_DOSOMETHING:
  someMethod ( MyEvent(event).someTypeSafeProp);
  break;
  }
  }
 
 
  - Original Message - 
  From: Ralf Bokelberg
  To: flexcoders@yahoogroups.com
  Sent: Thursday, July 27, 2006 4:20 PM
  Subject: Re: [flexcoders] Re: cairngorm Events and data payloads
 
 
  The only typesafe solution i can think of, is to abandon
 CairngormEvents and replace them by methods of the FrontController.
 Most of the apps i've seen so far don't make use of the runtime
 changeability anyways. What do we loose if we do it like that?
 
  Cheers,
  Ralf.
 
 
  On 7/27/06, JesterXL jesterxl@ wrote:
I'm with you.  I've been determing type of event based on the
 event.type in the Command's execute method to get my strong-typing back.
 
- Original Message - 
From: Ralf Bokelberg
To: flexcoders@yahoogroups.com
Sent: Thursday, July 27, 2006 12:58 PM
Subject: Re: [flexcoders] Re: cairngorm Events and data payloads
 
 
Its really a pity, that we loose all the nice type information
 while going all the way through Cairngorm.
 
Cheers,
Ralf.
 
 
On 7/27/06, Douglas Knudsen douglasknudsen@ wrote:
  ah, righto.  thanks d00ds.  I had this hacked up too much...no
 worky good.   If only I can get that damn RO to calm down now and do
 what

Re: [flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread JesterXL
5 coffee's and 3 RedBull's later, I'm running on fumes, so don't really have 
intelligent answers for you, just guesses.

Don't know, I guess you're right.

Find some way to either A) follow the convention a Command will get the 
event class of a similiar name, and thus feel safe in casting it or B ) find 
some way to strongly type that parameter.  You can't up-cast function 
arguments, though, so it's kind of stuck as CairngormEvent... I think.

For the multiple events, yes, you are correct.  I've definately taken for 
granted all my other stuff has worked for that very fact.  Oops.

Actually, at this point, no clue... wtf were you talking about anyway, 
Bokel?

- Original Message - 
From: ben.clinkinbeard [EMAIL PROTECTED]
To: flexcoders@yahoogroups.com
Sent: Thursday, July 27, 2006 10:50 PM
Subject: [flexcoders] Re: cairngorm Events and data payloads


Doesn't execute() accept a CairngromEvent for the sake of polymorphism
though? How could you do things any differently and still preserve
that aspect? Additionally, if you want your Commands to support
multiple types of events isn't it essential that execute() accept a
superclass or common interface? Are you just wishing AS supported
method overloading or is there something I am still not getting?

Thanks,
Ben
http://www.returnundefined.com/

--- In flexcoders@yahoogroups.com, JesterXL [EMAIL PROTECTED] wrote:

 My initial frustration was I'd create this event class, which allowed
 strong-typing, like so:

 package
 {
 import com.adobe.control.CairngormEvent;

 public class MyEvent extends CairngormEvent
 {
 public static const ACTION:String = action;

 public var someID:int;

 public function MyEvent(p_type:String, p_someID:int)
 {
 super(p_type);
 someID = p_someID;
 }
 }
 }

 So, my event now has context.  If I need to have my Command get a
person
 record from the DB for example, this event will contain the payload it
 needs; the person ID I'm looking for.  However, by the time it gets
to the
 Command, it's a base class, the CairngormEvent.

 package
 {
 public class MyCommand implements AllTheInterfacesEct
 {
 public function execute ( event:CairngormEvent )
 {
 trace(event.someID); // faith based programming
 }
 }
 }

 Now, for some, their Events are directly linked to Commands, like so:

 LoginEvent will fire LoginCommand which calls LoginDelegate
 GetPersonEvent will fire GetPersonCommand which calls GetPersonDelegate

 At a simple level, yes, this'll do.  So, you can acutally make some
 assumptions in the above; if you play by the default Cairngorm
rules, you
 KNOW by convention that your MyCommand class will get a MyEvent, so you
 could risk up-casting, like so:

 someDelegateMethod ( MyEvent ( event ) . someID );

 ...that's faith, though.  You'll get an exception if for some reason
that's
 not the real event.  It'd be better if the compiler caught that vs. the
 runtime, before it's a problem.  For me, I use multiple events inside
 Commands, so it's exacerbated.  The Controller keeps all of this
under tabs,
 but again, it'd be nice if MyCommand for example GOT MyEvent in the
execute.
 I supposed you could make that assumption; not sure if it'd compile.
 Anyway, convention over strict-typing is ok since a lot of
conventions teams
 follow can do the above, for example, and assume you'll get what you
need.


 - Original Message - 
 From: ben.clinkinbeard [EMAIL PROTECTED]
 To: flexcoders@yahoogroups.com
 Sent: Thursday, July 27, 2006 10:22 PM
 Subject: [flexcoders] Re: cairngorm Events and data payloads


 Forgive the dense noob here, but how is the type info lost? I thought
 that by subclassing CairngormEvent you get basic checking and then you
 can just do a cast or 'event as MyCutomEvent' inside the execute
 method. I guess I am just not clear on what the issue is and where the
 problem lies. Can someone edumacate me?

 Thanks,
 Ben
 http://www.returnundefined.com/

 --- In flexcoders@yahoogroups.com, JesterXL jesterxl@ wrote:
 
  Well, my events extend CairngormEvent, so I can technically upcast
 'em when they get in the Command's execute method.  I know Steven
 didn't really dig this idea, but if you case the type, you can compare
 to the Event's constant like:
 
  public static const EVENT_DOSOMETHING:String = doSomething;
 
  function execute(event:CairngormEvent)
  {
  switch(event.type)
  {
  case MyEvent.EVENT_DOSOMETHING:
  someMethod ( MyEvent(event).someTypeSafeProp);
  break;
  }
  }
 
 
  - Original Message - 
  From: Ralf Bokelberg
  To: flexcoders@yahoogroups.com
  Sent: Thursday, July 27, 2006 4:20 PM
  Subject: Re: [flexcoders] Re: cairngorm Events and data payloads
 
 
  The only typesafe solution i can think of, is to abandon
 CairngormEvents and replace them by methods of the FrontController.
 Most of the apps i've seen so far don't

[flexcoders] Re: cairngorm Events and data payloads

2006-07-27 Thread ben.clinkinbeard
Heh, sorry dood, didn't mean to challenge you while in an
exhaustion-induced haze. I just wanted to make sure there wasn't some
basic concept quietly sailing above my head. :)

Get some sleep.

--- In flexcoders@yahoogroups.com, JesterXL [EMAIL PROTECTED] wrote:

 5 coffee's and 3 RedBull's later, I'm running on fumes, so don't
really have 
 intelligent answers for you, just guesses.
 
 Don't know, I guess you're right.
 
 Find some way to either A) follow the convention a Command will get the 
 event class of a similiar name, and thus feel safe in casting it or
B ) find 
 some way to strongly type that parameter.  You can't up-cast function 
 arguments, though, so it's kind of stuck as CairngormEvent... I think.
 
 For the multiple events, yes, you are correct.  I've definately
taken for 
 granted all my other stuff has worked for that very fact.  Oops.
 
 Actually, at this point, no clue... wtf were you talking about anyway, 
 Bokel?
 
 - Original Message - 
 From: ben.clinkinbeard [EMAIL PROTECTED]
 To: flexcoders@yahoogroups.com
 Sent: Thursday, July 27, 2006 10:50 PM
 Subject: [flexcoders] Re: cairngorm Events and data payloads
 
 
 Doesn't execute() accept a CairngromEvent for the sake of polymorphism
 though? How could you do things any differently and still preserve
 that aspect? Additionally, if you want your Commands to support
 multiple types of events isn't it essential that execute() accept a
 superclass or common interface? Are you just wishing AS supported
 method overloading or is there something I am still not getting?
 
 Thanks,
 Ben
 http://www.returnundefined.com/
 
 --- In flexcoders@yahoogroups.com, JesterXL jesterxl@ wrote:
 
  My initial frustration was I'd create this event class, which allowed
  strong-typing, like so:
 
  package
  {
  import com.adobe.control.CairngormEvent;
 
  public class MyEvent extends CairngormEvent
  {
  public static const ACTION:String = action;
 
  public var someID:int;
 
  public function MyEvent(p_type:String, p_someID:int)
  {
  super(p_type);
  someID = p_someID;
  }
  }
  }
 
  So, my event now has context.  If I need to have my Command get a
 person
  record from the DB for example, this event will contain the payload it
  needs; the person ID I'm looking for.  However, by the time it gets
 to the
  Command, it's a base class, the CairngormEvent.
 
  package
  {
  public class MyCommand implements AllTheInterfacesEct
  {
  public function execute ( event:CairngormEvent )
  {
  trace(event.someID); // faith based programming
  }
  }
  }
 
  Now, for some, their Events are directly linked to Commands, like so:
 
  LoginEvent will fire LoginCommand which calls LoginDelegate
  GetPersonEvent will fire GetPersonCommand which calls
GetPersonDelegate
 
  At a simple level, yes, this'll do.  So, you can acutally make some
  assumptions in the above; if you play by the default Cairngorm
 rules, you
  KNOW by convention that your MyCommand class will get a MyEvent,
so you
  could risk up-casting, like so:
 
  someDelegateMethod ( MyEvent ( event ) . someID );
 
  ...that's faith, though.  You'll get an exception if for some reason
 that's
  not the real event.  It'd be better if the compiler caught that
vs. the
  runtime, before it's a problem.  For me, I use multiple events inside
  Commands, so it's exacerbated.  The Controller keeps all of this
 under tabs,
  but again, it'd be nice if MyCommand for example GOT MyEvent in the
 execute.
  I supposed you could make that assumption; not sure if it'd compile.
  Anyway, convention over strict-typing is ok since a lot of
 conventions teams
  follow can do the above, for example, and assume you'll get what you
 need.
 
 
  - Original Message - 
  From: ben.clinkinbeard ben.clinkinbeard@
  To: flexcoders@yahoogroups.com
  Sent: Thursday, July 27, 2006 10:22 PM
  Subject: [flexcoders] Re: cairngorm Events and data payloads
 
 
  Forgive the dense noob here, but how is the type info lost? I thought
  that by subclassing CairngormEvent you get basic checking and then you
  can just do a cast or 'event as MyCutomEvent' inside the execute
  method. I guess I am just not clear on what the issue is and where the
  problem lies. Can someone edumacate me?
 
  Thanks,
  Ben
  http://www.returnundefined.com/
 
  --- In flexcoders@yahoogroups.com, JesterXL jesterxl@ wrote:
  
   Well, my events extend CairngormEvent, so I can technically upcast
  'em when they get in the Command's execute method.  I know Steven
  didn't really dig this idea, but if you case the type, you can compare
  to the Event's constant like:
  
   public static const EVENT_DOSOMETHING:String = doSomething;
  
   function execute(event:CairngormEvent)
   {
   switch(event.type)
   {
   case MyEvent.EVENT_DOSOMETHING:
   someMethod ( MyEvent(event).someTypeSafeProp