lyx_mirror/src/frontends/qt4/GuiCharacter.h
Abdelrazak Younes 42015a8ebd Transfer some more dialog related code from core to frontend:
- LFUN_INSET_APPLY handling goes to GuiView.
- Dialog needs a GuiView instead of a LyXView.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21734 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-23 09:44:02 +00:00

129 lines
2.3 KiB
C++

// -*- C++ -*-
/**
* \file GuiCharacter.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Angus Leeming
* \author Edwin Leuven
* \author John Levon
*
* Full author contact details are available in file CREDITS.
*/
#ifndef GUICHARACTER_H
#define GUICHARACTER_H
#include "GuiDialog.h"
#include "ui_CharacterUi.h"
#include "qt_helpers.h" // for LanguagePair
#include "Font.h"
#include <vector>
namespace lyx {
namespace frontend {
enum FontState {
///
IGNORE,
///
EMPH_TOGGLE,
///
UNDERBAR_TOGGLE,
///
NOUN_TOGGLE,
///
INHERIT
};
typedef std::pair<QString, FontFamily> FamilyPair;
typedef std::pair<QString, FontSeries> SeriesPair;
typedef std::pair<QString, FontShape> ShapePair;
typedef std::pair<QString, FontSize> SizePair;
typedef std::pair<QString, FontState> BarPair;
typedef std::pair<QString, ColorCode> ColorPair;
class GuiCharacter : public GuiDialog, public Ui::CharacterUi
{
Q_OBJECT
public:
GuiCharacter(GuiView & lv);
protected Q_SLOTS:
void change_adaptor();
private:
void closeEvent(QCloseEvent * e);
/// Apply changes
void applyView();
/// update
void updateContents();
std::vector<FamilyPair> family;
std::vector<SeriesPair> series;
std::vector<ShapePair> shape;
std::vector<SizePair> size;
std::vector<BarPair> bar;
std::vector<ColorPair> color;
std::vector<LanguagePair> language;
///
bool initialiseParams(std::string const & data);
///
void clearParams() {}
///
void dispatchParams();
///
bool isBufferDependent() const { return true; }
///
kb_action getLfun() const { return LFUN_FONT_FREE_UPDATE; }
///
void setFamily(FontFamily);
///
void setSeries(FontSeries);
///
void setShape(FontShape);
///
void setSize(FontSize);
///
void setBar(FontState);
///
void setColor(ColorCode);
///
void setLanguage(std::string const &);
///
FontFamily getFamily() const;
///
FontSeries getSeries() const;
///
FontShape getShape() const;
///
FontSize getSize() const;
///
FontState getBar() const;
///
ColorCode getColor() const;
///
std::string getLanguage() const;
private:
///
Font font_;
///
bool toggleall_;
/// If true the language should be reset.
/// If false the language of font_ is used.
bool reset_lang_;
};
} // namespace frontend
} // namespace lyx
#endif // GUICHARACTER_H