Flex/Flash/Actionscript

Move indeterminate

Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate
Move indeterminate

A little jab at the Flex 3 SDK team. This is about a bug in the Flex 2 Beta 2 release. Looks like someone forgot to remove a trace statement. Woops.

If you want to get overwhelmed with “Move indeterminate” trace statements then debug this app in the latest Flex Builder:





 

This bug has been fixed, although not scheduled to be rolled out until next beta. I assume you can grab a nightly build and install a newer version of the SDK if you want to make these trace statements go away.

I’ll be bitching more fairly soon about some other pain points when upgrading an app from Flex 3 Beta 1 to Flex 3 Beta 2.

Standard
Flex/Flash/Actionscript

3D Glasses Goodness at MAX

I took some pictures of a room full of dorks rocking the 3D glasses. Awesome. Last night we had the PaperVision 3D birds of a feather session and we handed out 3D glasses to everyone for a little nerdy fun. A huge pat on the back to Ben Stucki, who couldn’t make it to MAX, for his awesome work with a) writing the code for PV3D that allows us to render things in “3D-glasses-enabled” mode, and b) for sending me a big ass box of 3d glasses to hand out during the session. I believe Ben will be blogging about how you can integrate 3D glasses support into your PV3D projects, so stay tuned on his blog for more on that.

Also, I *think* John Grden will be showing some more 3D glasses stuff at his PaperVision inspire session on Wednesday at 3pm here at MAX. So if you didn’t get a chance to try out the 3d glasses, go to his session and you can look as cool as the people in these pictures.

3d_glasses_1.jpg

3d_glasses_2.jpg

3d_glasses3.jpg

3d_glasses_4.jpg

You’re all a bunch of dorks.

Standard
Flex/Flash/Actionscript

Come to the Custom Flex Components Birds of a Feather session at MAX!

I’m part of a panel that’s running the Flex Custom Component Development birds of a feather session at MAX. We’ve got an allstar group together: Deepa Subramanian, Tony Hillerson, Chafic Kazoun, Adam Flater, and Andy McIntosh. We’re all going to be hanging out and talking about component development in Flex. But we don’t know what to talk about. We’ve got a tentative list of topics we think people might want to discuss, but we want suggestions for things to cover.

When: Monday October 1 @ 9:30 pm
Where: Room 179 A

Here’s what we’re thinking so far:

  • Invalidation/validation model
  • Application components vs. custom components
  • Performance/Memory Optimization
  • Coding Conventions (naming conventions, mostly)
  • Code Behind
  • Component development in Cairngorm
  • Underriding or Monkey Patching
  • Where to go drinking after we’re done

So come by the BOF session on Monday night and we’ll talk about component development. I know it’s late, but seriously, come by or we’re going to cry. Bring your questions and ideas on what you want to cover. Leave comments about what we should try to cover or just email me directly (doug@dougmccune.com). See you there!

Standard
Flex/Flash/Actionscript

Doug.dorkiness += 3d_glasses

Here’s a screenshot of me having some fun with TileUI and 3D glasses. If you’re going to be at MAX, find me and we can all look cool together wearing 3D glasses. Attend the Papervision 3D birds of a feather session. Side note: Ben Stucki is the 3d glasses master.

Seriously, MAX is going to be ridiculous. I’m gonna get you wearing 3D glasses, flinging tiles around on a multi-touch table. This is gonna be fun.

Click the image for a larger size. You got 3d glasses?

tileui_3dglasses_small.jpg

Standard
Flex/Flash/Actionscript

My 360|Flex slides translated into Chinese

My presentation that I gave at 360Flex has been translated into Chinese by Robert Shuie. Thanks Robert! He translated my slides, as well as my blog post about the samples I presented. This is a bit of old news, since this happened about a month ago, but I’m trying to catch up on my life so I’m finally getting around to posting now 🙂 Anyway, fricking sweet that we’ve got such an awesome Flex community overseas that someone goes through the trouble of translating presentation slides.

Robert sent me an email when he did the translation and I loved this comment:

It is hard to translate “monkey patching” term into Chinese. I recently mark it as “????”, which means “force to evolve”. I have no idea if it fits the origin idea.

Ha 🙂

Standard
Flex/Flash/Actionscript

Nifty Flex Accordion Menu (like on Apple.com)

This is an example of using a slightly modified Flex Accordion to create a sweet looking menu. Someone on flexcoders asked how to make a menu like the one found here on Apple’s website.

Here’s the example I came up with to do this:

This movie requires Flash Player 9.

The Accordion
This is a Flex Accordion component (well, sort of…). It’s actually a slightly modified Accordion. The cool part is that FlexLib already had a modified Accordion component because I had made the Horizontal Accordion. Because of that there has been a VAccordion in FlexLib as well, which up until now has been exactly the same as the normal Accordion component in the framework.

So I added a new property to both VAccordion and HAccordion called headerLocation, which allows you to specify where the header should appear relative to the content. For VAccordion this property can be either “above” or “below”. Using above means it works just like the normal Accordion. But now you can also specify below, which will render the header below the content, which was the first requirement for this example.

The header renderer
The next problem was that the header of the Accordion needs to be more complex than a normal button. It needs to show two text fields, one for the title of the header and one for the descriptive text. And the description needs to wrap on multiple lines. So as I blogged about previously, I used the CanvasButtonAccordionHeader in FlexLib to easily use a complex header on an Accordion.

The header skin
Next we have the problem of the skin for the button. The skin isn’t too complex, but there are a few things that are hard to do with the standard Button skin. We want rounded corners on the bottom of the button but not the top. And we want nice control over the gradient of the button. What to do? FlexLib has an EnhancedButtonSkin that lets us do all this (and a lot more). Problem solved.

The mouse interaction
The menu we’re trying to emulate responds to mouse over events, not clicks like the normal Accordion does. This is easy enough to fix by simply faking a MouseEvent.CLICK event any time we get a MouseEvent.MOUSE_OVER event. By making our headers dispatch these fake click events we trick the Accordion into opening the child when the mouse rolls over each header.

And there you have it.

View the example in its own window (view-source enabled)
View the source of the example

In the source I’ve bundled a version of flexlib.swc that includes the new headerLocation property for the Accordion components. This is because I haven’t yet released an updated distribution zip on the FlexLib project page that includes this update (but I did commit the changes to SVN if you’re using that).

Standard
Flex/Flash/Actionscript

Using complex headers with the Flex Accordion

Here’s an example of how to use complex UI components for the header renderers of a Flex Accordion component. Normally the Accordion only allows you to specify a Button as the header renderer, and any customization still requires you to subclass Button, so it’s hard to get full control over the headers. The CanvasButton component in FlexLib is an extension of Button that acts like Canvas, which means that it subclasses Button but allows you to easily add children via MXML.

I’ve created a special extension of CanvasButton that is specifically for use as a header renderer in an Accordion. The new CanvasButtonAccordionHeader (nice name huh?) is now in the FlexLib SVN repository. Note that this is in the FlexLib SVN repository but is not in the zip distribution on the main FlexLib page yet, once we get a few more updates I’ll update the .zip distribution. For now you’ll have to get the source from the repository.

The example below shows using a header renderer for the Accordion that display a ComboBox and a CheckBox in the header. The point here is that since you’re effectively using a Canvas as the header, you can easily add whatever UI components to the headers that you want.

Browse the MXML source of this example.

This movie requires Flash Player 9.

Standard