On Jan 29, 2013 9:16 AM, "Alex Harui" <aha...@adobe.com> wrote:
>
> Not really, mostly just to see what happens if you use widgets that are
not
> based on UIBase.  As of right now, buttons are based on SimpleButton to
save
> writing a bunch of code and are not a UIBase, but yesterday I started
> leaning towards making an IUIBase and making Button implement that.  Feel
> free to make that change if it is getting in your way.
>
>

I was thinking of an IUIBase myself. Will go ahead with that idea now.

Thanks,
Om

> On 1/29/13 12:49 AM, "Om" <bigosma...@gmail.com> wrote:
>
> > Any particular reason the TextButton instance is displayed using
> > this.addChild(button) instead of a button.addToParent(this)  ?
> >
> > On Mon, Jan 28, 2013 at 11:52 PM, Om <bigosma...@gmail.com> wrote:
> >
> >> That worked.  Thanks!
> >>
> >> Om
> >>
> >>
> >> On Mon, Jan 28, 2013 at 6:22 PM, Alex Harui <aha...@adobe.com> wrote:
> >>
> >>> And you will need to update MXMLDataInterpreter.as from SVN.
> >>>
> >>>
> >>> On 1/28/13 5:21 PM, "Alex Harui" <aha...@adobe.com> wrote:
> >>>
> >>>> OK, here it is:
> >>>>
> >>>> FlexJSTest.as:
> >>>> package
> >>>> {
> >>>>     import controllers.MyController;
> >>>>
> >>>>     import flash.display.Sprite;
> >>>>     import flash.text.TextField;
> >>>>
> >>>>     import models.MyModel;
> >>>>
> >>>>     import org.apache.flex.core.Application;
> >>>>
> >>>>     public class FlexJSTest extends Application
> >>>>     {
> >>>>         public function FlexJSTest()
> >>>>         {
> >>>>             valuesImpl = new MySimpleValuesImpl();
> >>>>             model = new MyModel();
> >>>>             model.labelText = "Hello World!";
> >>>>             initialView = new MyInitialView();
> >>>>             controller = new MyController(this);
> >>>>         }
> >>>>
> >>>>         private var controller:MyController;
> >>>>     }
> >>>> }
> >>>>
> >>>> MyInitialView.as:
> >>>> package
> >>>> {
> >>>>     import flash.events.Event;
> >>>>
> >>>>     import org.apache.flex.binding.SimpleBinding;
> >>>>     import org.apache.flex.core.ViewBase;
> >>>>     import org.apache.flex.html.staticControls.Button;
> >>>>     import org.apache.flex.html.staticControls.Label;
> >>>>     import org.apache.flex.html.staticControls.TextButton;
> >>>>
> >>>>     public class MyInitialView extends ViewBase
> >>>>     {
> >>>>         public function MyInitialView()
> >>>>         {
> >>>>             super();
> >>>>         }
> >>>>
> >>>>         override public function initUI(model:Object):void
> >>>>         {
> >>>>             super.initUI(model);
> >>>>             lbl = new Label();
> >>>>             lbl.addToParent(this);
> >>>>             lbl.initModel();
> >>>>             lbl.x = 100;
> >>>>             lbl.y = 25;
> >>>>             var sb:SimpleBinding = new SimpleBinding();
> >>>>             sb.setDocument(this);
> >>>>             sb.destinationPropertyName = "text";
> >>>>             sb.sourceID = "applicationModel";
> >>>>             sb.eventName = "labelTextChanged";
> >>>>             sb.sourcePropertyName = "labelText";
> >>>>             lbl.addBead(sb);
> >>>>             lbl.initSkin();
> >>>>
> >>>>             var btn:TextButton = new TextButton();
> >>>>             addChild(btn);
> >>>>             btn.initModel();
> >>>>             btn.text = "OK";
> >>>>             btn.x = 100;
> >>>>             btn.y = 75;
> >>>>             btn.addEventListener("click", clickHandler);
> >>>>             btn.initSkin();
> >>>>         }
> >>>>
> >>>>         public var lbl:Label;
> >>>>
> >>>>         private function clickHandler(event:Event):void
> >>>>         {
> >>>>             dispatchEvent(new Event("buttonClicked"));
> >>>>         }
> >>>>     }
> >>>> }
> >>>>
> >>>>
> >>>> On 1/28/13 3:41 PM, "Alex Harui" <aha...@adobe.com> wrote:
> >>>>
> >>>>> OK, I'll put together the AS version of the app.
> >>>>>
> >>>>>
> >>>>> On 1/28/13 3:35 PM, "Om" <bigosma...@gmail.com> wrote:
> >>>>>
> >>>>>> On Sun, Jan 27, 2013 at 11:20 PM, Alex Harui <aha...@adobe.com>
> >>> wrote:
> >>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On 1/27/13 10:50 PM, "Om" <bigosma...@gmail.com> wrote:
> >>>>>>>
> >>>>>>>>>> But they dont seem to match up.  Can you please respond with
how
> >>> the
> >>>>>>> mxml
> >>>>>>>>>> would look when redone as a pure actionscript file?
> >>>>>>>>>>
> >>>>>>>>> There are two possible answers to this question.  One is for the
> >>>>>>> question:
> >>>>>>>>> what would the generated AS for the MXML file look like?   It
> >>> would look
> >>>>>>>>> somewhat like the FlexJSTest.as that you found, but it is a bit
> >>>>>>> different
> >>>>>>>>> because when I finally got the compiler working it was easier to
> >>> change
> >>>>>>>>> some
> >>>>>>>>> of the 'generated' code a bit.  If you are really interested, I
> >>> will
> >>>>>>> try to
> >>>>>>>>> hand-code it.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>> This would be good.  I played my hand around hand-coding based on
> >>> this
> >>>>>>> wiki
> >>>>>>>> note [1]
> >>>>>>>> But I would rather see your version.
> >>>>>>> I'm not sure why you want to be hand-coding AS versions of MXML
> >>> files.
> >>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> The other answer is for the question: How would you write this
app
> >>> in
> >>>>>>>>> ActionScript?  If I were to do it, it would not use the data
array
> >>> at
> >>>>>>> all,
> >>>>>>>>> it would call new Button and new Label and set properties and
add
> >>> event
> >>>>>>>>> handlers.
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> I am curious how this would work behind the scenes.  But I am not
> >>> in a
> >>>>>>>> hurry to look at the implementation details.
> >>>>>>>>
> >>>>>>>> A couple other questions while I have your attention:
> >>>>>>>>
> >>>>>>>> Will the FlexJSTest_again app compile with the current mxmlc?  I
> >>> saw your
> >>>>>>>> note in the wiki that says that it wont.  Is there any way to
make
> >>> it
> >>>>>>> work?
> >>>>>>> The status page supercedes the original wiki page.
> >>>>>>> FalconJS converts FlexJSTest.mxml to FlexJSTest.js.  Falcon
> >>> (assuming you
> >>>>>>> set the mxml.children-as-data flag) will convert FlexJSTest.mxml
to a
> >>>>>>> running SWF.
> >>>>>>>>
> >>>>>>>> I have hooked up the falcon compiler to my flash builder (4.6)
as an
> >>>>>>>> external run tool.  The app compiles fine, but the IDE keeps
showing
> >>>>>>>> errors.  Any way I can jerry rig Flash Builder to use the Falcon
> >>> mxmlc?
> >>>>>>> I haven't tried.  I assume you can swap out the original MXMLC
> >>> compiler for
> >>>>>>> the Falcon JARs.
> >>>>>>>
> >>>>>>>>
> >>>>>>>> I do have Flash Builder 4.7 installed.  I am willing to switch if
> >>> that
> >>>>>>>> would make this process any simpler.
> >>>>>>>>
> >>>>>>>> Sorry for so many questions.  I am trying to wrap my head around
all
> >>>>>>> this.
> >>>>>>>>  My end goal here is to churn out Stage3D based Button and Label
> >>> classes.
> >>>>>>>>  I need to first set up everything so that I can work without
> >>> having to
> >>>>>>>> jump through hoops to compile every code change I make.
> >>>>>>> If that's your goal, I would skip the MXML part for now and build
> >>> out a
> >>>>>>> simple test app in ActionScript.  Then you can do it all in either
> >>> version
> >>>>>>> of FlashBuilder with the Apache Flex SDK and its MXMLC.
> >>>>>>>
> >>>>>>> I think FlexJSTest.as would look something like this:
> >>>>>>>
> >>>>>>>     public class FlexJSTest extends Application
> >>>>>>>     {
> >>>>>>>         public function FlexJSTest()
> >>>>>>>         {
> >>>>>>>             model = new MyModel();
> >>>>>>>             model.labelText = "Hello World!";
> >>>>>>>             valuesImpl = new MySimpleValuesImpl();
> >>>>>>>             initialView = new MyInitialView();
> >>>>>>>             controller = new MyController();
> >>>>>>>         }
> >>>>>>>
> >>>>>>>         private var controller:MyController;
> >>>>>>>         public var model:MyModel;
> >>>>>>>     }
> >>>>>>>
> >>>>>>> And MyInitialView.as would look something like this:
> >>>>>>>
> >>>>>>>     public class MyInitialView extends ViewBase
> >>>>>>>     {
> >>>>>>>         public function MyInitialView()
> >>>>>>>         {
> >>>>>>>             super();
> >>>>>>>         }
> >>>>>>>
> >>>>>>>         override public function initUI(model:Object):void
> >>>>>>>         {
> >>>>>>>             super.initUI(model);
> >>>>>>>             lbl = new Label();
> >>>>>>>             lbl.addToParent(this);
> >>>>>>>             ...
> >>>>>>>         }
> >>>>>>>
> >>>>>>>         public var lbl:Label;
> >>>>>>>
> >>>>>>>         private function clickHandler(event:Event):void
> >>>>>>>         {
> >>>>>>>             dispatchEvent(new Event("buttonClicked"));
> >>>>>>>         }
> >>>>>>>
> >>>>>>> But I haven't tried it.  If you get stuck trying to figure it
out, I
> >>> will
> >>>>>>> take a look on Monday.  You might need to wait for the initialize
> >>> event
> >>>>>>> before setting up the four instances in the Application's
> >>> constructor.
> >>>>>>>
> >>>>>>>
> >>>>>> Tried it.  After fixing a few errors (ex. namespace mismatch
because
> >>>>>> controller, model etc. are already defined in Application.as,
etc.) Am
> >>>>>> stuck pretty bad.  I see some inconsistencies in how the type of
model
> >>>>>> (Object vs. IBeadModel)  The app compiles  fine but I dont see a
> >>> label on
> >>>>>> the screen.
> >>>>>>
> >>>>>> I see a comment in Label.as that the view needs to be swapped out,
> >>> not sure
> >>>>>> what to make of it.
> >>>>>>
> >>>>>> It would be nice to have your original AS version so that I have a
> >>> good
> >>>>>> starting point in understanding this framework.
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Om
> >>>
> >>> --
> >>> Alex Harui
> >>> Flex SDK Team
> >>> Adobe Systems, Inc.
> >>> http://blogs.adobe.com/aharui
> >>>
> >>>
> >>
>
> --
> Alex Harui
> Flex SDK Team
> Adobe Systems, Inc.
> http://blogs.adobe.com/aharui
>

Reply via email to