xref: /trunk/main/padmin/source/cmddlg.hxx (revision 23e9c6ca)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _PAD_COMMANDDLG_HXX_
25 #define _PAD_COMMANDDLG_HXX_
26 
27 #include <vcl/dialog.hxx>
28 #include <tools/config.hxx>
29 #ifndef _SV_BUTTON_HXX
30 #include <vcl/button.hxx>
31 #endif
32 #include <vcl/fixed.hxx>
33 #include <vcl/group.hxx>
34 #include <vcl/combobox.hxx>
35 #include <vcl/lstbox.hxx>
36 #include <vcl/field.hxx>
37 #include <vcl/tabpage.hxx>
38 
39 #include <list>
40 
41 namespace padmin {
42 
43 class RTSDialog;
44 
45 class CommandStore
46 {
47 	static void getStoredCommands( const char* pGroup, ::std::list< String >& rCommands );
48 	static void getSystemPrintCommands( ::std::list< String >& rCommands );
49 	static void getSystemPdfCommands( ::std::list< String >& rCommands );
50 	static void setCommands( const char* pGroup, const ::std::list< String >& rCommands, const ::std::list< String >& rSysCommands );
51 
52 public:
53 	static void getPrintCommands( ::std::list< String >& rCommands );
54 	static void getFaxCommands( ::std::list< String >& rCommands );
55 	static void getPdfCommands( ::std::list< String >& rCommands );
56 
57 	static void setPrintCommands( const ::std::list< String >& rCommands );
58 	static void setFaxCommands( const ::std::list< String >& rCommands );
59 	static void setPdfCommands( const ::std::list< String >& rCommands );
60 };
61 
62 class RTSCommandPage : public TabPage
63 {
64 private:
65 	RTSDialog*						m_pParent;
66 
67 	ComboBox     					m_aCommandsCB;
68     CheckBox                        m_aExternalCB;
69     FixedText                       m_aQuickFT;
70     ComboBox                        m_aQuickCB;
71 	FixedLine     					m_aCommandTitle;
72 	FixedText    					m_aPrinterName;
73 	FixedText    					m_aConnectedTo;
74 	FixedLine     					m_aPrinterFL;
75 
76 	FixedText						m_aConfigureText;
77 	ListBox							m_aConfigureBox;
78 	sal_uInt16							m_nPrinterEntry;
79 	sal_uInt16							m_nFaxEntry;
80 	sal_uInt16							m_nPdfEntry;
81 	FixedText						m_aPdfDirectoryText;
82 	PushButton						m_aPdfDirectoryButton;
83 	Edit							m_aPdfDirectoryEdit;
84 	CheckBox						m_aFaxSwallowBox;
85 
86 	PushButton						m_aHelpButton;
87 	PushButton						m_aRemovePB;
88 
89 	::std::list< String >			m_aPrinterCommands;
90 	::std::list< String >			m_aFaxCommands;
91 	::std::list< String >			m_aPdfCommands;
92 
93 	String							m_aFaxHelp;
94 	String							m_aPrinterHelp;
95 	String							m_aPdfHelp;
96 
97 	bool							m_bWasFax;
98 	bool							m_bWasPdf;
99     bool                            m_bWasExternalDialog;
100 
101 	DECL_LINK( DoubleClickHdl, ComboBox* );
102 	DECL_LINK( ClickBtnHdl, Button* );
103 	DECL_LINK( SelectHdl, Control* );
104 	DECL_LINK( ModifyHdl, Edit* );
105 
106 	void ConnectCommand();
107 	void UpdateCommands();
108 
109 public:
110 	RTSCommandPage( RTSDialog* );
111 	~RTSCommandPage();
112 
113 	void save();
114 };
115 
116 } // namespace
117 
118 #endif
119