Added label editing capability into wxPropertyGrid

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli
2009-08-23 15:31:03 +00:00
parent 7a34307e24
commit 58935d4a5c
13 changed files with 548 additions and 62 deletions

View File

@@ -687,7 +687,8 @@ enum
ID_SELECTSTYLE,
ID_SAVESTATE,
ID_RESTORESTATE,
ID_RUNMINIMAL
ID_RUNMINIMAL,
ID_ENABLELABELEDITING
};
// -----------------------------------------------------------------------
@@ -713,6 +714,12 @@ BEGIN_EVENT_TABLE(FormMain, wxFrame)
EVT_PG_DOUBLE_CLICK( PGID, FormMain::OnPropertyGridItemDoubleClick )
// This occurs when propgridmanager's page changes.
EVT_PG_PAGE_CHANGED( PGID, FormMain::OnPropertyGridPageChange )
// This occurs when user starts editing a property label
EVT_PG_LABEL_EDIT_BEGIN( PGID,
FormMain::OnPropertyGridLabelEditBegin )
// This occurs when user stops editing a property label
EVT_PG_LABEL_EDIT_ENDING( PGID,
FormMain::OnPropertyGridLabelEditEnding )
// This occurs when property's editor button (if any) is clicked.
EVT_BUTTON( PGID, FormMain::OnPropertyGridButtonClick )
@@ -745,6 +752,7 @@ BEGIN_EVENT_TABLE(FormMain, wxFrame)
EVT_MENU( ID_SETBGCOLOURRECUR, FormMain::OnSetBackgroundColour )
EVT_MENU( ID_CLEARMODIF, FormMain::OnClearModifyStatusClick )
EVT_MENU( ID_FREEZE, FormMain::OnFreezeClick )
EVT_MENU( ID_ENABLELABELEDITING, FormMain::OnEnableLabelEditing )
EVT_MENU( ID_DUMPLIST, FormMain::OnDumpList )
EVT_MENU( ID_COLOURSCHEME1, FormMain::OnColourScheme )
@@ -1018,6 +1026,22 @@ void FormMain::OnPropertyGridPageChange( wxPropertyGridEvent& WXUNUSED(event) )
// -----------------------------------------------------------------------
void FormMain::OnPropertyGridLabelEditBegin( wxPropertyGridEvent& event )
{
wxLogDebug("wxPG_EVT_LABEL_EDIT_BEGIN(%s)",
event.GetProperty()->GetLabel().c_str());
}
// -----------------------------------------------------------------------
void FormMain::OnPropertyGridLabelEditEnding( wxPropertyGridEvent& event )
{
wxLogDebug("wxPG_EVT_LABEL_EDIT_ENDING(%s)",
event.GetProperty()->GetLabel().c_str());
}
// -----------------------------------------------------------------------
void FormMain::OnPropertyGridHighlight( wxPropertyGridEvent& WXUNUSED(event) )
{
}
@@ -2219,6 +2243,8 @@ FormMain::FormMain(const wxString& title, const wxPoint& pos, const wxSize& size
menuTry->Append(ID_SELECTSTYLE, wxT("Set Window Style"),
wxT("Select window style flags used by the grid."));
menuTry->Append(ID_ENABLELABELEDITING, "Enable label editing",
"This calls wxPropertyGrid::MakeColumnEditable(0)");
menuTry->AppendSeparator();
menuTry->AppendRadioItem( ID_COLOURSCHEME1, wxT("Standard Colour Scheme") );
menuTry->AppendRadioItem( ID_COLOURSCHEME2, wxT("White Colour Scheme") );
@@ -2762,6 +2788,13 @@ void FormMain::OnFreezeClick( wxCommandEvent& event )
// -----------------------------------------------------------------------
void FormMain::OnEnableLabelEditing( wxCommandEvent& WXUNUSED(event) )
{
m_propGrid->MakeColumnEditable(0);
}
// -----------------------------------------------------------------------
void FormMain::OnAbout(wxCommandEvent& WXUNUSED(event))
{
wxString msg;