| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef _PAD_PRTSETUP_HXX_ |
| #define _PAD_PRTSETUP_HXX_ |
| |
| #include "helper.hxx" |
| |
| #include "tools/link.hxx" |
| |
| #include "vcl/tabdlg.hxx" |
| #include "vcl/tabpage.hxx" |
| #include "vcl/tabctrl.hxx" |
| #include "vcl/button.hxx" |
| #include "vcl/fixed.hxx" |
| #include "vcl/lstbox.hxx" |
| #include "vcl/field.hxx" |
| #include "vcl/combobox.hxx" |
| #include "vcl/ppdparser.hxx" |
| #include "vcl/printerinfomanager.hxx" |
| |
| namespace padmin { |
| |
| class RTSPaperPage; |
| class RTSDevicePage; |
| class RTSOtherPage; |
| class RTSFontSubstPage; |
| class RTSCommandPage; |
| |
| class RTSDialog : public TabDialog |
| { |
| friend class RTSPaperPage; |
| friend class RTSDevicePage; |
| friend class RTSOtherPage; |
| friend class RTSFontSubstPage; |
| friend class RTSCommandPage; |
| |
| ::psp::PrinterInfo m_aJobData; |
| String m_aPrinter; |
| |
| // controls |
| TabControl m_aTabControl; |
| OKButton m_aOKButton; |
| CancelButton m_aCancelButton; |
| |
| // pages |
| RTSPaperPage* m_pPaperPage; |
| RTSDevicePage* m_pDevicePage; |
| RTSOtherPage* m_pOtherPage; |
| RTSFontSubstPage* m_pFontSubstPage; |
| RTSCommandPage* m_pCommandPage; |
| |
| // some resources |
| String m_aInvalidString; |
| String m_aFromDriverString; |
| |
| DECL_LINK( ActivatePage, TabControl* ); |
| DECL_LINK( ClickButton, Button* ); |
| |
| // helper functions |
| void insertAllPPDValues( ListBox&, const psp::PPDParser*, const psp::PPDKey* ); |
| public: |
| RTSDialog( const ::psp::PrinterInfo& rJobData, const String& rPrinter, bool bAllPages, Window* pParent = NULL ); |
| ~RTSDialog(); |
| |
| const ::psp::PrinterInfo& getSetup() const { return m_aJobData; } |
| }; |
| |
| class RTSPaperPage : public TabPage |
| { |
| RTSDialog* m_pParent; |
| |
| FixedText m_aPaperText; |
| ListBox m_aPaperBox; |
| |
| FixedText m_aOrientText; |
| ListBox m_aOrientBox; |
| |
| FixedText m_aDuplexText; |
| ListBox m_aDuplexBox; |
| |
| FixedText m_aSlotText; |
| ListBox m_aSlotBox; |
| |
| DECL_LINK( SelectHdl, ListBox* ); |
| public: |
| RTSPaperPage( RTSDialog* ); |
| ~RTSPaperPage(); |
| |
| void update(); |
| |
| String getOrientation() { return m_aOrientBox.GetSelectEntry(); } |
| }; |
| |
| class RTSDevicePage : public TabPage |
| { |
| RTSDialog* m_pParent; |
| |
| String m_aSpaceColor; |
| String m_aSpaceGray; |
| |
| FixedText m_aPPDKeyText; |
| ListBox m_aPPDKeyBox; |
| |
| FixedText m_aPPDValueText; |
| ListBox m_aPPDValueBox; |
| |
| FixedText m_aLevelText; |
| ListBox m_aLevelBox; |
| |
| FixedText m_aSpaceText; |
| ListBox m_aSpaceBox; |
| |
| FixedText m_aDepthText; |
| ListBox m_aDepthBox; |
| |
| void FillValueBox( const ::psp::PPDKey* ); |
| |
| DECL_LINK( SelectHdl, ListBox* ); |
| public: |
| RTSDevicePage( RTSDialog* ); |
| ~RTSDevicePage(); |
| |
| void update(); |
| |
| sal_uLong getLevel(); |
| sal_uLong getPDFDevice(); |
| sal_uLong getDepth() { return m_aDepthBox.GetSelectEntry().ToInt32(); } |
| sal_uLong getColorDevice() |
| { |
| String aSpace( m_aSpaceBox.GetSelectEntry() ); |
| return aSpace == m_aSpaceColor ? 1 : ( aSpace == m_aSpaceGray ? -1 : 0 ); |
| } |
| }; |
| |
| class RTSOtherPage : public TabPage |
| { |
| RTSDialog* m_pParent; |
| |
| FixedText m_aLeftTxt; |
| MetricField m_aLeftLB; |
| FixedText m_aTopTxt; |
| MetricField m_aTopLB; |
| FixedText m_aRightTxt; |
| MetricField m_aRightLB; |
| FixedText m_aBottomTxt; |
| MetricField m_aBottomLB; |
| FixedText m_aCommentTxt; |
| Edit m_aCommentEdt; |
| PushButton m_aDefaultBtn; |
| |
| void initValues(); |
| |
| DECL_LINK( ClickBtnHdl, Button *); |
| |
| public: |
| RTSOtherPage( RTSDialog* ); |
| ~RTSOtherPage(); |
| |
| void save(); |
| }; |
| |
| class RTSFontSubstPage : public TabPage |
| { |
| RTSDialog* m_pParent; |
| |
| FixedText m_aSubstitutionsText; |
| DelMultiListBox m_aSubstitutionsBox; |
| FixedText m_aFromFontText; |
| ComboBox m_aFromFontBox; |
| FixedText m_aToFontText; |
| ListBox m_aToFontBox; |
| |
| PushButton m_aAddButton; |
| PushButton m_aRemoveButton; |
| CheckBox m_aEnableBox; |
| |
| DECL_LINK( ClickBtnHdl, Button* ); |
| DECL_LINK( SelectHdl, ListBox* ); |
| DECL_LINK( DelPressedHdl, ListBox* ); |
| |
| void update(); |
| public: |
| RTSFontSubstPage( RTSDialog* ); |
| ~RTSFontSubstPage(); |
| }; |
| |
| } // namespace |
| |
| #endif // _PAD_PRTSETUP_HXX |