OK, that'll work, but I'll have to add new components I make to the
list each time. Oh well... :/

--- In [email protected], "dougmccune" <[EMAIL PROTECTED]> wrote:
>
> I don't think there's a good answer to this question. There's no way
> to figure out via AS whether a component MIGHT dispatch a given event.
> 
> I did a search on livedocs to try to find all classes that dispatch a
> change event. This only seems to include base classes, so subclasses
> of any of these controls won't show up, so you'd hve to figure those
> out. Also note that this doesn't mean that some classes might dispatch
> other events that signify change that aren't specifically the same
> "change" event. And these change events don't necessarily mean "user
> input" either. All it means is that the component dispatches an event
> called "change".
> 
> Here's the livedocs search:
>
http://livedocs.macromedia.com/cfusion/search/index.cfm?loc=en_us&term=site%3Alivedocs.macromedia.com%2Fflex%2F201++%22change%3DNo+default%22&action=Search
> 
> And here are the classes that come up:
> mx.controls.RadioButtonGroup
> mx.controls.sliderClasses.Slider (which means HSlider and VSlider as
well)
> mx.controls.ColorPicker
> mx.containers.Accordion
> mx.containers.ViewStack
> mx.controls.DateChooser
> mx.controls.NumericStepper
> mx.controls.Button
> mx.controls.DateField
> mx.controls.PopUpMenuButton
> mx.controls.ComboBox
> mx.controls.TextInput 
> mx.controls.TextArea
> mx.controls.Tree
> mx.controls.listClasses.ListBase (so that would mean all list controls
> like List, TileList, DataGrid, etc)
> 
> So your best bet is probably to put together a more complete list of
> each component you want to define as having "user input" and then just
> check against that list using the "is" test as already mentioned. But
> I think the basic answer to your question is no, there's no good way
> to do this.
> 
> Doug
> 
> 
> 
> --- In [email protected], "Ralf Bokelberg"
> <ralf.bokelberg@> wrote:
> >
> > I guess the only way to do it reliable is to ask for the type.
> > You can use if(  X instanceof Y)  for example
> > 
> > Cheers,
> > Ralf.
> > 
> > On 2/6/07, gotgoose09 <thegoosmans@> wrote:
> > >
> > >   No one has done type checking like this before? If not, oh
well. :)
> > >
> > > --- In [email protected] <flexcoders%40yahoogroups.com>,
> > > "gotgoose09" <thegoosmans@> wrote:
> > > >
> > > > My current code now loops through the children of a container
> and adds
> > > > an event handler to each one to listen for a "change" event.
> > > >
> > > > However, I want to only add event handlers to UIComponents
that have
> > > > some sort of value that the user can change.
> > > >
> > > > Some examples of these components are: TextInput, ComboBox,
> > > > RadioButton, CheckBox, ColorPicker, List, RichTextEditor, etc.
> > > >
> > > > My current code is something like this: (simplified)
> > > >
> > > > var component:UIComponent = container.getChildAt(i);
> > > > if (component is Container)
> > > > {
> > > > // add event handlers to the container's children
> > > > }
> > > > else if (component is UIComponent && "enabled" in component)
> > > > {
> > > > // add an event handler to component
> > > > }
> > > >
> > > > Unfortunately, this doesn't work for all the various input
controls.
> > > > e.g. The RichTextEditor is a Container, so the code tries adding
> event
> > > > handlers to it's children (I want an event handler on the actual
> > > > RichTextEditor).
> > > >
> > > > Is there a reliable way of detecting a user editable control?
> > > >
> > > > Thanks in advance!
> > > >
> > >
> > >  
> > >
> > 
> > 
> > 
> > -- 
> > Ralf Bokelberg <ralf.bokelberg@>
> > Flex & Flash Consultant based in Cologne/Germany
> > Phone +49 (0) 221 530 15 35
> >
>


Reply via email to