blob: 17a73a33cefc28bd78f44e869ff70066e70a0806 [file] [log] [blame]
The Android Open Source Project52d4c302009-03-03 19:29:09 -08001//
2// Copyright 2005 The Android Open Source Project
3//
4// Log preferences modal dialog.
5//
6#ifndef _SIM_LOG_PREFS_DIALOG_H
7#define _SIM_LOG_PREFS_DIALOG_H
8
9/*
10 * Declaration of log preferences dialog. This class defines the outer
11 * wrapper as well as all of the pages.
12 */
13class LogPrefsDialog : public wxDialog {
14 DECLARE_EVENT_TABLE()
15
16public:
17 LogPrefsDialog(wxWindow* parent);
18 virtual ~LogPrefsDialog(void);
19
20 void CreateControls(void);
21
22 /* these correspond to radio buttons */
23 typedef enum HeaderFormat {
24 kHFFull = 0,
25 kHFBrief,
26 kHFMinimal,
27 kHFInternal, // special -- used for internally generated msgs
28 };
29
30 /*
31 * Values edited in the preference pages. By Windows convention,
32 * these are public.
33 */
34 /* format options */
35 HeaderFormat mHeaderFormat;
36 bool mSingleLine; // put whole message on one line?
37 int mExtraSpacing; // double/triple-space messages?
38 int mPointSize; // text size
39 bool mUseColor; // colorful messages?
40 bool mFontMonospace; // use monospace font?
41
42 /* limit options */
43 int mDisplayMax;
44 int mPoolSizeKB;
45
46 /* file options */
47 bool mWriteFile;
48 wxString mFileName;
49 bool mTruncateOld;
50
51private:
52 bool TransferDataToWindow(void);
53 bool TransferDataFromWindow(void);
54
55 wxPanel* CreateFormatPage(wxBookCtrlBase* parent);
56 wxPanel* CreateLimitsPage(wxBookCtrlBase* parent);
57 wxPanel* CreateFilesPage(wxBookCtrlBase* parent);
58
59 void OnWriteFile(wxCommandEvent& event);
60 void EnableFileControls(bool enable);
61
62 /* main notebook; for aesthetic reasons we may want a Choicebook */
63 wxNotebook mNotebook;
64
65 enum {
66 kMinWidth = 300, // minimum prefs dialog width, in pixels
67 };
68};
69
70#endif // _SIM_LOG_PREFS_DIALOG_H