X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9edd688dd333101cc9e427918d7530eb0906838b..7d6a4d96961eac84d05db8bb24c64d39003f6e54:/src/propgrid/propgrid.cpp diff --git a/src/propgrid/propgrid.cpp b/src/propgrid/propgrid.cpp index 4904e10936..42395f47a2 100644 --- a/src/propgrid/propgrid.cpp +++ b/src/propgrid/propgrid.cpp @@ -668,9 +668,7 @@ void wxPropertyGrid::Thaw() { wxControl::Thaw(); RecalculateVirtualSize(); - #if wxPG_REFRESH_CONTROLS_AFTER_REPAINT Refresh(); - #endif // Force property re-selection // NB: We must copy the selection. @@ -2139,10 +2137,6 @@ int wxPropertyGrid::DoDrawItems( wxDC& dc, const wxPropertyGridPageState* state = m_pState; const wxArrayInt& colWidths = state->m_colWidths; -#if wxPG_REFRESH_CONTROLS_AFTER_REPAINT - bool wasSelectedPainted = false; -#endif - // TODO: Only render columns that are within clipping region. dc.SetFont(normalFont); @@ -2270,11 +2264,6 @@ int wxPropertyGrid::DoDrawItems( wxDC& dc, } else { -#if wxPG_REFRESH_CONTROLS_AFTER_REPAINT - if ( p == firstSelected ) - wasSelectedPainted = true; -#endif - renderFlags |= wxPGCellRenderer::Selected; if ( !p->IsCategory() ) @@ -2511,18 +2500,6 @@ int wxPropertyGrid::DoDrawItems( wxDC& dc, y += rowHeight; } - // Refresh editor controls (seems not needed on msw) - // NOTE: This code is mandatory for GTK! -#if wxPG_REFRESH_CONTROLS_AFTER_REPAINT - if ( wasSelectedPainted ) - { - if ( m_wndEditor ) - m_wndEditor->Refresh(); - if ( m_wndEditor2 ) - m_wndEditor2->Refresh(); - } -#endif - return y; } @@ -2662,7 +2639,7 @@ void wxPropertyGrid::Refresh( bool WXUNUSED(eraseBackground), wxWindow::Refresh(false, rect); -#if wxPG_REFRESH_CONTROLS_AFTER_REPAINT +#if wxPG_REFRESH_CONTROLS // I think this really helps only GTK+1.2 if ( m_wndEditor ) m_wndEditor->Refresh(); if ( m_wndEditor2 ) m_wndEditor2->Refresh(); @@ -3081,7 +3058,7 @@ bool wxPropertyGrid::PerformValidation( wxPGProperty* p, wxVariant& pendingValue if ( changedProperty == GetSelection() ) { wxWindow* editor = GetEditorControl(); - wxASSERT( editor->IsKindOf(CLASSINFO(wxTextCtrl)) ); + wxASSERT( wxDynamicCast(editor, wxTextCtrl) ); evtChangingValue = wxStaticCast(editor, wxTextCtrl)->GetValue(); } else @@ -3136,7 +3113,7 @@ bool wxPropertyGrid::PerformValidation( wxPGProperty* p, wxVariant& pendingValue wxStatusBar* wxPropertyGrid::GetStatusBar() { wxWindow* topWnd = ::wxGetTopLevelParent(this); - if ( topWnd && topWnd->IsKindOf(CLASSINFO(wxFrame)) ) + if ( wxDynamicCast(topWnd, wxFrame) ) { wxFrame* pFrame = wxStaticCast(topWnd, wxFrame); if ( pFrame ) @@ -3219,7 +3196,7 @@ bool wxPropertyGrid::OnValidationFailure( wxPGProperty* property, // // For non-wxTextCtrl editors, we do need to revert the value - if ( !editor->IsKindOf(CLASSINFO(wxTextCtrl)) && + if ( !wxDynamicCast(editor, wxTextCtrl) && property == GetSelection() ) { property->GetEditorClass()->UpdateControl(property, editor); @@ -3429,7 +3406,7 @@ bool wxPropertyGrid::DoPropertyChanged( wxPGProperty* p, unsigned int selFlags ) } else { -#if wxPG_REFRESH_CONTROLS_AFTER_REPAINT +#if wxPG_REFRESH_CONTROLS if ( m_wndEditor ) m_wndEditor->Refresh(); if ( m_wndEditor2 ) m_wndEditor2->Refresh(); #endif @@ -3585,7 +3562,7 @@ bool wxPropertyGrid::HandleCustomEditorEvent( wxEvent &event ) // Filter out excess wxTextCtrl modified events if ( event.GetEventType() == wxEVT_COMMAND_TEXT_UPDATED && wnd ) { - if ( wnd->IsKindOf(CLASSINFO(wxTextCtrl)) ) + if ( wxDynamicCast(wnd, wxTextCtrl) ) { wxTextCtrl* tc = (wxTextCtrl*) wnd; @@ -3594,12 +3571,12 @@ bool wxPropertyGrid::HandleCustomEditorEvent( wxEvent &event ) return true; m_prevTcValue = newTcValue; } - else if ( wnd->IsKindOf(CLASSINFO(wxComboCtrl)) ) + else if ( wxDynamicCast(wnd, wxComboCtrl) ) { // In some cases we might stumble unintentionally on // wxComboCtrl's embedded wxTextCtrl's events. Let's // avoid them. - if ( editorWnd->IsKindOf(CLASSINFO(wxTextCtrl)) ) + if ( wxDynamicCast(editorWnd, wxTextCtrl) ) return false; wxComboCtrl* cc = (wxComboCtrl*) wnd; @@ -4876,7 +4853,7 @@ bool wxPropertyGrid::HandleMouseClick( int x, unsigned int y, wxMouseEvent &even m_draggedSplitter = splitterHit; m_dragOffset = splitterHitOffset; - #if wxPG_REFRESH_CONTROLS_AFTER_REPAINT + #if wxPG_REFRESH_CONTROLS // Fixes button disappearance bug if ( m_wndEditor2 ) m_wndEditor2->Show ( false ); @@ -5241,7 +5218,7 @@ bool wxPropertyGrid::HandleMouseUp( int x, unsigned int WXUNUSED(y), m_wndEditor->Show ( true ); } - #if wxPG_REFRESH_CONTROLS_AFTER_REPAINT + #if wxPG_REFRESH_CONTROLS // Fixes button disappearance bug if ( m_wndEditor2 ) m_wndEditor2->Show ( true ); @@ -5267,7 +5244,7 @@ bool wxPropertyGrid::OnMouseCommon( wxMouseEvent& event, int* px, int* py ) // Hide popup on clicks if ( event.GetEventType() != wxEVT_MOTION ) - if ( wnd && wnd->IsKindOf(CLASSINFO(wxOwnerDrawnComboBox)) ) + if ( wxDynamicCast(wnd, wxOwnerDrawnComboBox) ) { ((wxOwnerDrawnComboBox*)wnd)->HidePopup(); } @@ -6365,7 +6342,7 @@ wxPGProperty* wxPropertyGridPopulator::Add( const wxString& propClass, return NULL; } - if ( !classInfo || !classInfo->IsKindOf(CLASSINFO(wxPGProperty)) ) + if ( !classInfo || !classInfo->IsKindOf(wxCLASSINFO(wxPGProperty)) ) { ProcessError(wxString::Format(wxT("'%s' is not valid property class"),propClass.c_str())); return NULL;