]> git.saurik.com Git - wxWidgets.git/commitdiff
missing wxMSW files
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 27 Jul 1999 20:09:15 +0000 (20:09 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 27 Jul 1999 20:09:15 +0000 (20:09 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/choiccmn.cpp [new file with mode: 0644]
src/common/ctrlcmn.cpp [new file with mode: 0644]

diff --git a/src/common/choiccmn.cpp b/src/common/choiccmn.cpp
new file mode 100644 (file)
index 0000000..9f5dfea
--- /dev/null
@@ -0,0 +1,117 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        common/choiccmn.cpp
+// Purpose:     common (to all ports) wxChoice functions
+// Author:      Vadim Zeitlin
+// Modified by:
+// Created:     26.07.99
+// RCS-ID:      $Id$
+// Copyright:   (c) wxWindows team
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#ifdef __GNUG__
+    #pragma implementation "choicebase.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+    #include "wx/choice.h"
+    #include "wx/log.h"
+#endif
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// events
+// ----------------------------------------------------------------------------
+
+void wxChoiceBase::Command(wxCommandEvent &event)
+{
+    SetSelection(event.GetInt());
+    (void)ProcessEvent(event);
+}
+
+// ----------------------------------------------------------------------------
+// string selection management
+// ----------------------------------------------------------------------------
+
+wxString wxChoiceBase::GetStringSelection() const
+{
+    int sel = GetSelection();
+    wxString str;
+    wxCHECK_MSG( sel != wxNOT_FOUND, str, _T("no selection, hence no string") );
+
+    str = GetString(sel);
+    return str;
+}
+
+bool wxChoiceBase::SetStringSelection(const wxString& sel)
+{
+    int selIndex = FindString(sel);
+    wxCHECK_MSG( selIndex != wxNOT_FOUND, FALSE,
+                 _T("can't set selection to string not in the control") );
+
+    SetSelection(selIndex);
+
+    return TRUE;
+}
+
+// ----------------------------------------------------------------------------
+// client data
+// ----------------------------------------------------------------------------
+
+void wxChoiceBase::SetClientObject(int n, wxClientData *data)
+{
+    wxASSERT_MSG( m_clientDataItemsType != ClientData_Void,
+                  _T("can't have both object and void client data") );
+
+    wxClientData *clientDataOld = DoGetClientObject(n);
+    if ( clientDataOld )
+        delete clientDataOld;
+
+    DoSetClientObject(n, data);
+    m_clientDataItemsType = ClientData_Object;
+}
+
+wxClientData *wxChoiceBase::GetClientObject(int n) const
+{
+    wxASSERT_MSG( m_clientDataItemsType == ClientData_Object,
+                  _T("this window doesn't have object client data") );
+
+    return DoGetClientObject(n);
+}
+
+void wxChoiceBase::SetClientData(int n, void *data)
+{
+    wxASSERT_MSG( m_clientDataItemsType != ClientData_Object,
+                  _T("can't have both object and void client data") );
+
+    DoSetClientData(n, data);
+    m_clientDataItemsType = ClientData_Void;
+}
+
+void *wxChoiceBase::GetClientData(int n) const
+{
+    wxASSERT_MSG( m_clientDataItemsType == ClientData_Void,
+                  _T("this window doesn't have void client data") );
+
+    return DoGetClientData(n);
+}
+
+
diff --git a/src/common/ctrlcmn.cpp b/src/common/ctrlcmn.cpp
new file mode 100644 (file)
index 0000000..b589277
--- /dev/null
@@ -0,0 +1,72 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        ctrlcmn.cpp
+// Purpose:     wxControl common interface
+// Author:      Vadim Zeitlin
+// Modified by:
+// Created:     26.07.99
+// RCS-ID:      $Id$
+// Copyright:   (c) wxWindows team
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#ifdef __GNUG__
+    #pragma implementation "choicebase.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+    #include "wx/control.h"
+    #include "wx/log.h"
+#endif
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+bool wxControlBase::CreateControl(wxWindowBase *parent,
+                                  wxWindowID id,
+                                  const wxPoint& pos,
+                                  const wxSize& size,
+                                  long style,
+                                  const wxValidator& validator,
+                                  const wxString& name)
+{
+    // even if it's possible to create controls without parents in some port,
+    // it should surely be discouraged because it doesn't work at all under
+    // Windows
+    wxCHECK_MSG( parent, FALSE, _T("all controls must have parents") );
+
+    if ( !CreateBase(parent, id, pos, size, style, validator, name) )
+        return FALSE;
+
+    parent->AddChild(this);
+
+    return TRUE;
+}
+
+// inherit colour and font settings from the parent window
+void wxControlBase::InheritAttributes()
+{
+    SetBackgroundColour(GetParent()->GetBackgroundColour());
+    SetForegroundColour(GetParent()->GetForegroundColour());
+    SetFont(GetParent()->GetFont());
+}
+
+void wxControlBase::Command(wxCommandEvent& event)
+{
+    (void)ProcessEvent(event);
+}