/* Copyright (c) 1992 Colin Jensen.  All Rights Reserved. */


/*
 * This file was generated by the SOM Compiler.
 * FileName: ..\..\ibmh\wpmouse.h.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emith: 1.11
 */

/*
 * 
 *  Module Header
 * 
 *  Module Name: WPMOUSE
 * 
 *  OS/2 Presentation Manager Workplace class definitions
 * 
 *  Copyright (c) International Business Machines Corporation 1991, 1992
 * 
 */


#ifndef wpmouse_h
#define wpmouse_h


#include <som.h>

/*
 * Define the class name as an object type
 */
#ifndef WPMouse
#define WPMouse SOMAny
#endif
#include "wpabs.h"

#define WPMouse_MajorVersion 1
#define WPMouse_MinorVersion 2

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define WPMouseNewClass WPmsec
#pragma linkage(WPmsec, system)
#define WPMouseClassData WPmsed
#define WPMouseCClassData WPmsex
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define WPMouse_classObj WPMouseClassData.classObject
#define _WPMouse WPMouse_classObj

/*
 * New and Renew macros for WPMouse
 */
#define _WPMouseNew() (_somNew(WPMouseClassData.classObject))
#define WPMouseNew() \
	( WPMouseClassData.classObject \
		? _WPMouseNew() \
		: ( WPMouseNewClass(WPMouse_MajorVersion, WPMouse_MinorVersion), _WPMouseNew() ) )
#define WPMouseRenew(buf) \
	( _somRenew(WPMouseClassData.classObject, buf) )

/*
 * Override method: wpAddSettingsPages
 */
#define WPMouse_wpAddSettingsPages(somSelf,hwndNotebook) \
	WPObject_wpAddSettingsPages(somSelf,hwndNotebook)

/*
 * Override method: wpAddObjectWindowPage
 */
#define WPMouse_wpAddObjectWindowPage(somSelf,hwndNotebook) \
	WPObject_wpAddObjectWindowPage(somSelf,hwndNotebook)

/*
 * Override method: wpFilterPopupMenu
 */
#define WPMouse_wpFilterPopupMenu(somSelf,ulFlags,hwndCnr,fMultiSelect) \
	WPObject_wpFilterPopupMenu(somSelf,ulFlags,hwndCnr,fMultiSelect)

/*
 * New Method: wpAddMouseMappingsPage
 */
typedef ULONG    SOMLINK somTP_WPMouse_wpAddMouseMappingsPage(WPMouse *somSelf,
		HWND hwndNotebook);
#pragma linkage(somTP_WPMouse_wpAddMouseMappingsPage, system)
typedef somTP_WPMouse_wpAddMouseMappingsPage *somTD_WPMouse_wpAddMouseMappingsPage;
#define somMD_WPMouse_wpAddMouseMappingsPage "----"
#define WPMouse_wpAddMouseMappingsPage(somSelf,hwndNotebook) \
    (SOM_Resolve(somSelf, WPMouse, wpAddMouseMappingsPage) \
	(somSelf,hwndNotebook))
#define _wpAddMouseMappingsPage WPMouse_wpAddMouseMappingsPage

/*
 * New Method: wpAddMouseTimingPage
 */
typedef ULONG    SOMLINK somTP_WPMouse_wpAddMouseTimingPage(WPMouse *somSelf,
		HWND hwndNotebook);
#pragma linkage(somTP_WPMouse_wpAddMouseTimingPage, system)
typedef somTP_WPMouse_wpAddMouseTimingPage *somTD_WPMouse_wpAddMouseTimingPage;
#define somMD_WPMouse_wpAddMouseTimingPage "----"
#define WPMouse_wpAddMouseTimingPage(somSelf,hwndNotebook) \
    (SOM_Resolve(somSelf, WPMouse, wpAddMouseTimingPage) \
	(somSelf,hwndNotebook))
#define _wpAddMouseTimingPage WPMouse_wpAddMouseTimingPage

/*
 * New Method: wpAddMouseTypePage
 */
typedef ULONG    SOMLINK somTP_WPMouse_wpAddMouseTypePage(WPMouse *somSelf,
		HWND hwndNotebook);
