/**********************************************************************/ /** 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