X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBranchList.h;h=60e6b8d26c205f1b3c26ca28afd2785500004732;hb=eeb36e808c9726fd3689926a3c20457e3b801341;hp=21f8d05303d6b4fd86791bbdbe4ea58c14d2613e;hpb=e6f922009f6311b561a1a3fa830f9eb3024d7902;p=lyx.git diff --git a/src/BranchList.h b/src/BranchList.h index 21f8d05303..60e6b8d26c 100644 --- a/src/BranchList.h +++ b/src/BranchList.h @@ -3,11 +3,25 @@ * \file BranchList.h * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. + * * \author Martin Vermeer * * Full author contact details are available in file CREDITS. - * - * + */ + +#ifndef BRANCHLIST_H +#define BRANCHLIST_H + +#include "ColorCode.h" + +#include "support/docstring.h" + +#include + + +namespace lyx { + +/** * \class Branch * * A class describing a 'branch', i.e., a named alternative for @@ -15,34 +29,21 @@ * other parts. * * A branch has a name, can either be selected or not, and uses a - * user-specifyable background colour. All these can be set and + * user-specifiable background colour. All these can be set and * queried. * * \class BranchList * * A class containing a vector of all defined branches within a - * document. Has methods for selecting or deselecting branches by + * document. It has methods for selecting or deselecting branches by * name, for outputting a '|'-separated string of all elements or only * the selected ones, and for adding and removing elements. */ - -#ifndef BRANCHLIST_H -#define BRANCHLIST_H - -#include "ColorCode.h" - -#include "support/docstring.h" - -#include - - -namespace lyx { - class Branch { public: /// - Branch(); + Branch() {} /// docstring const & branch() const; /// @@ -56,30 +57,44 @@ public: /** If true, the branch name will be appended * to the output file name. */ - bool hasFilenameSuffix() const; + bool hasFileNameSuffix() const; /// Select/deselect filename suffix property. - void setFilenameSuffix(bool); + void setFileNameSuffix(bool); + /// + void setListID(int const id) { branch_list_id_ = id; } + /// + std::string const & color() const; /// - RGBColor const & color() const; + std::string const & lightModeColor() const; /// - void setColor(RGBColor 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; }; @@ -90,15 +105,21 @@ public: typedef List::const_iterator const_iterator; /// - BranchList() : separator_(from_ascii("|")) {} + BranchList() : separator_(from_ascii("|")), id_(rand()) {} /// - bool empty() const { return list.empty(); } + docstring separator() const { return separator_; } + /// - void clear() { list.clear(); } + int id() const { return id_; } + + /// + bool empty() const { return list_.empty(); } /// - const_iterator begin() const { return list.begin(); } - const_iterator end() const { return list.end(); } + void clear() { list_.clear(); } + /// + 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. */ @@ -120,13 +141,15 @@ public: */ bool rename(docstring const &, docstring const &, bool const merge = false); /// get the complete filename suffix - docstring getFilenameSuffix() const; + docstring getFileNameSuffix() const; private: /// - List list; + List list_; /// docstring separator_; + /// + int id_; }; } // namespace lyx