/* Copyright (c) 1992 Colin Jensen.  All Rights Reserved. */


/*
 * This file was generated by the SOM Compiler.
 * FileName: ..\..\ibmh\wpdesk.h.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emith: 1.11
 */

/*
 * 
 *  Module Header
 * 
 *  Module Name: WPDESK
 * 
 *  OS/2 Presentation Manager Workplace class definitions
 * 
 *  Copyright (c) International Business Machines Corporation 1991, 1992
 * 
 */


#ifndef wpdesk_h
#define wpdesk_h


#include <som.h>

/*
 * Define the class name as an object type
 */
#ifndef WPDesktop
#define WPDesktop SOMAny
#endif
#include "wpfolder.h"

#define WPDesktop_MajorVersion 1
#define WPDesktop_MinorVersion 2

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define WPDesktopNewClass WPDesktopc
#pragma linkage(WPDesktopc, system)
#define WPDesktopClassData WPDesktopd
#define WPDesktopCClassData WPDesktopx
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define WPDesktop_classObj WPDesktopClassData.classObject
#define _WPDesktop WPDesktop_classObj

/*
 * New and Renew macros for WPDesktop
 */
#define _WPDesktopNew() (_somNew(WPDesktopClassData.classObject))
#define WPDesktopNew() \
	( WPDesktopClassData.classObject \
		? _WPDesktopNew() \
		: ( WPDesktopNewClass(WPDesktop_MajorVersion, WPDesktop_MinorVersion), _WPDesktopNew() ) )
#define WPDesktopRenew(buf) \
	( _somRenew(WPDesktopClassData.classObject, buf) )

/*
 * Override method: wpSetup
 */
#define WPDesktop_wpSetup(somSelf,pszSetupString) \
	WPObject_wpSetup(somSelf,pszSetupString)

/*
 * Override method: wpSaveState
 */
#define WPDesktop_wpSaveState(somSelf) \
	WPObject_wpSaveState(somSelf)

/*
 * Override method: wpRestoreState
 */
#define WPDesktop_wpRestoreState(somSelf,ulReserved) \
	WPObject_wpRestoreState(somSelf,ulReserved)

/*
 * Override method: wpModifyPopupMenu
 */
#define WPDesktop_wpModifyPopupMenu(somSelf,hwndMenu,hwndCnr,iPosition) \
	WPObject_wpModifyPopupMenu(somSelf,hwndMenu,hwndCnr,iPosition)

/*
 * Override method: wpMenuItemSelected
 */
#define WPDesktop_wpMenuItemSelected(somSelf,hwndFrame,ulMenuId) \
	WPObject_wpMenuItemSelected(somSelf,hwndFrame,ulMenuId)

/*
 * Override method: wpFilterPopupMenu
 */
#define WPDesktop_wpFilterPopupMenu(somSelf,ulFlags,hwndCnr,fMultiSelect) \
	WPObject_wpFilterPopupMenu(somSelf,ulFlags,hwndCnr,fMultiSelect)

/*
 * Override method: wpAddSettingsPages
 */
#define WPDesktop_wpAddSettingsPages(somSelf,hwndNotebook) \
	WPObject_wpAddSettingsPages(somSelf,hwndNotebook)

/*
 * New Method: wpIsCurrentDesktop
 */
typedef BOOL    SOMLINK somTP_WPDesktop_wpIsCurrentDesktop(WPDesktop *somSelf);
#pragma linkage(somTP_WPDesktop_wpIsCurrentDesktop, system)
typedef somTP_WPDesktop_wpIsCurrentDesktop *somTD_WPDesktop_wpIsCurrentDesktop;
#define somMD_WPDesktop_wpIsCurrentDesktop "----"
#define WPDesktop_wpIsCurrentDesktop(somSelf) \
    (SOM_Resolve(somSelf, WPDesktop, wpIsCurrentDesktop) \
	(somSelf))
#define _wpIsCurrentDesktop WPDesktop_wpIsCurrentDesktop

/*
 * New Method: wpAddDesktopLockup1Page
 */
typedef ULONG    SOMLINK somTP_WPDesktop_wpAddDesktopLockup1Page(WPDesktop *somSelf,
		HWND hwndNotebook);
#pragma linkage(somTP_WPDesktop_wpAddDesktopLockup1Page, system)
typedef somTP_WPDesktop_wpAddDesktopLockup1Page *somTD_WPDesktop_wpAddDesktopLockup1Page;
#define somMD_WPDesktop_wpAddDesktopLockup1Page "----"
#define WPDesktop_wpAddDesktopLockup1Page(somSelf,hwndNotebook) \
    (SOM_Resolve(somSelf, WPDesktop, wpAddDesktopLockup1Page) \
	(somSelf,hwndNotebook))
#define _wpAddDesktopLockup1Page WPDesktop_wpAddDesktopLockup1Page

/*
 * New Method: wpAddDesktopLockup2Page
 */
typedef ULONG    SOMLINK somTP_WPDesktop_wpAddDesktopLockup2Page(WPDesktop *somSelf,
		HWND hwndNotebook);
