The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 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 |