home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
wpentk.zip
/
WBPENTK1.DSK
/
PENOBJ.IDL
< prev
next >
Wrap
Text File
|
1994-09-28
|
6KB
|
252 lines
// SCC: @(#) 42 12/4/92 16:37:08 1.1 @(#)
// Module Header
//
// Module Name: PENOBJ
//
// OS/2 Presentation Manager Workplace class definitions
//
// Copyright (c) International Business Machines Corporation 1992
//
#ifndef penobj_idl
#define penobj_idl
#include "wpobject.idl"
#include <somcls.idl>
interface M_PenObject;
interface PenObject : WPObject
//---Symbol parentComment is undefined---
//
// CLASS: PenObject
//
// CLASS HIERARCHY:
// SOMObject
// ¡¡¡ WPObject
// ¡¡¡ PenObject
//
// DESCRIPTION:
// This is the replacement class for the WPObject class. It provides
// the instance data and methods needed to support the OS/2 Pen
// extensions.
//
// An instance of this class cannot be created as a Workplace object.
//
// This class first subclasses the WPObject class and then replaces
// it's parent class.
//
{
ULONG penAddObjectOverrides2Page(in HWND hwndNotebook);
//
// METHOD: penAddObjectOverrides2Page (X) PRIVATE
// ( ) PUBLIC
// PURPOSE:
// Add an Overrides page to allow the user to override Pen system
// variables.
//
ULONG penInvokeGestureHelp();
//
// METHOD: penInvokeGestureHelp ( ) PRIVATE
// (X) PUBLIC
// PURPOSE:
// Opens settings notebook of particular object to the Gesture
// page.
//
ULONG penAddObjectEventPage(in HWND hwndNotebook,
in PVOID pMappingInfo);
//
// METHOD: penAddObjectEventPage ( ) PRIVATE
// (X) PUBLIC
// PURPOSE:
// Add the recognition event page to all workplace objects that
// are of one of the predefined types.
//
ULONG penAddObjectOverridesPage(in HWND hwndNotebook);
//
// METHOD: penAddObjectOverridesPage (X) PRIVATE
// ( ) PUBLIC
// PURPOSE:
// Add an Overrides page to allow the user to override Pen system
// variables.
//
#ifdef __SOMIDL__
implementation {
releaseorder: penAddObjectEventPage,penAddObjectOverridesPage,penAddObjectOverrides2Page,
penInvokeGestureHelp,penNotifyChangeofSystemMappings;
externalstem = Penobj;
local;
externalprefix = pob_;
majorversion = 1;
minorversion = 2;
filestem = penobj;
metaclass = M_PenObject;
callstyle = oidl;
passthru C_ih_before = ""
"/* Bit flags for the overrides variables. bfCurrent and bfOld are given a"
" size of BYTE, so if we get to 0x100, we'll need to increase the size of"
" these variables. - MikeD 4/26/94 */"
""
"#define F_APP_NO_PEN_PAUSE 1"
"#define F_APP_NO_TOUCH_PAUSE 2"
"#define F_APP_NO_MOUSE_PAUSE 4"
"#define F_APP_GESTURES 8"
"#define F_APP_HIDE_CURSOR 16"
""
"/* Bit flags for the page state variables */"
""
"#define F_OBJECT_GENERAL_PAGE_ADDED 1"
"#define F_OBJECT_WINDOW_PAGE_ADDED 2"
""
"";
PSZ pszSessionType;
ULONG ulSessionType;
HOBJECT hObject;
HOBJECT hObjectDefault;
BYTE bfCurrentOverrides;
BYTE bfOldOverrides;
ULONG ulCurrentWritingMode;
ULONG ulOldWritingMode;
ULONG ulCurrentPointRate;
ULONG ulOldPointRate;
BYTE bfPagesAdded;
BYTE fAddPenPages;
ULONG ulGesturePage;
HWND hwndNotebook;
ULONG ulCreated;
BYTE fSystemMappingsChanged;
BYTE fGestureEnabledChanged;
ULONG ulGeneralPage;
ULONG ulWindowPage;
ULONG ulCurrentHFMouseMoves;
ULONG ulOldHFMouseMoves;
penInvokeGestureHelp: namelookup;
penAddObjectEventPage: namelookup;
wpAddSettingsPages: override;
//
// METHOD: wpAddSettingsPages ( ) PRIVATE
// (X) PUBLIC
// PURPOSE:
// Add our own settings page to give the user access to the recognition
// profile editor so that the recognition profile mappings for this
// object may be changed.
//
wpInitData: override;
//
// REMARKS:
// Initialize the recognition profile name instance data for
// this object.
//
wpUnInitData: override;
//
// REMARKS:
// Release any resources that get allocated during the wpInitData
// processing.
//
wpCreateAnother: override;
//
// REMARKS:
// Setup PenObject information on Create another....
//
wpRestoreState: override;
//
// REMARKS:
// Retreive the recognition profile name for this object instance
// and set the instance variable for this parameter.
//
wpSaveState: override;
//
// REMARKS:
// Save the instance variable value.
//
wpFree: override;
//
// REMARKS:
// Need to free any pen specific information associated with this
// Program or ProgramFile Object.
//
wpAddObjectWindowPage: override;
//
// REMARKS:
// Override this method so we can assure that it only adds the page once.
// We use a state variable to track this. (fObjectWindowPageAdded)
//
wpAddObjectGeneralPage: override;
//
// REMARKS:
// Override this method so we can assure that it only adds the page once.
// We use a state variable to track this. (fObjectGeneralPageAdded)
//
};
#endif /* __SOMIDL__ */
};
interface M_PenObject
{
#ifdef __SOMIDL__
implementation {
externalstem = Penobj;
local;
externalprefix = pobM_;
majorversion = 1;
minorversion = 2;
filestem = penobj;
callstyle = oidl;
wpclsQueryIcon: override;
};
#endif /* __SOMIDL__ */
};
#endif /* penobj_idl */