#pragma linkage(somTP_WPDesktop_wpAddDesktopLockup2Page, system)
typedef somTP_WPDesktop_wpAddDesktopLockup2Page *somTD_WPDesktop_wpAddDesktopLockup2Page;
#define somMD_WPDesktop_wpAddDesktopLockup2Page "----"
#define WPDesktop_wpAddDesktopLockup2Page(somSelf,hwndNotebook) \
    (SOM_Resolve(somSelf, WPDesktop, wpAddDesktopLockup2Page) \
	(somSelf,hwndNotebook))
#define _wpAddDesktopLockup2Page WPDesktop_wpAddDesktopLockup2Page

/*
 * New Method: wpAddDesktopLockup3Page
 */
typedef ULONG    SOMLINK somTP_WPDesktop_wpAddDesktopLockup3Page(WPDesktop *somSelf,
		HWND hwndNotebook);
#pragma linkage(somTP_WPDesktop_wpAddDesktopLockup3Page, system)
typedef somTP_WPDesktop_wpAddDesktopLockup3Page *somTD_WPDesktop_wpAddDesktopLockup3Page;
#define somMD_WPDesktop_wpAddDesktopLockup3Page "----"
#define WPDesktop_wpAddDesktopLockup3Page(somSelf,hwndNotebook) \
    (SOM_Resolve(somSelf, WPDesktop, wpAddDesktopLockup3Page) \
	(somSelf,hwndNotebook))
#define _wpAddDesktopLockup3Page WPDesktop_wpAddDesktopLockup3Page

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMAny * SOMLINK WPDesktopNewClass(integer4 scemajorVersion,
		integer4 sceminorVersion);
#pragma linkage(WPDesktopNewClass, system)

/*
 * Declare the class data structure
 */
SOMEXTERN struct WPDesktopClassDataStructure {
	SOMAny *classObject;
	somMToken wpIsCurrentDesktop;
	somMToken wpAddDesktopLockup1Page;
	somMToken wpAddDesktopLockup2Page;
	somMToken wpAddDesktopLockup3Page;
} WPDesktopClassData;

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct WPDesktopCClassDataStructure {
	somMethodTab *parentMtab;
	somDToken instanceDataToken;
} WPDesktopCClassData;

#endif       /* wpdesk_h */

/*
 * This file was generated by the SOM Compiler.
 * FileName: ..\..\ibmh\wpdesk.h.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emith: 1.11
 */

#ifndef wpdesk_mh
#define wpdesk_mh


/*
 * Define the class name as an object type
 */
#ifndef M_WPDesktop
#define M_WPDesktop SOMAny
#endif

#define M_WPDesktop_MajorVersion 1
#define M_WPDesktop_MinorVersion 2

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define M_WPDesktopNewClass WPDesktopc
#pragma linkage(WPDesktopc, system)
#define M_WPDesktopClassData WPDesktopd
#define M_WPDesktopCClassData WPDesktopx
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define M_WPDesktop_classObj M_WPDesktopClassData.classObject
#define _M_WPDesktop M_WPDesktop_classObj

/*
 * New and Renew macros for M_WPDesktop
 */
#define _M_WPDesktopNew() (_somNew(M_WPDesktopClassData.classObject))
#define M_WPDesktopNew() \
	( M_WPDesktopClassData.classObject \
		? _M_WPDesktopNew() \
		: ( M_WPDesktopNewClass(M_WPDesktop_MajorVersion, M_WPDesktop_MinorVersion), _M_WPDesktopNew() ) )
#define M_WPDesktopRenew(buf) \
	( _somRenew(M_WPDesktopClassData.classObject, buf) )

/*
 * Override method: wpclsQueryTitle
 */
#define M_WPDesktop_wpclsQueryTitle(somSelf) \
	M_WPObject_wpclsQueryTitle(somSelf)

/*
 * Override method: wpclsQueryIconData
 */
#define M_WPDesktop_wpclsQueryIconData(somSelf,pIconInfo) \
	M_WPObject_wpclsQueryIconData(somSelf,pIconInfo)

/*
 * Override method: wpclsQueryStyle
 */
#define M_WPDesktop_wpclsQueryStyle(somSelf) \
	M_WPObject_wpclsQueryStyle(somSelf)

/*
 * Override method: wpclsQueryDefaultHelp
 */
#define M_WPDesktop_wpclsQueryDefaultHelp(somSelf,pHelpPanelId,pszHelpLibrary) \
	M_WPObject_wpclsQueryDefaultHelp(somSelf,pHelpPanelId,pszHelpLibrary)

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMAny * SOMLINK M_WPDesktopNewClass(integer4 scemajorVersion,
		integer4 sceminorVersion);
#pragma linkage(M_WPDesktopNewClass, system)

/*
 * Declare the class data structure
 */
SOMEXTERN struct M_WPDesktopClassDataStructure {
	SOMAny *classObject;
} M_WPDesktopClassData;

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct M_WPDesktopCClassDataStructure {
	somMethodTab *parentMtab;
	somDToken instanceDataToken;
} M_WPDesktopCClassData;

#endif       /* wpdesk_h */
