diff --git a/panda/src/putil/buttonMap.cxx b/panda/src/putil/buttonMap.cxx index 9d890233e1..40f609760c 100644 --- a/panda/src/putil/buttonMap.cxx +++ b/panda/src/putil/buttonMap.cxx @@ -36,3 +36,32 @@ map_button(ButtonHandle raw_button, ButtonHandle button, const string &label) { _button_map[index] = bnode; _buttons.push_back(&_button_map[index]); } + +//////////////////////////////////////////////////////////////////// +// Function: ButtonMap::output +// Access: Published +// Description: +//////////////////////////////////////////////////////////////////// +void ButtonMap:: +output(ostream &out) const { + out << "ButtonMap (" << get_num_buttons() << " buttons)"; +} + +//////////////////////////////////////////////////////////////////// +// Function: ButtonMap::write +// Access: Published +// Description: +//////////////////////////////////////////////////////////////////// +void ButtonMap:: +write(ostream &out, int indent_level) const { + indent(out, indent_level) + << "ButtonMap, " << get_num_buttons() << " buttons:\n"; + + pvector::const_iterator it; + for (it = _buttons.begin(); it != _buttons.end(); ++it) { + const ButtonNode *bn = *it; + + indent(out, indent_level + 2) + << bn->_raw << " -> " << bn->_mapped << " \"" << bn->_label << "\"\n"; + } +} diff --git a/panda/src/putil/buttonMap.h b/panda/src/putil/buttonMap.h index 9b6e765e62..4959a45265 100644 --- a/panda/src/putil/buttonMap.h +++ b/panda/src/putil/buttonMap.h @@ -42,6 +42,9 @@ PUBLISHED: INLINE const string &get_mapped_button_label(ButtonHandle raw) const; INLINE const string &get_mapped_button_label(const string &raw_name) const; + void output(ostream &out) const; + void write(ostream &out, int indent_level = 0) const; + public: void map_button(ButtonHandle raw_button, ButtonHandle button, const string &label = "");