This commit was manufactured by cvs2svn to create branch

'WX_2_4_BRANCH'.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@28559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Bryan Petty
2004-07-31 13:58:38 +00:00
parent 360f2ea332
commit 927429443f
5 changed files with 272 additions and 0 deletions

22
debian/README.examples vendored Normal file
View File

@@ -0,0 +1,22 @@
These examples are provided as extended documentation for the wxWidgets
package. If you wish to actually run them rather than just browse them
as documents you should copy them into a working directory elsewhere
first. Note that some of them will attempt to write to the current
working directory, or to the home directory of the user they are run as.
Some of the files have been compressed in accordance with Debian policy
regarding documentation, you will need to uncompress such files before
building or executing them.
The examples provided here typically show a minimal implementation of
the feature(s) they are demonstrating. There are examples of more
complete (mini) applications, available in the /wxPython/samples and
/demos directories of the wxWidgets cvs repository (which is browsable
via http://cvs.wxwidgets.org), or of course you can always apt-get the
source of any wx using package for some less contrived examples of
real world wx applications.
Ron

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
4

2
debian/wx-doc.docs vendored Normal file
View File

@@ -0,0 +1,2 @@
docs/wx-manual.html

4
debian/wx-examples.examples vendored Normal file
View File

@@ -0,0 +1,4 @@
debian/README.examples
docs/examples/samples
docs/examples/wxPython

243
src/os2/spinbutt.cpp Normal file
View File

@@ -0,0 +1,243 @@
/////////////////////////////////////////////////////////////////////////////
// Name: spinbutt.cpp
// Purpose: wxSpinButton
// Author: David Webster
// Modified by:
// Created: 10/15/99
// RCS-ID: $Id$
// Copyright: (c) David Webster
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "spinbutt.h"
#pragma implementation "spinbutbase.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#if wxUSE_SPINBTN
// Can't resolve reference to CreateUpDownControl in
// TWIN32, but could probably use normal CreateWindow instead.
#include "wx/spinbutt.h"
extern void wxAssociateWinWithHandle( HWND hWnd
,wxWindowOS2* pWin
);
static WXFARPROC fnWndProcSpinCtrl = (WXFARPROC)NULL;
IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxNotifyEvent)
#include "wx/os2/private.h"
// ============================================================================
// implementation
// ============================================================================
// ----------------------------------------------------------------------------
// wxWin macros
// ----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxSpinButton, wxControl)
bool wxSpinButton::Create(
wxWindow* pParent
, wxWindowID vId
, const wxPoint& rPos
, const wxSize& rSize
, long lStyle
, const wxString& rsName
)
{
int nX = rPos.x;
int nY = rPos.y;
int nWidth = rSize.x;
int nHeight = rSize.y;
SWP vSwp;
m_min = 0;
m_max = 100;
if (vId == -1)
m_windowId = NewControlId();
else
m_windowId = vId;
m_backgroundColour = pParent->GetBackgroundColour();
m_foregroundColour = pParent->GetForegroundColour();
SetName(rsName);
SetParent(pParent);
m_windowStyle = lStyle;
//
// Get the right size for the control
//
if (nWidth <= 0 || nHeight <= 0 )
{
wxSize vSize = DoGetBestSize();
if (nWidth <= 0 )
nWidth = vSize.x;
if (nHeight <= 0 )
nHeight = vSize.y;
}
if (nX < 0 )
nX = 0;
if (nY < 0 )
nY = 0;
long lSstyle = 0L;
lSstyle = WS_VISIBLE |
WS_TABSTOP |
SPBS_MASTER | // We use only single field spin buttons
SPBS_NUMERICONLY; // We default to numeric data
if (m_windowStyle & wxCLIP_SIBLINGS )
lSstyle |= WS_CLIPSIBLINGS;
m_hWnd = (WXHWND)::WinCreateWindow( GetWinHwnd(pParent)
,WC_SPINBUTTON
,(PSZ)NULL
,lSstyle
,0L, 0L, 0L, 0L
,GetWinHwnd(pParent)
,HWND_TOP
,(HMENU)vId
,NULL
,NULL
);
if (m_hWnd == 0)
{
return FALSE;
}
SetRange(m_min, m_max);
if(pParent)
pParent->AddChild((wxSpinButton *)this);
::WinQueryWindowPos(m_hWnd, &vSwp);
SetXComp(vSwp.x);
SetYComp(vSwp.y);
wxFont* pTextFont = new wxFont( 10
,wxMODERN
,wxNORMAL
,wxNORMAL
);
SetFont(*pTextFont);
//
// For OS/2 we want to hide the text portion so we can substitute an
// independent text ctrl in its place. 10 device units does this
//
SetSize( nX
,nY
,10L
,nHeight
);
wxAssociateWinWithHandle( m_hWnd
,(wxWindowOS2*)this
);
#if 0
// FIXME:
// Apparently, this does not work, as it crashes in setvalue/setrange calls
// What's it supposed to do anyway?
::WinSetWindowULong(GetHwnd(), QWL_USER, (LONG)this);
fnWndProcSpinCtrl = (WXFARPROC)::WinSubclassWindow(m_hWnd, (PFNWP)wxSpinCtrlWndProc);
#endif
delete pTextFont;
return TRUE;
} // end of wxSpinButton::Create
wxSpinButton::~wxSpinButton()
{
} // end of wxSpinButton::~wxSpinButton
// ----------------------------------------------------------------------------
// size calculation
// ----------------------------------------------------------------------------
wxSize wxSpinButton::DoGetBestSize() const
{
//
// OS/2 PM does not really have system metrics so we'll just set it to
// 24x20 which is the size of the buttons and the borders.
// Also we have no horizontal spin buttons.
//
return (wxSize(24,20));
} // end of wxSpinButton::DoGetBestSize
// ----------------------------------------------------------------------------
// Attributes
// ----------------------------------------------------------------------------
int wxSpinButton::GetValue() const
{
long lVal = 0L;
char zVal[10];
::WinSendMsg( GetHwnd()
,SPBM_QUERYVALUE
,MPFROMP(zVal)
,MPFROM2SHORT( (USHORT)10
,SPBQ_UPDATEIFVALID
)
);
lVal = atol(zVal);
return ((int)lVal);
} // end of wxSpinButton::GetValue
bool wxSpinButton::OS2OnScroll(
int nOrientation
, WXWORD wParam
, WXWORD wPos
, WXHWND hControl
)
{
wxCHECK_MSG(hControl, FALSE, wxT("scrolling what?") )
wxSpinEvent vEvent( wxEVT_SCROLL_THUMBTRACK
,m_windowId
);
int nVal = (int)wPos; // cast is important for negative values!
vEvent.SetPosition(nVal);
vEvent.SetEventObject(this);
return(GetEventHandler()->ProcessEvent(vEvent));
} // end of wxSpinButton::OS2OnScroll
bool wxSpinButton::OS2Command(
WXUINT uCmd
, WXWORD wId
)
{
return FALSE;
} // end of wxSpinButton::OS2Command
void wxSpinButton::SetRange(
int nMinVal
, int nMaxVal
)
{
m_min = nMinVal;
m_max = nMaxVal;
::WinSendMsg( GetHwnd()
,SPBM_SETLIMITS
,MPFROMLONG(nMaxVal)
,MPFROMLONG(nMinVal)
);
} // end of wxSpinButton::SetRange
void wxSpinButton::SetValue(
int nValue
)
{
::WinSendMsg(GetHwnd(), SPBM_SETCURRENTVALUE, MPFROMLONG(nValue), MPARAM(0));
} // end of wxSpinButton::SetValue
#endif //wxUSE_SPINBTN