BParameterWeb

Derived from: BFlattenable

Declared in: be/media/ParameterWeb.h

Library: libmedia.so

Allocation: Constructor only

[method summary]

BParameterWeb serves as a container for information describing the relationships among the configurable parameters of a BControllable node. A BControllable subclass should, when constructed, create a BParameterWeb and populate it with controls through one or more BParameterGroups. This web of parameters describes the signal path within the node, and the points at which the node's manipulation of the data can be controlled.

The Audio control panel is actually derived from the BParameterWeb of the node currently selected as the default audio input node.

The BParameterWeb lets client applications query a node to determine how it can be configured, so the application can then create and display a user interface permitting the user to configure the node using standard user interface objects (like sliders, checkboxes, lines and arrows indicating the data path, and so forth).

By using the parameter web, device-independence is maintained without sacrificing the ability to create generic code to configure devices.

<<<THIS IS WHERE THE MAJOR DISCUSSION OF PARAMETER WEBS WILL GO>>>


Constructor and Destructor


BParameterWeb()

      BParameterWeb() 

The BParameterWeb constructor. You'll usually create one BParameterWeb object per BControllable node; to attach a BParameterWeb to a BControllable node, you should call BControllable::SetParameterWeb().


~BParameterWeb()

      ~BParameterWeb() 

Once you've called BControllable::SetParameterWeb(), the node takes responsibility for the parameter web object and you shouldn't delete it.

If you don't call BControllable::SetParameterWeb(), then delete the BParameterWeb object when you're done with it.


Member Functions


CountGroups()

      int32 CountGroups(void)

Returns the number of BParameterGroup objects that are currently attached to the BParameterWeb.


CountParameters()

      int32 CountParameters(void)

Returns the number of BParameters in the entire web, including those in all BParameterGroups attached to it.


GroupAt()

      BParameterGroup *GroupAt(int32 index)

Returns the BParameterGroup located at the specified index within the list of groups contained by the BParameterWeb.

The first group is numbered 0, so the maximum legal value for index is CountGroups()-1. If the specified index is outside that range, NULL is returned.


MakeGroup()

      BParameterGroup *MakeGroup(const char *name)

Creates a new BParameterGroup object to be used for grouping parameters within the BParameterWeb, and attaches it to the BParameterWeb.

All BParameters created in the group will belong to that group, and, by recursion, to the web itself.

You can nest BParameterGroups if you want to; however, BParameters can't be shared among multiple groups.


Node()

      media_node Node(void)

Returns the media_node for the BControllable node that owns this BParameterWeb object.

If the BParameterWeb hasn't been attached to a BControllable node yet, media_node::null is returned.


ParameterAt()

      BParameter *ParameterAt(int32 index)

Returns the BParameter at the specified index within the entire BParameterWeb, including those in all attached groups. The first parameter is numbered 0, so the maximum legal value for index is CountParameters()-1. If the specified index is outside that range, NULL is returned.






The Be Book, in lovely HTML, for BeOS Release 4.

Copyright © 1998 Be, Inc. All rights reserved.

Last modified November 3, 1998.