// Author: Jaakko Salli
// Modified by:
// Created: 2004-09-25
-// RCS-ID: $Id:
+// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#pragma hdrstop
#endif
+#if wxUSE_PROPGRID
+
#ifndef WX_PRECOMP
#include "wx/defs.h"
#include "wx/object.h"
#include "wx/scrolwin.h"
#include "wx/dirdlg.h"
#include "wx/combobox.h"
- #include "wx/layout.h"
#include "wx/sizer.h"
#include "wx/textdlg.h"
#include "wx/filedlg.h"
#include "wx/intl.h"
+ #include "wx/wxcrtvararg.h"
#endif
#define __wxPG_SOURCE_FILE__
-#include <wx/propgrid/propgrid.h>
+#include "wx/propgrid/propgrid.h"
#if wxPG_INCLUDE_ADVPROPS
-#include <wx/propgrid/advprops.h>
+#include "wx/propgrid/advprops.h"
#ifdef __WXMSW__
- #include <wx/msw/private.h>
- #include <wx/msw/dc.h>
+ #include "wx/msw/private.h"
+ #include "wx/msw/dc.h"
#endif
-#include <typeinfo>
-
// -----------------------------------------------------------------------
#if defined(__WXMSW__)
wnd2->SetRange( INT_MIN, INT_MAX );
wnd2->SetValue( 0 );
- propgrid->Connect( wxPG_SUBID2, wxEVT_SCROLL_LINEUP,
- (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction)
- &wxPropertyGrid::OnCustomEditorEvent, NULL, propgrid );
- propgrid->Connect( wxPG_SUBID2, wxEVT_SCROLL_LINEDOWN,
- (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction)
- &wxPropertyGrid::OnCustomEditorEvent, NULL, propgrid );
- propgrid->Connect( wxPG_SUBID1, wxEVT_KEY_DOWN,
- (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction)
- &wxPropertyGrid::OnCustomEditorEvent, NULL, propgrid );
+ wxWindowID id = wnd2->GetId();
+ wnd2->Connect( id, wxEVT_SCROLL_LINEUP,
+ wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent),
+ NULL, propgrid );
+ wnd2->Connect( id, wxEVT_SCROLL_LINEDOWN,
+ wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent),
+ NULL, propgrid );
// Let's add validator to make sure only numbers can be entered
wxTextValidator validator(wxFILTER_NUMERIC, &m_tempString);
wxTextCtrl* wnd1 = (wxTextCtrl*) wxPGTextCtrlEditor::CreateControls( propgrid, property, pos, tcSz ).m_primary;
wnd1->SetValidator(validator);
+ wnd1->Connect( wnd1->GetId(), wxEVT_KEY_DOWN,
+ wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent),
+ NULL, propgrid );
+
return wxPGWindowList(wnd1, wnd2);
}
#if wxUSE_DATEPICKCTRL
-#include <wx/datectrl.h>
-#include <wx/dateevt.h>
+#include "wx/datectrl.h"
+#include "wx/dateevt.h"
class wxPGDatePickerCtrlEditor : public wxPGEditor
{
// Connect all required events to grid's OnCustomEditorEvent
// (all relevenat wxTextCtrl, wxComboBox and wxButton events are
// already connected)
- propgrid->Connect( wxPG_SUBID1, wxEVT_DATE_CHANGED,
- (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction)
- &wxPropertyGrid::OnCustomEditorEvent );
+ ctrl->Connect( wxPG_SUBID1, wxEVT_DATE_CHANGED,
+ wxCommandEventHandler(wxPropertyGrid::OnCustomEditorEvent),
+ NULL, propgrid );
#ifdef __WXMSW__
ctrl->Show();
// wxFontProperty
// -----------------------------------------------------------------------
-#include <wx/fontdlg.h>
-#include <wx/fontenum.h>
+#include "wx/fontdlg.h"
+#include "wx/fontenum.h"
static const wxChar* gs_fp_es_family_labels[] = {
wxT("Default"), wxT("Decorative"),
// wxEnumProperty based classes cannot use wxPG_PROP_CLASS_SPECIFIC_1
#define wxPG_PROP_HIDE_CUSTOM_COLOUR wxPG_PROP_CLASS_SPECIFIC_2
-#include <wx/colordlg.h>
+#include "wx/colordlg.h"
//#define wx_cp_es_syscolours_len 25
static const wxChar* gs_cp_es_syscolour_labels[] = {
if ( paintdata.m_choiceItem < NUM_CURSORS )
{
- int cursorindex = gs_cp_es_syscursors_values[paintdata.m_choiceItem];
+ wxStockCursor cursorIndex =
+ (wxStockCursor) gs_cp_es_syscursors_values[paintdata.m_choiceItem];
{
- if ( cursorindex == wxCURSOR_NONE )
- cursorindex = wxCURSOR_ARROW;
+ if ( cursorIndex == wxCURSOR_NONE )
+ cursorIndex = wxCURSOR_ARROW;
- wxCursor cursor( cursorindex );
+ wxCursor cursor( cursorIndex );
#ifdef __WXMSW__
HDC hDc = (HDC)((const wxMSWDCImpl *)dc.GetImpl())->GetHDC();
return wxPGGlobalVars->m_pDefaultImageWildcard;
}
-WX_PG_IMPLEMENT_DERIVED_PROPERTY_CLASS(wxImageFileProperty,
- wxFileProperty,
- const wxString&)
+IMPLEMENT_DYNAMIC_CLASS(wxImageFileProperty, wxFileProperty)
wxImageFileProperty::wxImageFileProperty( const wxString& label, const wxString& name,
const wxString& value )
#if wxUSE_CHOICEDLG
-#include <wx/choicdlg.h>
+#include "wx/choicdlg.h"
WX_PG_IMPLEMENT_PROPERTY_CLASS(wxMultiChoiceProperty,wxPGProperty,
wxArrayInt,const wxArrayInt&,TextCtrlAndButton)
return false;
}
-int wxMultiChoiceProperty::GetChoiceInfo( wxPGChoiceInfo* choiceinfo )
-{
- if ( choiceinfo )
- choiceinfo->m_choices = &m_choices;
- return -1;
-}
-
bool wxMultiChoiceProperty::StringToValue( wxVariant& variant, const wxString& text, int ) const
{
wxArrayString arr;
void wxPropertyGridInterface::RegisterAdditionalEditors()
{
+ // Register editor classes, if necessary.
+ if ( wxPGGlobalVars->m_mapEditorClasses.empty() )
+ wxPropertyGrid::RegisterDefaultEditors();
+
#if wxUSE_SPINBTN
wxPGRegisterEditorClass(SpinCtrl);
#endif
// -----------------------------------------------------------------------
-#endif // wxPG_INCLUDE_ADVPROPS
+#endif // wxPG_INCLUDE_ADVPROPS
+
+#endif // wxUSE_PROPGRID
+