335 lines
7.6 KiB
C++
335 lines
7.6 KiB
C++
/**********************************************************************/
|
|
/** Microsoft Windows/NT **/
|
|
/** Copyright(c) Microsoft Corp., 1991 **/
|
|
/**********************************************************************/
|
|
|
|
/*
|
|
dialogs.hxx
|
|
Class declarations for the CONFIGURE_PORT_DIALOG and
|
|
ADD_PORT_DIALOG.
|
|
|
|
FILE HISTORY:
|
|
NarenG 24-May-1993 Created for C version.
|
|
|
|
*/
|
|
|
|
|
|
#ifndef _DIALOGS_HXX
|
|
#define _DIALOGS_HXX
|
|
|
|
enum SFM_OUTLINE_LB_LEVEL
|
|
{
|
|
//
|
|
// Note, these numbers also indicate the indent level. Hence,
|
|
// the order nor the starting point must not be tampered with.
|
|
//
|
|
|
|
SFM_OLLBL_ZONE,
|
|
SFM_OLLBL_PRINTER
|
|
};
|
|
|
|
#define COL_WIDTH_OUTLINE_INDENT (12)
|
|
|
|
/*************************************************************************
|
|
|
|
NAME: CONFIGURE_PORT_DIALOG
|
|
|
|
SYNOPSIS: The class represents the configure port dialog
|
|
of the Print Manager.
|
|
|
|
INTERFACE: CONFIGURE_PORT_DIALOG - Class constructor.
|
|
|
|
~CONFIGURE_PORT_DIALOG - Class destructor.
|
|
|
|
QueryHelpContext - Called when the user presses "F1"
|
|
or the "Help" button. Used for
|
|
selecting the appropriate help
|
|
text for display.
|
|
|
|
OnOk - Called when user hits OK button.
|
|
|
|
PARENT: DIALOG_WINDOW
|
|
|
|
USES: CHECKBOX
|
|
|
|
HISTORY:
|
|
NarenG 24-May-1993 Created
|
|
|
|
**************************************************************************/
|
|
class CONFIGURE_PORT_DIALOG : public DIALOG_WINDOW
|
|
{
|
|
|
|
private:
|
|
|
|
//
|
|
// Checkbox that indicated whether or not to capture this printer
|
|
//
|
|
|
|
CHECKBOX _chkCapture;
|
|
|
|
BOOL * _pfCapture;
|
|
|
|
protected:
|
|
|
|
//
|
|
// Called during help processing to select the appropriate
|
|
// help text for display.
|
|
//
|
|
|
|
virtual ULONG QueryHelpContext( VOID );
|
|
|
|
//
|
|
// Called when user hits OK button
|
|
//
|
|
|
|
virtual BOOL OnOK( VOID );
|
|
|
|
public:
|
|
|
|
//
|
|
// Usual constructor\destructor goodies.
|
|
//
|
|
|
|
CONFIGURE_PORT_DIALOG( HWND hWndOwner, BOOL * pfCapture );
|
|
|
|
}; // class CONFIGURE_PORT_DIALOG
|
|
|
|
|
|
//
|
|
// Forward references
|
|
//
|
|
|
|
class OUTLINE_LISTBOX;
|
|
|
|
/*************************************************************************
|
|
|
|
NAME: OLLB_ENTRY
|
|
|
|
SYNOPSIS: Entry in an outline listbox.
|
|
|
|
PARENT: LBI
|
|
|
|
USES: NLS_STR
|
|
|
|
NOTES:
|
|
OLLB_ENTRY:OUTLINE_LISTBOX :: LBI:BLT_LISTBOX
|
|
|
|
HISTORY:
|
|
NarenG 1-June-1993 Stole from file manager
|
|
|
|
**************************************************************************/
|
|
|
|
class OLLB_ENTRY : public LBI
|
|
{
|
|
friend class OUTLINE_LISTBOX;
|
|
|
|
private:
|
|
|
|
SFM_OUTLINE_LB_LEVEL _ollbl;
|
|
BOOL _fExpanded;
|
|
NLS_STR _nlsZone;
|
|
NLS_STR _nlsPrinter;
|
|
WSH_ATALK_ADDRESS _wshAtalkAddress;
|
|
|
|
//
|
|
// called only by OUTLINE_LISTBOXBOX
|
|
//
|
|
|
|
VOID SetExpanded( BOOL f = TRUE )
|
|
{ _fExpanded = f; }
|
|
|
|
public:
|
|
|
|
OLLB_ENTRY( SFM_OUTLINE_LB_LEVEL ollbl,
|
|
BOOL fExpanded,
|
|
const TCHAR * pszZone,
|
|
const TCHAR * pszPrinter,
|
|
const PWSH_ATALK_ADDRESS pwshAtalkAddress );
|
|
|
|
virtual ~OLLB_ENTRY();
|
|
|
|
INT QueryLevel() const
|
|
{ return (INT) _ollbl; }
|
|
|
|
//
|
|
// Query the type of this LBI, currently returns an SFM_OUTLINE_LB_LEVEL
|
|
//
|
|
|
|
SFM_OUTLINE_LB_LEVEL QueryType() const
|
|
{ return _ollbl; }
|
|
|
|
BOOL IsExpanded() const
|
|
{ return _fExpanded; }
|
|
|
|
const TCHAR * QueryZone( VOID ) const
|
|
{ return _nlsZone.QueryPch(); }
|
|
|
|
const TCHAR * QueryPrinter( VOID ) const
|
|
{ return _nlsPrinter.QueryPch(); }
|
|
|
|
const PWSH_ATALK_ADDRESS QueryAddress( VOID )
|
|
{ return &_wshAtalkAddress; }
|
|
|
|
virtual VOID Paint( LISTBOX * plb, HDC hdc, const RECT * prect,
|
|
GUILTT_INFO * pGUILTT ) const;
|
|
|
|
virtual INT Compare( const LBI * plbi ) const;
|
|
virtual WCHAR QueryLeadingChar() const;
|
|
};
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
NAME: OUTLINE_LISTBOX
|
|
|
|
SYNOPSIS: Listbox with outline-manipulation support
|
|
|
|
PARENT: BLT_LISTBOX
|
|
|
|
USES: DMID_DTE, DM_DTE
|
|
|
|
HISTORY:
|
|
NarenG 1-June-1993 Stole from file manager
|
|
|
|
**************************************************************************/
|
|
|
|
class OUTLINE_LISTBOX : public BLT_LISTBOX
|
|
{
|
|
private:
|
|
|
|
SOCKET _hSocket;
|
|
DMID_DTE * _pdmiddteZone;
|
|
DMID_DTE * _pdmiddteZoneExpanded;
|
|
DMID_DTE * _pdmiddtePrinter;
|
|
|
|
INT _nS;
|
|
|
|
INT AddZone( const TCHAR * pszZone,
|
|
BOOL fExpanded = FALSE );
|
|
|
|
INT AddPrinter( const TCHAR * pszZone,
|
|
const TCHAR * pszPrinter,
|
|
const PWSH_ATALK_ADDRESS pwshAtalkAddress );
|
|
|
|
INT FindItem( const TCHAR * pszZone,
|
|
const TCHAR * pszPrinter = NULL ) const;
|
|
|
|
protected:
|
|
|
|
INT AddItem( SFM_OUTLINE_LB_LEVEL ollbl,
|
|
BOOL fExpanded,
|
|
const TCHAR * pszZone,
|
|
const TCHAR * pszPrinter,
|
|
const PWSH_ATALK_ADDRESS pwshAtalkAddress );
|
|
|
|
INT CD_Char( WCHAR wch, USHORT nLastPos );
|
|
|
|
public:
|
|
|
|
OUTLINE_LISTBOX( OWNER_WINDOW * powin, CID cid, SOCKET hSocket );
|
|
|
|
~OUTLINE_LISTBOX();
|
|
|
|
DECLARE_LB_QUERY_ITEM( OLLB_ENTRY );
|
|
|
|
|
|
APIERR FillZones( VOID );
|
|
|
|
APIERR FillPrinters( const TCHAR * pszZone,
|
|
UINT * pcServersAdded );
|
|
|
|
|
|
VOID SetZoneExpanded( INT i, BOOL f = TRUE );
|
|
|
|
BOOL IsS()
|
|
{ return ( _nS < 0 ); }
|
|
|
|
APIERR ExpandZone( INT iZone );
|
|
APIERR ExpandZone()
|
|
{ return ExpandZone(QueryCurrentItem()); }
|
|
|
|
APIERR CollapseZone( INT iZone );
|
|
APIERR CollapseZone()
|
|
{ return CollapseZone(QueryCurrentItem()); }
|
|
|
|
//
|
|
// The following method provides the listbox items with access to the
|
|
// different display maps.
|
|
//
|
|
|
|
DM_DTE * QueryDmDte( SFM_OUTLINE_LB_LEVEL ollbl, BOOL fExpanded ) const;
|
|
};
|
|
|
|
/*************************************************************************
|
|
|
|
NAME: ADD_PORT_DIALOG
|
|
|
|
SYNOPSIS: The class represents the add port dialog
|
|
of the Print Manager.
|
|
|
|
INTERFACE: ADD_PORT_DIALOG - Class constructor.
|
|
|
|
~ADD_PORT_DIALOG - Class destructor.
|
|
|
|
QueryHelpContext - Called when the user presses "F1"
|
|
or the "Help" button. Used for
|
|
selecting the appropriate help
|
|
text for display.
|
|
|
|
OnOk - Called when user hits OK button.
|
|
|
|
PARENT: DIALOG_WINDOW
|
|
|
|
USES: CHECKBOX
|
|
|
|
HISTORY:
|
|
NarenG 24-May-1993 Created
|
|
|
|
**************************************************************************/
|
|
class ADD_PORT_DIALOG : public DIALOG_WINDOW
|
|
{
|
|
|
|
private:
|
|
|
|
PUSH_BUTTON _pbOK;
|
|
|
|
PATALKPORT _pNewPort;
|
|
|
|
OUTLINE_LISTBOX _ollb;
|
|
|
|
protected:
|
|
|
|
//
|
|
// Called during help processing to select the appropriate
|
|
// help text for display.
|
|
//
|
|
|
|
virtual ULONG QueryHelpContext( VOID );
|
|
|
|
//
|
|
// Called when user hits OK button
|
|
//
|
|
|
|
virtual BOOL OnOK( VOID );
|
|
|
|
//
|
|
// Called whenever a WM_COMMAND message is send to the dialog procedure.
|
|
//
|
|
|
|
virtual BOOL OnCommand( const CONTROL_EVENT & event );
|
|
|
|
public:
|
|
|
|
//
|
|
// Usual constructor\destructor goodies.
|
|
//
|
|
|
|
ADD_PORT_DIALOG( HWND hWndOwner, PATALKPORT pAtalkPort );
|
|
|
|
~ADD_PORT_DIALOG( VOID );
|
|
|
|
}; // class ADD_PORT_DIALOG
|
|
|
|
|
|
#endif // _DIALOGS_HXX
|