Wt: Wt::WFlashObject Class Reference

Wt 3.3.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Hierarchy
- Class Members

Public Member Functions
Wt::WFlashObject Class Reference

A widget that renders a Flash object (also known as Flash movie). More...

`#include <Wt/WFlashObject>`

Inheritance diagram for Wt::WFlashObject:
[legend]

List of all members.

## Public Member Functions
| WFlashObject (const std::string &url, WContainerWidget *parent=0)
| Constructs a Flash widget.
| ~WFlashObject ()
| Destructor.
virtual void | resize (const WLength &width, const WLength &height)
| Resizes the widget.
void | setFlashParameter (const std::string &name, const WString &value)
| Sets a Flash parameter.
void | setFlashVariable (const std::string &name, const WString &value)
| Sets a Flash variable.
std::string | jsFlashRef () const
| A JavaScript expression that returns the DOM node of the Flash object.
void | setAlternativeContent (WWidget *alternative)
| Sets content to be displayed if Flash is not available.

## Detailed Description

A widget that renders a Flash object (also known as Flash movie).

This class loads a .swf Flash file in the browser.

Usage example:

     WFlashObject *player = new WFlashObject("dummy.swf", parent);
     player->resize(300, 600);
     player->setFlashParameter("allowScriptAccess", "always");
     player->setFlashParameter("quality", "high");
     player->setFlashParameter("bgcolor", "#aaaaaa");
     player->setFlashVariable("someVar", "foo");

Flash objects must have their size set, so do not forget to call resize() after instantiation or your content will be invisible. Wt will modify width and height attributes of the Flash object if resize() is called after the object is instantiated; it is however not clear if this is permitted by the Flash plugin.

Any WWidget can be set with setAlternativeContent(), and this widget will be shown only when the browser has no Flash support. By default, a 'Download Flash' button will be displayed that links to a website where the Flash player can be downloaded. You may modify this to be any widget, such as a WImage, or a native Wt implementation of the Flash movie.

### CSS

Styling through CSS is not applicable.

## Constructor & Destructor Documentation

Wt::WFlashObject::~WFlashObject | ( |  | ) |

Destructor.

The Flash object is removed.

## Member Function Documentation

std::string Wt::WFlashObject::jsFlashRef | ( |  | ) | const

A JavaScript expression that returns the DOM node of the Flash object.

The Flash object is not stored in jsRef(), but in jsFlashRef(). Use this method in conjuction with WApplication::doJavaScript() or JSlot in custom JavaScript code to refer to the Flash content.

The expression returned by jsFlashRef() may be null, for example on IE when flash is not installed.

void Wt::WFlashObject::resize | ( | const WLength & | width,
|  | const WLength & | height
| ) |  | `[virtual]`

Resizes the widget.

Specifies a fixed size for this widget, setting CSS `width` and `height` properties. By default a widget has automatic width and height, which sets a size for the widget following CSS rules.

When the widget is not managed by a layout manager, the automatic (natural) size of a widget depends on whether they widget is a block or inline widget:

- a block widget takes by default the width of the parent, and the height that it needs based on its contents
- an inline widget takes the width and height that it needs based on its contents (possibly wrapping over multiple lines). The width and height of an inline widget cannot be changed (by the letter of CSS, although most browsers will react to it in varying ways).

When inserted in a layout manager, the size set will be used as a widget's preferred size, but the widget may be given a different size by the layout manager based on available space and stretch factors. The actual size given by a layout manager may be retrieved by making the widget "layout size aware", using setLayoutSizeAware(). If you have defined a `"wtResize()"` JavaScript method for the widget, then this method will also be called.

The default width and height of a widget is WLength::Auto.

See also:
  width(), height()

Reimplemented from Wt::WWebWidget.

void Wt::WFlashObject::setAlternativeContent | ( | WWidget * | alternative | ) |

Sets content to be displayed if Flash is not available.

Any widget can be a placeholder when Flash is not installed in the users browser. By default, this will show a 'Download Flash' button and link to the Flash download site.

Call this method with a NULL pointer to remove the alternative content.

void Wt::WFlashObject::setFlashParameter | ( | const std::string & | name,
|  | const WString & | value
| ) |  |

Sets a Flash parameter.

The Flash parameters are items such as quality, scale, menu, ... They are passed as PARAM objects to the Flash movie. See the adobe website for more information about these parameters: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_12701

Setting the same Flash parameter a second time will overwrite the previous value. Flash parameters can only be set before the widget is rendered for the first time, so it is recommended to call this method shortly after construction before returning to the idle loop.

void Wt::WFlashObject::setFlashVariable | ( | const std::string & | name,
|  | const WString & | value
| ) |  |

Sets a Flash variable.

This method is a helper function to set variable values in the flashvars parameter.

The flash variables will be properly encoded (URL encoding) before being passed to the flashvars parameter.

Setting the same Flash variable a second time will overwrite the previous value. Flash variables can only be set before the widget is rendered for the first time, so it is recommended to call this method shortly after construction before returning to the idle loop.

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator