386 lines
6.9 KiB
C++
386 lines
6.9 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (C) Microsoft Corporation, 1995 - 1998
|
||
|
All rights reserved.
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
docprop.hxx
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Document properties header.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Albert Ting (AlbertT) 17-Aug-1995
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
#ifndef _DOCPROP_HXX
|
||
|
#define _DOCPROP_HXX
|
||
|
|
||
|
//
|
||
|
// HACK: private export from winspool.drv.
|
||
|
//
|
||
|
extern "C" {
|
||
|
LONG
|
||
|
DocumentPropertySheets(
|
||
|
PPROPSHEETUI_INFO pPSUIInfo,
|
||
|
LPARAM lParam
|
||
|
);
|
||
|
}
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
Class forward references.
|
||
|
|
||
|
********************************************************************/
|
||
|
class TDocumentData;
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
DocumentProp.
|
||
|
|
||
|
Base class for document property sheets. This class should not
|
||
|
not contain any information/services that is not generic to all
|
||
|
derived classes.
|
||
|
|
||
|
The document property sheets should inherit from this class.
|
||
|
bHandleMessage (which is not overriden here) should be
|
||
|
defined in derived classes.
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
class TDocumentProp : public MGenericProp {
|
||
|
|
||
|
SIGNATURE( 'prpr' )
|
||
|
ALWAYS_VALID
|
||
|
SAFE_NEW
|
||
|
|
||
|
public:
|
||
|
|
||
|
TDocumentProp::
|
||
|
TDocumentProp(
|
||
|
TDocumentData* pDocumentData
|
||
|
);
|
||
|
|
||
|
virtual
|
||
|
TDocumentProp::
|
||
|
~TDocumentProp(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDocumentProp::
|
||
|
bHandleMessage(
|
||
|
UINT uMsg,
|
||
|
WPARAM wParam,
|
||
|
LPARAM lParam
|
||
|
);
|
||
|
|
||
|
virtual
|
||
|
BOOL
|
||
|
TDocumentProp::
|
||
|
_bHandleMessage(
|
||
|
UINT uMsg,
|
||
|
WPARAM wParam,
|
||
|
LPARAM lParam
|
||
|
) = 0;
|
||
|
|
||
|
virtual
|
||
|
BOOL
|
||
|
TDocumentProp::
|
||
|
bSetUI(
|
||
|
VOID
|
||
|
) = 0;
|
||
|
|
||
|
virtual
|
||
|
BOOL
|
||
|
TDocumentProp::
|
||
|
bReadUI(
|
||
|
VOID
|
||
|
) = 0;
|
||
|
|
||
|
virtual
|
||
|
BOOL
|
||
|
TDocumentProp::
|
||
|
bSaveUI(
|
||
|
VOID
|
||
|
) = 0;
|
||
|
|
||
|
protected:
|
||
|
|
||
|
VAR( TDocumentData*, pDocumentData );
|
||
|
|
||
|
private:
|
||
|
|
||
|
//
|
||
|
// Operator = and copy not defined.
|
||
|
//
|
||
|
TDocumentProp &
|
||
|
TDocumentProp::
|
||
|
operator =(
|
||
|
const TDocumentProp &
|
||
|
);
|
||
|
|
||
|
TDocumentProp::
|
||
|
TDocumentProp(
|
||
|
const TDocumentProp &
|
||
|
);
|
||
|
|
||
|
BOOL _bApplyData;
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
General document property page.
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
class TDocumentGeneral : public TDocumentProp {
|
||
|
|
||
|
SIGNATURE( 'gedo' )
|
||
|
SAFE_NEW
|
||
|
|
||
|
public:
|
||
|
|
||
|
TDocumentGeneral(
|
||
|
TDocumentData* pDocumentData
|
||
|
);
|
||
|
|
||
|
~TDocumentGeneral(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bValid(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
_bHandleMessage(
|
||
|
UINT uMsg,
|
||
|
WPARAM wParam,
|
||
|
LPARAM lParam
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bSetUI(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bReadUI(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bSaveUI(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
vEnableAvailable(
|
||
|
IN BOOL bEnable
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bSetStartAndUntilTime(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
vSetActive(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
//
|
||
|
// Operator = and copy not defined.
|
||
|
//
|
||
|
TDocumentGeneral &
|
||
|
TDocumentGeneral::
|
||
|
operator =(
|
||
|
const TDocumentGeneral &
|
||
|
);
|
||
|
|
||
|
TDocumentGeneral::
|
||
|
TDocumentGeneral(
|
||
|
const TDocumentGeneral &
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDocumentGeneral::
|
||
|
bCheckForChange(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL _bSetUIDone;
|
||
|
};
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
Document property windows.
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
class TDocumentWindows : public TPropertySheetManager {
|
||
|
|
||
|
SIGNATURE( 'down' )
|
||
|
SAFE_NEW
|
||
|
|
||
|
public:
|
||
|
|
||
|
TDocumentWindows::
|
||
|
TDocumentWindows(
|
||
|
IN TDocumentData* pDocumentData
|
||
|
);
|
||
|
|
||
|
TDocumentWindows::
|
||
|
~TDocumentWindows(
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDocumentWindows::
|
||
|
bValid(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDocumentWindows::
|
||
|
bBuildPages(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDocumentWindows::
|
||
|
bSetHeader(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo,
|
||
|
IN PPROPSHEETUI_INFO_HEADER pPSUInfoHeader
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
//
|
||
|
// Operator = and copy not defined.
|
||
|
//
|
||
|
TDocumentWindows &
|
||
|
TDocumentWindows::
|
||
|
operator =(
|
||
|
const TDocumentWindows &
|
||
|
);
|
||
|
|
||
|
TDocumentWindows::
|
||
|
TDocumentWindows(
|
||
|
const TDocumentWindows &
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
TDocumentData *_pDocumentData; // Pointer to document property sheet data set
|
||
|
TDocumentGeneral _General; // General document property sheet
|
||
|
DOCUMENTPROPERTYHEADER _dph; // Document prorety header
|
||
|
|
||
|
};
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
Document properties UI (driver UI)
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
class TDocumentProperties: public TPropertySheetManager
|
||
|
{
|
||
|
SIGNATURE( 'dopr' )
|
||
|
SAFE_NEW
|
||
|
|
||
|
public:
|
||
|
TDocumentProperties::
|
||
|
TDocumentProperties(
|
||
|
IN HWND hwnd,
|
||
|
IN HANDLE hPrinter,
|
||
|
IN LPCTSTR pszPrinter,
|
||
|
IN PDEVMODE pDevModeIn,
|
||
|
OUT PDEVMODE pDevModeOut,
|
||
|
IN DWORD dwHideBits,
|
||
|
IN DWORD dwFlags
|
||
|
);
|
||
|
|
||
|
LONG
|
||
|
TDocumentProperties::
|
||
|
lGetResult(
|
||
|
VOID
|
||
|
) const;
|
||
|
|
||
|
BOOL
|
||
|
TDocumentProperties::
|
||
|
bBuildPages(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDocumentProperties::
|
||
|
bSetHeader(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo,
|
||
|
IN PPROPSHEETUI_INFO_HEADER pPSUInfoHeader
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
DOCUMENTPROPERTYHEADER _dph;
|
||
|
HWND _hwnd;
|
||
|
HANDLE _hPrinter;
|
||
|
LPCTSTR _pszPrinter;
|
||
|
PDEVMODE _pDevModeIn;
|
||
|
PDEVMODE _pDevModeOut;
|
||
|
DWORD _dwHideBits;
|
||
|
DWORD _dwFlags;
|
||
|
LONG _lResult;
|
||
|
TString _strTitle;
|
||
|
};
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
Global scoped functions.
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
VOID
|
||
|
vDocumentPropSelections(
|
||
|
IN HWND hWnd,
|
||
|
IN LPCTSTR pszPrinterName,
|
||
|
IN TSelection *pSelection
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
vDocumentPropPages(
|
||
|
IN HWND hWnd,
|
||
|
IN LPCTSTR pszDocumentName,
|
||
|
IN IDENT JobId,
|
||
|
IN INT iCmdShow,
|
||
|
IN LPARAM lParam
|
||
|
);
|
||
|
|
||
|
LONG
|
||
|
DocumentPropertiesWrap(
|
||
|
HWND hwnd, // handle to parent window
|
||
|
HANDLE hPrinter, // handle to printer object
|
||
|
LPTSTR pDeviceName, // device name
|
||
|
PDEVMODE pDevModeOutput, // modified device mode
|
||
|
PDEVMODE pDevModeInput, // original device mode
|
||
|
DWORD fMode, // mode options
|
||
|
DWORD fExclusionFlags // exclusion flags
|
||
|
);
|
||
|
|
||
|
INT
|
||
|
iDocumentPropPagesProc(
|
||
|
TDocumentData* pDocumentData
|
||
|
);
|
||
|
|
||
|
#endif
|