Home | History | Annotate | Download | only in app
      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