repository_infos: Enable automatic updates on the main Haiku repostiory.
[haiku.git] / src / apps / fontdemo / ControlView.h
blobf944ea0387d66f5a4d8eb7300c47967169ee060a
1 /*
2 * Copyright 2006, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
5 * Authors:
6 * Mikael Konradson, mikael.konradson@gmail.com
7 */
8 #ifndef CONTROL_VIEW_H
9 #define CONTROL_VIEW_H
12 #include <GroupView.h>
15 class BButton;
16 class BCheckBox;
17 class BHandler;
18 class BLooper;
19 class BMenu;
20 class BMenuField;
21 class BMessageRunner;
22 class BMessenger;
23 class BSlider;
24 class BTextControl;
27 class ControlView : public BGroupView {
28 public:
29 ControlView();
30 virtual ~ControlView();
32 virtual void AttachedToWindow();
33 virtual void Draw(BRect updateRect);
34 virtual void MessageReceived(BMessage* message);
35 void SetTarget(BHandler* handler);
37 private:
38 void _AddFontMenu();
39 void _AddDrawingModeMenu();
40 void _UpdateFontmenus(bool setInitialfont = false);
41 void _DeselectOldItems();
43 void _UpdateAndSendFamily(const BMessage* message);
44 void _UpdateAndSendStyle(const BMessage* message);
46 BMessenger* fMessenger;
47 BMessageRunner* fMessageRunner;
48 BTextControl* fTextControl;
49 BMenuField* fFontMenuField;
50 BSlider* fFontsizeSlider;
51 BSlider* fShearSlider;
52 BSlider* fRotationSlider;
53 BSlider* fSpacingSlider;
54 BSlider* fOutlineSlider;
55 BCheckBox* fAliasingCheckBox;
56 BCheckBox* fBoundingboxesCheckBox;
57 BButton* fCyclingFontButton;
58 BMenu* fFontFamilyMenu;
59 BMenu* fDrawingModeMenu;
60 bool fCycleFonts;
61 int32 fFontStyleindex;
64 #endif // CONTROL_VIEW_H