]> git.lyx.org Git - lyx.git/blobdiff - src/BranchList.h
Avoid full metrics computation with Update:FitCursor
[lyx.git] / src / BranchList.h
index 2c6d0eb578385632d0f64ddf9bb1d3f37f4a79f3..7bf435217de502f102a968bd4c1ce8a2ea1c296c 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "support/docstring.h"
 
+#include <cstdlib> // rand()
 #include <list>
 
 
@@ -43,7 +44,7 @@ namespace lyx {
 class Branch {
 public:
        ///
-       Branch();
+       Branch() {}
        ///
        docstring const & branch() const;
        ///
@@ -61,6 +62,8 @@ public:
        /// Select/deselect filename suffix property.
        void setFileNameSuffix(bool);
        ///
+       void setListID(int const id) { branch_list_id_ = id; }
+       ///
        std::string const & color() const;
        ///
        std::string const & lightModeColor() const;
@@ -77,18 +80,22 @@ public:
        /// 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_;
+       std::string lmcolor_ = "background";
        /// dark mode background color
-       std::string dmcolor_;
+       std::string dmcolor_ = "background";
+       ///
+       int branch_list_id_ = 0;
 };
 
 
@@ -99,11 +106,14 @@ 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(); }
        ///
@@ -139,6 +149,8 @@ private:
        List list_;
        ///
        docstring separator_;
+       ///
+       int id_;
 };
 
 } // namespace lyx