X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b8ea299a7e88d570be50a05e0c7a80190d9b24b4..5eed855656b3996f4c0aa0a585a4820a2af6d628:/src/propgrid/editors.cpp diff --git a/src/propgrid/editors.cpp b/src/propgrid/editors.cpp index 5867b53e1e..850016e812 100644 --- a/src/propgrid/editors.cpp +++ b/src/propgrid/editors.cpp @@ -6,7 +6,7 @@ // Created: 2007-04-14 // RCS-ID: $Id$ // Copyright: (c) Jaakko Salli -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // For compilers that support precompilation, includes "wx/wx.h". @@ -487,7 +487,7 @@ void wxPGTextCtrlEditor_OnFocus( wxPGProperty* property, { // Make sure there is correct text (instead of unspecified value // indicator or hint text) - int flags = property->HasFlag(wxPG_PROP_READONLY) ? + int flags = property->HasFlag(wxPG_PROP_READONLY) ? 0 : wxPG_EDITABLE_VALUE; wxString correctText = property->GetValueAsString(flags); @@ -499,7 +499,7 @@ void wxPGTextCtrlEditor_OnFocus( wxPGProperty* property, tc->SetSelection(-1,-1); } - + void wxPGTextCtrlEditor::OnFocus( wxPGProperty* property, wxWindow* wnd ) const { @@ -507,7 +507,12 @@ void wxPGTextCtrlEditor::OnFocus( wxPGProperty* property, wxPGTextCtrlEditor_OnFocus(property, tc); } -wxPGTextCtrlEditor::~wxPGTextCtrlEditor() { } +wxPGTextCtrlEditor::~wxPGTextCtrlEditor() +{ + // Reset the global pointer. Useful when wxPropertyGrid is accessed + // from an external main loop. + wxPG_EDITOR(TextCtrl) = NULL; +} // ----------------------------------------------------------------------- @@ -1216,7 +1221,10 @@ bool wxPGChoiceEditor::CanContainCustomImage() const } -wxPGChoiceEditor::~wxPGChoiceEditor() { } +wxPGChoiceEditor::~wxPGChoiceEditor() +{ + wxPG_EDITOR(Choice) = NULL; +} // ----------------------------------------------------------------------- @@ -1300,7 +1308,11 @@ void wxPGComboBoxEditor::OnFocus( wxPGProperty* property, } -wxPGComboBoxEditor::~wxPGComboBoxEditor() { } +wxPGComboBoxEditor::~wxPGComboBoxEditor() +{ + wxPG_EDITOR(ComboBox) = NULL; +} + // ----------------------------------------------------------------------- @@ -1352,8 +1364,10 @@ wxPGWindowList wxPGChoiceAndButtonEditor::CreateControls( wxPropertyGrid* propGr } -wxPGChoiceAndButtonEditor::~wxPGChoiceAndButtonEditor() { } - +wxPGChoiceAndButtonEditor::~wxPGChoiceAndButtonEditor() +{ + wxPG_EDITOR(ChoiceAndButton) = NULL; +} // ----------------------------------------------------------------------- // wxPGTextCtrlAndButtonEditor @@ -1377,8 +1391,10 @@ wxPGWindowList wxPGTextCtrlAndButtonEditor::CreateControls( wxPropertyGrid* prop } -wxPGTextCtrlAndButtonEditor::~wxPGTextCtrlAndButtonEditor() { } - +wxPGTextCtrlAndButtonEditor::~wxPGTextCtrlAndButtonEditor() +{ + wxPG_EDITOR(TextCtrlAndButton) = NULL; +} // ----------------------------------------------------------------------- // wxPGCheckBoxEditor @@ -1512,8 +1528,7 @@ END_EVENT_TABLE() wxSimpleCheckBox::~wxSimpleCheckBox() { - delete ms_doubleBuffer; - ms_doubleBuffer = NULL; + wxDELETE(ms_doubleBuffer); } wxBitmap* wxSimpleCheckBox::ms_doubleBuffer = NULL; @@ -1709,8 +1724,10 @@ void wxPGCheckBoxEditor::SetValueToUnspecified( wxPGProperty* WXUNUSED(property) } -wxPGCheckBoxEditor::~wxPGCheckBoxEditor() { } - +wxPGCheckBoxEditor::~wxPGCheckBoxEditor() +{ + wxPG_EDITOR(CheckBox) = NULL; +} #endif // wxPG_INCLUDE_CHECKBOX @@ -1789,7 +1806,7 @@ void wxPropertyGrid::CorrectEditorWidgetPosY() m_labelEditor->Move(pos.x, r.y + offset); } - if ( m_wndEditor || m_wndEditor2 ) + if ( m_wndEditor || m_wndEditor2 ) { wxRect r = GetEditorWidgetRect(selected, 1); @@ -1919,6 +1936,13 @@ wxWindow* wxPropertyGrid::GenerateEditorTextCtrl( const wxPoint& pos, } #endif + // This code is repeated from DoSelectProperty(). However, font boldness + // must be set before margin is set up below in FixPosForTextCtrl(). + if ( forColumn == 1 && + prop->HasFlag(wxPG_PROP_MODIFIED) && + HasFlag(wxPG_BOLD_MODIFIED) ) + tc->SetFont( m_captionFont ); + // Center the control vertically if ( !hasSpecialSize ) FixPosForTextCtrl(tc, forColumn);