X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5a45dd6fd9870de6b68eff437fd5fe4ea5895c3c..57c6f0fe5f31e15e0cf7992f8eb654c82c1b7994:/src/propgrid/editors.cpp diff --git a/src/propgrid/editors.cpp b/src/propgrid/editors.cpp index 087d92324e..fb60bdaa5f 100644 --- a/src/propgrid/editors.cpp +++ b/src/propgrid/editors.cpp @@ -68,7 +68,7 @@ // How many pixels between textctrl and button #ifdef __WXMAC__ - #define wxPG_TEXTCTRL_AND_BUTTON_SPACING 8 + #define wxPG_TEXTCTRL_AND_BUTTON_SPACING 4 #else #define wxPG_TEXTCTRL_AND_BUTTON_SPACING 2 #endif @@ -123,7 +123,7 @@ #define wxPG_NAT_BUTTON_BORDER_X 0 #define wxPG_NAT_BUTTON_BORDER_Y 0 - #define wxPG_TEXTCTRLYADJUST 3 + #define wxPG_TEXTCTRLYADJUST 0 #else // defaults @@ -142,8 +142,13 @@ #endif // for odcombo +#ifdef __WXMAC__ +#define wxPG_CHOICEXADJUST -3 // required because wxComboCtrl reserves 3pixels for wxTextCtrl's focus ring +#define wxPG_CHOICEYADJUST -3 +#else #define wxPG_CHOICEXADJUST 0 #define wxPG_CHOICEYADJUST 0 +#endif #define ODCB_CUST_PAINT_MARGIN 6 // Number added to image width for SetCustomPaintWidth @@ -214,7 +219,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, @@ -231,7 +236,8 @@ wxPGWindowList wxPGTextCtrlEditor::CreateControls( wxPropertyGrid* propGrid, return (wxWindow*) NULL; if ( !property->IsValueUnspecified() ) - text = property->GetValueString(property->HasFlag(wxPG_PROP_READONLY)?0:wxPG_EDITABLE_VALUE); + text = property->GetValueAsString(property->HasFlag(wxPG_PROP_READONLY) ? + 0 : wxPG_EDITABLE_VALUE); int flags = 0; if ( (property->GetFlags() & wxPG_PROP_PASSWORD) && @@ -391,7 +397,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. @@ -615,7 +621,7 @@ void wxPropertyGrid::OnComboItemPaint( wxPGCustomComboControl* pCc, else { if ( !p->IsValueUnspecified() ) - text = p->GetValueString(0); + text = p->GetValueAsString(0); } } @@ -674,7 +680,7 @@ void wxPropertyGrid::OnComboItemPaint( wxPGCustomComboControl* pCc, wxPoint pt(rect.x + wxPG_CONTROL_MARGIN - wxPG_CHOICEXADJUST - 1, rect.y + 1); - int renderFlags = 0; + int renderFlags = wxPGCellRenderer::DontUseCellColours; if ( flags & wxODCB_PAINTING_CONTROL ) renderFlags |= wxPGCellRenderer::Control; @@ -866,11 +872,11 @@ wxWindow* wxPGChoiceEditor::CreateControlsBase( wxPropertyGrid* propGrid, // Connect event handling wxWindowID id = cb->GetId(); propGrid->Connect(id, wxEVT_COMMAND_COMBOBOX_SELECTED, - wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent)); + wxEventHandler(wxPropertyGrid::OnCustomEditorEvent)); propGrid->Connect(id, wxEVT_COMMAND_TEXT_UPDATED, - wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent)); + wxEventHandler(wxPropertyGrid::OnCustomEditorEvent)); propGrid->Connect(id, wxEVT_COMMAND_TEXT_ENTER, - wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent)); + wxEventHandler(wxPropertyGrid::OnCustomEditorEvent)); #ifdef __WXMSW__ cb->Show(); @@ -1007,13 +1013,15 @@ 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 { wxOwnerDrawnComboBox* cb = (wxOwnerDrawnComboBox*)ctrl; - cb->SetValue(property->GetValueString(wxPG_EDITABLE_VALUE)); + cb->SetValue(property->GetValueAsString(wxPG_EDITABLE_VALUE)); // TODO: If string matches any selection, then select that. } @@ -1086,8 +1094,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, @@ -1136,9 +1145,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, @@ -1163,7 +1172,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 @@ -1647,7 +1658,7 @@ wxWindow* wxPropertyGrid::GenerateEditorTextCtrl( const wxPoint& pos, // Need to reduce width of text control on Mac #if defined(__WXMAC__) - s.x -= 8; + s.x -= 8; #endif // Take button into acccount @@ -1675,7 +1686,7 @@ wxWindow* wxPropertyGrid::GenerateEditorTextCtrl( const wxPoint& pos, #endif SetupTextCtrlValue(value); tc->Create(ctrlParent,id,value, p, s,tcFlags); - + wxWindow* ed = tc; // Center the control vertically @@ -1695,9 +1706,9 @@ wxWindow* wxPropertyGrid::GenerateEditorTextCtrl( const wxPoint& pos, // Connect event handling id = ed->GetId(); this->Connect(id, wxEVT_COMMAND_TEXT_UPDATED, - wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent)); + wxEventHandler(wxPropertyGrid::OnCustomEditorEvent)); this->Connect(id, wxEVT_COMMAND_TEXT_ENTER, - wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent)); + wxEventHandler(wxPropertyGrid::OnCustomEditorEvent)); return (wxWindow*) ed; } @@ -1763,7 +1774,7 @@ wxWindow* wxPropertyGrid::GenerateEditorButton( const wxPoint& pos, const wxSize // Connect event handling id = but->GetId(); this->Connect(id, wxEVT_COMMAND_BUTTON_CLICKED, - wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent)); + wxEventHandler(wxPropertyGrid::OnCustomEditorEvent)); return but; } @@ -1791,7 +1802,7 @@ wxWindow* wxPropertyGrid::GenerateEditorTextCtrlAndButton( const wxPoint& pos, wxString text; if ( !property->IsValueUnspecified() ) - text = property->GetValueString(property->HasFlag(wxPG_PROP_READONLY)?0:wxPG_EDITABLE_VALUE); + text = property->GetValueAsString(property->HasFlag(wxPG_PROP_READONLY)?0:wxPG_EDITABLE_VALUE); return GenerateEditorTextCtrl(pos,sz,text,but,property->m_maxLen); } @@ -1867,11 +1878,11 @@ void wxPGMultiButton::Finalize( wxPropertyGrid* propGrid, const wxPoint& pos ) Move( pos.x + m_fullEditorSize.x - m_buttonsWidth, pos.y ); // Connect event handling - for ( int i=0; iConnect(id, wxEVT_COMMAND_BUTTON_CLICKED, - wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent)); + wxEventHandler(wxPropertyGrid::OnCustomEditorEvent)); } }