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

  1.  
  2. /*
  3.  * xwppgmf.idl:
  4.  *      SOM interface description file for the following
  5.  *      XWorkplace classes (in this order):
  6.  *          XWPProgramFile
  7.  *      and the respective metaclasses.
  8.  *
  9.  *      See src\classes\xwppgmf.c for details.
  10.  *
  11.  *      Copyright (C) 1997-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 <wppgmf.idl>         // this is SOM for WPProgramFile
  24.  
  25. /*
  26.    CLASS: XWPProgramFile
  27.  
  28.    CLASS HIERARCHY:
  29.  
  30.        SOMObject
  31.          └── WPObject = XFldObject
  32.                └── WPFileSystem
  33.                      └── WPDataFile = XFldDataFile
  34.                            └── WPProgramFile
  35.                                  └── XWPProgramFile
  36. */
  37.  
  38. interface M_XWPProgramFile;            // Forward Reference to XWPProgramFile metaclass
  39.  
  40. interface XWPProgramFile : WPProgramFile
  41. {
  42.  
  43.     /*
  44.      * New instance methods for XWPProgramFile:
  45.      *
  46.      */
  47.  
  48.     ULONG xwpAddResourcesPage(in HWND hwndNotebook);
  49.     ULONG xwpAddModulePage(in HWND hwndNotebook);
  50.     ULONG xwpAddAssociationsPage(in HWND hwndNotebook);
  51.  
  52.     ULONG xwpQueryProgType(in PVOID pvExec,
  53.                            in PSZ pszFullFile);
  54.  
  55.     BOOL xwpQuerySetup2(in PVOID pstrSetup);
  56.  
  57. #ifdef __SOMIDL__
  58.   implementation {
  59.  
  60.     releaseorder: xwpQueryProgType,
  61.                   xwpQuerySetup2,
  62.                   xwpAddResourcesPage,
  63.                   xwpAddModulePage,
  64.                   xwpAddAssociationsPage;
  65.  
  66.     /*
  67.      * Class Modifiers:
  68.      *
  69.      */
  70.  
  71.     externalprefix = xpgf_;
  72.     externalstem = xpgf;
  73.     majorversion = 1;
  74.     minorversion = 1;
  75.     filestem = xwppgmf;           //# specifies the filestem for sc-generated files
  76.     metaclass = M_XWPProgramFile;
  77.     dllname = "xfldr.dll";
  78.     callstyle = oidl;            //# forget CORBA stuff (*ev and such)
  79.  
  80.     /*
  81.      * Internal instance variables for XWPProgramFile:
  82.      *
  83.      */
  84.  
  85.     ULONG       ulDosAppType;    // return value from DosQueryAppType
  86.     ULONG       ulAppType;       // XFPGMF_* flag
  87.  
  88.     PSZ         pWszUsingIconFile;      // if we are using an .ICO file for the
  89.                                         // icon, this holds the icon filename
  90.                                         // V0.9.18 (2002-03-19) [umoeller]
  91.  
  92.     // pointers into WPProgramFile instance data
  93.     PULONG      pulStartupDirHandle;        // 16-bit file-system handle for startup dir
  94.     PPROGTYPE   pProgType;                  // prog type and visibility flag; two ULONGs!
  95.     PSZ         *ppszStartupDir;
  96.     PSZ         *ppszEnvironment;
  97.     PSWP        pswpInitial;
  98.  
  99.     /*
  100.      * WPProgramFile methods overridden by XWPProgramFile:
  101.      *
  102.      */
  103.  
  104.     //# 1)  init/uninit methods
  105.  
  106.     wpInitData: override;
  107.  
  108.     wpUnInitData: override;
  109.     wpDestroyObject: override;
  110.  
  111.     wpObjectReady: override;
  112.  
  113.     wpRestoreState: override;
  114.     wpRestoreData: override;
  115.  
  116.     //# 2)  WPObject query/set methods
  117.  
  118.     wpQueryDefaultView: override;
  119.     wpQueryDefaultHelp: override;
  120.  
  121.     //# 3)  icon methods
  122.  
  123.     wpQueryIconData: override;
  124.     wpSetIconData: override;
  125.  
  126.     wpSetProgIcon: override;
  127.  
  128.     //# 4)  class-specific query/set methods
  129.  
  130.     wpQueryProgDetails: override;
  131.     wpSetProgDetails: override;
  132.  
  133.     //# 5)  menu methods
  134.  
  135.     wpFilterPopupMenu: override;
  136.  
  137.     //# 6)  open view methods
  138.  
  139.     wpOpen: override;
  140.  
  141.     wpAddProgramAssociationPage: override;
  142.     wpAddProgramPage: override;
  143.     wpAddProgramSessionPage: override;
  144.  
  145.     //# 7)  file operation methods
  146.  
  147.   }; // implementation
  148. #endif /* __SOMIDL__ */
  149. };
  150.  
  151. //#
  152. //#
  153. //# Now define Metaclass.
  154. //# ---------------------
  155. //#
  156.  
  157. interface M_XWPProgramFile : M_WPProgramFile
  158. {
  159.  
  160.     /*
  161.      * New class methods for M_XWPProgramFile:
  162.      *
  163.      */
  164.  
  165. #ifdef __SOMIDL__
  166.   implementation {
  167.  
  168.     /*
  169.      * Class Modifiers:
  170.      *
  171.      */
  172.  
  173.     externalprefix = xpgfM_;
  174.     externalstem = xpgfM;
  175.     functionprefix = xpgfM_;
  176.     majorversion = 1;
  177.     minorversion = 1;
  178.     filestem = xwppgmf;           //# specifies the filestem for sc-generated files
  179.     dllname = "xfldr.dll";
  180.     callstyle = oidl;
  181.  
  182.     /*
  183.      * Internal class variables for M_XWPProgramFile:
  184.      *
  185.      */
  186.  
  187.     /*
  188.      * M_WPProgramFile methods overridden by M_XWPProgramFile:
  189.      *
  190.      */
  191.  
  192.     wpclsInitData: override;
  193.  
  194.     wpclsQueryInstanceFilter: override;
  195.   };
  196. #endif /* __SOMIDL__ */
  197. };
  198.  
  199.  
  200.