Hey all, Thanks for the responses. I just want to clarify my question a little bit. I am not particularly interested in the actual solution to the example. Although, it is the actual problem that prompted me to ask the question in the first place. And:
Alex: My solution will most likely group both multiline and html in one Doug: I haved looked into using CanvasButton for this (and may still use it) Its just that my issue here is more general. Let's say I go with CanvasButton as the solution. I still need to support CanvasButton functionality in RadioButton and CheckBox. That requires suclasses: CanvasRadioButton CanvasCheckBox Maybe this is the only way to go, but I was hoping there was a strategy that was more elegant. For example, writing a CanvasRenderer class and then "snapping on" to button or subclasses as needed. Something very similar to item renderers. Or maybe something else (decorator pattern, composition)? --- Maybe I am just frustrated with the implementation of Button. It just seems the visual UI is too tightly coupled with the behavior. --- In [email protected], "Doug McCune" <[EMAIL PROTECTED]> wrote: > > heh, that's almost the exact description of what I called the > "CanvasButton": > http://dougmccune.com/blog/2007/06/01/new-component-canvasbutton-added-to-flexlib/ > > Doug > > On Thu, Sep 11, 2008 at 3:22 PM, Josh McDonald <[EMAIL PROTECTED]> wrote: > > > Yeah, I'd make one subclass of Button that lets you put whatever you > > please as the label, and have "function set labelControl(cntrl:*)" as the > > [DefaultProperty]. If it finds a string, go with a UITextField, if it's a > > DisplayObject, use it, if not throw an error. Then you have: > > > > <pkg:FreeFormButton click="doStuff" width="150"> > > <mx:text>blah blah blah blah blah blah blah blah blah</mx:text> > > </pkg:FreeFormButton> > > > > -Josh > > > > > > On Fri, Sep 12, 2008 at 8:04 AM, Alex Harui <[EMAIL PROTECTED]> wrote: > > > >> Make one subclass that handles both HTML and multiline? > >> > >> > >> > >> *From:* [email protected] [mailto:[EMAIL PROTECTED] *On > >> Behalf Of *wnoone01 > >> *Sent:* Thursday, September 11, 2008 11:17 AM > >> *To:* [email protected] > >> *Subject:* [flexcoders] Subclassing Components: Theoretical Question > >> > >> > >> > >> Hey all, > >> I've got a theoretical question about subclassing a component. Here is > >> the use case: > >> > >> A programmer requires buttons that support multiline labels. This is a > >> requiement for Button, RadioButton, and CheckBox. Now to start, the > >> programmer can subclass mx.controls.Button to implement the > >> functionality. But now he needs to implement the functionality in > >> RadioButton and CheckBox. > >> > >> One way is to subclass RadioButton and CheckBox and then duplicate the > >> functionality there. However, not only will he be duplicating > >> functionality, he is headed down a slippery slope. Let's say that for > >> his next project, he suddenly requires a button label that supports > >> HTML formatting. Now he must subclass again. So now the classes grow > >> from: > >> > >> MultilineButton > >> MultilineRadioButton > >> MultilineCheckBox > >> > >> To > >> > >> MultilineButton > >> HTMLButton > >> MultilineRadioButton > >> HTMLRadioButton > >> MultilineCheckBox > >> HTMLCheckBox > >> > >> The next project requires a multiline html button. So now its: > >> > >> MultilineButton > >> HTMLButton > >> MultilineHTMLButton > >> MultilineRadioButton > >> HTMLRadioButton > >> MultilineHTMLRadioButton > >> MultilineCheckBox > >> HTMLCheckBox > >> MultilineHTMLCheckBox > >> > >> And now its officially out of hand and the programmer is mired in a > >> subclassing nightmare. > >> > >> --- > >> > >> So basically my question is what is the best way to handle this > >> problem in Flex. Is subclassing the only way or is there a more > >> efficient solution (decorators, item renderers, etc.)? > >> > >> Thanks in advance for any guidance > >> Bill > >> > >> > > > > > > -- > > "Therefore, send not to know For whom the bell tolls. It tolls for thee." > > > > http://flex.joshmcdonald.info/ > > > > :: Josh 'G-Funk' McDonald > > :: 0437 221 380 :: [EMAIL PROTECTED] > > > > >

