Vultraz

Untitled

Feb 6th, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.79 KB | None | 0 0
  1. tgroup* twindow::add_group(const std::string& id)
  2. {
  3.     FOREACH(const AUTO & group, groups_)
  4.     {
  5.         if(group.id() == id) {
  6.             // TODO: add error?
  7.             return NULL;
  8.         }
  9.     }
  10.  
  11.     groups_.push_back(*(new tgroup(id)));
  12.  
  13.     return groups_.last();
  14. }
  15.  
  16. void twindow::add_to_group(tgroup* group, twidget* widget)
  17. {
  18.     group.add_member(widget);
  19. }
  20.  
  21. tgroup* twindow::add_to_group(const std::string& group_id, twidget* widget,
  22.         const bool create_if_nonexistant)
  23. {
  24.     FOREACH(AUTO & group, groups_)
  25.     {
  26.         if(group.id() == group_id) {
  27.             group.add_member(widget);
  28.  
  29.             return &group;
  30.         }
  31.     }
  32.  
  33.     if(create_if_nonexistant) {
  34.         tgroup* new_group = add_group(group_id);
  35.         assert(new_group);
  36.  
  37.         add_to_group(new_group, widget);
  38.  
  39.         return new_group;
  40.     } else {
  41.         // TODO: add error?
  42.     }
  43.  
  44.     return NULL;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment