]> git.lyx.org Git - lyx.git/blobdiff - src/BranchList.h
english_language was not used at all.
[lyx.git] / src / BranchList.h
index 610e97fd48009296c2cb3789ca4cad883286ab79..68cc46cebc8bad7715993f5ba9304c825438d2ae 100644 (file)
 #ifndef BRANCHES_H
 #define BRANCHES_H
 
-#include <string>
+#include "ColorCode.h"
+
+#include "support/docstring.h"
+
 #include <list>
 
 
+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 +55,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,7 +83,7 @@ public:
        typedef List::const_iterator const_iterator;
 
        ///
-       BranchList() : separator_("|") {}
+       BranchList() : separator_(from_ascii("|")) {}
 
        ///
        bool empty() const { return list.empty(); }
@@ -81,36 +95,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<Branch, bool> {
 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