added temporary implementation of wxChoice for wxUniv

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2001-11-17 23:13:55 +00:00
parent bac957422a
commit 926592a8cf
4 changed files with 133 additions and 3 deletions

View File

@ -363,6 +363,7 @@ bmpbuttn.cpp Univ
button.cpp Univ
checkbox.cpp Univ
checklst.cpp Univ
choice.cpp Univ
colschem.cpp Univ
combobox.cpp Univ
control.cpp Univ
@ -403,8 +404,7 @@ brush.cpp GTK LowLevel
button.cpp GTK
checkbox.cpp GTK
checklst.cpp GTK
# FIXME: remove LowLevel from choice!
choice.cpp GTK LowLevel
choice.cpp GTK
clipbrd.cpp GTK LowLevel
colour.cpp GTK LowLevel
combobox.cpp GTK
@ -1404,6 +1404,7 @@ bmpbuttn.h UnivH
button.h UnivH
checkbox.h UnivH
checklst.h UnivH
choice.h UnivH
colschem.h UnivH
combobox.h UnivH
control.h UnivH

View File

@ -63,7 +63,9 @@ public:
// include the platform-dependent class definition
// ----------------------------------------------------------------------------
#if defined(__WXMSW__)
#if defined(__WXUNIVERSAL__)
#include "wx/univ/choice.h"
#elif defined(__WXMSW__)
#include "wx/msw/choice.h"
#elif defined(__WXMOTIF__)
#include "wx/motif/choice.h"

56
include/wx/univ/choice.h Normal file
View File

@ -0,0 +1,56 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/univ/choice.h
// Purpose: the universal choice
// Author: Vadim Zeitlin
// Modified by:
// Created: 30.08.00
// RCS-ID: $Id$
// Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_UNIV_CHOICE_H_
#define _WX_UNIV_CHOICE_H_
#ifdef __GNUG__
#pragma interface "univchoice.h"
#endif
#include "wx/combobox.h"
// VS: This is only a *temporary* implementation, real wxChoice should not
// derive from wxComboBox and may have different l&f
class WXDLLEXPORT wxChoice : public wxComboBox
{
public:
wxChoice() {}
wxChoice(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
int n = 0, const wxString choices[] = (const wxString *) NULL,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr)
{
Create(parent, id, pos, size, n, choices, style, validator, name);
}
bool Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
int n = 0, const wxString choices[] = (wxString *) NULL,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr);
void *GetClientData(int n) const { return wxItemContainer::GetClientData(n); }
private:
void OnComboBox(wxCommandEvent &event);
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxChoice)
};
#endif // _WX_UNIV_CHOICE_H_

71
src/univ/choice.cpp Normal file
View File

@ -0,0 +1,71 @@
/////////////////////////////////////////////////////////////////////////////
// Name: univ/choice.cpp
// Purpose: wxChoice implementation
// Author: Vadim Zeitlin
// Modified by:
// Created: 15.12.00
// RCS-ID: $Id$
// Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#ifdef __GNUG__
#pragma implementation "univchoice.h"
#endif
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#if wxUSE_CHOICE
#ifndef WX_PRECOMP
#include "wx/choice.h"
#endif
IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
BEGIN_EVENT_TABLE(wxChoice, wxComboBox)
EVT_COMBOBOX(-1, wxChoice::OnComboBox)
END_EVENT_TABLE()
bool wxChoice::Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos,
const wxSize& size,
int n, const wxString choices[],
long style,
const wxValidator& validator,
const wxString& name)
{
wxString value;
if ( n )
value = choices[0];
return wxComboBox::Create(parent, id, value,
pos, size, n, choices,
wxCB_READONLY, validator, name);
}
void wxChoice::OnComboBox(wxCommandEvent& event)
{
if ( event.GetId() == GetId() )
{
event.SetEventType(wxEVT_COMMAND_CHOICE_SELECTED);
event.Skip();
GetEventHandler()->ProcessEvent(event);
}
else
event.Skip();
}
#endif // wxUSE_CHOICE