#pragma once #include #include #include #include #include "Modem.h" class ModemProperties : public wxPanel { public: ModemProperties( wxWindow *parent, wxWindowID winid = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL | wxNO_BORDER, const wxString& name = wxPanelNameStr ); ~ModemProperties(); void initProperties(ModemArgInfoList newArgs); bool isMouseInView(); bool isCollapsed(); void fitColumns(); void updateTheme(); private: wxPGProperty *addArgInfoProperty(wxPropertyGrid *pg, ModemArgInfo arg); std::string readProperty(std::string); void OnChange(wxPropertyGridEvent &event); void OnShow(wxShowEvent &event); void OnCollapse(wxPropertyGridEvent &event); void OnExpand(wxPropertyGridEvent &event); void OnMouseEnter(wxMouseEvent &event); void OnMouseLeave(wxMouseEvent &event); wxBoxSizer* bSizer; wxPropertyGrid* m_propertyGrid; ModemArgInfoList args; std::map props; bool mouseInView, collapsed; };