home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 8 Other
/
08-Other.zip
/
pm6tool.zip
/
basenc1.tc
next >
Wrap
Text File
|
1996-08-02
|
12KB
|
394 lines
/*
File: $filename:toupper$.CPP
Description: Implementation of $partname$
Written by: $author$
Copyright: (c) $years$ by $company$
- all rights reserved
Generated by: $toolname$ $toolversion$
*/
#ifndef SOM_Module_$filename$_Source
#define SOM_Module_$filename$_Source
#endif
#define $partname$_Class_Source
#define VARIABLE_MACROS
#if defined (_PLATFORM_OS2_)
#define INCL_GPI
#endif
#define INCL_ODAPI
#define INCL_ODARBITRATOR
#define INCL_ODCANVAS
#define INCL_ODDRAFT
#define INCL_ODERRORS
#define INCL_ODFACET
#define INCL_ODFRAME
#define INCL_ODMENUBAR
#define INCL_ODSESSION
#define INCL_ODSHAPE
#define INCL_ODSTORAGEUNIT
#define INCL_ODSTORAGEUNITVIEW
#define INCL_ODTRANSFORM
#define INCL_ODWINDOW
#define INCL_ODWINDOWSTATE
#if defined (_PLATFORM_OS2_)
#include <os2.h>
#elif defined (_PLATFORM_WIN32_)
#include <od.h>
// Prototyps for utility functions
static ODULong StorageUnitGetValue (ODStorageUnit *, Environment *, ODULong, const void *);
static ODULong StorageUnitSetValue (ODStorageUnit *, Environment *, ODULong, const void *);
#endif
#include <stdio.h>
#include "$filename$.xih"
#if defined (_PLATFORM_OS2_)
#include <focuslib.h>
#endif
const ODType kPartHandlerName = "$partname$";
const ODType kDisplayName = $displayname$;
const ODType kKind = $kind$;
const ODType kKindDisplayName = $kinddisplayname$;
const ODType kCategory = $category$;
const ODType kCategoryDisplayName = $categorydisplayname$;
const char *kDebugName = "$partname$";
const char *kDebugNameM = "M_$partname$";
#define FIXED2LONG(f) (((f) + 0x8000) >> 16)
#ifdef DEBUG
#undef $partname$MethodDebug
#undef M_$partname$MethodDebug
#define $partname$MethodDebug(x,y) LogString(somSelf,x,y)
#define M_$partname$MethodDebug(x,y) LogString(somSelf,x,y)
#include <log.h>
#endif
/*
This is the first method called when an object of this class is created.
Initialization of all attributes and private variables.
Implementation: Call parent initializer, initialize attributes
Return : None
Subclassing : Call first
Notes : None
*/
SOM_Scope void SOMLINK somDefaultInit($partname$ *somSelf, somInitCtrl* ctrl)
{
#ifdef DEBUG
LogOpen (somSelf, "$filename$");
#endif
$partname$Data *somThis; /* set in BeginInitializer */
somInitCtrl globalCtrl;
somBooleanVector myMask;
$partname$MethodDebug(kPartHandlerName,"somDefaultInit");
$partname$_BeginInitializer_somDefaultInit;
$partname$_Init_$parentname$_somDefaultInit(somSelf, ctrl);
// initialization
_text = NULL;
}
/*
This is the last method called before this instance of the class is
destroyed. Release any remaining allocated resources.
Implementation: Clean up resources, then call parent
Return : None
Subclassing : Call last (or as your part requires)
Notes : None
*/
SOM_Scope void SOMLINK somDestruct($partname$ *somSelf, octet doFree,
somDestructCtrl* ctrl)
{
$partname$Data *somThis; /* set in BeginDestructor */
somDestructCtrl globalCtrl;
somBooleanVector myMask;
$partname$MethodDebug(kPartHandlerName,"somDestruct");
$partname$_BeginDestructor;
// clean up
if (_text != NULL)
SOMFree (_text);
$partname$_EndDestructor;
}
/*
Return part kind string
Implementation:
Return : None.
Subclassing : Must be implemented by derived class
Notes :
*/
SOM_Scope string SOMLINK PartKind($partname$ *somSelf, Environment *ev)
{
$partname$Data *somThis = $partname$GetData(somSelf);
$partname$MethodDebug(kPartHandlerName,"PartKind");
return (kKind);
}
/*
Initialization common to new and restored parts.
Implementation:
Return : None.
Subclassing : Call parent at any point.
Notes :
*/
SOM_Scope void SOMLINK InitializePart($partname$ *somSelf, Environment *ev)
{
$partname$Data *somThis = $partname$GetData(somSelf);
$partname$MethodDebug(kPartHandlerName,"InitializePart");
$partname$_parent_$parentname$_InitializePart(somSelf, ev);
}
SOM_Scope void SOMLINK InitPart($partname$ *somSelf, Environment *ev,
ODStorageUnit* storageUnit, ODPart *partWrapper)
{
$partname$Data *somThis = $partname$GetData(somSelf);
$partname$MethodDebug(kPartHandlerName,"InitPart");
$partname$_parent_$parentname$_InitPart(somSelf, ev, storageUnit, partWrapper);
_text = (string) SOMMalloc (strlen ("$partname$") + 1);
strcpy (_text, "$partname$");
}
SOM_Scope void SOMLINK InitPartFromStorage($partname$ *somSelf, Environment *ev,
ODStorageUnit* storageUnit, ODPart *partWrapper)
{
$partname$Data *somThis = $partname$GetData(somSelf);
$partname$MethodDebug(kPartHandlerName,"InitPartFromStorage");
$partname$_parent_$parentname$_InitPartFromStorage(somSelf, ev, storageUnit, partWrapper);
}
SOM_Scope void SOMLINK InternalizeContent($partname$ *somSelf, Environment *ev, ODStorageUnit *storageUnit)
{
$partname$Data *somThis = $partname$GetData(somSelf);
$partname$MethodDebug(kPartHandlerName,"InternalizeContent");
$partname$_parent_$parentname$_InternalizeContent(somSelf, ev, storageUnit);
if (storageUnit->Exists (ev, kODPropContents, kKind, 0))
{
storageUnit->Focus (ev, kODPropContents, kODPosUndefined, kKind, 0, kODPosUndefined);
unsigned long ulSize = storageUnit->GetSize (ev);
_text = (string) SOMMalloc (ulSize);
StorageUnitGetValue (storageUnit, ev, ulSize, _text);
}
else
{
_text = (string) SOMMalloc (strlen ("$partname$") + 1);
strcpy (_text, "$partname$");
}
}
SOM_Scope void SOMLINK ExternalizeContent($partname$ *somSelf, Environment *ev, ODStorageUnit *storageUnit)
{
$partname$Data *somThis = $partname$GetData(somSelf);
$partname$MethodDebug(kPartHandlerName,"ExternalizeContent");
$partname$_parent_$parentname$_ExternalizeContent(somSelf, ev, storageUnit);
storageUnit->Focus (ev, kODPropContents, kODPosUndefined, kKind, 0, kODPosUndefined);
StorageUnitSetValue (storageUnit, ev, strlen (_text) + 1, _text);
}
SOM_Scope void SOMLINK DrawFrameView ($partname$ *somSelf, Environment *ev, ODFacet* facet, ODShape *invalidShape)
{
$partname$Data *somThis = $partname$GetData(somSelf);
$partname$MethodDebug(kPartHandlerName,"DrawFrameView");
#if defined (_PLATFORM_OS2_)
HPS gc;
RECTL frameRect;
CFocus f (ev, facet, invalidShape, &gc);
#elif defined (_PLATFORM_WIN32_)
HDC gc;
Rect frameRect;
CFocus f (facet, invalidShape, &gc);
#endif
ODRect rect;
ODShape *shape = facet->GetFrame (ev)->AcquireFrameShape (ev, facet->GetCanvas (ev));
shape->GetBoundingBox (ev, &rect);
frameRect.xLeft = FIXED2LONG (rect.left);
frameRect.xRight = FIXED2LONG (rect.right);
frameRect.yTop = FIXED2LONG (rect.top);
frameRect.yBottom = FIXED2LONG (rect.bottom);
#if defined (_PLATFORM_OS2_)
GpiSetColor (gc, CLR_BLUE);
GpiBox (gc, DRO_FILL, (PPOINTL) &frameRect.xRight, 0, 0);
POINTL aptl[TXTBOX_COUNT];
GpiQueryTextBox (gc, strlen (_text), _text, TXTBOX_COUNT, aptl);
POINTL ptl;
ptl.x = (frameRect.xRight - aptl[TXTBOX_TOPRIGHT].x) / 2;
ptl.y = (frameRect.yTop - aptl[TXTBOX_TOPRIGHT].y) / 2;
GpiSetColor (gc, CLR_WHITE);
GpiCharStringAt (gc, &ptl, strlen (_text), _text);
#elif defined (_PLATFORM_WIN32_)
HBRUSH hbr = CreateSolidBrush (BLUE);
FillRect (gc, &frameRect, hbr);
DeleteObject (hbr);
SetBkMode (gc, TRANSPARENT);
SetTextColor (0x00FFFFFF);
DrawText (gc, _text, strlen (_text), &frameRect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
#endif
}
// metaclass methods
SOM_Scope ISOString SOMLINK clsGetODPartHandlerName(M_$partname$ *somSelf,
Environment *ev)
{
/* M_$partname$Data *somThis = M_$partname$GetData(somSelf); */
M_$partname$MethodDebug(kDebugNameM,"clsGetODPartHandlerName");
ISOString handlerName = (ISOString) SOMMalloc (strlen (kPartHandlerName) + 1);
strcpy (handlerName, kPartHandlerName);
return (handlerName);
}
SOM_Scope string SOMLINK clsGetODPartHandlerDisplayName(M_$partname$ *somSelf,
Environment *ev)
{
/* M_$partname$Data *somThis = M_$partname$GetData(somSelf); */
M_$partname$MethodDebug(kDebugNameM,"clsGetODPartHandlerDisplayName");
string displayName = (string) SOMMalloc (strlen (kDisplayName) + 1);
strcpy (displayName, kDisplayName);
return (displayName);
}
SOM_Scope _IDL_SEQUENCE_PartKindInfo SOMLINK clsGetODPartKinds(M_$partname$ *somSelf,
Environment *ev)
{
/* M_$partname$Data *somThis = M_$partname$GetData(somSelf); */
M_$partname$MethodDebug(kDebugNameM,"clsGetODPartKinds");
_IDL_SEQUENCE_PartKindInfo kindInfo;
// Create structure PartKindInfo and allocate memory for variable
PartKindInfo *info = (PartKindInfo *) SOMMalloc (sizeof (PartKindInfo));
info->partKindName = (ISOString) SOMMalloc (strlen (kKind) + 1);
info->partKindDisplayName = (string) SOMMalloc (strlen (kKindDisplayName) + 1);
info->filenameFilters = (string) SOMMalloc (strlen ("") + 1);
info->filenameTypes = (string) SOMMalloc (strlen ("") + 1);
info->categories = (string) SOMMalloc (strlen (kCategory) + 1);
info->categoryDisplayName = (string) SOMMalloc (strlen (kCategoryDisplayName) + 1);
info->objectID = (string) SOMMalloc (strlen ("") + 1);
// Copy the information into the structure
strcpy (info->partKindName, kKind);
strcpy (info->partKindDisplayName, kKindDisplayName);
strcpy (info->filenameFilters, "");
strcpy (info->filenameTypes, "");
strcpy (info->categories, kCategory);
strcpy (info->categoryDisplayName, kCategoryDisplayName);
strcpy (info->objectID, "");
kindInfo._maximum = 1;
kindInfo._length = 1;
kindInfo._buffer = info;
return (kindInfo);
}
SOM_Scope string SOMLINK clsGetOLE2ClassId(M_$partname$ *somSelf,
Environment *ev)
{
/* M_$partname$Data *somThis = M_$partname$GetData(somSelf); */
M_$partname$MethodDebug(kDebugNameM,"clsGetOLE2ClassId");
string classID = (string) SOMMalloc (1);
classID[0] = '\0';
return (classID);
}
SOM_Scope string SOMLINK clsGetWindowsIconFileName(M_$partname$ *somSelf,
Environment *ev)
{
/* M_$partname$Data *somThis = M_$partname$GetData(somSelf); */
M_$partname$MethodDebug(kDebugNameM,"clsGetWindowsIconFileName");
string fileName = (string) SOMMalloc (1);
fileName[0] = '\0';
return (fileName);
}
#ifdef __IBMC___
#pragma linkage (SOMInitModule, system)
#endif
SOMEXTERN void SOMLINK SOMInitModule (long majorVersion, long minorVersion,
string className)
{
$partname$NewClass ($partname$_MajorVersion, $partname$_MinorVersion);
}
#if defined (_PLATFORM_WIN32_)
// Define storage utility functions for Windows
static ODULong StorageUnitGetValue (ODStorageUnit* su, Environment* ev, ODULong size, ODPtr buffer)
{
ODByteArray ba;
ODULong bytesRead = su->GetValue (ev, size, &ba);
if (bytesRead > 0)
{
memcpy (ba._buffer, buffer, bytesRead);
delete[] (ba._buffer);
}
return (bytesRead);
}
void StorageUnitSetValue (ODStorageUnit* su, Environment* ev, ODULong size, const void *buffer)
{
ODByteArray ba;
ba._length = size;
ba._maximum = size;
ba._buffer = (octet *) buffer;
su->SetValue (ev, &ba);
}
#endif