Actionscript 3 :: Force Flex To Buble Default Event?
Nov 25, 2010subj, i need to listen for TooltipEvent of my far child. Is that possible without manual re-dispatching ?
View 1 Repliessubj, i need to listen for TooltipEvent of my far child. Is that possible without manual re-dispatching ?
View 1 RepliesI have noticed that when I select tree node if space is clicked the selected node gets opened... how could I remove this event?
View 1 Repliesmake the nearest button to the clicked text input default. For this purpose, I wrote the below code.
why is my buttonSwitcher function following behind the MouseEvent.CLICK?
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="addListeners()">
<mx:Script>
[Code]....
How would one force/trigger a mouse up event (besides lifting finger) in as3?
View 4 RepliesI have an AS 3.0 class that loads a JSON file in using a URLRequest.
package {
import flash.display.MovieClip;
import flash.display.Loader;
[Code]....
When the file is finished loading, the mapHandler event makes changes to the class properties, which in turn are accessed using the getMapWidth function. However, if the getMapwidth function gets called before it finishes loading, the program will fail.
How can I make the class wait to accept function calls until after the file is loaded?
I'm attempting to take a process that previously ran multiple remote object calls in parallel and make them run in serial.I know it's a hackish approach (bandaid!), but so far my approach has been to take this for-loop that started each parallel request:[code]Where _pause_queue is a private global boolean for the class. In the fault-handler and response-handler functions, it is set back to false, so that the infinite where-loop is released and the for loop will continue.This is functional, but the UI only updates after the while-loop ends, which causes the negative side effect that it looks like the application is hung while waiting for a response.
Is there something I can put inside the while loop to allow flash to update the display? In VB (ugh!) I would use DoEvents, but I don't know of an equivalent for Actionscript.Alternately, is there a way to add a simple queueing system short of completely rewriting the application? This is legacy code and I'm on a tight deadline so I'd like to modify it as little as possible. (Otherwise I would rewrite it from the ground up and use Swiz to get the Event Chaining.)
Are there any good tutorials out there that go over the AS event model in detail.I am trying to figure out things such as what are the 'default behaviors' attached to different events.Supposedly the the default behavior for a text event is to type in a TextField (makes sense). Also that behavior is supposedly canelable.However I can not find listed in the AS documentation.Maybe I am just not looking in the correct place.
One thing I really liked about java was the documentation.Everything about the class structure was laid out very elegantly and documented.I could tell exactly what events a class listened to or broadcast a paticular event, and how they responded.Also I i could tell which section of the code was responsible for drawing / redrawing graphics.But maybe I have not spent enough time with AS.
Which is the default mouse event I can declare in a method signature ?
for example:
ActionScript Code:
function removeVideo(e:MouseEvent=MouseEvent.CLICK):void {
gives me this error:
ActionScript Code:
VerifyError: Error #1102: Illegal default value for type MouseEvent.
[code]....
I want to call the method from code and not from listener.
Textfields currently do not dispatch paste events. When the user is using keyboard shortcuts to paste, there's a way to workaround that shortcoming by listening to various keyboard events in the textfield. Is there a way to detect the paste event when it is originated from a click on the ContextMenu?
View 1 RepliesI have a situation where I need my swf to load from a domain. Currently my flex set up always loads a SWF from file [URL]...
View 1 RepliesI have narrowed this error down to the following code, but i cant see the problem...
Code:
ReferenceError: Error #1069: Property ENTER_FRAME not found on flash.events.Event and there is no default value.
at sample_fla::MainTimeline/frameEventHandler()
ActionScript Code:
addEventListener(Event.ENTER_FRAME,frameEventHandler)
function frameEventHandler(Event){
var collisions:Array = collisionList.checkCollisions();
[code].....
My operation system is Window XP in Chinese. I'm running flex sdk > asdoc in command line. Asdoc picks up the system default language. How can I force it to be run in English language environment?
View 1 RepliesI have an app w/ a login screen. When the user hits "enter", the state changes to "login" & a child component is triggered to load (though the child stays invisible at the moment). The child contains many functions that the user needs upon logging in (ie their screenname & settings are retrieved from a database). The following is included in 'Parent':
<local:comp id="localComp" includeIn="login" includeInLayout="false" visible="false"/>
<mx:Button label="login" click="currentState='login'"/>
<mx:Button label="logout" click="currentState='Default'"/>
My problem is when a user logs out (state changes to 'Default') & then logs back in (state changes back to 'login') the child doesn't get "triggered" again & the functions w/in the child don't reload. Is there a way to force my child to refresh?
Note: While it would be easier to just move the child's functions to the parent it is complex...I moved these functions to the child to make it easier to follow
UPDATE: I even tried adding an "exitState" to my state:
<s:State name="login" exitState="removeElement(localComp)" />
This doesn't work either, as I get an error: "RangeError: Index 0 is out of range."
UPDATE: Even though you are allowed to call a child's function from a parent, my problem is that the child needs to be "created" in order to not show errors. It makes no sense to me why the flex team would make something like removing & adding children so complicated.
I'm using an iFrame in a Flex 3 project. The problem is that if the user opens my site in a small browser window, they don't get scrollbars. How can I solve this problem? Is there a way to force the browser to put up scrollbars?
If I set the main app to horizontalScrollPolicy="on" verticalScrollPolicy="on" or to "auto", then as you scroll down, the iFrame is stuck to the top of the browser window and obscures the content.
In the main app:
[Code].....
I have a page-like flex application. In my main application is a holder (a canvas) that displays all the pages. The problem is that the components that are loaded inside the holder are bigger than the holder is when the main application starts. The holder height is set to 100% but still he gets scrollbars when I load a bigger component inside of him then himselHow can I solve this problem? And if it isn't solvable would it work correct if I use a viewstack?the holder looks like this:
<mx:canvas height="100%">
</canvas>
But the end of the application is 500 pixels lower so canvas height is 500 pixels high. Now I put a new child inside the holder that is 1000 pixels high.
I have a Flex 3 app with a view in a viewstack, and that view must only be created when requested. I have declared validators for each of the controls on the view and I have created a method called checkAllValid() which runs Validator.validateAll(). This works great when I'm actually using the controls (using the change or focusOut events), but how can I get checkAllValid() to run when the view is first displayed to the user, so that they are immediately shown what is invalid once the data is populated in the controls?
I have tried putting the call in various events on the view itself (e.g. creationComplete, updateComplete, show, activate, etc.) but it always shows the following error when I start the application:
'The source attribute must be specified when the property attribute is specified.'
I have also tried setting the creationPolicy on the view to "all" but this does not help.
Some of the validators are only enabled when the form is in a certain state, but I have eliminated that as being the potential problem by commenting out all of my validators except for this most simple one:
[Code]....
I have also tried calling the single validator directly rather than using validateAll and the result is the same.
There must be a way I can force the view to validate when it is shown....
(by the way it's in the Cairngorm MVC framework and I have data bound to the controls)
When I try to access the hidden TABs of my tab navigator control in action script, it returns a null error. But it works OK if I just activate the control in the user interface once. Obviously the control is not created until I use it. How do I make all the tabs automatically created by default ?
View 2 RepliesI create a custom component to override the linkButton to make it behave that if an exist value is found, it would shown as "Added".
By default the button label is "Add to cart", I could not make the button become "Added" after trying many trial and error on uHandler which I suppose, COMPLETE, ENTER_FRAME, CREATION_COMPLETE could not even update the label.
public class Btn extends LinkButton{
public function Btn(){
super();
[Code]....
Is there a way to make the datagrid scroll if it's width exceeds it's parent container (instead of making the parent container scroll?) I have a datagrid with a fixed column, and of course I want the scrollbar to appear for the datagrid and not the enclosing HBox. I already set minWidth of the HBox to 0, tried autoLayout=false, but with no effects. The datagrid is dynamically created in AS3, so the enclosing container.
Maybe I did not express my needs clearly - the content of the datagrid should not be wider than the datagrid itself. I just want to surrounding Canvas of the Datagrid to not have any scrollbars and let the datagrid itself scroll. But just setting the scrollpolicy to off on the Canvas will not yield to scrollbars on the datagrid, it will rather clip the data.
I have an item renderer that checks an external source for display information. If that information changes, I want to force all item renderer instances to check it.
What's the best way for force all the item renderers in a list or grid to either commitProperties or execute some other method?
I've read that resetting the grid.itemRenderer property will make them all initialize. I've also received the suggestion to iterate recursively through all the grid's children and call invalidateProperties on all the UIComponents I find.
I have item renderers in an mx.controls.Tree that I need to refresh on demand.
I have code in the updateDisplayList that fires for only some of the visible nodes no matter what I do. I've tried triggering a change that they should all be listening for; I have tried clearing and resetting the dataProvider and the itemRenderer properties.
private function forceCategoryTreeRefresh(event : Event = null) : void
{
trace("forceCategoryTreeRefresh");
[Code]....
The nodes refresh properly when I scroll them into view (e.g. the .data gets set), but I cannot force the ones that already exist to refresh or reset themselves.
In flex component life cycle, after we make some change in a components property, invalidation methods schedules a call to methods like commitProperties, updateDisplayList, etc for some later time. I need to call the updateDisplayList instantaneously. Is there some direct way to do this.
Currently, both the labels are changed simultaneously after completion of the loop. Instead I need it to work like this, to first render the updated 'myButton1' label then enter the loop and then update myButton2's label. I know, it is elastic race track issue, but isn't there some way to achieve this ?[code]...
Suppose I have a component and want to change it's focus color at runtime. Here's an example for you (I've excluded any buttons and such to prevent component from losing it's focus, cause in that case it changes it's color perfectly):
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="init()">
<mx:Script><![CDATA[
private function init():void {
[Code].....
What do I want: How to make this focus to be redrawn without magic (I've tried all the methods, starting with "validate", I've tried calling updateDisplayList() on entire application, I've tried to call styleChanged .
I have a function that is made up of two main parts (I'll call them A and B). Part B needs to run when part A is fully done with its layout changes. However, there is no "part A is done" signal, and thus I've been calling a validateNow() before part B runs. This works but seems awfully inefficient - was wondering if there are any other tricks to force an immediate measure or something along those lines or if I'm stuck.
View 2 RepliesI have a MenuBar which opens downwards except when there isn't enough room to open it. For example, it may have 10 items but there's only enough room to display 4-5. Flex then tries to display the menu above the bar, which is completely off the screen. Is there some property or style I'm overlooking to always force it to open downward?
EDIT: Thought I'd give some clarification as to how I plan to circumvent the issue. If I can always force the menubar to be orientated downwards, I can make it into a scrollable menubar displaying only a few items at worst.
Yesterday when playing a game (Balloons Tower Defense 3) I noticed that the game started to slow down over time and then randomly speed up very quickly. Looking at the memory usage dropping each time I assumed it was the GC running.
As a legitimate question, is there anyway to force Flash to GC from, say, Firefox? Perhaps there's an addon or a command you can run that will do this? I know that you can do System.gc() but this game isn't mine so I can't modify the source with a "Click here to GC" button.
I have editable grids which are 2-way binded to my model. What I want is to validate my data when user edits any cell before it get updated in model. I have applied my validation at ItemEditEnd handler, but, I want to apply validation in between itemEditBegin and itemEditEnd events.
View 1 RepliesMy problem is pretty simple: Flex containers do layout based on un-transformed children, and so rotated children are positioned as if there were no rotation, but then they're rotated around the top-left of that position. I've attached an image to show what I mean. Can I wrap the components in something? Or do I have to resort to custom components or fixed layouts? The image inlining doesn't look like it's working to me. Link to example image: [URL]
View 2 RepliesLet's say that you're using some black box library (i.e. no source code) that sets your cursor to something when rolling over a certain sprite. You can override that by catching rollOver and rollOut events, blocking propagation and using the CursorManager.
Question: is there a way to tell the CursorManager to use the system cursor?
Obviously, I could feed the CursorManager some "system like" cursor, but this would look weird if the local settings are different from that icon, which is likely to be always.
I remember using values array on good old mx:HSlider, is there any workaround for s:HSlider?!Basically I need slider to choose values between 300 and 2500 in following steps 300,500,1000,2000,2500.
<s:HSlider id="franchiser"
value="1500"
skinClass="components.HorizontalSlider" x="0" y="0"
[code].....