Implement an assignment operator on gui2::legacy_menu_item

This commit is contained in:
Ignacio R. Morelle 2010-11-15 20:24:27 +00:00
parent c31a9d36ed
commit 895f6b333c
2 changed files with 15 additions and 2 deletions

View File

@ -20,8 +20,12 @@ namespace gui2 {
legacy_menu_item::legacy_menu_item(const std::string& str)
: icon_(), label_(str), desc_(), default_(false)
{
if(label_.empty()) {
return;
}
// Handle selection.
if(!label_.empty() && label_[0] == '*') {
if(label_[0] == '*') {
default_ = true;
label_.erase(0, 1);
}

View File

@ -41,7 +41,7 @@ class legacy_menu_item
* with special meanings for certain characters.
*/
public:
legacy_menu_item(const std::string& str);
legacy_menu_item(const std::string& str = std::string());
const std::string& icon() const {
return icon_;
@ -59,6 +59,15 @@ public:
return default_;
}
legacy_menu_item& operator=(const legacy_menu_item& o) {
if(&o != this) {
icon_ = o.icon_;
label_ = o.label_;
desc_ = o.desc_;
}
return *this;
}
private:
std::string icon_, label_, desc_;
bool default_;