home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / iicmwt.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  4.4 KB  |  137 lines

  1. /**********************************************************************
  2. *                                                                     *
  3. *  IBM(R) VisualAge(TM) for C++ for Windows(R), Version 3.5           *
  4. *                                                                     *
  5. *  PID: 5622-880                                                      *
  6. *  - Licensed Material - Program-Property of IBM                      *
  7. *  (C) Copyright IBM Corp. 1991, 1995 - All Right Reserved.           *
  8. *                                                                     *
  9. *  US Government Users Restricted Rights - Use, duplication or        *
  10. *  disclosure restricted by GSA ADP Schedule Contract with IBM Corp.  *
  11. *                                                                     *
  12. *  VisualAge, and IBM are trademarks or registered trademarks of      *
  13. *  International Business Machines Corporation.                       *
  14. *  Windows is a registered trademark of Microsoft Corporation.        *
  15. *                                                                     *
  16. **********************************************************************/
  17.  
  18. #ifndef _IICMWT_H
  19. #define _IICMWT_H
  20.  
  21. #include <iimwt.h>
  22.  
  23. #pragma SOMAsDefault (off)
  24.  
  25. #pragma info (nocls, nocnd, nocns, nocnv, noext, nognr, novft)
  26. #pragma pack (4)
  27.  
  28. template <class CInherited>
  29. class ICMultiwayTreeImpl : public CInherited {
  30. public:
  31.  
  32.   typedef  CInherited::Ops Ops;
  33.  
  34.            ICMultiwayTreeImpl
  35.                             (Ops&);
  36.  
  37.            ICMultiwayTreeImpl
  38.                             (Ops&,
  39.                              ICMultiwayTreeImpl <CInherited> const&);
  40.  
  41.   void     AddAsChild       (ITreeCursorImpl const&,
  42.                              IPosition, void const*);
  43.  
  44.   void     AddAsRoot        (void const*);
  45.  
  46.   IBoolean AllSubtreeElementsDo
  47.                             (ITreeCursorImpl const&, IApplFunc,
  48.                              ITreeIterationOrder, void*);
  49.  
  50.   void     AttachAsChild    (ITreeCursorImpl const&,
  51.                              IPosition, IMultiwayTreeImpl&);
  52.  
  53.   void     AttachAsRoot     (IMultiwayTreeImpl&);
  54.  
  55.   void     AttachSubtreeAsChild
  56.                             (ITreeCursorImpl const&, IPosition,
  57.                              IMultiwayTreeImpl&,
  58.                              ITreeCursorImpl const&);
  59.  
  60.   void     AttachSubtreeAsRoot
  61.                             (IMultiwayTreeImpl&,
  62.                              ITreeCursorImpl const&);
  63.  
  64.   IPosition
  65.            ChildPositionAt  (ITreeCursorImpl const&) const;
  66.   
  67.   void     CopySubtree      (IMultiwayTreeImpl const&,
  68.                              ITreeCursorImpl const&);
  69.  
  70.   void*    ElementAt        (ITreeCursorImpl const&) const;
  71.  
  72.   IBoolean HasChild         (IPosition, ITreeCursorImpl const&) const;
  73.  
  74.   IBoolean IsLeaf           (ITreeCursorImpl const&) const;
  75.  
  76.   IBoolean IsRoot           (ITreeCursorImpl const&) const;
  77.  
  78.   INumber  NumberOfSubtreeElements
  79.                             (ITreeCursorImpl const&) const;
  80.  
  81.  
  82.   INumber  NumberOfSubtreeLeaves
  83.                             (ITreeCursorImpl const&) const;
  84.  
  85.   INumber  RemoveSubtree    (ITreeCursorImpl&);
  86.  
  87.   void     ReplaceAt        (ITreeCursorImpl const& cursor,
  88.                              void const*);
  89.  
  90.   IBoolean SetToChild       (IPosition, ITreeCursorImpl&) const;
  91.  
  92.   IBoolean SetToFirst       (ITreeCursorImpl&,
  93.                              ITreeIterationOrder) const;
  94.  
  95.   IBoolean SetToFirstExistingChild
  96.                             (ITreeCursorImpl&) const;
  97.  
  98.   IBoolean SetToLast        (ITreeCursorImpl&,
  99.                              ITreeIterationOrder) const;
  100.  
  101.   IBoolean SetToLastExistingChild
  102.                             (ITreeCursorImpl&) const;
  103.  
  104.   IBoolean SetToNext        (ITreeCursorImpl&,
  105.                              ITreeIterationOrder) const;
  106.  
  107.   IBoolean SetToNextExistingChild
  108.                             (ITreeCursorImpl&) const;
  109.  
  110.   IBoolean SetToParent      (ITreeCursorImpl&) const;
  111.  
  112.   IBoolean SetToPrevious    (ITreeCursorImpl&,
  113.                              ITreeIterationOrder) const;
  114.  
  115.   IBoolean SetToPreviousExistingChild
  116.                             (ITreeCursorImpl&) const;
  117.  
  118.   IBoolean SetToRoot        (ITreeCursorImpl&) const;
  119.  
  120. protected:
  121.  
  122. private:
  123.  
  124.  
  125. };
  126.  
  127. #pragma SOMAsDefault (pop)
  128.  
  129. #if ! defined (__TEMPINC__)
  130. #include <iicmwt.c>
  131. #endif
  132.  
  133. #pragma info (restore)
  134. #pragma pack ()
  135.  
  136. #endif
  137.