Archive for the ‘flex’ Category

Flex Builder 3 yay!

Thursday, March 20th, 2008

So I convinced my boss to buy Flex Builder 3 pro today, and i’m loving it. I’ve already spotted a memory leak, with the profiler! Not that its good news or the fact I can’t find out why the memory leak exists, but its damn nice to know that I can actully see it.

Can’t wait to try out the Advanced datagrid, as we are currently using a pretty nasty implmentation of repeaters and datagrids, which is slowing the hell out of the app.

Fun times ahead!

viewMetricsAndPadding

Monday, February 4th, 2008

Couple of days ago, I had to write a custom container that would layout its children in a very specific way (four items in a diamond formation) and I also had to create a skin that would draw some lines connecting each of these items. I started by overriding the updatedisplaylist function, and put some code in to determine positions by the unscaledwidth and unscaledheight. Great!, next I added a sprite to the rawchildren on the container and programmatically drew some lines, Great! Perfect!

Then the spec changes…. They wanted a double border added to the container skin, to give it a nicer look (it also had to be controlled from CSS). So off I went to extend the haloborder skin to add another innerborder. Now, all skins that change the size of the border must also change its borderMetrics function, so that whenever a container uses this new border skin, it can know how much space it can use to draw its child objects.

After running it, I discovered that all the uicomponents were out of alignment to programmatically drawn lines, they all seemed to be slightly offset. Turns out that if you use extend container, all child UIcomponents will automatically take into account the edgemetrics from the chrome, and position themselves accordingly. That’s even after you use UIcomponent(someObj).move(x,y)!  thats where viewMetricsAndPadding():EdgeMetrics comes in. This will tell you how much padding you need to save for when the scrollbar or thickend border comes into play. So anytime you are writing a custom component for non standard layout, don’t forget to check how much space you actually have!

What is Singularity??

Wednesday, January 9th, 2008

Aral has a new project What the hell is it!!, the suspense is killing me!

Newb mistake, visible vs alpha

Saturday, December 29th, 2007

Damn it! Our app uses a movieclip to skin one of the flex components, and it basically requires a boundingbox to help with positioning and layout, so it can fit into the framework. Stupidly, I was drawing an rectangle with alpha colored border, so it wouldn’t display in the animation (its only there so I can read its X/Y position), and this was causing a small performance lag. When you set an items alpha value to zero, the flash player still has to render it to the screen, and thus waste valuable cycles drawing an item you can’t even see. Realising the error of my ways, the component on startup automatically sets the visible property of the sprite to false, thus the flash player won’t waste time rendering it. I’ve only gained a few FPS extra but its a start!

QVM, tamarin AS3 engine for mobiles

Saturday, December 22nd, 2007

Ted Patrick just posted on his blog that there is a new engine in AS3, aimed specifically for mobile devices, on the way. This is huge news for us flex developers, one of the barriers for moving or porting applications from desktop to something usable in flash lite was the fact that they had to be written in legacy AS2 code.Obviously, Flex as a framework, I wouldn’t imagine as being very usable on such a small screen, but it may pave the way for a Mobile MXML. A lightweight set of components, could allow developers to shift underlying model architectures from existing flex projects and re-craft views for mobile. Although the whole performance thing might make it extremely problematic, but still, one can dream…

http://www.onflex.org/ted/2007/12/meet-qvm-new-tamarin-vm-contributed-to.php

Open source news, Degrafa

Thursday, December 13th, 2007

Bloody hell, quite a lot going on in the adobe world today.

BlazeDS, Adobe AIR beta, plus a brand new spanking release of Flex 3. In all the chaos, a lot of people might have missed that Degrafa team have announced that they are going to do a release of thier MXML graphics package on january 1st. If you haven’t heard about Degrafa, it basically allows you to generate graphics using MXML type tags, instead of using the programatic skins, and a lot of actionscript code. I’m going to style my app using this package when it comes out. I think its gonna be a real space saver because compiled code, is always gonna be smaller then scalenine embeds.

So check it out

http://www.degrafa.com/

Currentstate wierdness..

Monday, December 10th, 2007

At the moment i’m trying to write a custom itemrenderer with multiple states for the list control, and I noticed this wierd thing happening with it. Basically we have an initial state, which is basically blank, and three other states which are dependant on the data provider i.e [blank, standard, expanded, closed].

Because the itemrenderers are data driven, i was monitoring differnet attributes on the data provider, and marking different variables as dirty, ready to be updated in the “commitproperties” function. Within commitproperties, if the attribute for “expanded” on the Value object was set to true, I would set “currentstate” to “expanded”. However even though i could see the currentstate being set to the correct state in commitproperties, it wasn’t appearing in the correct state in the list. Anyhow, cutting a long story short, I found that if you set currentstate before the “creationcomplete” event is fired, the view will completely ignore this setting, and remain as before, EVEN though you can read the string out of “currentstate” and it will be right. Basically I now check if “initialized” is true before setting the state, or defering the call if it isn’t.

I’m not sure this is right though, am I doing it wrong?

Drop a comment if there is a better way

Yeah yeah… another flex blog

Monday, December 10th, 2007

I have no idea why I would want to setup a blog, no one is gonna read this thing anyway. I just thought this domain name would be cool…

Anyway i’m just gonna use this blog just to write about random musings about Adobe flex and see if anyone responds.