#define wxPROP_PULLDOWN 64
#define wxPROP_SHOWVALUES 128
-#ifdef __XVIEW__
+// Show OK/Cancel buttons on X-based systems where window management is
+// more awkward
+#if defined(__WXMOTIF__) || defined(__WXGTK__)
#define wxPROP_BUTTON_DEFAULT wxPROP_BUTTON_OK | wxPROP_BUTTON_CANCEL | wxPROP_BUTTON_CHECK_CROSS | wxPROP_PULLDOWN
#else
#define wxPROP_BUTTON_DEFAULT wxPROP_BUTTON_CHECK_CROSS | wxPROP_PULLDOWN | wxPROP_SHOWVALUES
#define wxID_PROP_VALUE_SELECT 3005
// Mediates between a physical panel and the property sheet
-class wxPropertyListView: public wxPropertyView
+class WXDLLEXPORT wxPropertyListView: public wxPropertyView
{
DECLARE_DYNAMIC_CLASS(wxPropertyListView)
public:
inline virtual wxButton *GetWindowCloseButton() const { return m_windowCloseButton; }
inline virtual wxButton *GetWindowCancelButton() const { return m_windowCancelButton; }
inline virtual wxButton *GetHelpButton() const { return m_windowHelpButton; }
-
+
bool OnClose(void);
public:
wxButton* m_confirmButton; // A tick, as in VB
wxButton* m_cancelButton; // A cross, as in VB
wxButton* m_editButton; // Invokes the custom validator, if any
+ wxSizer* m_middleSizer;
bool m_detailedEditing; // E.g. using listbox for choices
- static wxBitmap* sm_tickBitmap;
- static wxBitmap* sm_crossBitmap;
-
wxPanel* m_propertyWindow; // Panel that the controls will appear on
wxWindow* m_managedWindow; // Frame or dialog
-
+
wxButton* m_windowCloseButton; // Or OK
wxButton* m_windowCancelButton;
wxButton* m_windowHelpButton;
DECLARE_EVENT_TABLE()
+private:
+ virtual void ShowView(wxPropertySheet *propertySheet, wxWindow *window)
+ { wxPropertyView::ShowView(propertySheet, window); };
};
-class wxPropertyTextEdit: public wxTextCtrl
+class WXDLLEXPORT wxPropertyTextEdit: public wxTextCtrl
{
DECLARE_CLASS(wxPropertyTextEdit)
public:
/*
* The type of validator used for property lists (Visual Basic style)
*/
-
-class wxPropertyListValidator: public wxPropertyValidator
+
+class WXDLLEXPORT wxPropertyListValidator: public wxPropertyValidator
{
DECLARE_DYNAMIC_CLASS(wxPropertyListValidator)
protected:
// Called when the property is double clicked. Extra functionality can be provided, such as
// cycling through possible values.
- inline virtual bool OnDoubleClick(
+ inline virtual bool OnDoubleClick(
wxProperty *WXUNUSED(property), wxPropertyListView *WXUNUSED(view), wxWindow *WXUNUSED(parentWindow) )
{ return TRUE; }
/*
* A default dialog box class to use.
*/
-
-class wxPropertyListDialog: public wxDialog
+
+class WXDLLEXPORT wxPropertyListDialog: public wxDialog
{
DECLARE_CLASS(wxPropertyListDialog)
public:
wxPropertyListDialog(wxPropertyListView *v, wxWindow *parent, const wxString& title,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = "dialogBox");
- bool OnClose(void);
+ void OnCloseWindow(wxCloseEvent& event);
void OnDefaultAction(wxControl *item);
void OnCancel(wxCommandEvent& event);
/*
* A default panel class to use.
*/
-
-class wxPropertyListPanel: public wxPanel
+
+class WXDLLEXPORT wxPropertyListPanel: public wxPanel
{
DECLARE_CLASS(wxPropertyListPanel)
public:
/*
* A default frame class to use.
*/
-
-class wxPropertyListFrame: public wxFrame
+
+class WXDLLEXPORT wxPropertyListFrame: public wxFrame
{
DECLARE_CLASS(wxPropertyListFrame)
public:
wxPropertyListFrame(wxPropertyListView *v, wxFrame *parent, const wxString& title,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
- long style = wxDEFAULT_FRAME, const wxString& name = "frame"):
+ long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame"):
wxFrame(parent, -1, title, pos, size, style, name)
{
m_view = v;
m_propertyPanel = NULL;
}
- bool OnClose(void);
+ void OnCloseWindow(wxCloseEvent& event);
// Must call this to create panel and associate view
virtual bool Initialize(void);
private:
wxPropertyListView* m_view;
wxPropertyListPanel* m_propertyPanel;
+
+DECLARE_EVENT_TABLE()
};
/*
* Some default validators
*/
-
-class wxRealListValidator: public wxPropertyListValidator
+
+class WXDLLEXPORT wxRealListValidator: public wxPropertyListValidator
{
DECLARE_DYNAMIC_CLASS(wxRealListValidator)
public:
float m_realMax;
};
-class wxIntegerListValidator: public wxPropertyListValidator
+class WXDLLEXPORT wxIntegerListValidator: public wxPropertyListValidator
{
DECLARE_DYNAMIC_CLASS(wxIntegerListValidator)
public:
long m_integerMax;
};
-class wxBoolListValidator: public wxPropertyListValidator
+class WXDLLEXPORT wxBoolListValidator: public wxPropertyListValidator
{
DECLARE_DYNAMIC_CLASS(wxBoolListValidator)
protected:
virtual bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
};
-class wxStringListValidator: public wxPropertyListValidator
+class WXDLLEXPORT wxStringListValidator: public wxPropertyListValidator
{
DECLARE_DYNAMIC_CLASS(wxStringListValidator)
public:
protected:
wxStringList* m_strings;
};
-
-class wxFilenameListValidator: public wxPropertyListValidator
+
+class WXDLLEXPORT wxFilenameListValidator: public wxPropertyListValidator
{
DECLARE_DYNAMIC_CLASS(wxFilenameListValidator)
public:
protected:
wxString m_filenameWildCard;
wxString m_filenameMessage;
-
+
};
-class wxColourListValidator: public wxPropertyListValidator
+class WXDLLEXPORT wxColourListValidator: public wxPropertyListValidator
{
DECLARE_DYNAMIC_CLASS(wxColourListValidator)
protected:
void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
};
-class wxListOfStringsListValidator: public wxPropertyListValidator
+class WXDLLEXPORT wxListOfStringsListValidator: public wxPropertyListValidator
{
DECLARE_DYNAMIC_CLASS(wxListOfStringsListValidator)
protected:
// Called when the property is double clicked.
bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
- bool EditStringList(wxWindow *parent, wxStringList *stringList, const char *title = "String List Editor");
+ bool EditStringList(wxWindow *parent, wxStringList *stringList, const wxChar *title = wxT("String List Editor"));
// Called when the edit (...) button is pressed.
void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);