]> git.lyx.org Git - lyx.git/blobdiff - src/LColor.h
Fix for bug: #260 special rules if partially linking
[lyx.git] / src / LColor.h
index 57e29fc8e418b82e3d787b29a3c037dea8924c40..ab1d52fcae74d246ed850a6f1ceba447cc55379f 100644 (file)
@@ -4,7 +4,7 @@
  * 
  *           LyX, The Document Processor
  *      
- *         Copyright 1998-2000 The LyX Team
+ *         Copyright 1998-2001 The LyX Team
  *
  *======================================================*/
 
   It has one basic purposes:
   To serve as a color-namespace container (the Color enum).
   
-  A color can be one of the following kinds:
-
-  - A real, predefined color, such as black, white, red or green.
-  - A logical color, such as no color, inherit, math
 
   */
-
-class LColor {
+/**
+ * \class LColor
+ *
+ * A class holding color definitions and associated names for
+ * LaTeX, X11, the GUI, and LyX internally.
+ *
+ * A color can be one of the following kinds:
+ *
+ * - A real, predefined color, such as black, white, red or green.
+ * - A logical color, such as no color, inherit, math
+ */
+class LColor // : public boost::noncopyable {
+// made copyable for same reasons as LyXRC was made copyable. See there for
+// explanation.
+{
 public:
        /// Names of colors, including all logical colors
        enum color {
@@ -55,8 +65,10 @@ public:
                ///
                yellow,
 
-               /// Needed interface colors
+               // Needed interface colors
 
+               /// Cursor color
+               cursor,
                /// Background color
                background,
                /// Foreground color
@@ -65,19 +77,17 @@ public:
                selection,
                /// Text color in LaTeX mode
                latex,
-               /// Titles color of floats
-               floats,
 
                /// Text color for notes
                note,
                /// Background color of notes
                notebg,
-               /// Frame color for notes
-               noteframe,
 
 
                /// Color for the depth bars in the margin
                depthbar,
+               /// Color for marking foreign language words
+               language,
 
                /// Text color for command insets
                command,
@@ -86,23 +96,17 @@ public:
                /// Frame color for command insets
                commandframe,
 
-               /// Text color for accents we can't handle nicely
-               accent,
-               ///
-               accentbg,
-               ///
-               accentframe,
-
-               /// Minipage line color
-               minipageline,
-
                /// Special chars text color
                special,
 
+               /// Graphics inset background color
+               graphicsbg,
                /// Math inset text color
                math,
                /// Math inset background color
                mathbg,
+               /// Macro math inset background color
+               mathmacrobg,
                /// Math inset frame color
                mathframe,
                /// Math cursor color
@@ -110,18 +114,14 @@ public:
                /// Math line color
                mathline,
 
-               /// Footnote marker text
-               footnote,
-               /// Footnote marker background color
-               footnotebg,
-               /// Footnote line color
-               footnoteframe,
-
-               /// ERT marker text
-               ert,
-               
-               /// Text color for inset marker
-               inset,
+               /// caption frame color
+               captionframe,
+               /// collapsable insets text
+               collapsable,
+               /// collapsable insets frame
+               collapsableframe,
+
                /// Inset marker background color
                insetbg,
                /// Inset marker frame color
@@ -131,15 +131,13 @@ public:
                error,
                /// EOL marker color
                eolmarker,
+               /// Added space colour
+               added_space,
                /// Appendix line color
                appendixline,
-               /// VFill line color
-               vfillline,
                /// Top and bottom line color
                topline,
                /// Table line color
-               tableline,
-               /// Table line color
                tabularline,
                /// Table line color
                tabularonoffline,
@@ -148,6 +146,7 @@ public:
                /// Page break color
                pagebreak,
 
+               // FIXME: why are the next four separate ??
                /// Color used for top of boxes
                top,
                /// Color used for bottom of boxes
@@ -159,7 +158,7 @@ public:
                /// Color used for bottom background
                buttonbg,
 
-               /// Logical attributes
+               // Logical attributes
 
                /// Color is inherited
                inherit,
@@ -169,43 +168,54 @@ public:
 
        ///
        LColor();
-       ///
+       /// set the given LyX color to the color defined by the X11 name given
        void setColor(LColor::color col, string const & x11name);
+       /// set the given LyX color to the color defined by the X11 name given
+       bool setColor(string const & lyxname, string const & x11name);
        /// Get GUI name of color
-       string getGUIName(LColor::color c) const;
-
+       string const getGUIName(LColor::color c) const;
        /// Get X11 name of color
-       string getX11Name(LColor::color c) const;
-
+       string const getX11Name(LColor::color c) const;
        /// Get LaTeX name of color
-       string getLaTeXName(LColor::color c) const;
-
+       string const getLaTeXName(LColor::color c) const;
        /// Get LyX name of color
-       string getLyXName(LColor::color c) const;
-       ///
+       string const getLyXName(LColor::color c) const;
+       /// get the color from the GUI name
        LColor::color getFromGUIName(string const & guiname) const;
-       ///
+       /// get the color from the LyX name
        LColor::color getFromLyXName(string const & lyxname) const;
 private:
        ///
        struct information {
+               /// the name as it appears in the GUI
                string guiname;
+               /// the name used in LaTeX
                string latexname;
+               /// the name for X11
                string x11name;
+               /// the name for LyX
                string lyxname;
        };
 
-       ///
+       /// initialise a color entry
        void fill(LColor::color col, string const & gui,
                  string const & latex, string const & x11,
                  string const & lyx);
 
        ///
        typedef std::map<LColor::color, information> InfoTab;
-
+       /// the table of color information
        InfoTab infotab;
 };
 
+/// the current color definitions
 extern LColor lcolor;
+/// the system color definitions
+extern LColor system_lcolor;
 
 #endif