#pragma linkage(somTP_WPMouse_wpAddMouseTypePage, system)
typedef somTP_WPMouse_wpAddMouseTypePage *somTD_WPMouse_wpAddMouseTypePage;
#define somMD_WPMouse_wpAddMouseTypePage "----"
#define WPMouse_wpAddMouseTypePage(somSelf,hwndNotebook) \
    (SOM_Resolve(somSelf, WPMouse, wpAddMouseTypePage) \
	(somSelf,hwndNotebook))
#define _wpAddMouseTypePage WPMouse_wpAddMouseTypePage

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMAny * SOMLINK WPMouseNewClass(integer4 scemajorVersion,
		integer4 sceminorVersion);
#pragma linkage(WPMouseNewClass, system)

/*
 * Declare the class data structure
 */
SOMEXTERN struct WPMouseClassDataStructure {
	SOMAny *classObject;
	somMToken wpAddMouseMappingsPage;
	somMToken wpAddMouseTimingPage;
	somMToken wpAddMouseTypePage;
} WPMouseClassData;

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct WPMouseCClassDataStructure {
	somMethodTab *parentMtab;
	somDToken instanceDataToken;
} WPMouseCClassData;

#endif       /* wpmouse_h */

/*
 * This file was generated by the SOM Compiler.
 * FileName: ..\..\ibmh\wpmouse.h.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emith: 1.11
 */

#ifndef wpmouse_mh
#define wpmouse_mh


/*
 * Define the class name as an object type
 */
#ifndef M_WPMouse
#define M_WPMouse SOMAny
#endif

#define M_WPMouse_MajorVersion 1
#define M_WPMouse_MinorVersion 2

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define M_WPMouseNewClass WPmsec
#pragma linkage(WPmsec, system)
#define M_WPMouseClassData WPmsed
#define M_WPMouseCClassData WPmsex
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define M_WPMouse_classObj M_WPMouseClassData.classObject
#define _M_WPMouse M_WPMouse_classObj

/*
 * New and Renew macros for M_WPMouse
 */
#define _M_WPMouseNew() (_somNew(M_WPMouseClassData.classObject))
#define M_WPMouseNew() \
	( M_WPMouseClassData.classObject \
		? _M_WPMouseNew() \
		: ( M_WPMouseNewClass(M_WPMouse_MajorVersion, M_WPMouse_MinorVersion), _M_WPMouseNew() ) )
#define M_WPMouseRenew(buf) \
	( _somRenew(M_WPMouseClassData.classObject, buf) )

/*
 * Override method: wpclsQueryTitle
 */
#define M_WPMouse_wpclsQueryTitle(somSelf) \
	M_WPObject_wpclsQueryTitle(somSelf)

/*
 * Override method: wpclsQueryDefaultHelp
 */
#define M_WPMouse_wpclsQueryDefaultHelp(somSelf,pHelpPanelId,pszHelpLibrary) \
	M_WPObject_wpclsQueryDefaultHelp(somSelf,pHelpPanelId,pszHelpLibrary)

/*
 * Override method: wpclsQueryDefaultView
 */
#define M_WPMouse_wpclsQueryDefaultView(somSelf) \
	M_WPObject_wpclsQueryDefaultView(somSelf)

/*
 * Override method: wpclsQueryStyle
 */
#define M_WPMouse_wpclsQueryStyle(somSelf) \
	M_WPObject_wpclsQueryStyle(somSelf)

/*
 * Override method: wpclsQueryIconData
 */
#define M_WPMouse_wpclsQueryIconData(somSelf,pIconInfo) \
	M_WPObject_wpclsQueryIconData(somSelf,pIconInfo)

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMAny * SOMLINK M_WPMouseNewClass(integer4 scemajorVersion,
		integer4 sceminorVersion);
#pragma linkage(M_WPMouseNewClass, system)

/*
 * Declare the class data structure
 */
SOMEXTERN struct M_WPMouseClassDataStructure {
	SOMAny *classObject;
} M_WPMouseClassData;

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct M_WPMouseCClassDataStructure {
	somMethodTab *parentMtab;
	somDToken instanceDataToken;
} M_WPMouseCClassData;

#endif       /* wpmouse_h */
