diff options
Diffstat (limited to 'include/svtools/prnsetup.hxx')
-rw-r--r-- | include/svtools/prnsetup.hxx | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/include/svtools/prnsetup.hxx b/include/svtools/prnsetup.hxx new file mode 100644 index 000000000000..9999fdb8846b --- /dev/null +++ b/include/svtools/prnsetup.hxx @@ -0,0 +1,93 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _SV_PRNSETUP_HXX_ +#define _SV_PRNSETUP_HXX_ + +#include "svtools/svtdllapi.h" + +#include <vcl/dialog.hxx> +#include <vcl/fixed.hxx> +#include <vcl/button.hxx> +#include <vcl/group.hxx> +#include <vcl/lstbox.hxx> +#include <vcl/timer.hxx> +#include <svtools/stdctrl.hxx> + +class Printer; +class QueueInfo; + +// ---------------------- +// - PrinterSetupDialog - +// ---------------------- + +class SVT_DLLPUBLIC PrinterSetupDialog : public ModalDialog +{ +private: + ListBox* m_pLbName; + PushButton* m_pBtnProperties; + PushButton* m_pBtnOptions; + FixedText* m_pFiStatus; + FixedText* m_pFiType; + FixedText* m_pFiLocation; + FixedText* m_pFiComment; + AutoTimer maStatusTimer; + Printer* mpPrinter; + Printer* mpTempPrinter; + + SVT_DLLPRIVATE void ImplSetInfo(); + + DECL_DLLPRIVATE_LINK( ImplPropertiesHdl, void* ); + DECL_DLLPRIVATE_LINK( ImplOptionsHdl, void* ); + DECL_DLLPRIVATE_LINK( ImplChangePrinterHdl, void* ); + DECL_DLLPRIVATE_LINK( ImplStatusHdl, void* ); + +public: + PrinterSetupDialog( Window* pWindow ); + ~PrinterSetupDialog(); + + void SetPrinter( Printer* pNewPrinter ) { mpPrinter = pNewPrinter; } + Printer* GetPrinter() const { return mpPrinter; } + + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + virtual long Notify( NotifyEvent& rNEvt ); + + virtual short Execute(); + + void SetOptionsHdl( const Link& rLink ); +}; + +// -------------------------------------- +// - Hilfsfunktionen fuer Print-Dialoge - +// -------------------------------------- + +#define IMPL_PRINTDLG_STATUS_UPDATE 15000 + +void ImplFillPrnDlgListBox( const Printer* pPrinter, + ListBox* pBox, PushButton* pPropBtn ); +void ImplFreePrnDlgListBox( ListBox* pBox, sal_Bool bClear = sal_True ); +Printer* ImplPrnDlgListBoxSelect( ListBox* pBox, PushButton* pPropBtn, + Printer* pPrinter, Printer* pTempPrinter ); +Printer* ImplPrnDlgUpdatePrinter( Printer* pPrinter, Printer* pTempPrinter ); +void ImplPrnDlgUpdateQueueInfo( ListBox* pBox, QueueInfo& rInfo ); +XubString ImplPrnDlgGetStatusText( const QueueInfo& rInfo ); + +#endif // _SV_PRNSETUP_HXX_ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |