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:
22
debian/README.examples
vendored
Normal file
22
debian/README.examples
vendored
Normal 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
1
debian/compat
vendored
Normal file
@@ -0,0 +1 @@
|
||||
4
|
2
debian/wx-doc.docs
vendored
Normal file
2
debian/wx-doc.docs
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
docs/wx-manual.html
|
||||
|
4
debian/wx-examples.examples
vendored
Normal file
4
debian/wx-examples.examples
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
debian/README.examples
|
||||
docs/examples/samples
|
||||
docs/examples/wxPython
|
||||
|
243
src/os2/spinbutt.cpp
Normal file
243
src/os2/spinbutt.cpp
Normal 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
|
Reference in New Issue
Block a user