129 lines
4.1 KiB
C
129 lines
4.1 KiB
C
|
/*
|
||
|
* PMMON.H
|
||
|
*
|
||
|
* Header file for ArchiveLib 1.0
|
||
|
*
|
||
|
* Copyright (c) 1994 Greenleaf Software, Inc.
|
||
|
* All Rights Reserved
|
||
|
*
|
||
|
* DESCRIPTION
|
||
|
*
|
||
|
* This header file contains the declaration for ALOs2Message,
|
||
|
* a monitor class used under OS/2 Presentation Manage.
|
||
|
*
|
||
|
* CLASS DEFINITIONS:
|
||
|
*
|
||
|
* ALOs2Message
|
||
|
*
|
||
|
* REVISION HISTORY
|
||
|
*
|
||
|
* February 14, 1996 2.0A : New release
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#if !defined( _PMMON_H )
|
||
|
#define _PMMON_H
|
||
|
|
||
|
#include "arclib.h"
|
||
|
#include "pmutil.h"
|
||
|
|
||
|
#if defined( __cplusplus )
|
||
|
|
||
|
/*
|
||
|
* class ALOs2Message
|
||
|
*
|
||
|
* DESCRIPTION
|
||
|
*
|
||
|
* This class is used to provide user feedback when operating under
|
||
|
* PM. It can be constructed to send messages to windows from
|
||
|
* YieldTime(), allowing you to easily update progress bars, text
|
||
|
* boxes, or whatever.
|
||
|
*
|
||
|
* DATA MEMBERS
|
||
|
*
|
||
|
* mhMessageWindowHandle : The handle of the window that is going to
|
||
|
* get the text messages generated by the
|
||
|
* ArchiveOperation() procedure. If this
|
||
|
* member is set to 0, no messages are sent.
|
||
|
*
|
||
|
* mhNumberWindowHandle : The handle of the window that is going to
|
||
|
* get either the byte count or the percent
|
||
|
* complete figure. If miMessage is 0, it
|
||
|
* is formatted as ASCII and sent using a
|
||
|
* WinSetWindowText() call. O/W, it is sent
|
||
|
* using WinSendMsg(), in both parameters.
|
||
|
*
|
||
|
* mMessageType : AL_SEND_BYTE_COUNT or AL_SEND_RATIO.
|
||
|
*
|
||
|
* miMessage : The message that gets sent with with the
|
||
|
* byte count or ratio.
|
||
|
*
|
||
|
* miSliderLength : If the monitor is sending messages to a
|
||
|
* slider, this member has the length of
|
||
|
* the slider shaft in pixels.
|
||
|
*
|
||
|
* MEMBER FUNCTIONS
|
||
|
*
|
||
|
* ALOs2Message() : The one and only constructor.
|
||
|
* ~ALOs2Message() : The destructor.
|
||
|
* operator new() : The memory allocation operator, only used
|
||
|
* when the library is in a DLL.
|
||
|
* Progress() : The virtual function that gets called to
|
||
|
* update progress through the file/job.
|
||
|
* ArchiveOperation() : The virtual function that gets called
|
||
|
* at key points in the archiving process.
|
||
|
*
|
||
|
* REVISION HISTORY
|
||
|
*
|
||
|
* May 26, 1994 1.0A : First release
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
class AL_CLASS_TYPE ALOs2Message : public ALMonitor {
|
||
|
/*
|
||
|
* Constructors, destructors, and friends
|
||
|
*/
|
||
|
public :
|
||
|
AL_PROTO ALOs2Message( ALMonitorType monitor_type,
|
||
|
HWND progress_text_window,
|
||
|
ALWindowsMessageType message_type,
|
||
|
HWND progress_number_window,
|
||
|
UINT pm_message = 0 );
|
||
|
virtual AL_PROTO ~ALOs2Message();
|
||
|
#if defined( AL_USING_DLL ) || defined( AL_BUILDING_DLL )
|
||
|
void AL_DLL_FAR * AL_PROTO operator new( size_t size );
|
||
|
#endif
|
||
|
protected :
|
||
|
virtual void AL_PROTO Progress( long mlObjectSoFar,
|
||
|
ALStorage AL_DLL_FAR & object );
|
||
|
virtual void AL_PROTO
|
||
|
ArchiveOperation( ALArchiveOperation operation,
|
||
|
ALArchive AL_DLL_FAR *archive,
|
||
|
ALEntry AL_DLL_FAR *job );
|
||
|
/*
|
||
|
* Data members
|
||
|
*/
|
||
|
protected :
|
||
|
HWND mhMessageWindowHandle;
|
||
|
HWND mhNumberWindowHandle;
|
||
|
ALWindowsMessageType mMessageType;
|
||
|
ULONG miMessage;
|
||
|
int miSliderLength; /* The length of the shaft in pixels */
|
||
|
public :
|
||
|
AL_CLASS_TAG( _ALOs2MessageTag );
|
||
|
};
|
||
|
|
||
|
#else /* #if defined( __cplusplus ) ... */
|
||
|
|
||
|
AL_LINKAGE hALMonitor AL_FUNCTION
|
||
|
newALOs2Message( ALMonitorType monitor_type,
|
||
|
HWND progress_text_window,
|
||
|
ALWindowsMessageType message_type,
|
||
|
HWND progress_number_window,
|
||
|
UINT pm_message );
|
||
|
|
||
|
#endif /* #if defined( __cplusplus ) ... #else ... */
|
||
|
|
||
|
#endif
|
||
|
|