HaikuDepot: notify work status from main window
[haiku.git] / src / apps / terminal / AppearPrefView.h
blob5482937ca78bcd8731f2e462b56647ac219f2b2e
1 /*
2 * Copyright 2001-2010, Haiku, Inc.
3 * Copyright 2003-2004 Kian Duffy, myob@users.sourceforge.net
4 * Parts Copyright 1998-1999 Kazuho Okui and Takashi Murai.
5 * All rights reserved. Distributed under the terms of the MIT license.
6 */
7 #ifndef APPEARANCE_PREF_VIEW_H
8 #define APPEARANCE_PREF_VIEW_H
11 #include <GroupView.h>
12 #include <Messenger.h>
13 #include <String.h>
16 static const uint32 MSG_HALF_FONT_CHANGED = 'mchf';
17 static const uint32 MSG_HALF_SIZE_CHANGED = 'mchs';
18 static const uint32 MSG_FULL_FONT_CHANGED = 'mcff';
19 static const uint32 MSG_FULL_SIZE_CHANGED = 'mcfs';
20 static const uint32 MSG_COLOR_FIELD_CHANGED = 'mccf';
21 static const uint32 MSG_COLOR_CHANGED = 'mcbc';
22 static const uint32 MSG_COLOR_SCHEME_CHANGED = 'mccs';
24 static const uint32 MSG_TAB_TITLE_SETTING_CHANGED = 'mtts';
25 static const uint32 MSG_WINDOW_TITLE_SETTING_CHANGED = 'mwts';
26 static const uint32 MSG_BLINK_CURSOR_CHANGED = 'mbcc';
27 static const uint32 MSG_ALLOW_BOLD_CHANGED = 'mabc';
28 static const uint32 MSG_WARN_ON_EXIT_CHANGED = 'mwec';
29 static const uint32 MSG_COLS_CHANGED = 'mccl';
30 static const uint32 MSG_HISTORY_CHANGED = 'mhst';
31 // TODO MSG_ENCODING_CHANGED?
33 static const uint32 MSG_PREF_MODIFIED = 'mpmo';
36 struct color_scheme;
37 class BCheckBox;
38 class BColorControl;
39 class BMenu;
40 class BMenuField;
41 class BPopUpMenu;
42 class BTextControl;
45 class AppearancePrefView : public BGroupView {
46 public:
47 AppearancePrefView(const char* name,
48 const BMessenger &messenger);
50 virtual void Revert();
51 virtual void MessageReceived(BMessage* message);
52 virtual void AttachedToWindow();
54 private:
55 void _ChangeColorScheme(color_scheme* scheme);
56 void _SetCurrentColorScheme();
57 void _SetEncoding(const char* encoding);
58 void _SetWindowSize(int rows, int cols);
60 static BMenu* _MakeFontMenu(uint32 command,
61 const char* defaultFamily,
62 const char* defaultStyle);
63 static BMenu* _MakeFontSizeMenu(const char* label,
64 uint32 command,
65 const char* family,
66 const char* style,
67 const char* size);
69 static BPopUpMenu* _MakeMenu(uint32 msg, const char** items,
70 const char* defaultItem);
72 static BPopUpMenu* _MakeColorSchemeMenu(uint32 msg,
73 const color_scheme** schemes,
74 const color_scheme* defaultItemName);
76 void _MarkSelectedFont(const char* family,
77 const char* style, const char* size);
79 BCheckBox* fBlinkCursor;
80 BCheckBox* fAllowBold;
81 BCheckBox* fWarnOnExit;
82 BMenuField* fFontField;
84 BMenuField* fWindowSizeField;
85 BMenuField* fEncodingField;
87 BMenuField* fColorSchemeField;
88 BMenuField* fColorField;
89 BColorControl* fColorControl;
91 BTextControl* fTabTitle;
92 BTextControl* fWindowTitle;
94 BMessenger fTerminalMessenger;
98 #endif // APPEARANCE_PREF_VIEW_H