<< Chapter < Page Chapter >> Page >

There are at least three ways to handle event notifications in Flex:

  • Registering an event handler in mxml
  • Creating an inline event handler in the mxml definition
  • Registering an event listener through ActionScript

The XML code in Listing 3 uses the inline approach.

The inline approach

The advantage of using the inline approach, (at least insofar as my Introduction to XML , students are concerned) , is that it doesn't require you to create a Script element within the mxmlor to create a separate ActionScript file.

Handling the slider's change event

Now consider the code that begins with the word change in Listing 3. The code within the quotation marks can be a little hard to explain, but I will give it atry. (The code in quotation marks is actually an ActionScript code fragment.)

Think of it this way

There is a Flex/ActionScript class named Event . The reference to event in Listing 3 is a reference to an object of the Event class that comes into being each time the slider fires a change event .

The Event object encapsulates a property named currentTarget , which is described in the Flex 3 documentation as follows:

"The object that is actively processing the Event object with an event listener. For example, if a user clicks an OK button, the current target couldbe the node containing that button or one of its ancestors that has registered an event listener for that event."

The currentTarget is the slider

In this application, the value of currentTarget points to the slider which is firing change events as the user moves the thumb.

The value property of an HSlider object

The slider is an object of the HSlider class, which has a property named value . The value property contains the current position of the thumb and is a number between the minimum and maximum property values.

Get the current value of the thumb

Therefore, each time the slider fires a change event, the code on the right side of the assignment operator within the highlighted quotation marks inListing 3 gets the numeric value that indicates the current position of the thumb.

Cause the image to be resized

This value is assigned to the height property of the image, causing the overall size of the image to be adjusted, if necessary, to match the currentposition of the slider's thumb. (I could go into more detail as to the sequence of events that causes the size of the image to change, but I will leavethat as an exercise for the student.)

The liveDragging property

That leaves one more attribute or property for us to discuss in Listing 3: liveDragging . This one is much easier to understand.

The Flex 3 documentation has this to say about the liveDragging property:

"Specifies whether live dragging is enabled for the slider. If false, Flex sets the value and values properties and dispatches the change event whenthe user stops dragging the slider thumb. If true, Flex sets the value and values properties and dispatches the change event continuously as the usermoves the thumb. The default value is false."

If liveDragging is false...

If you were to modify the code in Listing 3 to cause the value of the liveDragging property to be false (or simply not set the attribute value to true) , the slider would only fire change events each time the thumb stops moving (as opposed to firing a stream of events while the thumb is moving) . This, in turn, would cause the size of the image to change only when the thumb stops moving instead of changing continuously while the thumb is moving.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Introduction to xml. OpenStax CNX. Dec 02, 2014 Download for free at https://legacy.cnx.org/content/col11207/1.18
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Introduction to xml' conversation and receive update notifications?

Ask