std::string make_window_hierarchy_id_string(const window& w) { if (!w.has_parent()) { return w.get_id(); } else { std::string s = w.get_id(); const window* cw = &w; while (cw->has_parent()) { cw = &cw->get_parent(); s.insert(0, "."); s.insert(0, cw->get_id()); } return s; } }