• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
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  */
13 class LogPrefsDialog : public wxDialog {
14     DECLARE_EVENT_TABLE()
15 
16 public:
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 
51 private:
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
71