15 #include "buttonNode.h"
16 #include "config_device.h"
17 #include "dataNodeTransmit.h"
18 #include "buttonEventList.h"
29 ButtonNode(
ClientBase *client,
const string &device_name) :
32 _button_events_output = define_output(
"button_events", ButtonEventList::get_class_type());
41 <<
"Unable to open button device " << device_name <<
"\n";
45 if (!device->is_of_type(ClientButtonDevice::get_class_type())) {
47 <<
"Inappropriate device type " << device->get_type()
48 <<
" created; expected a ClientButtonDevice.\n";
73 output(ostream &out)
const {
74 DataNode::output(out);
79 _button->output_buttons(out);
91 write(ostream &out,
int indent_level)
const {
92 DataNode::write(out, indent_level);
96 _button->write_buttons(out, indent_level + 2);
121 (*_button_events) = (*_button->get_button_events());
123 _button->get_button_events()->clear();
The fundamental type of node for the data graph.
An optional parameter associated with an event.
void set_data(int index, const EventParameter &data)
Sets the data for the indicated parameter.
An abstract base class for a family of client device interfaces–including trackers, buttons, dials, and other analog inputs.
TypeHandle is the identifier used to differentiate C++ class types.
Encapsulates the data generated from (or sent into) any particular DataNode.
Any of a number of different devices that might be attached to a ClientBase, including trackers...
This object supervises the traversal of the data graph and the moving of data from one DataNode to it...