/* * xtrash.idl: * SOM interface description file for the following * XWorkplace classes (in this order): * * -- XWPTrashCan: a subclass of WPFolder, which implements * the actual trash can folder. * * See src\classes\xtrash.c for details. * * Copyright (C) 1999-2010 Ulrich M”ller. * This file is part of the XWorkplace source package. * XWorkplace is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation, in version 2 as it comes in the * "COPYING" file of the XWorkplace main distribution. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include // this is SOM for WPFolder /* CLASS: XWPTrashCan CLASS HIERARCHY: SOMObject ÀÄÄ WPObject [ = XFldObject ] ÀÄÄ WPFileSystem ÀÄÄ WPFolder [ = XFolder ] ÀÄÄ XWPTrashCan */ interface M_XWPTrashCan; // forward reference to metaclass interface XWPTrashCan : WPFolder { /* * New instance methods for XWPTrashCan: * */ BOOL xwpDeleteIntoTrashCan(in WPObject pObject); ULONG xwpAddTrashCanSettingsPage(in HWND hwndDlg); ULONG xwpAddTrashCanDrivesPage(in HWND hwndDlg); ULONG xwpAddTrashCanGeneralPage(in HWND hwndDlg); BOOL xwpTrashCanBusy(in LONG lBusy); VOID xwpAddObjectSize(in ULONG ulNewSize); ULONG xwpQueryTrashObjectsCount(); BOOL xwpSetCorrectTrashIcon(in BOOL fForce); ULONG xwpEmptyTrashCan(in ULONG hab, in PULONG pulDeleted, in HWND hwndConfirmOwner); BOOL xwpProcessViewCommand(in USHORT usCommand, in HWND hwndCnr, in WPObject pFirstObject, in ULONG ulSelectionFlags); BOOL xwpUpdateStatusBar(in HWND hwndStatusBar, in HWND hwndCnr); VOID xwpAddObjectSizeL(in PLONGLONG pllNewSize); #ifdef __SOMIDL__ implementation { releaseorder: xwpDeleteIntoTrashCan, xwpAddTrashCanSettingsPage, xwpAddTrashCanDrivesPage, xwpAddTrashCanGeneralPage, xwpTrashCanBusy, xwpAddObjectSize, xwpQueryTrashObjectsCount, xwpSetCorrectTrashIcon, xwpEmptyTrashCan, xwpUpdateStatusBar, xwpProcessViewCommand, xwpAddObjectSizeL; xwpUpdateStatusBar:nonstatic,reintroduce; xwpProcessViewCommand:nonstatic,reintroduce; /* * Class Modifiers: * */ externalprefix = xtrc_; externalstem = xtrc; majorversion = 1; minorversion = 1; filestem = xtrash; //# specifies the filestem for sc-generated files metaclass = M_XWPTrashCan; dllname = "xfldr.dll"; callstyle = oidl; //# forget CORBA stuff (*ev and such) /* * Internal instance variables for XWPTrashCan: * */ BOOL fAlreadyPopulated; // TRUE after the first call to wpPopulate BOOL fFilledIconSet; // TRUE if "filled" icon has been set already ULONG ulTrashObjectCount; // no. of trash objects in trash can; // initialized to 0, updated by wpPopulate double dSizeOfAllObjects; // size of all objects in trash can CHAR cDrivePopulating; // if this is != 0, a drive is currently // being populated; set by wpPopulate and // used for the status bar ULONG ulBusyCount; // raised or lowered with every xwpTrashCanBusy call // HPOINTER hptrEmpty; // icon for empty trash can // HPOINTER hptrFull; // icon for full trash can // removed those V0.9.16 (2002-01-01) [umoeller] BOOL fOpeningSettings; // TRUE while in wpOpen for settings view /* * WPFolder methods overridden by XWPTrashCan: * */ wpInitData: override; wpObjectReady: override; wpUnInitData: override; wpSaveState: override; wpRestoreState: override; wpSetup: override; wpDisplayMenu: override; wpFilterPopupMenu: override; wpModifyPopupMenu: override; wpMenuItemSelected: override; wpMenuItemHelpSelected: override; //# wpQueryDefaultHelp: override; replaced with class method V0.9.20 (2002-07-12) [umoeller] wpOpen: override; wpPopulate: override; wpRefresh: override; wpAddToContent: override; wpDeleteFromContent: override; wpDeleteContents: override; wpDragOver: override; wpDrop: override; wpAddObjectGeneralPage: override; wpAddObjectGeneralPage2: override; wpAddFolderIncludePage: override; wpAddFolderSelfClosePage: override; wpAddFolderView2Page: override; wpAddSettingsPages: override; wpSetIcon: override; #ifdef __PRIVATE__ #endif }; // implementation #endif /* __SOMIDL__ */ }; //# //# //# Now define Metaclass. //# --------------------- //# interface M_XWPTrashCan : M_WPFolder { /* * New class methods for M_XWPTrashCan: * */ XWPTrashCan xwpclsQueryDefaultTrashCan(); BOOL xwpclsSetDrivesSupport(in PBYTE pabSupportedDrives); BOOL xwpclsQueryDrivesSupport(in PBYTE pabSupportedDrives); #ifdef __SOMIDL__ implementation { releaseorder: xwpclsQueryDefaultTrashCan, xwpclsSetDrivesSupport, xwpclsQueryDrivesSupport; /* * Class Modifiers: * */ externalprefix = xtrcM_; externalstem = xtrcM; functionprefix = xtrcM_; majorversion = 1; minorversion = 1; filestem = xtrash; //# specifies the filestem for sc-generated files dllname = "xfldr.dll"; callstyle = oidl; /* * Internal instance variables for M_XWPTrashCan: * */ /* * M_WPFolder methods overridden by M_XWPTrashCan: * */ wpclsInitData: override; wpclsUnInitData: override; wpclsCreateDefaultTemplates: override; wpclsQueryTitle: override; wpclsQueryStyle: override; wpclsQueryDefaultHelp: override; wpclsQueryIconData: override; wpclsQueryIconDataN: override; }; #endif /* __SOMIDL__ */ };