Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

205 lines
6.3 KiB

/**********************************************************************/
/** 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_