X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBranchList.h;h=0da9fe261f5e4b456dc55a784ce822c3aaa05d54;hb=7f17f13bfc2ad4e7cdd8ecfce23374e2b3d0c646;hp=184e3f3cf8ca7389df12fb8fe65573cb5aa86f0b;hpb=fb70c52b05182d861bd04e7711012c1580414e75;p=lyx.git diff --git a/src/BranchList.h b/src/BranchList.h index 184e3f3cf8..0da9fe261f 100644 --- a/src/BranchList.h +++ b/src/BranchList.h @@ -30,16 +30,22 @@ #ifndef BRANCHES_H #define BRANCHES_H -#include +#include "Color.h" + #include +namespace lyx { + + class Branch { public: /// - std::string const & getBranch() const; + Branch(); + /// + docstring const & getBranch() const; /// - void setBranch(std::string const &); + void setBranch(docstring const &); /// bool getSelected() const; /** Select/deselect the branch. @@ -47,18 +53,24 @@ public: */ bool setSelected(bool); /// - std::string const & getColor() const; + RGBColor const & getColor() const; /// + void setColor(RGBColor const &); + /** + * Set color from a string "#rrggbb". + * Use Color:background if the string is no valid color. + * This ensures compatibility with LyX 1.4.0 that had the symbolic + * color "none" that was displayed as Color:background. + */ void setColor(std::string const &); - private: /// - std::string branch_; + docstring branch_; /// bool selected_; /// - std::string color_; + RGBColor color_; }; @@ -69,10 +81,10 @@ public: typedef List::const_iterator const_iterator; /// - BranchList() : separator_("|") {} + BranchList() : separator_(from_ascii("|")) {} /// - bool empty() { return list.empty(); } + bool empty() const { return list.empty(); } /// void clear() { list.clear(); } /// @@ -81,36 +93,39 @@ public: /** \returns the Branch with \c name. If not found, returns 0. */ - Branch * find(std::string const & name); - Branch const * find(std::string const & name) const; + Branch * find(docstring const & name); + Branch const * find(docstring const & name) const; /** Add (possibly multiple (separated by separator())) branches to list * \returns true if a branch is added. */ - bool add(std::string const &); + bool add(docstring const &); /** remove a branch from list by name * \returns true if a branch is removed. */ - bool remove(std::string const &); + bool remove(docstring const &); private: /// List list; /// - std::string separator_; + docstring separator_; }; class BranchNamesEqual : public std::unary_function { public: - BranchNamesEqual(std::string const & name) + BranchNamesEqual(docstring const & name) : name_(name) {} bool operator()(Branch const & branch) const { return branch.getBranch() == name_; } private: - std::string name_; + docstring name_; }; + +} // namespace lyx + #endif