xref: /AOO41X/main/sc/source/ui/inc/instbdlg.hxx (revision 38d50f7b14e1cf975d8c6468d9633894cd59b523)
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 SC_INSTBDLG_HXX
25 #define SC_INSTBDLG_HXX
26 
27 #include "address.hxx"
28 
29 #ifndef _BUTTON_HXX //autogen
30 #include <vcl/button.hxx>
31 #endif
32 #ifndef _GROUP_HXX //autogen
33 #include <vcl/group.hxx>
34 #endif
35 #ifndef _LSTBOX_HXX //autogen
36 #include <vcl/lstbox.hxx>
37 #endif
38 #ifndef _EDIT_HXX //autogen
39 #include <vcl/edit.hxx>
40 #endif
41 #ifndef _FIXED_HXX //autogen
42 #include <vcl/fixed.hxx>
43 #endif
44 #ifndef _DIALOG_HXX //autogen
45 #include <vcl/dialog.hxx>
46 #endif
47 
48 #include <sfx2/objsh.hxx>
49 #include <vcl/field.hxx>
50 #include "expftext.hxx"
51 
52 #include <layout/layout.hxx>
53 #include <layout/layout-pre.hxx>
54 
55 class ScViewData;
56 class ScDocument;
57 class ScDocShell;
58 
59 namespace sfx2 { class DocumentInserter; }
60 namespace sfx2 { class FileDialogHelper; }
61 
62 //------------------------------------------------------------------------
63 
64 class ScInsertTableDlg : public ModalDialog
65 {
66 public:
67             ScInsertTableDlg( Window* pParent, ScViewData& rViewData, SCTAB nTabCount, bool bFromFile );
68             ~ScInsertTableDlg();
69 
70     virtual short   Execute();      // ueberladen, um Dialog-Parent zu setzen
71 
GetTablesFromFile()72     sal_Bool            GetTablesFromFile() { return aBtnFromFile.IsChecked(); }
GetTablesAsLink()73     sal_Bool            GetTablesAsLink()   { return aBtnLink.IsChecked(); }
74 
75     const String*   GetFirstTable( sal_uInt16* pN = NULL );
76     const String*   GetNextTable( sal_uInt16* pN = NULL );
GetDocShellTables()77     ScDocShell*     GetDocShellTables() { return pDocShTables; }
IsTableBefore()78     sal_Bool            IsTableBefore() { return aBtnBefore.IsChecked(); }
GetTableCount()79     SCTAB           GetTableCount() { return nTableCount;}
80 
81 private:
82     FixedLine               aFlPos;
83     RadioButton             aBtnBefore;
84     RadioButton             aBtnBehind;
85     FixedLine               aFlTable;
86     RadioButton             aBtnNew;
87     RadioButton             aBtnFromFile;
88     FixedText               aFtCount;
89     NumericField            aNfCount;
90     FixedText               aFtName;
91     Edit                    aEdName;
92     MultiListBox            aLbTables;
93     ScExpandedFixedText     aFtPath;
94     PushButton              aBtnBrowse;
95     CheckBox                aBtnLink;
96     OKButton                aBtnOk;
97     CancelButton            aBtnCancel;
98     HelpButton              aBtnHelp;
99 
100     Timer                   aBrowseTimer;
101     ScViewData&             rViewData;
102     ScDocument&             rDoc;
103     ScDocShell*             pDocShTables;
104     sfx2::DocumentInserter* pDocInserter;
105     SfxObjectShellRef       aDocShTablesRef;
106 
107     bool                bMustClose;
108     sal_uInt16              nSelTabIndex;   // fuer GetFirstTable() / GetNextTable()
109     String              aStrCurSelTable;
110     SCTAB               nTableCount;
111 
112 #ifdef SC_INSTBDLG_CXX
113     void    Init_Impl( bool bFromFile );
114     void    SetNewTable_Impl();
115     void    SetFromTo_Impl();
116     void    FillTables_Impl( ScDocument* pSrcDoc );
117     void    DoEnable_Impl();
118 
119     DECL_LINK( BrowseHdl_Impl, PushButton* );
120     DECL_LINK( ChoiceHdl_Impl, RadioButton* );
121     DECL_LINK( SelectHdl_Impl, MultiListBox* );
122     DECL_LINK( CountHdl_Impl, NumericField* );
123     DECL_LINK( DoEnterHdl, PushButton* );
124     DECL_LINK( BrowseTimeoutHdl, Timer* );
125     DECL_LINK( DialogClosedHdl, sfx2::FileDialogHelper* );
126 #endif
127 };
128 
129 #include <layout/layout-post.hxx>
130 
131 #endif // SC_INSTBDLG_HXX
132 
133