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 #include <tools/geninfo.hxx>
25 //#include "depapp.hxx"
26 #include <soldep/soldep.hxx>
27 #include <soldep/soldlg.hxx>
28 #include <soldep/soldlg.hrc>
29
30 #ifndef SOLARIS
31 #define SIZE( nX, nY) \
32 LogicToLogic(Size(nX,nY),&MapMode(MAP_APPFONT),&GetMapMode())
33 #define POS(nX, nY) \
34 LogicToLogic(Point(nX,nY),&MapMode(MAP_APPFONT),&GetMapMode())
35 #else
36 #define SIZE( nX, nY) \
37 LogicToLogic(Size(nX,nY),MapMode(MAP_APPFONT),GetMapMode())
38 #define POS(nX, nY) \
39 LogicToLogic(Point(nX,nY),MapMode(MAP_APPFONT),GetMapMode())
40 #endif
41
42
43 //
44 // class SolNewProjectDlg
45 //
46
47 /*****************************************************************************/
SolNewProjectDlg(Window * pParent,const ResId & rResId)48 SolNewProjectDlg::SolNewProjectDlg( Window* pParent, const ResId& rResId )
49 /*****************************************************************************/
50 : ModalDialog( pParent, rResId ),
51 maOkButton( this, DtSodResId( BTN_OK )),
52 maCancelButton( this, DtSodResId( BTN_CANCEL )),
53 maFTName( this, DtSodResId( FT_PRJNAME )),
54 maEName( this, DtSodResId( EDIT_PRJNAME )),
55 maFTShort( this, DtSodResId( FT_PRJSHORT )),
56 maEShort( this, DtSodResId( EDIT_PRJSHORT )),
57 maFTDeps( this, DtSodResId( FT_PRJDEPS )),
58 maEDeps( this, DtSodResId( EDIT_PRJDEPS ))
59 {
60 FreeResource();
61 maOkButton.SetClickHdl( LINK( this, SolNewProjectDlg, OkHdl ));
62 maCancelButton.SetClickHdl( LINK( this, SolNewProjectDlg, CancelHdl ));
63 }
64
65 /*****************************************************************************/
IMPL_LINK(SolNewProjectDlg,OkHdl,Button *,pOkBtn)66 IMPL_LINK( SolNewProjectDlg, OkHdl, Button*, pOkBtn )
67 /*****************************************************************************/
68 {
69 EndDialog( 1 );
70 return 0;
71 }
72
73 /*****************************************************************************/
IMPL_LINK(SolNewProjectDlg,CancelHdl,Button *,pCancelBtn)74 IMPL_LINK( SolNewProjectDlg, CancelHdl, Button*, pCancelBtn )
75 /*****************************************************************************/
76 {
77 EndDialog( 0 );
78 return 0;
79 }
80
81 //
82 // class SolNewDirectoryDlg
83 //
84
85 /*****************************************************************************/
SolNewDirectoryDlg(Window * pParent,const ResId & rResId)86 SolNewDirectoryDlg::SolNewDirectoryDlg( Window* pParent, const ResId& rResId )
87 /*****************************************************************************/
88 : ModalDialog( pParent, rResId ),
89 maOkButton( this, DtSodResId( BTN_OK )),
90 maCancelButton( this, DtSodResId( BTN_CANCEL )),
91 maFTName( this, DtSodResId( FT_DIRNAME )),
92 maEName( this, DtSodResId( EDIT_DIRNAME )),
93 maFTFlag( this, DtSodResId( FT_DIRFLAG )),
94 maEFlag( this, DtSodResId( EDIT_DIRFLAG )),
95 maFTDeps( this, DtSodResId( FT_DIRDEPS )),
96 maEDeps( this, DtSodResId( EDIT_DIRDEPS )),
97 maFTAction( this, DtSodResId( FT_DIRACTION )),
98 maEAction( this, DtSodResId( EDIT_DIRACTION )),
99 maFTEnv( this, DtSodResId( FT_DIRENV )),
100 maEEnv( this, DtSodResId( EDIT_DIRENV ))
101 {
102 FreeResource();
103 maOkButton.SetClickHdl( LINK( this, SolNewDirectoryDlg, OkHdl ));
104 maCancelButton.SetClickHdl( LINK( this, SolNewDirectoryDlg, CancelHdl ));
105 }
106
107 /*****************************************************************************/
IMPL_LINK(SolNewDirectoryDlg,OkHdl,Button *,pOkBtn)108 IMPL_LINK( SolNewDirectoryDlg, OkHdl, Button*, pOkBtn )
109 /*****************************************************************************/
110 {
111 EndDialog( 1 );
112 return 0;
113 }
114
115 /*****************************************************************************/
IMPL_LINK(SolNewDirectoryDlg,CancelHdl,Button *,pCancelBtn)116 IMPL_LINK( SolNewDirectoryDlg, CancelHdl, Button*, pCancelBtn )
117 /*****************************************************************************/
118 {
119 EndDialog( 0 );
120 return 0;
121 }
122
123 //
124 // class SolHelpDlg
125 //
126
127 /*****************************************************************************/
SolHelpDlg(Window * pParent,const ResId & rResId)128 SolHelpDlg::SolHelpDlg( Window* pParent, const ResId& rResId )
129 /*****************************************************************************/
130 : ModalDialog( pParent, rResId ),
131 maOkButton( this, DtSodResId( BTN_OK )),
132 maMLEHelp( this, DtSodResId( EDIT_HELP ))
133 {
134 FreeResource();
135 maOkButton.SetClickHdl( LINK( this, SolHelpDlg, OkHdl ));
136 }
137
138 /*****************************************************************************/
IMPL_LINK(SolHelpDlg,OkHdl,Button *,pOkBtn)139 IMPL_LINK( SolHelpDlg, OkHdl, Button*, pOkBtn )
140 /*****************************************************************************/
141 {
142 EndDialog( 1 );
143 return 0;
144 }
145
146 //
147 // class SolSelectVersionDlg
148 //
149
150 /*****************************************************************************/
SolSelectVersionDlg(Window * pParent,GenericInformationList * pStandLst)151 SolSelectVersionDlg::SolSelectVersionDlg(
152 Window *pParent, GenericInformationList *pStandLst )
153 /*****************************************************************************/
154 : ModalDialog( pParent, DtSodResId( DLG_VERSIONSELECT )),
155 maVersionListBox( this, DtSodResId( DLG_VERSIONSELECT_LISTBOX )),
156 maVersionGroupBox( this, DtSodResId( DLG_VERSIONSELECT_GROUP )),
157 maMinorEditBox( this, DtSodResId( DLG_MINORSELECT_EDIT )),
158 maMinorGroupBox( this, DtSodResId( DLG_MINORSELECT_GROUP )),
159 maOKButton( this, DtSodResId( DLG_VERSIONSELECT_OK )),
160 maCancelButton( this, DtSodResId( DLG_VERSIONSELECT_CANCEL ))
161 {
162 FreeResource();
163 //Fill the ListBox with MWS versions (e.g. SRC680) from "stand.lst"
164 for ( sal_uIntPtr i = 0; i < pStandLst->Count(); i++ ) {
165 String sVersion( *pStandLst->GetObject( i ), RTL_TEXTENCODING_ASCII_US );
166 maVersionListBox.InsertEntry( sVersion );
167 }
168
169 if ( pStandLst->Count())
170 maVersionListBox.SelectEntryPos( 0 );
171
172 maVersionListBox.SetDoubleClickHdl(
173 LINK( this, SolSelectVersionDlg, DoubleClickHdl ));
174
175 }
176
177 /*****************************************************************************/
GetVersionMajor()178 ByteString SolSelectVersionDlg::GetVersionMajor()
179 /*****************************************************************************/
180 {
181 //Returns the selected version
182 return ByteString(maVersionListBox.GetSelectEntry(), RTL_TEXTENCODING_ASCII_US );
183 }
184
185 /*****************************************************************************/
GetVersionMinor()186 ByteString SolSelectVersionDlg::GetVersionMinor()
187 /*****************************************************************************/
188 {
189 //Returns the minor
190 ByteString minor = ByteString(maMinorEditBox.GetText(), RTL_TEXTENCODING_ASCII_US );
191 //check for correctness (format: "m1234")
192 //"m123s8" is unsupported because 'steps' aren't used anymore
193 minor.EraseLeadingAndTrailingChars();
194 int check = minor.SearchChar("m");
195 if (check == 0)
196 {
197 ByteString check2 = minor.Copy(1,(minor.Len()-1));
198 if (check2.IsNumericAscii()) return minor;
199 }
200 return ByteString("");
201 }
202
203 /*****************************************************************************/
IMPL_LINK(SolSelectVersionDlg,DoubleClickHdl,ListBox *,pBox)204 IMPL_LINK( SolSelectVersionDlg, DoubleClickHdl, ListBox *, pBox )
205 /*****************************************************************************/
206 {
207 EndDialog( RET_OK );
208 return 0;
209 }
210
211 //
212 // class SolAutoarrangeDlg
213 //
214
215 /*****************************************************************************/
SolAutoarrangeDlg(Window * pParent)216 SolAutoarrangeDlg::SolAutoarrangeDlg( Window *pParent )
217 /*****************************************************************************/
218 : ModelessDialog( pParent, DtSodResId( DLG_AUTOARRANGE )),
219 maGroupBox( this, DtSodResId( DLG_AUTOARRANGE_GROUP )),
220 maModuleText( this, DtSodResId( DLG_AUTOARRANGE_TEXT_MODULE )),
221 maOverallText( this, DtSodResId( DLG_AUTOARRANGE_TEXT_OVERALL )),
222 maModuleBar( this ),
223 maOverallBar( this )
224 {
225 FreeResource();
226 /* Mac Porting..... taking address of temporary (warning)
227 maModuleBar.SetPosPixel( POS( 8, 28 ));
228 maOverallBar.SetPosPixel( POS( 8, 60 ));
229 maModuleBar.SetSizePixel( SIZE( 208,12 ));
230 maOverallBar.SetSizePixel( SIZE( 208,12 ));
231 */
232 maModuleBar.Show();
233 maOverallBar.Show();
234
235 maModuleText.Show();
236 maOverallText.Show();
237 }
238
239 /**********************************************************************************/
240
SolFindProjectDlg(Window * pParent,ObjWinList * pObjList)241 SolFindProjectDlg::SolFindProjectDlg( Window *pParent, ObjWinList* pObjList )
242 : ModalDialog( pParent, DtSodResId( DLG_FIND_PROJECT )),
243 maCombobox( this, DtSodResId( DLG_FIND_PROJECT_COMBOBOX )),
244 maOKButton( this, DtSodResId( DLG_FIND_PROJECT_OK )),
245 maCancelButton( this, DtSodResId( DLG_FIND_PROJECT_CANCEL ))
246 {
247 FreeResource();
248 maCombobox.SetDropDownLineCount(15);
249 // SolDep* pSolDep = ((MyApp*)GetpApp())->GetSolDep();
250 // ObjWinList* pObjList = pSolDep->GetObjectList();
251 sal_uIntPtr n = pObjList->Count();
252 //Fill combobox
253 for (sal_uIntPtr i=0; i<n; i++) {
254 ByteString prjname = pObjList->GetObject( i )->GetBodyText();
255 if (prjname != ByteString("null")) //null_project
256 maCombobox.InsertEntry( String(prjname,RTL_TEXTENCODING_UTF8) );
257 }
258 }
259
GetProject()260 ByteString SolFindProjectDlg::GetProject()
261 {
262 return ByteString(maCombobox.GetText(),RTL_TEXTENCODING_UTF8);
263 }
264