• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/amule/wxWidgets-2.8.12/include/wx/mac/classic/
1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/mac/classic/combobox.h
3// Purpose:     wxComboBox class
4// Author:      Stefan Csomor
5// Modified by:
6// Created:     1998-01-01
7// RCS-ID:      $Id: combobox.h 38319 2006-03-23 22:05:23Z VZ $
8// Copyright:   (c) Stefan Csomor
9// Licence:     wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_COMBOBOX_H_
13#define _WX_COMBOBOX_H_
14
15#include "wx/choice.h"
16
17WXDLLEXPORT_DATA(extern const wxChar) wxComboBoxNameStr[];
18
19// Combobox item
20class WXDLLEXPORT wxComboBox : public wxControl, public wxComboBoxBase
21{
22  DECLARE_DYNAMIC_CLASS(wxComboBox)
23
24 public:
25    inline wxComboBox() {}
26    virtual ~wxComboBox();
27    // override the base class virtuals involved in geometry calculations
28    virtual wxSize DoGetBestSize() const;
29    virtual void DoMoveWindow(int x, int y, int width, int height);
30
31    // forward these functions to all subcontrols
32    virtual bool Enable(bool enable = true);
33    virtual bool Show(bool show = true);
34    virtual void SetFocus();
35
36    // callback functions
37    virtual void DelegateTextChanged( const wxString& value );
38    virtual void DelegateChoice( const wxString& value );
39
40    inline wxComboBox(wxWindow *parent, wxWindowID id,
41           const wxString& value = wxEmptyString,
42           const wxPoint& pos = wxDefaultPosition,
43           const wxSize& size = wxDefaultSize,
44           int n = 0, const wxString choices[] = NULL,
45           long style = 0,
46           const wxValidator& validator = wxDefaultValidator,
47           const wxString& name = wxComboBoxNameStr)
48    {
49    Create(parent, id, value, pos, size, n, choices, style, validator, name);
50    }
51    inline wxComboBox(wxWindow *parent, wxWindowID id,
52           const wxString& value,
53           const wxPoint& pos,
54           const wxSize& size,
55           const wxArrayString& choices,
56           long style = 0,
57           const wxValidator& validator = wxDefaultValidator,
58           const wxString& name = wxComboBoxNameStr)
59    {
60    Create(parent, id, value, pos, size, choices, style, validator, name);
61    }
62
63    bool Create(wxWindow *parent, wxWindowID id,
64           const wxString& value = wxEmptyString,
65           const wxPoint& pos = wxDefaultPosition,
66           const wxSize& size = wxDefaultSize,
67           int n = 0, const wxString choices[] = NULL,
68           long style = 0,
69           const wxValidator& validator = wxDefaultValidator,
70           const wxString& name = wxComboBoxNameStr);
71    bool Create(wxWindow *parent, wxWindowID id,
72           const wxString& value,
73           const wxPoint& pos,
74           const wxSize& size,
75           const wxArrayString& choices,
76           long style = 0,
77           const wxValidator& validator = wxDefaultValidator,
78           const wxString& name = wxComboBoxNameStr);
79
80    // List functions
81    virtual void Delete(unsigned int n);
82    virtual void Clear();
83
84    virtual int GetSelection() const ;
85    virtual void SetSelection(int n);
86    virtual int FindString(const wxString& s, bool bCase = false) const;
87    virtual wxString GetString(unsigned int n) const ;
88    virtual wxString GetStringSelection() const ;
89    virtual void SetString(unsigned int n, const wxString& s);
90
91    // Text field functions
92    virtual wxString GetValue() const ;
93    virtual void SetValue(const wxString& value);
94
95    // Clipboard operations
96    virtual void Copy();
97    virtual void Cut();
98    virtual void Paste();
99    virtual void SetInsertionPoint(long pos);
100    virtual void SetInsertionPointEnd();
101    virtual long GetInsertionPoint() const ;
102    virtual wxTextPos GetLastPosition() const ;
103    virtual void Replace(long from, long to, const wxString& value);
104    virtual void Remove(long from, long to);
105    virtual void SetSelection(long from, long to);
106    virtual void SetEditable(bool editable);
107    virtual unsigned int GetCount() const { return m_choice->GetCount() ; }
108
109    virtual bool IsEditable() const ;
110
111    virtual void Undo() ;
112    virtual void Redo() ;
113    virtual void SelectAll() ;
114
115    virtual bool CanCopy() const ;
116    virtual bool CanCut() const ;
117    virtual bool CanPaste() const ;
118    virtual bool CanUndo() const ;
119    virtual bool CanRedo() const ;
120
121    void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ;
122
123    wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
124
125protected:
126    virtual int DoAppend(const wxString& item) ;
127    virtual int DoInsert(const wxString& item, unsigned int pos) ;
128
129    virtual void DoSetItemClientData(unsigned int n, void* clientData);
130    virtual void* DoGetItemClientData(unsigned int n) const ;
131    virtual void DoSetItemClientObject(unsigned int n, wxClientData* clientData);
132    virtual wxClientData* DoGetItemClientObject(unsigned int n) const ;
133
134    void FreeData();
135
136    // the subcontrols
137    wxTextCtrl*     m_text;
138    wxChoice*       m_choice;
139};
140
141#endif
142    // _WX_COMBOBOX_H_
143