From fd09dc0ab2a1dcff3075c4562359011f28914fe3 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 17 Mar 2014 09:58:15 +0000 Subject: [PATCH] Add output() and write() to ButtonMap --- panda/src/putil/buttonMap.cxx | 29 +++++++++++++++++++++++++++++ panda/src/putil/buttonMap.h | 3 +++ 2 files changed, 32 insertions(+) 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 = "");