]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/controllers/ControlCharacter.h
The reference dialog now disconnects from the inset on Apply. Its behaviour
[lyx.git] / src / frontends / controllers / ControlCharacter.h
index 4eb44ca0b681d40d7aad34a71c204cbc526cb3d1..b479886633e43986a87b0deee35948a28aa4a19e 100644 (file)
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 /**
  * \file ControlCharacter.h
  * Copyright 2001 The LyX Team.
 #ifndef CONTROLCHARACTER_H
 #define CONTROLCHARACTER_H
 
+#include <boost/smart_ptr.hpp>
+
 #ifdef __GNUG__
 #pragma interface
 #endif
 
 #include "ControlDialogs.h"
-#include "lyxfont.h"
-#include "LColor.h"
+#include "character.h"
 
 /** A controller for Character dialogs.
  */
 class ControlCharacter : public ControlDialog<ControlConnectBD>
 {
 public:
-       ///
-       enum FONT_STATE {
-               ///
-               IGNORE,
-               ///
-               EMPH_TOGGLE,
-               ///
-               UNDERBAR_TOGGLE,
-               ///
-               NOUN_TOGGLE,
-               ///
-               LATEX_TOGGLE,
-               ///
-               INHERIT
-       };
-       
-       ///
-       typedef std::pair<string, LyXFont::FONT_FAMILY> FamilyPair;
-       ///
-       typedef std::pair<string, LyXFont::FONT_SERIES> SeriesPair;
-       ///
-       typedef std::pair<string, LyXFont::FONT_SHAPE>  ShapePair;
-       ///
-       typedef std::pair<string, LyXFont::FONT_SIZE>   SizePair;
-       ///
-       typedef std::pair<string, FONT_STATE> BarPair;
-       ///
-       typedef std::pair<string, LColor::color> ColorPair;
-
        ///
        ControlCharacter(LyXView &, Dialogs &);
 
@@ -63,7 +36,7 @@ public:
        ///
        void setSize(LyXFont::FONT_SIZE);
        ///
-       void setBar(FONT_STATE);
+       void setBar(character::FONT_STATE);
        ///
        void setColor(LColor::color);
        ///
@@ -71,32 +44,33 @@ public:
        ///
        void setToggleAll(bool);
 
-protected:
+       ///
+       LyXFont::FONT_FAMILY getFamily() const;
+       ///
+       LyXFont::FONT_SERIES getSeries() const;
+       ///
+       LyXFont::FONT_SHAPE getShape() const;
+       ///
+       LyXFont::FONT_SIZE getSize() const;
+       ///
+       character::FONT_STATE getBar() const;
+       ///
+       LColor::color getColor() const;
+       ///
+       string getLanguage() const;
+       ///
+       bool getToggleAll() const;
+
+private:
        /// Get changed parameters and Dispatch them to the kernel.
        virtual void apply();
        /// set the params before show or update.
        virtual void setParams();
-       /// clean-up on hide.
-       virtual void clearParams();
 
-private:
-       LyXFont * font_;
+       ///
+       boost::scoped_ptr<LyXFont> font_;
+       ///
        bool toggleall_;
 };
 
-/// Helper functions
-std::vector<ControlCharacter::FamilyPair> const getFamilyData();
-///
-std::vector<ControlCharacter::SeriesPair> const getSeriesData();
-///
-std::vector<ControlCharacter::ShapePair>  const getShapeData();
-///
-std::vector<ControlCharacter::SizePair>   const getSizeData();
-///
-std::vector<ControlCharacter::BarPair>    const getBarData();
-///
-std::vector<ControlCharacter::ColorPair>  const getColorData();
-///
-std::vector<string> const getLanguageData();
-
 #endif // CONTROLCHARACTER_H