⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 proplist.h

📁 浙江大学的悟空嵌入式系统模拟器
💻 H
📖 第 1 页 / 共 2 页
字号:
    void OnCancel(wxCommandEvent& event);

    // Extend event processing to search the view's event table
    virtual bool ProcessEvent(wxEvent& event);

private:
    wxPropertyListView*   m_view;

private:
    DECLARE_CLASS(wxPropertyListDialog)
    DECLARE_EVENT_TABLE()
};

/*
 * A default panel class to use.
 */

class WXDLLEXPORT wxPropertyListPanel: public wxPanel
{
public:
    wxPropertyListPanel(wxPropertyListView *v = NULL,
                        wxWindow *parent = NULL,
                        const wxPoint& pos = wxDefaultPosition,
                        const wxSize& size = wxDefaultSize,
                        long style = 0,
                        const wxString& name = wxT("panel"))
        : wxPanel(parent, -1, pos, size, style, name)
        {
            m_view = v;
        }
    ~wxPropertyListPanel();
    void OnDefaultAction(wxControl *item);

    inline void SetView(wxPropertyListView* v) { m_view = v; }
    inline wxPropertyListView* GetView() const { return m_view; }

    // Extend event processing to search the view's event table
    virtual bool ProcessEvent(wxEvent& event);

    // Call Layout()
    void OnSize(wxSizeEvent& event);

private:
    wxPropertyListView*   m_view;

private:
    DECLARE_EVENT_TABLE()
    DECLARE_CLASS(wxPropertyListPanel)
};

/*
 * A default frame class to use.
 */

class WXDLLEXPORT wxPropertyListFrame: public wxFrame
{
public:
    wxPropertyListFrame(wxPropertyListView *v = NULL,
                        wxFrame *parent = NULL,
                        const wxString& title = wxEmptyString,
                        const wxPoint& pos = wxDefaultPosition,
                        const wxSize& size = wxDefaultSize,
                        long style = wxDEFAULT_FRAME_STYLE,
                        const wxString& name = _T("frame"))
        : wxFrame(parent, -1, title, pos, size, style, name)
        {
            m_view = v;
            m_propertyPanel = NULL;
        }
    void OnCloseWindow(wxCloseEvent& event);

    // Must call this to create panel and associate view
    virtual bool Initialize(void);
    virtual wxPropertyListPanel *OnCreatePanel(wxFrame *parent, wxPropertyListView *v);
    inline virtual wxPropertyListPanel *GetPropertyPanel(void) const { return m_propertyPanel; }
    inline wxPropertyListView* GetView() const { return m_view; }

private:
    wxPropertyListView*       m_view;
    wxPropertyListPanel*      m_propertyPanel;

private:
    DECLARE_EVENT_TABLE()
    DECLARE_CLASS(wxPropertyListFrame)
};

/*
 * Some default validators
 */

class WXDLLEXPORT wxRealListValidator: public wxPropertyListValidator
{
public:
    // 0.0, 0.0 means no range
    wxRealListValidator(float min = 0.0, float max = 0.0, long flags = wxPROP_ALLOW_TEXT_EDITING):wxPropertyListValidator(flags)
        { m_realMin = min; m_realMax = max; }
    ~wxRealListValidator() {}

    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when TICK is pressed or focus is lost.
    // Return FALSE if value didn't check out; signal to restore old value.
    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when TICK is pressed or focus is lost or view wants to update
    // the property list.
    // Does the transfer from the property editing area to the property itself
    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

protected:
    float     m_realMin;
    float     m_realMax;
  
private:
    DECLARE_DYNAMIC_CLASS(wxRealListValidator)
};

class WXDLLEXPORT wxIntegerListValidator: public wxPropertyListValidator
{
public:
   // 0, 0 means no range
   wxIntegerListValidator(long min = 0, long max = 0, long flags = wxPROP_ALLOW_TEXT_EDITING):wxPropertyListValidator(flags)
   {
     m_integerMin = min; m_integerMax = max;
   }
   ~wxIntegerListValidator() {}

   bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

   // Called when TICK is pressed or focus is lost.
   // Return FALSE if value didn't check out; signal to restore old value.
   bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

   // Called when TICK is pressed or focus is lost or view wants to update
   // the property list.
   // Does the transfer from the property editing area to the property itself
   bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

protected:
    long m_integerMin;
    long m_integerMax;
    
private:
    DECLARE_DYNAMIC_CLASS(wxIntegerListValidator)
};

class WXDLLEXPORT wxBoolListValidator: public wxPropertyListValidator
{
public:
    wxBoolListValidator(long flags = 0):wxPropertyListValidator(flags) {}
    ~wxBoolListValidator() {}

    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
    bool OnPrepareDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
    bool OnClearDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when TICK is pressed or focus is lost.
    // Return FALSE if value didn't check out; signal to restore old value.
    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when TICK is pressed or focus is lost or view wants to update
    // the property list.
    // Does the transfer from the property editing area to the property itself
    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
    bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when the property is double clicked. Extra functionality can be provided,
    // cycling through possible values.
    virtual bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
   
private:
    DECLARE_DYNAMIC_CLASS(wxBoolListValidator)
};

class WXDLLEXPORT wxStringListValidator: public wxPropertyListValidator
{
public:
   wxStringListValidator(wxStringList *list = NULL, long flags = 0);

    ~wxStringListValidator()
    {
        if (m_strings)
            delete m_strings;
    }

    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
    bool OnPrepareDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
    bool OnClearDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when TICK is pressed or focus is lost.
    // Return FALSE if value didn't check out; signal to restore old value.
    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when TICK is pressed or focus is lost or view wants to update
    // the property list.
    // Does the transfer from the property editing area to the property itself
    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
    bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when the property is double clicked. Extra functionality can be provided,
    // cycling through possible values.
    bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

protected:
    wxStringList*     m_strings;
    
private:
    DECLARE_DYNAMIC_CLASS(wxStringListValidator)
};

class WXDLLEXPORT wxFilenameListValidator: public wxPropertyListValidator
{
public:
    wxFilenameListValidator(wxString message = wxT("Select a file"), wxString wildcard = wxALL_FILES_PATTERN, long flags = 0);
    ~wxFilenameListValidator();

    // Called when TICK is pressed or focus is lost.
    // Return FALSE if value didn't check out; signal to restore old value.
    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when TICK is pressed or focus is lost or view wants to update
    // the property list.
    // Does the transferance from the property editing area to the property itself
    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
    bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when the edit (...) button is pressed.
    void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

protected:
    wxString  m_filenameWildCard;
    wxString  m_filenameMessage;

private:
    DECLARE_DYNAMIC_CLASS(wxFilenameListValidator)
};

class WXDLLEXPORT wxColourListValidator: public wxPropertyListValidator
{
public:
    wxColourListValidator(long flags = 0);
    ~wxColourListValidator();

    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
    bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when the edit (...) button is pressed.
    void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
   
private:
    DECLARE_DYNAMIC_CLASS(wxColourListValidator)
};

class WXDLLEXPORT wxListOfStringsListValidator: public wxPropertyListValidator
{
public:
    wxListOfStringsListValidator(long flags = 0);
    ~wxListOfStringsListValidator() {}

    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when TICK is pressed or focus is lost.
    // Return FALSE if value didn't check out; signal to restore old value.
    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when TICK is pressed or focus is lost or view wants to update
    // the property list.
    // Does the transfer from the property editing area to the property itself
    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
    bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    // Called when the property is double clicked.
    bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);

    bool EditStringList(wxWindow *parent, wxStringList *stringList, const wxChar *title = wxT("String List Editor"));

    // Called when the edit (...) button is pressed.
    void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
   
private:
    DECLARE_DYNAMIC_CLASS(wxListOfStringsListValidator)
};

#endif
  // wxUSE_PROPSHEET

#endif
  // _WX_PROPLIST_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -