MFC Grid manual

CLongEnumReflector Class Reference

Performs edit in place operations on long-type fields in CEmbeddedCombo control. More...

#include <Dapfor/GUI/LongEnumReflector.h>

Inheritance diagram for CLongEnumReflector:

IControlReflector

List of all members.


Public Member Functions

 CLongEnumReflector ()
 Constructor.
virtual ~CLongEnumReflector ()
 Virtual destructor.
virtual bool Match (const Common::CFormat *format) const
 Indicates whether a reflector matches the specified format.
virtual bool CreateAndAttachControl (CEditInPlaceContext &context, const Common::CFormat *format, IEditInPlace::StartReason startReason)
 Creates dropdown MFC control.
virtual void ShowControl ()
 Shows the control.
virtual bool CanStopEdit (const CEditInPlaceContext &context, IEditInPlace::StopReason reason) const
virtual bool Apply (CEditInPlaceContext &context, const Common::CFormat *format)
 Applies the new value set by user in MFC control to the specified field in the data object.
virtual bool DetachAndDestroyControl (CGrid &grid, HITEM hItem, const CColumn *column)
 Detaches MFC control from CGrid and destroys it.
virtual bool CanDrawControl (CGridCell &cell, const CPaintContext &paintContext, UINT paintFilter)
 Indicates that a control should be painted in CGrid painting routine.
virtual void PostPaintCell (CGridCell &cell, const CPaintContext &paintContext, UINT paintFilter)
 Paints a dropdown button to the right of a cell.
virtual bool CanActivateOnThumbClick (const CEditInPlaceContext &context, const Common::CFormat *format) const
 Indicates that dropdown MFC control can be activated if the user clicks the dropdown button painted in a cell.
virtual CWnd * GetControl ()
 Gets dropdown MFC control.

Detailed Description

Performs edit in place operations on long-type fields in CEmbeddedCombo control.

Version:
2.0.0 Initial version

Member Function Documentation

bool Match ( const Common::CFormat format  )  const [virtual]

Indicates whether a reflector matches the specified format.

The reflector matches only to the long-type format which presents an enumeration.

Parameters:
[in] format A textual format to verify whether a reflector matches to.
Returns:
True if the reflector matches to the format. Otherwise false.

Implements IControlReflector.

bool CreateAndAttachControl ( CEditInPlaceContext context,
const Common::CFormat format,
IEditInPlace::StartReason  startReason 
) [virtual]

Creates dropdown MFC control.

Creates MFC control of CEmbeddedCombo type and populates it with the strings, returned by the format.

Parameters:
[in] context Indicates the cell, where the control should be attached.
[in] format Format object, that permits to populate MFC control.
[in] startReason Indicates the reason, why MFC control should be created.
Returns:
true if MFC control has been successfully created.

Implements IControlReflector.

bool CanStopEdit ( const CEditInPlaceContext context,
IEditInPlace::StopReason  reason 
) const [virtual]

Parameters:
[in] context Indicates the cell, where the control is attached.
[in] reason Indicates the reason, why the control should be detached and then destroyed.
Returns:
True if edit in place can be stopped. Otherwise false.

Implements IControlReflector.

bool Apply ( CEditInPlaceContext context,
const Common::CFormat format 
) [virtual]

Applies the new value set by user in MFC control to the specified field in the data object.

Parameters:
[in] context Indicates the cell, where the control is attached.
[in] format Format object, that permits to transform the formatted value in MFC control to an unformatted form and then set it into the appropriated field of the data object.
Returns:
True if the value has been successfully set into the appropriated field of the data object.

Implements IControlReflector.

bool DetachAndDestroyControl ( CGrid grid,
HITEM  hItem,
const CColumn column 
) [virtual]

Detaches MFC control from CGrid and destroys it.

Parameters:
[in] grid CGrid object
[in] hItem Handle of a line in CGrid
[in] column Column in the grid
Returns:
True if the control has been succesfully detached and destroyed.

Implements IControlReflector.

bool CanDrawControl ( CGridCell cell,
const CPaintContext paintContext,
UINT  paintFilter 
) [virtual]

Indicates that a control should be painted in CGrid painting routine.

Reflectors create their underlying controls during edit in place operation. CGrid doesn't create MFC controls up to the user starts edit in place operations. Nevertheless while the mouse is moving it is desirable to highlight the control where the mouse is over, or perform other drawings (for ex. drop button). This drawing can be made only inside CGrid painting routine where CGrid can forward cell drawing into the reflector.

Parameters:
[in] cell Cell in CGrid
[in] paintContext Nested information to process drawing.
[in] paintFilter Current paint filter applied to draw a cell.
Returns:
True, if the reflector customizes drawing. Otherwise false.

Implements IControlReflector.

void PostPaintCell ( CGridCell cell,
const CPaintContext paintContext,
UINT  paintFilter 
) [virtual]

Paints a dropdown button to the right of a cell.

Parameters:
[in] cell Cell in CGrid
[in] paintContext Nested information to process drawing.
[in] paintFilter Current paint filter applied to draw a cell.

Implements IControlReflector.

bool CanActivateOnThumbClick ( const CEditInPlaceContext context,
const Common::CFormat format 
) const [virtual]

Indicates that dropdown MFC control can be activated if the user clicks the dropdown button painted in a cell.

Parameters:
[in] context Indicates the cell, where the control is attached.
[in] format Format object, that permits to populate MFC control.
Returns:
True if CGrid can activate edit in place MFC control. Otherwise false.

Implements IControlReflector.

CWnd * GetControl (  )  [virtual]

Gets dropdown MFC control.

Returns:
gets CEmbeddedCombo type MFC control if it exists. Otherwise zero.

Implements IControlReflector.