home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1996 November
/
VPR9611B.ISO
/
vabasic
/
ntclnt.exe
/
DISK8
/
data.8
/
datab
/
INCLUDE
/
VWCONT.HH
< prev
next >
Wrap
Text File
|
1996-07-29
|
7KB
|
173 lines
/*------------------------------------------------------------------------
* $Source: /rcs/vwrcs/components/intel/vwcont.hh,v $
* Checked in by $Author: remi $
* $Date: 1996/04/30 16:54:43 $ $Revision: 1.16 $
*------------------------------------------------------------------------
* Copyright (c) 1992, Visual Edge Software Ltd.
*
* ALL RIGHTS RESERVED. This notice is intended as a precaution
* against inadvertent publication, and shall not be deemed to con-
* stitute an acknowledgment that publication has occurred nor to
* imply any waiver of confidentiality. The year included in the
* notice is the year of the creation of the work.
*------------------------------------------------------------------------
* DESCRIPTION:
* This file contains the declaration of the VwContainer
* class methods. The class implementation can be found in
* VwCont.hh. A container is used to hold and manage a group
* of children objects.
*------------------------------------------------------------------------*/
#ifndef VWCONT_HH
#define VWCONT_HH
#include <vwguicmp.hh>
class VwpDC;
class VwContainer : public VwGuiComponent {
friend class VwiFrame;
friend class VwiPicture;
friend class VwiWnd;
friend class VwiMDIChild;
friend class VwiMDIFrame;
friend class VwiFrameWnd;
friend class VwiScrolledWindow;
friend class MwVBX;
friend class VwGuiComponent;
friend VWindowProc MainWndProc;
friend VWindowProc MwFrameSubProc;
friend VWindowProc ContainerSubProc;
public:
RTTI_H(VeClass,VwGuiComponent);
virtual VOPERDECL ~VwContainer ();
VMETHODDECL(VwGui_t) GuiParent();
VVIRTUALDECL(VwInt) NextTabIndex();
VVIRTUALDECL(VwInt) DecrementNextTabIndex ();
VVIRTUALDECL(void) AddChild (VwGuiComponent *);
VVIRTUALDECL(void) RemoveChild (VwGuiComponent *);
VMETHODDECL(void) GetDescendants(VwGuiComponentList &);
VVIRTUALDECL(VwScaleMode) ScaleMode();
VVIRTUALDECL(VwSingle) ScaleHeight();
VVIRTUALDECL(VwSingle) ScaleLeft();
VVIRTUALDECL(VwSingle) ScaleTop();
VVIRTUALDECL(VwSingle) ScaleWidth();
VVIRTUALDECL(VwBool) HasSetOptionButton();
VVIRTUALDECL(void) SetOptionButton(VwGuiComponent *);
VVIRTUALDECL(VwMenu_t) MenuParent();
VVIRTUALDECL(VwInt) NextMenuId(VwGuiComponent*);
VVIRTUALDECL(void) AddMenuChild(VwGuiComponent*);
VVIRTUALDECL(void) RemoveMenuChild(VwGuiComponent*);
VMETHODDECL(VwGuiComponentList*)GetMenuChildren();
VVIRTUALDECL(VwStatus) PutDefaultButton(VwGuiComponent*);
VVIRTUALDECL(VwStatus) PutCancelButton(VwGuiComponent*);
VVIRTUALDECL(VwBool) InvokeDefault();
VVIRTUALDECL(VwBool) InvokeCancel();
VVIRTUALDECL(VwBool) HasDefaultButton();
VVIRTUALDECL(VwBool) HasCancelButton();
VVIRTUALDECL(void) ShowDefaultButton(VwBool);
VVIRTUALDECL(VwBool) ClipControls ();
VVIRTUALDECL(VwStatus) PutClipControls ( VwBool );
VVIRTUALDECL(VwBool) MustUseReconfigure();
VVIRTUALDECL(void) ResizeChildren (VwInt deltaX,
VwInt deltaY);
VMETHODDECL(VwStatus) Reconfigure(VwInt aLeft, VwInt aTop,
VwInt aWidth, VwInt aHeight);
VVIRTUALDECL(VwStatus) PutResizable(VwBool);
VVIRTUALDECL(VwBool) Resizable();
VMETHODDECL(void) HasBecomeVisible();
VMETHODDECL(void) PreferredSize(VwInt*, VwInt*);
// Used to inform parent of change in child configuration
VVIRTUALDECL(void) ChildReconfigured(VwGuiComponent*, VwBool);
VMETHODDECL(VwBool) UpdateDelayed();
// Used to Destroy a VwContainer and all its descendants
VMETHODDECL(void) Destroy();
// used to align a child within the container
VVIRTUALDECL(VwStatus) AlignChild(VwGuiComponent *aChild, VwAlign);
VVIRTUALDECL(VwAlign ) MatchAlign(VwAlign);
// Used to update the mouse pointer when changed in VwScreen
VMETHODDECL(VwBool) SetMousePointer(POINT*);
VMETHODDECL(VwStatus) PutVisible(VwBool);
VMETHODDECL(VwStatus) PutEnabled(VwBool);
VMETHODDECL(int) NumberOfVisibleChildren();
VVIRTUALDECL(VwSingle) MillimeterHorizScale();
VVIRTUALDECL(VwSingle) MillimeterVertScale();
VVIRTUALDECL(VwBool) IsHiddenContainer();
protected:
VOPERDECL VwContainer();
VOPERDECL VwContainer(const String, VwContainer *,
VwSingle = VW_DEF_X, VwSingle = VW_DEF_Y,
VwSingle = VW_DEF_WIDTH, VwSingle = VW_DEF_HEIGHT,
VwBool visible = VwTrue);
VMETHODDECL(void) IgnoreChildUpdates(VwBool);
VMETHODDECL(void) MinContainerSize(VwInt*, VwInt*);
VwGuiComponent* itsSetOptionButton;
VwSingle itsScaleHeight;
VwSingle itsScaleLeft;
VwSingle itsScaleTop;
VwSingle itsScaleWidth;
VwScaleMode itsScaleMode;
VwBool isResizable;
VwBool isClipControls;
private:
void Init();
void SetChildrenVisibility(VwBool);
void SetChildrenEnabled(VwBool);
VwGuiComponentList itsMenuChildren;
VwBool isUpdateDelayed;
protected:
//
// Windows message handlers common to most containers
//
VVIRTUALDECL(void) WmSetCursor(POINT);
VVIRTUALDECL(void) WmButtonUpDown(BOOL, int, UINT, POINT);
VVIRTUALDECL(void) WmMouseMove(UINT, POINT);
VVIRTUALDECL(void) WmLButtonDblClk(UINT, POINT);
VVIRTUALDECL(void) WmPaint(VwpDC*, RECT*);
VVIRTUALDECL(void) AdjustBeforeRepaint();
};
/*
* Property name constants
*/
#define VwPscaleTop "ScaleTop"
#define VwPscaleLeft "ScaleLeft"
#define VwPscaleHeight "ScaleHeight"
#define VwPscaleWidth "ScaleWidth"
#define VwPscaleMode "ScaleMode"
#define VwPclipControls "ClipControls"
#endif