xref: /AOO41X/main/padmin/source/cmddlg.hxx (revision 23e9c6ca8a88572e85d00ef2448f2333808607a0) !
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