X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0dbd6262a9ee7d735fb3930707346298f71b2cb7..e71a0aa95f767ab0302607b3c94dc155d72d5e61:/include/wx/mac/combobox.h diff --git a/include/wx/mac/combobox.h b/include/wx/mac/combobox.h index 07054af74e..5b73bc2b6b 100644 --- a/include/wx/mac/combobox.h +++ b/include/wx/mac/combobox.h @@ -1,35 +1,49 @@ ///////////////////////////////////////////////////////////////////////////// // Name: combobox.h // Purpose: wxComboBox class -// Author: AUTHOR +// Author: Stefan Csomor // Modified by: -// Created: ??/??/98 +// Created: 1998-01-01 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR -// Licence: wxWindows licence +// Copyright: (c) Stefan Csomor +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_COMBOBOX_H_ #define _WX_COMBOBOX_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "combobox.h" #endif +#include "wx/textctrl.h" #include "wx/choice.h" -WXDLLEXPORT_DATA(extern const char*) wxComboBoxNameStr; -WXDLLEXPORT_DATA(extern const char*) wxEmptyString; +WXDLLEXPORT_DATA(extern const wxChar*) wxComboBoxNameStr; +WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString; // Combobox item -class WXDLLEXPORT wxComboBox: public wxChoice +class WXDLLEXPORT wxComboBox: public wxComboBoxBase , public wxControl { DECLARE_DYNAMIC_CLASS(wxComboBox) public: - inline wxComboBox() {} + inline wxComboBox() {} + virtual ~wxComboBox(); + // override the base class virtuals involved in geometry calculations + virtual wxSize DoGetBestSize() const; + virtual void DoMoveWindow(int x, int y, int width, int height); - inline wxComboBox(wxWindow *parent, wxWindowID id, + // forward these functions to all subcontrols + virtual bool Enable(bool enable = TRUE); + virtual bool Show(bool show = TRUE); + virtual void SetFocus(); + + // callback functions + virtual void DelegateTextChanged( const wxString& value ); + virtual void DelegateChoice( const wxString& value ); + + inline wxComboBox(wxWindow *parent, wxWindowID id, const wxString& value = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, @@ -37,11 +51,11 @@ class WXDLLEXPORT wxComboBox: public wxChoice long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxComboBoxNameStr) - { + { Create(parent, id, value, pos, size, n, choices, style, validator, name); - } + } - bool Create(wxWindow *parent, wxWindowID id, + bool Create(wxWindow *parent, wxWindowID id, const wxString& value = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, @@ -50,34 +64,50 @@ class WXDLLEXPORT wxComboBox: public wxChoice const wxValidator& validator = wxDefaultValidator, const wxString& name = wxComboBoxNameStr); - // List functions - virtual void Append(const wxString& item); - virtual void Delete(int n); - virtual void Clear(); - virtual int GetSelection() const ; - virtual void SetSelection(int n); - virtual int FindString(const wxString& s) const; - virtual wxString GetString(int n) const ; - virtual wxString GetStringSelection() const ; - virtual bool SetStringSelection(const wxString& sel); - virtual inline int Number() const { return m_noStrings; } - - // Text field functions - virtual wxString GetValue() const ; - virtual void SetValue(const wxString& value); - - // Clipboard operations - virtual void Copy(); - virtual void Cut(); - virtual void Paste(); - virtual void SetInsertionPoint(long pos); - virtual void SetInsertionPointEnd(); - virtual long GetInsertionPoint() const ; - virtual long GetLastPosition() const ; - virtual void Replace(long from, long to, const wxString& value); - virtual void Remove(long from, long to); - virtual void SetSelection(long from, long to); - virtual void SetEditable(bool editable); + // List functions + virtual void Delete(int n); + virtual void Clear(); + + virtual int GetSelection() const ; + virtual void SetSelection(int n); + virtual void Select(int n) { SetSelection(n) ; } + virtual int FindString(const wxString& s) const; + virtual wxString GetString(int n) const ; + virtual wxString GetStringSelection() const ; + virtual void SetString(int n, const wxString& s) ; + virtual bool SetStringSelection(const wxString& sel); + + // Text field functions + virtual wxString GetValue() const ; + virtual void SetValue(const wxString& value); + + // Clipboard operations + virtual void Copy(); + virtual void Cut(); + virtual void Paste(); + virtual void SetInsertionPoint(long pos); + virtual void SetInsertionPointEnd(); + virtual long GetInsertionPoint() const ; + virtual long GetLastPosition() const ; + virtual void Replace(long from, long to, const wxString& value); + virtual void Remove(long from, long to); + virtual void SetSelection(long from, long to); + virtual void SetEditable(bool editable); + virtual int GetCount() const { return m_choice->GetCount() ; } + void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ; + +protected: + virtual int DoAppend(const wxString& item) ; + virtual int DoInsert(const wxString& item, int pos) ; + + virtual void DoSetItemClientData(int n, void* clientData) ; + virtual void* DoGetItemClientData(int n) const ; + virtual void DoSetItemClientObject(int n, wxClientData* clientData) ; + virtual wxClientData* DoGetItemClientObject(int n) const ; + + // the subcontrols + wxTextCtrl* m_text; + wxChoice* m_choice; }; #endif