]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfont.h
More fixes to insettabular/text (and some missing features added).
[lyx.git] / src / lyxfont.h
index 910782dcebdd74efaacd88a20c7d15e9e60a8d25..ad1a4a17f0eba7aa59e5fc2c1a8bf9b3f2404408 100644 (file)
@@ -207,6 +207,9 @@ public:
        ///
        FONT_MISC_STATE latex() const;
 
+       ///
+       FONT_MISC_STATE number() const;
+
        ///
        LColor::color color() const;
 
@@ -236,6 +239,8 @@ public:
        ///
        LyXFont & setLatex(LyXFont::FONT_MISC_STATE l);
        ///
+       LyXFont & setNumber(LyXFont::FONT_MISC_STATE n);
+       ///
        LyXFont & setColor(LColor::color c);
        ///
        LyXFont & setLanguage(Language const * l);
@@ -257,10 +262,12 @@ public:
 
        /// Sets color after LyX text format
        LyXFont & setLyXColor(string const &);
+
+#if 0
        /// Sets size after GUI name
        LyXFont & setGUISize(string const &);
+#endif
+       
        /// Returns size of font in LaTeX text notation
        string const latexSize() const;
  
@@ -357,6 +364,8 @@ private:
        FontBits bits;
        ///
        Language const * lang;
+       ///
+       FONT_MISC_STATE number_;
        
        /// Sane font
        static FontBits sane;
@@ -379,7 +388,8 @@ std::ostream & operator<<(std::ostream &, LyXFont::FONT_MISC_STATE);
 inline
 bool operator==(LyXFont const & font1, LyXFont const & font2) {
        return font1.bits == font2.bits &&
-               font1.lang == font2.lang;
+               font1.lang == font2.lang &&
+               font1.number_ == font2.number_;
 }
 
 ///
@@ -394,6 +404,7 @@ LyXFont::LyXFont()
 {
        bits = sane;
        lang = default_language;
+       number_ = OFF;
 }
 
 
@@ -402,6 +413,7 @@ LyXFont::LyXFont(LyXFont const & x)
 {
        bits = x.bits;
        lang = x.lang;
+       number_ = x.number_;
 }
 
 
@@ -410,6 +422,7 @@ LyXFont::LyXFont(LyXFont::FONT_INIT1)
 {
        bits = inherit;
        lang = default_language;
+       number_ = OFF;
 }
 
 
@@ -418,6 +431,7 @@ LyXFont::LyXFont(LyXFont::FONT_INIT2)
 {
        bits = ignore;
        lang = ignore_language;
+       number_ = IGNORE;
 }
 
 
@@ -426,6 +440,7 @@ LyXFont::LyXFont(LyXFont::FONT_INIT3)
 {
        bits = sane;
        lang = default_language;
+       number_ = OFF;
 }
 
 
@@ -434,6 +449,7 @@ LyXFont::LyXFont(LyXFont::FONT_INIT1, Language const * l)
 {
        bits = inherit;
        lang = l;
+       number_ = OFF;
 }
 
 
@@ -442,6 +458,7 @@ LyXFont::LyXFont(LyXFont::FONT_INIT2, Language const * l)
 {
        bits = ignore;
        lang = l;
+       number_ = IGNORE;
 }
 
 
@@ -450,6 +467,7 @@ LyXFont::LyXFont(LyXFont::FONT_INIT3, Language const * l)
 {
        bits = sane;
        lang = l;
+       number_ = OFF;
 }
 
 
@@ -458,6 +476,7 @@ LyXFont & LyXFont::operator=(LyXFont const & x)
 {
        bits = x.bits;
        lang = x.lang;
+       number_ = x.number_;
        return *this;
 }
 
@@ -532,6 +551,13 @@ Language const * LyXFont::language() const
 }
 
 
+inline
+LyXFont::FONT_MISC_STATE LyXFont::number() const 
+{
+       return number_;
+}
+
+
 inline
 bool LyXFont::isRightToLeft() const 
 {
@@ -542,7 +568,7 @@ bool LyXFont::isRightToLeft() const
 inline
 bool LyXFont::isVisibleRightToLeft() const 
 {
-       return (lang->RightToLeft() && latex() != ON);
+       return (lang->RightToLeft() && latex() != ON && number() != ON);
 }
 
 
@@ -624,4 +650,12 @@ LyXFont & LyXFont::setLanguage(Language const * l)
        return *this;
 }
 
+
+inline
+LyXFont & LyXFont::setNumber(LyXFont::FONT_MISC_STATE n)
+{
+       number_ = n;
+       return *this;
+}
+
 #endif