]> git.lyx.org Git - lyx.git/blobdiff - src/BranchList.h
Change cursor shape for clickable math insets
[lyx.git] / src / BranchList.h
index 1438f8275a5203be8ed89d3f7b5fb96eb7442f4e..60e6b8d26c205f1b3c26ca28afd2785500004732 100644 (file)
@@ -43,7 +43,7 @@ namespace lyx {
 class Branch {
 public:
        ///
-       Branch();
+       Branch() {}
        ///
        docstring const & branch() const;
        ///
@@ -61,26 +61,40 @@ public:
        /// Select/deselect filename suffix property.
        void setFileNameSuffix(bool);
        ///
-       RGBColor const & color() const;
+       void setListID(int const id) { branch_list_id_ = id; }
        ///
-       void setColor(RGBColor const &);
+       std::string const & color() const;
+       ///
+       std::string const & lightModeColor() const;
+       ///
+       std::string const & darkModeColor() const;
        /**
-        * Set color from a string "#rrggbb".
+        * Set background color from a hexcolor string "#rrggbb" or a lyx color name.
         * 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.
+        * This sets the dark color if in dark mode, else the light color.
         */
-       void setColor(std::string const &);
+       void setColor(std::string const & color);
+       /// Set dark and light background colors
+       void setColors(std::string const & color,
+                     std::string const & dmcolor = std::string());
+       ///
+       int listID() const { return branch_list_id_; }
 
 private:
        ///
        docstring branch_;
        ///
-       bool selected_;
+       bool selected_ = false;
        ///
-       bool filenameSuffix_;
+       bool filenameSuffix_ = false;
+       /// light mode background color
+       std::string lmcolor_ = "background";
+       /// dark mode background color
+       std::string dmcolor_ = "background";
        ///
-       RGBColor color_;
+       int branch_list_id_ = 0;
 };
 
 
@@ -91,15 +105,21 @@ public:
        typedef List::const_iterator const_iterator;
 
        ///
-       BranchList() : separator_(from_ascii("|")) {}
+       BranchList() : separator_(from_ascii("|")), id_(rand()) {}
+
+       ///
+       docstring separator() const { return separator_; }
+
+       ///
+       int id() const { return id_; }
 
        ///
-       bool empty() const { return list.empty(); }
+       bool empty() const { return list_.empty(); }
        ///
-       void clear() { list.clear(); }
+       void clear() { list_.clear(); }
        ///
-       const_iterator begin() const { return list.begin(); }
-       const_iterator end() const { return list.end(); }
+       const_iterator begin() const { return list_.begin(); }
+       const_iterator end() const { return list_.end(); }
 
        /** \returns the Branch with \c name. If not found, returns 0.
         */
@@ -125,9 +145,11 @@ public:
 
 private:
        ///
-       List list;
+       List list_;
        ///
        docstring separator_;
+       ///
+       int id_;
 };
 
 } // namespace lyx