Flex :: 3 - Flex: Affecting Function Result On Bindable Boolean Not Generating Databinding Event
Mar 14, 2011I have a small question. I am probably misunderstanding something, but when I do :
[Code]....
I have a small question. I am probably misunderstanding something, but when I do :
[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'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'm trying to set up a form that presents a combobox when an ArrayCollection it's bound to has several items, and doesn't present one when it's empty or only has one item. I've tried doing this by creating this class, but unfortunately, the data provider I've bound to is never not empty at the time the setter executes.
public class ComboboxOrFail extends ComboBox
{
public function ComboboxOrFail()
{
[code]....
I have a boolean variable, projectsLoaded that is set to false when my application loads. As i'm sure you can imagine, when the final project module loads, I set the variable to be true. Is there a way I can trigger a series of functions to run once that variable is set to true?
View 1 RepliesI'm trying to feed data from SQL database to FLEX, using php script in the middle. I see the data in body of message in the Network Monitor and in "Variable" window during debug, but i cant retrieve them to XML.
Below (event.message.toString())
(mx.messaging.messages::AcknowledgeMessage)#0
body = "<?xml version="1.0" encoding="UTF-8"?>
<articles>
<node><id>2</id>
[Code]....
This code is for my login component. I want to get a special string for encrypting my password. This string is given by my authservice. But when i login i get a multiple times a alert with Done(line 69 in the pastebin code or line 4 in the code on the bottom of this question). But i want that it shows one single time. Does someone know what is wrong with this code?
protected function tryLogin():void {
encryptStringResult.addEventListener('result', function(event:ResultEvent):void {
var encryptString:String = event.result.toString();
[code].....
I have a global settings class, and i want to switch a var (to 1) in this class, when i call the send function and switch this var (to 0), when the result event dispatched.
I created a class, extends HTTPService..i can override the send function (override public function send(parameters:Object=null):AsyncToken), but how can i override the function, which call when the result arrived?
I'm using String.split to parse a command line string into an array of strings. The result is then used to call a function using the Function.apply API.If apply(null, ["17"]) is called with this function:[code]does not work (expected output: false Boolean; actual output: true Boolean).Is there a way to make it recognize "true" and "false" (or anything else) as Boolean values, just like it does with numerical strings? Ideally "true" and "false" should also remain valid string values.
View 1 RepliesI'm using String.split to parse a command line string into an array of strings. The result is then used to call a function using the Function.apply API.
If apply(null, ["17"]) is called with this function:
static function test(foo:int):void
{
trace(foo, typeof(foo));
}
it works as expected (output: 17 number).
However, calling apply(null, ["false"]) or apply(null, ["0"]) with this function:
static function test(foo:Boolean):void
{
trace(foo, typeof(foo));
}
does not work (expected output: false Boolean; actual output: true Boolean). Is there a way to make it recognize "true" and "false" (or anything else) as Boolean values, just like it does with numerical strings? "true" and "false" should also remain valid string values.
I have two functions in an ActionScript class, they are:
private function loaderCompleteHandler(event:Event):void
{
_loader = Loader(event.target.loader);
selectedBitmap = Bitmap(_loader.content);
[Code].....
Is it possible to send the selectedBitmap variable back to the byteArrayToBitmap function after the event completed?
I get the webservice(spring WebService) response properly ,but the event.result object is null.I can see the SOAP response body in the event.message.body variable.
## Soap Response ##
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/><SOAP-ENV:Body><getUserUserTasksResponse xmlns="http://ws.burr.com/BurWS/9_0">
<foundTasks>
[code]...
When the Flex SDK converts MXML to actionscript it generates a lot of databinding code. I don't want to bind a variable, for example if I know the variable will not change.
I can't seem to find a work around in Flex to disable the autogenerated databinding. Also, I was hoping this might also help with some of the runtime warnings thrown by databinding. To get around them, I sometimes use the following, which only throws syntax warnings (and don't appear in my console at runtime).
Syntax warning: Data binding will not be able to detect changes when using square bracket operator.
the new TextInput component which uses stagetext on 4.6 has this issue where if you bind a variable on it e.g
view1...
and i push a new view e.g view2, and pop it, hence reloading view1. on initial load, I can see that the textinput display the variable abruptly then the text vanishes afterwards..
I'd like to note that the variable is a stored data, and can be access on any view.
The help page on the BindUtils.bindProperty function:url...Has this to say:"For example, to bind the property host.a.b.c, call the method as: bindProperty(host, ["a","b","c"], ...)." But what if I need to bind to host.a.b[2].c? How do I do that?
View 2 RepliesI have an arrayCollection with strings in them, is there some way I can databind a RadioButtonGroup to the array collection? As we can do for combo boxes [code]There is no RadioButtonGroup.dataprovider property.
View 2 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 RepliesI need to dynamically bind properties of components created at runtime. In this particular case please assume I need to use bindProperty. I don't quite understand why the following simplistic test is failing (see code). When I click the button, the label text does not change. I realize that there are simpler ways to go about this particular example using traditional non-dynamic binding, but I need to understand it in terms of using bindProperty.
[Code]...
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");
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 RepliesIs 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.
well, I have a combobox which I have bind his selectedItem property to a value object object, like this
<fx:Binding source="styles_cb.selectedItem.toString()" destination="_uniform.style"/>
<fx:Declarations>
<fx:XML id="config_xml" xmlns="" source="config.xml" />
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:ComboBox x="66.15" y="63.85" editable="false" id="styles_cb" dataProvider="{config_xml.styles.style}" />
the value object is a custom class with some setters and getters, and I want to set a property based of the value of the selectedItem of the combo, so inside the value object I have something like this
[Bindable]
public function set style(value:String):void
{
_style = value;
trace(value);
}
my problem is that each time I change the combobox selection which in fact change the style property of the value object it does it 3 times, if I trace the value of the setter it actually do the trace 3 times, why?? how can I avoid this? I'm doing something wrong? or there is a better way to do it,
I have creating a distributed note taking application in flex, it basically is a notepad I can keep in my desktop tray. When I add notes and goes back to a server and saves it in a database.
To am struggling to design the application correctly, I want to have a Syncing service that polls the webserver for changes and updates an Array of Note objects. The problem is that my note corresponds mxml component, aka SingleNote component. There are four different cases when being, a. a note is updated from the server poll, in that case I want to singlenote to update the settings b. a note is added to the array from the server, in that case a new SingleNote needs to be created c. a SingleNote is added from client, in that case a Note is added to array, and sent back to server d. a SingleNote is change from client, in that case the Note is updated in the array and sent back to server
The properties are SingleNote(Width, X, Y, Text).
well, I have a combobox which I have bind his selectedItem property to a value object object, like this
<fx:Binding source="styles_cb.selectedItem.toString()" destination="_uniform.style"/>
<fx:Declarations>
<fx:XML id="config_xml" xmlns="" source="config.xml" />
[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'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 know flex is a client side technology, but our customers are asking us to e-mail them reports (i.e. graphic images) that look just like the flex graphics we show them on the desktop on a nightly basis.
View 3 Replies