]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormCharacter.h
Reorganised, cleaned-up and improved documentation of controllers.
[lyx.git] / src / frontends / xforms / FormCharacter.h
1 /** 
2  * \file FormCharacter.h
3  * Copyright 2001 The LyX Team.
4  * See the file COPYING.
5  * 
6  * \author Edwin Leuven, leuven@fee.uva.nl
7  * \author Angus Leeming, a.leeming@.ac.uk
8  */
9
10 #ifndef FORM_CHARACTER_H
11 #define FORM_CHARACTER_H
12
13 #include <boost/smart_ptr.hpp>
14
15 #ifdef __GNUG_
16 #pragma interface
17 #endif
18
19 #include "FormBase.h"
20 #include "lyxfont.h"          // for LyXFont enums
21 #include "ControlCharacter.h" // for ControlCharacter enum
22 #include "LColor.h"           // for LColor enum
23
24 class Combox;
25 struct FD_form_character;
26
27 /** 
28  * This class provides an XForms implementation of the FormCharacter Dialog.
29  * The character dialog allows users to change the character settings
30  * in their documents.
31  */
32 class FormCharacter
33         : public FormCB<ControlCharacter, FormDB<FD_form_character> > {
34 public:
35         ///
36         FormCharacter(ControlCharacter &);
37 private:
38
39         /// Build the popup
40         virtual void build();
41    
42         /// Apply from popup
43         virtual void apply();
44    
45         /// Nothing to update...
46         virtual void update() {}
47
48         /** Callback method (used only to activate Apply button when
49             combox is changed */
50         static void ComboInputCB(int, void *, Combox *);
51
52         /// Type definition from the fdesign produced header file.
53         FD_form_character * build_character();
54         
55         ///
56         boost::scoped_ptr<Combox> combo_language2_;
57         ///
58         std::vector<LyXFont::FONT_FAMILY>         family_;
59         ///
60         std::vector<LyXFont::FONT_SERIES>         series_;
61         ///
62         std::vector<LyXFont::FONT_SHAPE>          shape_;
63         ///
64         std::vector<LyXFont::FONT_SIZE>           size_;
65         ///
66         std::vector<ControlCharacter::FONT_STATE> bar_;
67         ///
68         std::vector<LColor::color>                color_;
69 };
70
71 #endif