home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cset21v1.zip
/
IBMCPP
/
IBMCLASS
/
ICNRCOL.HPP
< prev
next >
Wrap
Text File
|
1993-10-22
|
28KB
|
496 lines
#ifndef _ICNRCOL_
#define _ICNRCOL_
/*******************************************************************************
* FILE NAME: icnrcol.hpp *
* *
* DESCRIPTION: *
* Declaration of the class(es): *
* IContainerColumn - Details View column information. *
* *
* COPYRIGHT: *
* (C) Copyright IBM Corporation 1992 *
* All Rights Reserved *
* Licensed Materials * Property of IBM *
* *
* HISTORY: *
*******************************************************************************/
#ifndef _IVBASE_
#include <ivbase.hpp>
#endif
#ifndef _BITFLAGS_
#include <ibitflag.hpp>
#endif
#ifndef _HANDLE_
#include <ihandle.hpp>
#endif
/*----------------------------------------------------------------------------*/
/* Align classes on four byte boundary. */
/*----------------------------------------------------------------------------*/
#pragma pack(4)
// Forward Declarations
class IContainerWindow;
class IContainerControl;
class IContainerObject;
class IResourceId;
class IString;
class IDate;
class ITime;
struct _FIELDINFO;
class IContainerColumn : public IVBase
{
typedef IVBase
Inherited;
/*******************************************************************************
* The IContainerColumn class provides the container with the ability *
* to display a details view. Functions exist to add, delete, and hide *
* columns in a container control. It also defines the characteristics *
* of the column header (text or icon) and the position of the data in *
* the column record. *
* *
* The data in the object and the data displayed in the column are connected. *
* For a user to have a details view, IContainerObject must be subclassed *
* and extended with the additional "fields" to be displayed in the columns *
* of the container. The column object must know the exact offset and type *
* of the data in the object because it handles the drawing of this data. *
* It is the class user's responsibility to ensure that the column object is *
* correctly informed. If it is not, the behavior of the column is undefined. *
* *
* The default implementation of a container column has: *
* *
* - A heading that contains centered, read-only text *
* - A horizontal separator under the heading *
* - A vertical separator between columns *
* - String data that is non-editable, left-justified, and centered *
* vertically. *
* *
* Note: An IContainerColumn object can be added to one container only. *
* *
* EXAMPLE: *
* *
* IContainerColumn pIcon = new IContainerColumn( *
* IContainerObject :: iconOffset(), *
* IContainerColumn::defaultHeadingStyle(), *
* IContainerColumn::icon | *
* IContainerColumn::alignVerticallyCentered); *
* IContainerColumn pName = new IContainerColumn( *
* IContainerObject::iconTextOffset(), *
* IContainerColumn::defaultHeadingStyle(), *
* IContainerColumn::string | *
* IContainerColumn::alignVerticallyCentered | *
* IContainerColumn::alignLeft | *
* IContainerColumn::horizontalSeparator); *
* *
* *
* container().addColumn(pIcon); *
* container().addColumn(pName); *
* *
*