home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / contrib / samples / applet / combobox.cpp < prev    next >
C/C++ Source or Header  |  2001-10-30  |  4KB  |  174 lines

  1. /****************************************************************************
  2. *
  3. *                       wxWindows HTML Applet Package
  4. *
  5. *               Copyright (C) 1991-2001 SciTech Software, Inc.
  6. *                            All rights reserved.
  7. *
  8. *  ========================================================================
  9. *
  10. *    The contents of this file are subject to the wxWindows License
  11. *    Version 3.0 (the "License"); you may not use this file except in
  12. *    compliance with the License. You may obtain a copy of the License at
  13. *    http://www.wxwindows.org/licence3.txt
  14. *
  15. *    Software distributed under the License is distributed on an
  16. *    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  17. *    implied. See the License for the specific language governing
  18. *    rights and limitations under the License.
  19. *
  20. *  ========================================================================
  21. *
  22. * Language:     ANSI C++
  23. * Environment:  Any
  24. *
  25. * Description:  Combobox wrapper. This file implements the custom
  26. *               combo boxes used for this sample program.
  27. *
  28. ****************************************************************************/
  29.  
  30. // For compilers that support precompilation, includes "wx/wx.h".
  31. #include "wx/wxprec.h"
  32. #ifdef __BORLANDC__
  33.     #pragma hdrstop
  34. #endif
  35.  
  36. #include "wx/wx.h"
  37. #include "combobox.h"
  38.  
  39. /*------------------------- Implementation --------------------------------*/
  40.  
  41. ComboBox::ComboBox(
  42.     wxWindow *parent,
  43.     int listid,
  44.     int textid)
  45.     : m_Parent(parent), m_ListBoxId(listid), m_TextCtrlId(textid)
  46. {
  47.     m_ListBox  = wxDynamicCast(m_Parent->FindWindow(listid),wxListBox);
  48.     m_TextCtrl = wxDynamicCast(m_Parent->FindWindow(textid),wxTextCtrl);
  49. }
  50.  
  51. int ComboBox::GetListBoxId()
  52. {
  53.     return m_ListBoxId;
  54. }
  55.  
  56. int ComboBox::GetSelection()
  57. {
  58.     return m_ListBox->GetSelection();
  59. }
  60.  
  61. wxString ComboBox::GetStringSelection()
  62. {
  63.     return m_ListBox->GetStringSelection();
  64. }
  65.  
  66. bool ComboBox::SetStringSelection(const wxString& s, bool select)
  67. {
  68.     select = TRUE;
  69.     select = m_ListBox->SetStringSelection(s, select);
  70.     m_TextCtrl->SetValue(GetStringSelection());
  71.     return select;
  72. }
  73.  
  74. void ComboBox::Select(int n)
  75. {
  76.     m_ListBox->Select(n);
  77.     m_TextCtrl->SetValue(GetStringSelection());
  78. }
  79.  
  80. void ComboBox::Deselect(int n)
  81. {
  82.     m_ListBox->Deselect(n);
  83. }
  84.  
  85. void ComboBox::Insert(const wxString& item, int pos)
  86. {
  87.     m_ListBox->Insert(item,pos);
  88. }
  89.  
  90. void ComboBox::Insert(const wxString& item, int pos, void *clientData)
  91. {
  92.     m_ListBox->Insert(item, pos, clientData);
  93. }
  94.  
  95. void ComboBox::Insert(const wxString& item, int pos, wxClientData *clientData)
  96. {
  97.     m_ListBox->Insert(item, pos, clientData);
  98. }
  99.  
  100. void ComboBox::InsertItems(int nItems, const wxString *items, int pos)
  101. {
  102.     m_ListBox->InsertItems(nItems, items, pos);
  103. }
  104.  
  105. void ComboBox::InsertItems(const wxArrayString& items, int pos)
  106. {
  107.     m_ListBox->InsertItems(items, pos);
  108. }
  109.  
  110. void ComboBox::Set(int n, const wxString* items, void **clientData)
  111. {
  112.     m_ListBox->Set(n, items, clientData);
  113.     m_TextCtrl->SetValue(GetStringSelection());
  114. }
  115.  
  116. void ComboBox::Set(const wxArrayString& items, void **clientData)
  117. {
  118.     m_ListBox->Set(items, clientData);
  119.     m_TextCtrl->SetValue(GetStringSelection());
  120. }
  121.  
  122. int ComboBox::FindString(const wxString &s)
  123. {
  124.     return (m_ListBox->FindString(s));
  125. }
  126.  
  127. void ComboBox::SetFirstItem(int n)
  128. {
  129.     m_ListBox->SetFirstItem(n);
  130.     m_TextCtrl->SetValue(GetStringSelection());
  131. }
  132.  
  133. void ComboBox::SetFirstItem(const wxString &s)
  134. {
  135.     m_ListBox->SetFirstItem(s);
  136.     m_TextCtrl->SetValue(GetStringSelection());
  137. }
  138.  
  139. void ComboBox::Append(const wxString &item)
  140. {
  141.     m_ListBox->Append(item);
  142.     m_TextCtrl->SetValue(GetStringSelection());
  143. }
  144.  
  145. void ComboBox::Append(const wxString& item, void *clientData)
  146. {
  147.     m_ListBox->Append(item, clientData);
  148.     m_TextCtrl->SetValue(GetStringSelection());
  149. }
  150.  
  151. void ComboBox::Append(const wxString& item, wxClientData *clientData)
  152. {
  153.     m_ListBox->Append(item, clientData);
  154.     m_TextCtrl->SetValue(GetStringSelection());
  155. }
  156.  
  157. void ComboBox::Clear()
  158. {
  159.     m_ListBox->Clear();
  160.     m_TextCtrl->SetValue(GetStringSelection());
  161. }
  162.  
  163. void ComboBox::Delete(int n)
  164. {
  165.     m_ListBox->Delete(n);
  166.     m_TextCtrl->SetValue(GetStringSelection());
  167. }
  168.  
  169. void ComboBox::OnChange(wxCommandEvent &)
  170. {
  171.     m_TextCtrl->SetValue(GetStringSelection());
  172. }
  173.  
  174.