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