home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 November / VPR9611B.ISO / vabasic / ntclnt.exe / DISK8 / data.8 / datab / INCLUDE / VWFORMSC.HH < prev    next >
Text File  |  1996-07-29  |  3KB  |  106 lines

  1. /*------------------------------------------------------------------------
  2.  * $Source: /rcs/vwrcs/components/intel/vwformsc.hh,v $
  3.  * Checked in by $Author: gabriel $
  4.  * $Date: 1996/07/19 20:36:46 $                   $Revision: 1.10 $
  5.  *------------------------------------------------------------------------
  6.  *             Copyright (c) 1992, Visual Edge Software Ltd.
  7.  *
  8.  * ALL RIGHTS RESERVED.  This notice is  intended  as  a  precaution
  9.  * against  inadvertent publication, and shall not be deemed to con-
  10.  * stitute an acknowledgment that publication has  occurred  nor  to
  11.  * imply  any  waiver  of confidentiality.  The year included in the
  12.  * notice is the year of the creation of the work.
  13.  *------------------------------------------------------------------------
  14.  * DESCRIPTION:
  15.  *      This file contains the declaration of the VwFormsCollection
  16.  *    and VwControlsCollection class methods. 
  17.  *    The class implementation can be found in VwFormsc.cc. 
  18.  *    An instance of the VwFormsCollection class
  19.  *      is used for holding the list of forms belonging to the
  20.  *      current application.
  21.  *------------------------------------------------------------------------*/
  22.  
  23. #ifndef FORMSC_HH
  24. #define FORMSC_HH
  25.  
  26. #include <vwglobal.hh>
  27. #include <object.hh>
  28.  
  29. class VwFormBase;
  30.  
  31. #ifdef NOTEMPLATES
  32. #ifndef VwFormListDefined
  33. #       define VwFormListDefined
  34. #       define CLASSNAME        VwFormList
  35. #       define ENTRYTYPE        VwFormBase*
  36. #       include <mst/varray.mst>
  37. #endif
  38. #else
  39. #include <varray.hh>
  40. typedef VeArray<VwFormBase *> VwFormList;
  41. #endif
  42.  
  43.  
  44. class VwFormsCollection {
  45.  
  46. friend class VwApplication;
  47. friend class VwFormBase;
  48.  
  49. public:
  50.     VOPERDECL            VwFormsCollection();
  51.     VOPERDECL            ~VwFormsCollection();
  52.  
  53.     VMETHODDECL(VwInt)        Count();
  54.     VMETHODDECL(VwInt)        LoadedFormCount();
  55.     VMETHODDECL(VwFormBase*)    GetNth (VwInt);
  56.     VMETHODDECL(void)        Unload(VwFormBase*);
  57.  
  58. protected:
  59.     VMETHODDECL(void)        AddForm(VwFormBase *);
  60.     VMETHODDECL(void)        RemoveForm(VwFormBase *);
  61.  
  62. private:
  63.         VwFormList*     itsForms;
  64. };
  65.  
  66. class VwComponent;
  67.  
  68. #ifdef NOTEMPLATES
  69. #ifndef VwControlListDefined
  70. #    define VwControlListDefined
  71. #    define CLASSNAME    VwControlList
  72. #    define ENTRYTYPE    VwComponent*
  73. #    include <mst/varray.mst>
  74. #endif
  75. #else
  76. #include <varray.hh>
  77. typedef VeArray<VwComponent *> VwControlList;
  78. #endif
  79.  
  80.  
  81. class VwControlsCollection : public VeObject {
  82.  
  83. friend class VwApplication;
  84. friend class VwComponent;
  85. friend class VwFormBase;
  86.  
  87. public:
  88.  
  89.         RTTI_H(VeClass,VeObject);
  90.     VOPERDECL            VwControlsCollection(VwFormBase *);
  91.     VOPERDECL            ~VwControlsCollection();
  92.  
  93.     VMETHODDECL(VwInt)        Count();
  94.     VMETHODDECL(VwComponent *)    GetNth (VwInt);
  95.     VMETHODDECL(VwComponent *)     GetNth (char *);
  96. protected:
  97.     VMETHODDECL(void)        AddControl(VwComponent *);
  98.     VMETHODDECL(void)        RemoveControl(VwComponent *);
  99.  
  100. private:
  101.  
  102.     VwControlList*        itsControlsList;
  103. };
  104.  
  105. #endif
  106.