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.
 
 
 
 
 
 

108 lines
2.9 KiB

/**********************************************************************/
/** Microsoft Windows NT **/
/** Copyright(c) Microsoft Corp., 1992 **/
/**********************************************************************/
/*
Groups.hxx
This file contains common group definitions that other people might
find useful.
FILE HISTORY:
Johnl 11-Apr-1992 Created
*/
#ifndef _GROUPS_HXX_
#define _GROUPS_HXX_
#include "strlst.hxx"
/*************************************************************************
NAME: SLE_STRLB_GROUP
SYNOPSIS: This group defines the behaviour between an input SLE, a
string listbox that contains the inputted data (and supplies
the output data) and two buttons which controls the
input/output sequence. This is essentially a set control
except one of listboxes is replaced by an SLE.
INTERFACE:
Init
Fills the Listbox with the items in the STRLIST.
Must be called even if nothing is to be added the listbox.
PARENT: CONTROL_GROUP
USES: PUSH_BUTTON, SLE, STRING_LISTBOX
CAVEATS: Init is used because we can't reliably gurantee all of the
controls have been constructed at construct time.
NOTES: No action will be performed on the controls passed to the
constructor
HISTORY:
JohnL 11-Apr-1992 Created
KeithMo 12-Nov-1992 Added W_Add virtual worker.
**************************************************************************/
DLL_CLASS SLE_STRLB_GROUP : public CONTROL_GROUP
{
public:
SLE_STRLB_GROUP( OWNER_WINDOW * powin,
SLE * sleInput,
STRING_LISTBOX * pStrLB,
PUSH_BUTTON * pbuttonAdd,
PUSH_BUTTON * pbuttonRemove ) ;
~SLE_STRLB_GROUP() ;
APIERR Init( STRLIST * pstrlist = NULL ) ;
STRING_LISTBOX * QueryStrLB( void ) const
{ return _pStrLB ; }
SLE * QueryInputSLE( void ) const
{ return _psleInput ; }
protected:
APIERR OnAdd( void ) ;
APIERR OnRemove( void ) ;
virtual APIERR W_Add( const TCHAR * psz );
virtual APIERR OnUserAction( CONTROL_WINDOW * pcwin,
const CONTROL_EVENT & e ) ;
/* Grays buttons and disables controls based on the current state of the
* group.
*/
void SetState( void ) const ;
PUSH_BUTTON * QueryAddButton( void ) const
{ return _pbuttonAdd ; }
PUSH_BUTTON * QueryRemoveButton( void ) const
{ return _pbuttonRemove ; }
private:
STRING_LISTBOX * _pStrLB ;
SLE * _psleInput ;
PUSH_BUTTON * _pbuttonAdd ;
PUSH_BUTTON * _pbuttonRemove ;
} ;
#endif // _GROUPS_HXX_