home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / xwplascr.zip / XWPL0208.ZIP / idl / xwppgm.idl < prev    next >
Text File  |  2002-08-09  |  5KB  |  192 lines

  1.  
  2. /*
  3.  * xwppgm.idl:
  4.  *      SOM interface description file for the following
  5.  *      XWorkplace classes (in this order):
  6.  *          XWPProgram
  7.  *      and the respective metaclasses.
  8.  *
  9.  *      See src\classes\xwppgm.c for details.
  10.  *
  11.  *      Copyright (C) 2001-2002 Ulrich Möller.
  12.  *      This file is part of the XWorkplace source package.
  13.  *      XWorkplace is free software; you can redistribute it and/or modify
  14.  *      it under the terms of the GNU General Public License as published
  15.  *      by the Free Software Foundation, in version 2 as it comes in the
  16.  *      "COPYING" file of the XWorkplace main distribution.
  17.  *      This program is distributed in the hope that it will be useful,
  18.  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20.  *      GNU General Public License for more details.
  21.  */
  22.  
  23. #include <wppgm.idl>         // this is SOM for WPProgram
  24.  
  25. /*
  26.    CLASS: XWPProgram
  27.  
  28.    CLASS HIERARCHY:
  29.  
  30.        SOMObject
  31.          └── WPObject = XFldObject
  32.                └── WPAbstract
  33.                      └── WPProgram
  34.                            └── XWPProgram
  35. */
  36.  
  37. interface M_XWPProgram;            // Forward Reference to XWPProgram metaclass
  38.  
  39. interface XWPProgram : WPProgram
  40. {
  41.  
  42.     /*
  43.      * New instance methods for XWPProgram:
  44.      *
  45.      */
  46.  
  47.     ULONG xwpAddAssociationsPage(in HWND hwndNotebook);
  48.  
  49.     BOOL xwpQuerySetup2(in PVOID pstrSetup);
  50.  
  51.     BOOL xwpQueryExecutable(in PSZ pszBuffer);
  52.  
  53. #ifdef __SOMIDL__
  54.   implementation {
  55.  
  56.     releaseorder: xwpAddAssociationsPage,
  57.                   xwpQuerySetup2,
  58.                   xwpQueryExecutable;
  59.  
  60.     /*
  61.      * Class Modifiers:
  62.      *
  63.      */
  64.  
  65.     externalprefix = xpg_;
  66.     externalstem = xpg;
  67.     majorversion = 1;
  68.     minorversion = 1;
  69.     filestem = xwppgm;           //# specifies the filestem for sc-generated files
  70.     metaclass = M_XWPProgram;
  71.     dllname = "xfldr.dll";
  72.     callstyle = oidl;            //# forget CORBA stuff (*ev and such)
  73.  
  74.     /*
  75.      * Internal instance variables for XWPProgram:
  76.      *
  77.      */
  78.  
  79.     BOOL        fNeedsSetProgIcon;      // flag for WPProgram::wpSetProgIcon
  80.  
  81.     PSZ         pWszUsingIconFile;      // if we are using an .ICO file for the
  82.                                         // icon, this holds the icon filename
  83.                                         // V0.9.18 (2002-03-19) [umoeller]
  84.  
  85.     // pointer WPProgram instance data (see wpInitData)
  86.     // all the following replaced V0.9.18 (2002-03-16) [umoeller]
  87.  
  88.     PVOID       pvWPProgramData;
  89.  
  90.     BOOL        fWeAllocatedExecutable; // if TRUE, we set the executable PSZ and
  91.                                         // should free it
  92.     BOOL        fWeAllocatedParameters; // if TRUE, we set the parameters PSZ and
  93.                                         // should free it
  94.     BOOL        fWeAllocatedEnvironment;
  95.  
  96.     /*
  97.      * WPProgram methods overridden by XWPProgram:
  98.      *
  99.      */
  100.  
  101.     //# 1)  init/uninit methods
  102.  
  103.     wpInitData: override;
  104.  
  105.     wpUnInitData: override;
  106.     wpDestroyObject: override;
  107.  
  108.     wpObjectReady: override;
  109.  
  110.     //# 2)  WPObject query/set methods
  111.  
  112.     //# 3)  icon methods
  113.  
  114.     wpQueryIcon: override;
  115.     wpSetProgIcon: override;
  116.     wpQueryIconData: override;
  117.     wpSetIconData: override;
  118.  
  119.     //# 4)  class-specific query/set methods
  120.  
  121.     wpQueryProgDetails: override;
  122.     wpSetProgDetails: override;
  123.  
  124.     //# 5)  menu methods
  125.  
  126.     //# 6)  open view methods
  127.  
  128.     wpOpen: override;
  129.  
  130.     wpAddProgramPage: override;
  131.     wpAddProgramSessionPage: override;
  132.     wpAddProgramAssociationPage: override;
  133.  
  134.     //# 7)  file operation methods
  135.  
  136.     wpMoveObject: override;
  137.     wpCopyObject: override;
  138.  
  139.   }; // implementation
  140. #endif /* __SOMIDL__ */
  141. };
  142.  
  143. //#
  144. //#
  145. //# Now define Metaclass.
  146. //# ---------------------
  147. //#
  148.  
  149. interface M_XWPProgram : M_WPProgram
  150. {
  151.  
  152.     /*
  153.      * New class methods for M_XWPProgram:
  154.      *
  155.      */
  156.  
  157. #ifdef __SOMIDL__
  158.   implementation {
  159.  
  160.     /*
  161.      * Class Modifiers:
  162.      *
  163.      */
  164.  
  165.     externalprefix = xpgM_;
  166.     externalstem = xpgM;
  167.     functionprefix = xpgM_;
  168.     majorversion = 1;
  169.     minorversion = 1;
  170.     filestem = xwppgm;           //# specifies the filestem for sc-generated files
  171.     dllname = "xfldr.dll";
  172.     callstyle = oidl;
  173.  
  174.     /*
  175.      * Internal class variables for M_XWPProgram:
  176.      *
  177.      */
  178.  
  179.     /*
  180.      * M_WPProgram methods overridden by M_XWPProgram:
  181.      *
  182.      */
  183.  
  184.     wpclsInitData: override;
  185.  
  186.     wpclsQueryIconData: override;
  187.   };
  188. #endif /* __SOMIDL__ */
  189. };
  190.  
  191.  
  192.