Slider & Field Example

Now we will look at a simple broadcasting example. Broadcasting is a way for controls to "sign-up" to receive messages when certain events occurs. In this example we will notify a field that the slider position of a scrollbar has changed.

Open the BMLSBroadcastHelper Plugin

This plugin is distributed with the GLX Application Framework in the extra resources/plugins folder.

Select Scrollbar

When you select the Scrollbar the plugin updates to show any messages that the control is broadcasting (1), who is listening to those broadcasts (2) and any broadcasts the control is listening for (3).

Click on the Add a published broadcast to selected control button (4).

Enter Broadcast Type

Enter value changed as the broadcast type.

Enter Default Broadcast Message

Enter SliderValueChanged as the message that will be broadcast when the value changes.

You will now see an entry under What Broadcasts Am I Sending?.

Have Field Listen For Broadcast

Now that you have defined a broadcast you can have other controls listen for it. Click on the value changed row (1) and drag and drop onto the field (2).

Now the field will be listed under Who's Listening To Me?.

Select Field

If you select the field (1) the plugin updates to show that the field is listening for a broadcast from the slider (2).

Update Slider Script

So far we have only published the fact that the slider will broadcast a message and that the field wants to hear about it. We still have to add the code that actually broadcasts the message when the scrollbar slider value changes.

Add this scrollbarDrag handler to the end of the script in the scrollbar. Doing so will send messages to any controls that have registered to listen for the value changed broadcast.

on scrollbarDrag pScrollValue

glxapp_broadcast the long id of me, "value changed", pScrollValue

end scrollbarDrag

Edit Field Script

Now the field needs to process the message that is sent to it so we will add some RevTalk code that does that.

Set Field Script

Set the script of the field to the following RevTalk code. This code processes the SliderValueChanged message and sets the text of the field to the new scrollbar value.

on SliderValueChanged pNewValue

set the text of me to pNewValue

end SliderValueChanged

Test

Drag the slider. The field should update.

Conclusion

Although this is a simple example, hopefully it gives you an idea of how broadcasting works. Broadcasting allows an event to be published (such as the changing of a scrollbar slider) without concern for who is interested in the message. Any other control can sign up to be notified without adding additional code to the control (or library command) sending out the broadcasting.

0 Comments

Add your comment

E-Mail me when someone replies to this comment