X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7adf8bf391f56cf8be95cd64bfa1bcf5d49d3c74..357d2b88cb15fa0ad97b1676fdbc88c2abc85451:/src/propgrid/editors.cpp diff --git a/src/propgrid/editors.cpp b/src/propgrid/editors.cpp index e53c0c29c0..1eddd98fb4 100644 --- a/src/propgrid/editors.cpp +++ b/src/propgrid/editors.cpp @@ -4,7 +4,7 @@ // Author: Jaakko Salli // Modified by: // Created: 2007-04-14 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) Jaakko Salli // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -58,12 +58,12 @@ // This define is necessary to prevent macro clearing #define __wxPG_SOURCE_FILE__ -#include -#include -#include +#include "wx/propgrid/propgrid.h" +#include "wx/propgrid/editors.h" +#include "wx/propgrid/props.h" #if wxPG_USE_RENDERER_NATIVE - #include + #include "wx/renderer.h" #endif // How many pixels between textctrl and button @@ -75,10 +75,10 @@ #define wxPG_BUTTON_SIZEDEC 0 -#include +#include "wx/odcombo.h" #ifdef __WXMSW__ - #include + #include "wx/msw/private.h" #endif // ----------------------------------------------------------------------- @@ -162,6 +162,11 @@ wxPGEditor::~wxPGEditor() { } +wxString wxPGEditor::GetName() const +{ + return GetClassInfo()->GetClassName(); +} + void wxPGEditor::DrawValue( wxDC& dc, const wxRect& rect, wxPGProperty* property, const wxString& text ) const { if ( !property->IsValueUnspecified() ) @@ -209,7 +214,7 @@ bool wxPGEditor::CanContainCustomImage() const // wxPGTextCtrlEditor // ----------------------------------------------------------------------- -WX_PG_IMPLEMENT_EDITOR_CLASS(TextCtrl,wxPGTextCtrlEditor,wxPGEditor) +WX_PG_IMPLEMENT_INTERNAL_EDITOR_CLASS(TextCtrl,wxPGTextCtrlEditor,wxPGEditor) wxPGWindowList wxPGTextCtrlEditor::CreateControls( wxPropertyGrid* propGrid, @@ -386,7 +391,7 @@ wxPGTextCtrlEditor::~wxPGTextCtrlEditor() { } // ----------------------------------------------------------------------- -WX_PG_IMPLEMENT_EDITOR_CLASS(Choice,wxPGChoiceEditor,wxPGEditor) +WX_PG_IMPLEMENT_INTERNAL_EDITOR_CLASS(Choice,wxPGChoiceEditor,wxPGEditor) // This is a special enhanced double-click processor class. @@ -1002,7 +1007,9 @@ wxPGChoiceEditor::~wxPGChoiceEditor() { } // ----------------------------------------------------------------------- -WX_PG_IMPLEMENT_EDITOR_CLASS(ComboBox,wxPGComboBoxEditor,wxPGChoiceEditor) +WX_PG_IMPLEMENT_INTERNAL_EDITOR_CLASS(ComboBox, + wxPGComboBoxEditor, + wxPGChoiceEditor) void wxPGComboBoxEditor::UpdateControl( wxPGProperty* property, wxWindow* ctrl ) const @@ -1081,8 +1088,9 @@ wxPGComboBoxEditor::~wxPGComboBoxEditor() { } // ----------------------------------------------------------------------- -// This simpler implement_editor macro doesn't define class body. -WX_PG_IMPLEMENT_EDITOR_CLASS(ChoiceAndButton,wxPGChoiceAndButtonEditor,wxPGChoiceEditor) +WX_PG_IMPLEMENT_INTERNAL_EDITOR_CLASS(ChoiceAndButton, + wxPGChoiceAndButtonEditor, + wxPGChoiceEditor) wxPGWindowList wxPGChoiceAndButtonEditor::CreateControls( wxPropertyGrid* propGrid, @@ -1113,7 +1121,7 @@ wxPGWindowList wxPGChoiceAndButtonEditor::CreateControls( wxPropertyGrid* propGr ch_sz.x -= wxPG_TEXTCTRL_AND_BUTTON_SPACING; #endif - wxWindow* ch = wxPG_EDITOR(Choice)->CreateControls(propGrid,property, + wxWindow* ch = wxPGEditor_Choice->CreateControls(propGrid,property, pos,ch_sz).m_primary; #ifdef __WXMSW__ @@ -1131,9 +1139,9 @@ wxPGChoiceAndButtonEditor::~wxPGChoiceAndButtonEditor() { } // wxPGTextCtrlAndButtonEditor // ----------------------------------------------------------------------- - -// This simpler implement_editor macro doesn't define class body. -WX_PG_IMPLEMENT_EDITOR_CLASS(TextCtrlAndButton,wxPGTextCtrlAndButtonEditor,wxPGTextCtrlEditor) +WX_PG_IMPLEMENT_INTERNAL_EDITOR_CLASS(TextCtrlAndButton, + wxPGTextCtrlAndButtonEditor, + wxPGTextCtrlEditor) wxPGWindowList wxPGTextCtrlAndButtonEditor::CreateControls( wxPropertyGrid* propGrid, @@ -1158,7 +1166,9 @@ wxPGTextCtrlAndButtonEditor::~wxPGTextCtrlAndButtonEditor() { } #if wxPG_INCLUDE_CHECKBOX -WX_PG_IMPLEMENT_EDITOR_CLASS(CheckBox,wxPGCheckBoxEditor,wxPGEditor) +WX_PG_IMPLEMENT_INTERNAL_EDITOR_CLASS(CheckBox, + wxPGCheckBoxEditor, + wxPGEditor) // state argument: 0x01 = set if checked @@ -1283,14 +1293,6 @@ bool wxSimpleCheckBox::ProcessEvent(wxEvent& event) wxPropertyGrid* propGrid = (wxPropertyGrid*) GetParent()->GetParent(); wxASSERT( propGrid->IsKindOf(CLASSINFO(wxPropertyGrid)) ); - if ( event.GetEventType() == wxEVT_NAVIGATION_KEY ) - { - //wxLogDebug(wxT("wxEVT_NAVIGATION_KEY")); - //SetFocusFromKbd(); - //event.Skip(); - //return wxControl::ProcessEvent(event); - } - else if ( ( (event.GetEventType() == wxEVT_LEFT_DOWN || event.GetEventType() == wxEVT_LEFT_DCLICK) && ((wxMouseEvent&)event).m_x > (wxPG_XBEFORETEXT-2) && ((wxMouseEvent&)event).m_x <= (wxPG_XBEFORETEXT-2+m_boxHeight) ) @@ -1361,12 +1363,6 @@ bool wxSimpleCheckBox::ProcessEvent(wxEvent& event) { wxKeyEvent& keyEv = (wxKeyEvent&) event; - if ( keyEv.GetKeyCode() == WXK_TAB ) - { - propGrid->SendNavigationKeyEvent( keyEv.ShiftDown()?0:1 ); - return true; - } - else if ( keyEv.GetKeyCode() == WXK_SPACE ) { SetValue(2);