206 lines
6.3 KiB
C++
206 lines
6.3 KiB
C++
|
/**********************************************************************/
|
||
|
/** Microsoft Windows/NT **/
|
||
|
/** Copyright(c) Microsoft Corp., 1991 **/
|
||
|
/**********************************************************************/
|
||
|
|
||
|
/*
|
||
|
spinobj.hxx
|
||
|
This is the header file of all the spin button objects
|
||
|
which consists of:
|
||
|
o Elapse Time entry
|
||
|
o Disk space subclass
|
||
|
|
||
|
FILE HISTORY:
|
||
|
terryk 28-Jun-91 Created
|
||
|
terryk 22-JUl-91 Add QuerySmallXXXValue() to SPIN_SLE_VALID_SECOND
|
||
|
terryk 28-Jul-91 Add QueryMinWin() and QuerySecWin() to ETC
|
||
|
terryk 12-Aug-91 Add fActive parameter to the constructor
|
||
|
terryk 16-Aug-91 Change the SPIN_SLE_SECOND constructor to
|
||
|
add INC_VALUE
|
||
|
terryk 11-Nov-91 Change the return type to LONG
|
||
|
terryk 17-Apr-92 Change the return type to ULONG
|
||
|
|
||
|
*/
|
||
|
|
||
|
#ifndef _SPINOBJ_HXX_
|
||
|
#define _SPINOBJ_HXX_
|
||
|
|
||
|
#include "bltgroup.hxx"
|
||
|
|
||
|
|
||
|
/*********************************************************************
|
||
|
|
||
|
NAME: SPIN_SLE_VALID_SECOND
|
||
|
|
||
|
SYNOPSIS: This class will increase the internal value to the multiple
|
||
|
of 15 or decrease the internal value to the multiple of 15.
|
||
|
|
||
|
INTERFACE:
|
||
|
SPIN_SLE_VALID_SECOND() - constructor
|
||
|
QuerySmallIncValue() - return the next multiple of 15
|
||
|
QueryBigIncValue() - same as QuerySmallIncValue
|
||
|
QuerySmallDecValue() - return the last multiple of 15
|
||
|
QueryBigDecValue() - same as QuerySmallDecValue
|
||
|
|
||
|
PARENT: SPIN_SLE_NUM_VALID
|
||
|
|
||
|
USES: OWNER_WINDOW
|
||
|
|
||
|
HISTORY:
|
||
|
Terryk 28-Jul-91 Created
|
||
|
terryk 22-Jul-91 Add QuerySmallXXXValue() as virtual functions
|
||
|
|
||
|
*********************************************************************/
|
||
|
|
||
|
DLL_CLASS SPIN_SLE_VALID_SECOND : public SPIN_SLE_NUM_VALID
|
||
|
{
|
||
|
private:
|
||
|
LONG _nSecondInc;
|
||
|
|
||
|
public:
|
||
|
SPIN_SLE_VALID_SECOND( OWNER_WINDOW * powin, CID cid,
|
||
|
LONG nValue=0, LONG nMin=0,
|
||
|
LONG dRange=0, LONG nSecondInc = 0,
|
||
|
BOOL fWrap=TRUE );
|
||
|
|
||
|
virtual ULONG QuerySmallIncValue() const;
|
||
|
virtual ULONG QueryBigIncValue() const;
|
||
|
virtual ULONG QuerySmallDecValue() const;
|
||
|
virtual ULONG QueryBigDecValue() const;
|
||
|
};
|
||
|
|
||
|
|
||
|
/**********************************************************************
|
||
|
|
||
|
NAME: ELAPSED_TIME_CONTROL
|
||
|
|
||
|
SYNOPSIS: Elapsed time control entry. It consists of 2 fields: the
|
||
|
minute field and the second field.
|
||
|
|
||
|
INTERFACE:
|
||
|
ELAPSED_TIME_CONTROL() - constructor
|
||
|
|
||
|
QueryMinWin() - return the minute window pointer
|
||
|
QuerySecWin() - return the second window pointer
|
||
|
|
||
|
SetMinuteMin() - set the min value of the minute field
|
||
|
SetMinuteRange() - set the range of the minute field
|
||
|
SetMinuteValue() - set the value of the minute field
|
||
|
QueryMinuteValue() - return the minute value
|
||
|
|
||
|
SetSecondMin() - set the min value of the second field
|
||
|
SetSecondRange() - set the range value of the second field
|
||
|
SetSecondValue() - set the value of the second field
|
||
|
QuerySecondValue() - return the second value
|
||
|
|
||
|
PARENT: SPIN_GROUP
|
||
|
|
||
|
USES: OWNER_WINDOW, SPIN_SLE_NUM_VALID, SPIN_SLE_SEPARATOR,
|
||
|
SPIN_SLE_VALID_SECOND
|
||
|
|
||
|
HISTORY:
|
||
|
terryk 28-Jun-91 Created
|
||
|
terryk 28-Jul-91 Add QueryMinWin and QuerySecWin
|
||
|
beng 04-Oct-1991 Win32 conversion
|
||
|
|
||
|
**********************************************************************/
|
||
|
|
||
|
DLL_CLASS ELAPSED_TIME_CONTROL : public SPIN_GROUP
|
||
|
{
|
||
|
private:
|
||
|
SPIN_SLE_NUM_VALID _spsleMinute;
|
||
|
SPIN_SLT_SEPARATOR _spsltSeparator;
|
||
|
SPIN_SLE_VALID_SECOND _spsleSecond;
|
||
|
|
||
|
APIERR SetSpinItemAccKey( SPIN_ITEM * psi, SLT & slt, INT cchPos );
|
||
|
|
||
|
public:
|
||
|
ELAPSED_TIME_CONTROL( OWNER_WINDOW * powin,
|
||
|
CID cidMinute,
|
||
|
CID cidSeparator,
|
||
|
CID cidSecond,
|
||
|
CID cidSpinButton,
|
||
|
CID cidUpArrow,
|
||
|
CID cidDownArrow,
|
||
|
SLT & sltMinuteStr,
|
||
|
LONG nMinuteDefault,
|
||
|
LONG nMinuteMin,
|
||
|
LONG dMinuteRange,
|
||
|
SLT & sltSeparatorStr,
|
||
|
SLT & sltSecondStr,
|
||
|
LONG nSecondDefault,
|
||
|
LONG nSecondMin,
|
||
|
LONG dSecondRange,
|
||
|
LONG dSecondInc,
|
||
|
BOOL fActive = FALSE );
|
||
|
|
||
|
WINDOW *QueryMinWin() const
|
||
|
{ return (WINDOW *) & _spsleMinute; }
|
||
|
WINDOW *QuerySecWin() const
|
||
|
{ return (WINDOW *) & _spsleSecond; }
|
||
|
|
||
|
VOID SetMinuteMin( const LONG nMin );
|
||
|
VOID SetMinuteRange( const LONG dRange );
|
||
|
VOID SetMinuteValue( const LONG nValue );
|
||
|
LONG QueryMinuteValue() const;
|
||
|
|
||
|
VOID SetSecondMin( const LONG nMin );
|
||
|
VOID SetSecondRange( const LONG dRange );
|
||
|
VOID SetSecondValue( const LONG nValue );
|
||
|
LONG QuerySecondValue() const ;
|
||
|
|
||
|
VOID SetMinuteFieldName( MSGID nIDS );
|
||
|
VOID SetSecondFieldName( MSGID nIDS );
|
||
|
};
|
||
|
|
||
|
|
||
|
/**********************************************************************
|
||
|
|
||
|
NAME: DISK_SPACE_SUBCLASS
|
||
|
|
||
|
SYNOPSIS: Disk space subclass. It has 2 fields - the unit field and
|
||
|
the value field.
|
||
|
|
||
|
INTERFACE: DISK_SPACE_SUBCLASS() - constructor
|
||
|
QueryDiskSpace() - return the disk space value
|
||
|
QueryUnit() - return the disk space unit
|
||
|
|
||
|
PARENT: SPIN_GROUP
|
||
|
|
||
|
HISTORY:
|
||
|
terryk 28-Jun-91 Created
|
||
|
beng 04-Oct-1991 Win32 conversion
|
||
|
|
||
|
**********************************************************************/
|
||
|
|
||
|
DLL_CLASS DISK_SPACE_SUBCLASS : public SPIN_GROUP
|
||
|
{
|
||
|
private:
|
||
|
SPIN_SLE_NUM_VALID _spsleDiskSpace; // disk space value
|
||
|
SPIN_SLE_STR _spsleUnit; // disk space unit
|
||
|
LONG _nStartUnit;
|
||
|
|
||
|
public:
|
||
|
DISK_SPACE_SUBCLASS( OWNER_WINDOW * powin, CID cidSpinButton,
|
||
|
CID cidUpArrow, CID cidDownArrow,
|
||
|
CID cidDiskSpace, CID cidUnit,
|
||
|
LONG nInitDSValue = 1, LONG nMinDS = 0,
|
||
|
LONG nRangeDS = 999, LONG nStartUnit = IDS_K,
|
||
|
LONG nUnit = 4, BOOL fActive = TRUE );
|
||
|
|
||
|
VOID SetDSFieldName( MSGID nIDS );
|
||
|
VOID SetDiskSpaceValue( LONG nValue )
|
||
|
{ _spsleDiskSpace.SetValue( nValue );
|
||
|
_spsleDiskSpace.Update(); }
|
||
|
VOID SetUnit( LONG nValue )
|
||
|
{ _spsleUnit.SetValue( nValue );
|
||
|
_spsleUnit.Update(); }
|
||
|
|
||
|
LONG QueryDiskSpace() const
|
||
|
{ return _spsleDiskSpace.QueryValue(); }
|
||
|
LONG QueryUnit() const
|
||
|
{ return _nStartUnit + _spsleUnit.QueryValue(); }
|
||
|
};
|
||
|
|
||
|
#endif // _SPINOBJ_HXX_
|