Flex :: [Bindable] Metadata Tag Instantiate An Object By Default?
May 27, 2011I'm studying a demo code and it seems to me that an instance of a class is never instantiated, in particular I have this line:
[Code]....
I'm studying a demo code and it seems to me that an instance of a class is never instantiated, in particular I have this line:
[Code]....
I am just just curious as to whether the [Bindable] metadata tag in ActionScript 3 can only be used within the Flex framework, or can it be used in "regular" ActionScript projects where Flex isn't used?
View 1 RepliesI'm encountering something a bit bizarre, but maybe someone else came across this before.
I've got a base class, that doesn't extend anything. Let's call it...
public class FooBar {
//...
}
But I want to bind EVERY single one of its exposed properties:
[Code]...
If I create an object like so:
class Foo {
[Bindable] public var property: String;
}
The class Foo has an implicit event dispatcher to handle property change events. How can I access that without making Foo explicitly extend EventDispatcher?
I am a novice in Facebook developer by choosing ActionScript 3 as my developer platform. I use SWC library from official facebook-actionscript-api that promoted by Adobe.So I followed their tutorial.[code]
View 1 RepliesI have a small question. I am probably misunderstanding something, but when I do :
[Code]....
As simple a problem as the title says. I must be doing something really stupid. I've got a large section of a site, built a month ago runs fine. Went to make some changes. Now when I compile the video instantiantion fails. I've gone back to basics to test this problem out and it persists.So, here's my document class:package sections{import flash.display.MovieClip;import flash.media.Video;public class LocketVideo extends MovieClip{private var _vid:Video = new Video(200, 200);public function LocketVideo() {trace("hi there");}}}When I compile the swf I get the following error:/Projects/[omitted]/Src/sections LocketVideo.as, Line 9 1137: Incorrect number of arguments. Expected no more than 0.( line 9 is the _vid line )Now, if I pull out the parameters of the video object it works fine... well compiles fine. A video object without a size isn't much use. Note that if I don't set parameters... all other calls to the object fail.My first thought was that my default Flash classes got corrupted. Nope. Ran this compile on two other computers, same issue. Also thought maybe I had the fla set to the wrong .
View 3 RepliesIn a static method, how can I instantiate an object of the supertype, or at least know what the supertype is?Consider the following code:
Code:
class A {
public static function clone(obj:Object) : Object {
var us : Object = new <superclass>();
[code]....
What should <superclass> be?
I've got a large section of a site, built a month ago... runs fine. Went to make some changes. Now when I compile the video instantiation fails. I've gone back to basics to test this problem out and it persists.[code]...
View 1 RepliesIn my flex app I have a public bindable property.I want it so that every time the value of that property changes, a function gets triggered. I tried using ChangeWatchers, but it seems those only apply to built-in components like a text box change.i would like to do that same behavior with a property that changes at runtime.
View 4 RepliesI have a class like this. Property "isPag" is based on filed "ecboardid", I found that when ecboardid is changed, UI controls seem not be able to detect that "isPag" is also changed. So, how to make a property like this bindable?[code]...
View 3 RepliesHow can I instantiate another class object from a class instance? In the code below (which doesn't work) I'd like the function to return a new class instance based the passed argument's class. In other words, I want the function to return a new instance of MySprite without having to call new MySprite();.
var mySprite:Sprite = new MySprite();
var anotherSprite:Sprite = makeAnotherSprite(mySprite);
function makeAnotherSprite(instance:Sprite):Sprite {
return new getDefinitionByName(getQualifiedClassName(instance));
}
My Combobox is not alway updating when I update the ArrayCollection.[code]...
the first time it updates the combobox fine and sometimes it works the 2nd, 3rd, etc time is might update the combo box. After it stops updating the combobox, it never does until I restart the app. I have verified that the ArrayCollection is updated via the debug data, it is just the combobox is not updating the display.
I have Class1 with a read-only bindable property called age:
public class Class1 {
private var _age:int;
[Bindable(event="ageChanged"]
[Code]....
Of course the [Bindable] tag there doesn't make sense. But how can I achieve the same effect?
I believe I can dispatch some sort of ageChanged event from Class2 up to Class1 and then have an event handler in Class1 dispatch another local ageChanged event to which I bind Class2's age property.
I have a Number variable, named isConflict, whose value is passed in from a parent. I would like to put a ChangeWatcher on this item so that a function named changeBGColor will run whenever the value is changed. Within my creationComplete function of init, i have the following:
var isConflictWatch:ChangeWatcher = BindingUtils.bindSetter(changeBGColor, this, "isConflictChain");
Is it possible to use the Bindable compiler setting when using mxml?
I've got a string that I want to make bindable:
<mx:String id="myString">My Text</mx:String>
I could make it bindable in Actionscript, like this:
[Code]...
But it threw a lot of warnings-- other classes were already marked bindable in my App.
I purchased a coverflow gallery and I trying to using it wthout the Document class.
I trying to instantiate the class in other movie using this code:
Code:
package {
import flash.display.MovieClip;
import com.greenlab.website.cf.CoverFlow
[Code]......
ActionScript allows you to mark a variable as [Bindable], causing any changes to that variable to have immediate effect all over your application.How would you implement this feature in your favourite programming language?
View 1 RepliesI've got a component called Box.as that has following two properties, and have their getters & setters defined:
private var _busy:Boolean;
private var _errorMessage:String;
In MXML that uses this component I define it like this:
<components:Box skinClass="skins.components.BoxSkin"
busy="{presenter.boxBusy}"
errorMessage="{presenter.boxErrorMessage}"/>
Where presenter variable is defined here in MXML and a Presenter class has boxBusy and boxErrorMessage variables defined as bindable property change events:
[Bindable(event="propertyChange")]
function get boxBusy():Boolean;
function set boxBusy(value:Boolean):void;
[Code]....
PROBLEM is that whenever I change boxErrorMessage for the presenter, I see the affect in MXML but nothing happens at all when I change boxBusy. Is there something extra I need to do with boolean variable?
I have inherited an Adobe AIR application, and am attempting to debug it through Flash Builder 4.5. Within Flash Builder, when I look at one of the MXML files, I see warnings for each use of the [Bindable] tag:[code]And there are no missing semi-colons on the lines preceding each warning as per the suggestion in this blog post.The project is configured to use Flex SDK 3.6.Additionally the file will not load in the designer, with this warning:Design mode: Error during component layout. Choose Design > Refresh to refresh design mode.At runtime I am seeing a blank window - which I assume is the result of the bindings not being triggered. Is this tag not available in Flex SDK 3.6?
View 1 RepliesI am attempting to retrieve metadata from a URLResource. The URLResource is not controlled by me, but passed into a function that I am using. The URLResource is created like this:
var resource:URLResource = new URLResource("[URL]");
// Add Metadata for the URLResource
var VideoParams:Object = {
Name:"Logo Video",
Owner:"Self",
[Code] .....
Now the URLResource contains the metadata. I will receive a MediaElement resource. How do I extract the metadata back? Here's what the debugger shows (media is a MediaElement object containing the URLResource w/ metadata) :
fdb>print media.resource.
$1 = [Object 246396705, class='org.osmf.media::URLResource']
_mediaType = null
_metadata = [Object 416970209, class='flash.utils::Dictionary']
[Code] .....
I've attempted extracting the metadata object with:
media.resource.getMetadata("VideoParams");
And a host of other attempts, but can't figure out how to get at that darned metadata.
I'm trying to get the metaData as usual with NetStream object from FMS but in RTMFP protocol but doesn't work.However, with RTMP my code (which is coming from onMetaData example in livedocs)it works.
Is it need any special metchod/properties to get the metadata with rtmfp ?
I have a situation where I need to update a DropDownList's dataProvider and selectedItem in a specific order. See the following code ...
<s:DropDownList id="dropDownList"
dataProvider="{someDataProvider}"
selectedItem="{someSelectedItem}" />
In my case, some user interaction produces new values for the bindable variables "someDataProvider", and "someSelectedItem". However, when flex renders the DropDownList, the control's selected value is empty.
The reason for this is that the DropDownList's "selectedItem" property gets bound before the "dataProvider" property. The "dataProvider" needs to be bound first for "selectedItem" to be valid, this is because the new "selectedItem" points into the new "dataProvider".
what is the best practice for updating bindable properties in a specific order? I've come up with a few ways (e.g. using a valueCommit handler), but I wanted to see what the community had to say.
I have the following code:
<fx:Script>
<![CDATA[
import shared.GlobalsManager;
[code].....
overriding clone() while creating custom events?I read in the Flex cookbook that we need just in case we want to redispatch this event. Does this exactly means that when we want event to be bubbled up the display hierarchy , at that time our custom cloned event should be dispatched and not the Event object.
second - whats the need of metadata tag -
[Event(name="modelEvent", type="com.abc.data.model.ModelEvent")]
public class LoginModel extends EventDispatcher
I understand we need to extend EventDispatcher in case we want to dispatch evnet from class.. but In what cases i would need to specify the MetaData TAg
Third is.. If i write -- "dynamic customEventClass extends Event".. Is there any use of Dynamic i can make?
Basically I am poping up the following component:
PopUpManager.centerPopUp(PopUpManager.createPopUp(this,RegionExperienceDetailPopUp,false));
I need to call RegionExperienceDetailPopUp.generateData(passIntArray);
What is the syntax to do this?
i have an issue here and do not know how to solve this small part.I'm developing in AS3 and using Flash CS4 and Flex Builder.I will describe it in point form so that you can follow through.
1. Inside my FLA file, named as Hero.fla, it contains a movieclip called "bazooka" and it have been checked with "Export to Actionscript". I named the class as "zooka".
2. From my Flex, how do i get to instantiate that movieclip which have been exported as "zooka"? I type it as:[code]but it returns an error saying: a. "1046: Type was not found or was not a compile-time constant: zooka."ANDb. "1180: Call to a possibly undefined method zooka."
I am unable to bind the selectedIndex public property of a spark DropDownList to it's original source in the view's presentation model.
For the purposes of replicating this issue with as few lines as possible I have two views, and one presentation model. The code follows.
Main.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
[code]...
Debugging the application I find that selectedIndex in the presentation model always remains at the default value assigned regardless of which item I selected from the DropDownList. For the sample code above this is -1.How can I bind the selectedIndex in the presentation model such that it is updated appropriately when the selected item DropDownList changes?
Using org.as3commons.reflect I can look-up the class name, and instantiate a class at runtime.I also have (non-working) code which invokes a method. However, I really want to set a property value. I'm not sure if properties are realized as methods internally in Flex.I have a Metadata class which stores 3 pieces of information: name, value, and type (all are strings).I want to be able to loop through an Array of Metadata objects and set the corresponding properties on the instantiated class.[code]I realize that I have to declare a dummy variable of the type I was to instantiate, or use the -inculde compiler directive. An unfortunate drawback of Flex.Also, right now there's code to account for typecasting the value to it's specified type.
View 1 RepliesI know that it is possible to add swf metadata to the compile command as a command option, but I can't find any documentation on how to access these metadata within the actionscript during runtime. We're trying to add a version number to the swf during compile time and then somewhere in our app we would retrieve it during runtime, here is the command example to add the description metadata.
mxmlc -description "version 1.2.3"
I know the swf metadata is used by search engines and other utilities to gather information about the SWF file, but surely you should be able to retrieve them in the actionscript during runtime?