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.
7 #ifndef APPEARANCE_PREF_VIEW_H
8 #define APPEARANCE_PREF_VIEW_H
11 #include <GroupView.h>
12 #include <Messenger.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';
45 class AppearancePrefView
: public BGroupView
{
47 AppearancePrefView(const char* name
,
48 const BMessenger
&messenger
);
50 virtual void Revert();
51 virtual void MessageReceived(BMessage
* message
);
52 virtual void AttachedToWindow();
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
,
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