1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/palmos/combobox.h 3// Purpose: wxComboBox class 4// Author: William Osborne - minimal working wxPalmOS port 5// Modified by: 6// Created: 10/13/04 7// RCS-ID: $Id: combobox.h 35650 2005-09-23 12:56:45Z MR $ 8// Copyright: (c) William Osborne 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_COMBOBOX_H_ 13#define _WX_COMBOBOX_H_ 14 15#include "wx/choice.h" 16 17#if wxUSE_COMBOBOX 18 19// ---------------------------------------------------------------------------- 20// Combobox control 21// ---------------------------------------------------------------------------- 22 23class WXDLLEXPORT wxComboBox: public wxChoice 24{ 25public: 26 wxComboBox() { } 27 28 wxComboBox(wxWindow *parent, wxWindowID id, 29 const wxString& value = wxEmptyString, 30 const wxPoint& pos = wxDefaultPosition, 31 const wxSize& size = wxDefaultSize, 32 int n = 0, const wxString choices[] = NULL, 33 long style = 0, 34 const wxValidator& validator = wxDefaultValidator, 35 const wxString& name = wxComboBoxNameStr) 36 { 37 Create(parent, id, value, pos, size, n, choices, style, validator, name); 38 } 39 wxComboBox(wxWindow *parent, wxWindowID id, 40 const wxString& value, 41 const wxPoint& pos, 42 const wxSize& size, 43 const wxArrayString& choices, 44 long style = 0, 45 const wxValidator& validator = wxDefaultValidator, 46 const wxString& name = wxComboBoxNameStr) 47 { 48 Create(parent, id, value, pos, size, choices, style, validator, name); 49 } 50 51 bool Create(wxWindow *parent, 52 wxWindowID id, 53 const wxString& value = wxEmptyString, 54 const wxPoint& pos = wxDefaultPosition, 55 const wxSize& size = wxDefaultSize, 56 int n = 0, 57 const wxString choices[] = NULL, 58 long style = 0, 59 const wxValidator& validator = wxDefaultValidator, 60 const wxString& name = wxComboBoxNameStr); 61 bool Create(wxWindow *parent, 62 wxWindowID id, 63 const wxString& value, 64 const wxPoint& pos, 65 const wxSize& size, 66 const wxArrayString& choices, 67 long style = 0, 68 const wxValidator& validator = wxDefaultValidator, 69 const wxString& name = wxComboBoxNameStr); 70 71 // List functions: see wxChoice 72 73 // Text field functions 74 wxString GetValue() const { return GetLabel(); } 75 virtual void SetValue(const wxString& value); 76 77 // Clipboard operations 78 virtual void Copy(); 79 virtual void Cut(); 80 virtual void Paste(); 81 virtual void SetInsertionPoint(long pos); 82 virtual void SetInsertionPointEnd(); 83 virtual long GetInsertionPoint() const; 84 virtual wxTextPos GetLastPosition() const; 85 virtual void Replace(long from, long to, const wxString& value); 86 virtual void Remove(long from, long to); 87 virtual void SetSelection(int n) { wxChoice::SetSelection(n); } 88 virtual void SetSelection(long from, long to); 89 virtual void SetEditable(bool editable); 90 virtual bool IsEditable() const; 91 92 virtual void Undo(); 93 virtual void Redo(); 94 virtual void SelectAll(); 95 96 virtual bool CanCopy() const; 97 virtual bool CanCut() const; 98 virtual bool CanPaste() const; 99 virtual bool CanUndo() const; 100 virtual bool CanRedo() const; 101 102 // implementation only from now on 103 virtual bool MSWCommand(WXUINT param, WXWORD id); 104 bool MSWProcessEditMsg(WXUINT msg, WXWPARAM wParam, WXLPARAM lParam); 105 virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam); 106 107 WXHWND GetEditHWND() const; 108 109protected: 110 virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const; 111 112private: 113 DECLARE_DYNAMIC_CLASS_NO_COPY(wxComboBox) 114}; 115 116#endif // wxUSE_COMBOBOX 117#endif 118 // _WX_COMBOBOX_H_ 119