Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*
3 : : * This file is part of the LibreOffice project.
4 : : *
5 : : * This Source Code Form is subject to the terms of the Mozilla Public
6 : : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : : *
9 : : * This file incorporates work covered by the following license notice:
10 : : *
11 : : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : : * contributor license agreements. See the NOTICE file distributed
13 : : * with this work for additional information regarding copyright
14 : : * ownership. The ASF licenses this file to you under the Apache
15 : : * License, Version 2.0 (the "License"); you may not use this file
16 : : * except in compliance with the License. You may obtain a copy of
17 : : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : : */
19 : :
20 : : #include "WNameMatch.hxx"
21 : : #include <osl/diagnose.h>
22 : : #include "FieldDescriptions.hxx"
23 : : #include "WCopyTable.hxx"
24 : : #include "dbaccess_helpid.hrc"
25 : : #include "dbu_misc.hrc"
26 : : #include "WizardPages.hrc"
27 : : #include <vcl/scrbar.hxx>
28 : : #include <com/sun/star/sdbc/DataType.hpp>
29 : :
30 : : using namespace ::dbaui;
31 : : //========================================================================
32 : : // OWizColumnSelect
33 : : DBG_NAME(OWizNameMatching)
34 : : //========================================================================
35 : 0 : OWizNameMatching::OWizNameMatching( Window* pParent)
36 : : :OWizardPage( pParent, ModuleRes( TAB_WIZ_NAME_MATCHING ) )
37 : : ,m_FT_TABLE_LEFT( this, ModuleRes( FT_TABLE_LEFT ) )
38 : : ,m_FT_TABLE_RIGHT( this, ModuleRes( FT_TABLE_RIGHT ) )
39 : : ,m_CTRL_LEFT( this, ModuleRes( CTRL_LEFT ) )
40 : : ,m_CTRL_RIGHT( this, ModuleRes( CTRL_RIGHT ) )
41 : : ,m_ibColumn_up( this, ModuleRes( IB_COLUMN_UP ) )
42 : : ,m_ibColumn_down( this, ModuleRes( IB_COLUMN_DOWN ) )
43 : : ,m_ibColumn_up_right( this, ModuleRes( IB_COLUMN_UP_RIGHT ) )
44 : : ,m_ibColumn_down_right( this, ModuleRes( IB_COLUMN_DOWN_RIGHT ) )
45 : : ,m_pbAll( this, ModuleRes( PB_ALL ) )
46 [ # # ][ # # ]: 0 : ,m_pbNone( this, ModuleRes( PB_NONE ) )
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
47 : :
48 : : {
49 : : DBG_CTOR(OWizNameMatching,NULL);
50 : :
51 [ # # ]: 0 : m_ibColumn_up.SetClickHdl(LINK(this,OWizNameMatching,ButtonClickHdl));
52 [ # # ]: 0 : m_ibColumn_down.SetClickHdl(LINK(this,OWizNameMatching,ButtonClickHdl));
53 : :
54 [ # # ]: 0 : m_ibColumn_up_right.SetClickHdl(LINK(this,OWizNameMatching,RightButtonClickHdl));
55 [ # # ]: 0 : m_ibColumn_down_right.SetClickHdl(LINK(this,OWizNameMatching,RightButtonClickHdl));
56 : :
57 [ # # ]: 0 : m_pbAll.SetClickHdl(LINK(this,OWizNameMatching,AllNoneClickHdl));
58 [ # # ]: 0 : m_pbNone.SetClickHdl(LINK(this,OWizNameMatching,AllNoneClickHdl));
59 : :
60 [ # # ]: 0 : m_CTRL_LEFT.SetSelectHdl(LINK(this,OWizNameMatching,TableListClickHdl));
61 [ # # ]: 0 : m_CTRL_RIGHT.SetSelectHdl(LINK(this,OWizNameMatching,TableListRightSelectHdl));
62 [ # # ]: 0 : m_CTRL_RIGHT.EnableCheckButton( NULL );
63 : :
64 [ # # ][ # # ]: 0 : m_CTRL_LEFT.SetStyle( m_CTRL_LEFT.GetStyle() | WB_FORCE_MAKEVISIBLE );
65 [ # # ][ # # ]: 0 : m_CTRL_RIGHT.SetStyle( m_CTRL_RIGHT.GetStyle() | WB_FORCE_MAKEVISIBLE );
66 : :
67 [ # # ][ # # ]: 0 : m_sSourceText = m_FT_TABLE_LEFT.GetText();
[ # # ]
68 [ # # ]: 0 : m_sSourceText.AppendAscii("\n");
69 [ # # ][ # # ]: 0 : m_sDestText = m_FT_TABLE_RIGHT.GetText();
[ # # ]
70 [ # # ]: 0 : m_sDestText.AppendAscii("\n");
71 : :
72 [ # # ]: 0 : FreeResource();
73 : 0 : }
74 : : // -----------------------------------------------------------------------
75 [ # # ][ # # ]: 0 : OWizNameMatching::~OWizNameMatching()
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
76 : : {
77 : : DBG_DTOR(OWizNameMatching,NULL);
78 [ # # ]: 0 : }
79 : :
80 : : // -----------------------------------------------------------------------
81 : 0 : void OWizNameMatching::Reset()
82 : : {
83 : : // urspr"unglichen zustand wiederherstellen
84 : : DBG_CHKTHIS(OWizNameMatching,NULL);
85 : : // the left tree contains bitmaps so i need to resize the right one
86 [ # # ]: 0 : if(m_bFirstTime)
87 : : {
88 : 0 : m_CTRL_RIGHT.SetReadOnly(); // sets autoinc to readonly
89 : 0 : m_CTRL_RIGHT.SetEntryHeight(m_CTRL_LEFT.GetEntryHeight());
90 : 0 : m_CTRL_RIGHT.SetIndent(m_CTRL_LEFT.GetIndent());
91 : 0 : m_CTRL_RIGHT.SetSpaceBetweenEntries(m_CTRL_LEFT.GetSpaceBetweenEntries());
92 : :
93 : 0 : m_bFirstTime = sal_False;
94 : : }
95 : :
96 : 0 : }
97 : : // -----------------------------------------------------------------------
98 : 0 : void OWizNameMatching::ActivatePage( )
99 : : {
100 : : DBG_CHKTHIS(OWizNameMatching,NULL);
101 : :
102 : : // set source table name
103 [ # # ]: 0 : String aName = m_sSourceText;
104 [ # # ][ # # ]: 0 : aName += String(m_pParent->m_sSourceName);
[ # # ]
105 : :
106 [ # # ]: 0 : m_FT_TABLE_LEFT.SetText(aName);
107 : :
108 : : // set dest table name
109 [ # # ]: 0 : aName = m_sDestText;
110 [ # # ][ # # ]: 0 : aName += String(m_pParent->m_sName);
[ # # ]
111 [ # # ]: 0 : m_FT_TABLE_RIGHT.SetText(aName);
112 : :
113 : :
114 [ # # ]: 0 : m_CTRL_LEFT.FillListBox(*m_pParent->getSrcVector());
115 [ # # ]: 0 : m_CTRL_RIGHT.FillListBox(*m_pParent->getDestVector());
116 : :
117 [ # # ]: 0 : m_ibColumn_up.Enable( m_CTRL_LEFT.GetEntryCount() > 1 );
118 [ # # ]: 0 : m_ibColumn_down.Enable( m_CTRL_LEFT.GetEntryCount() > 1 );
119 : :
120 [ # # ]: 0 : m_ibColumn_up_right.Enable( m_CTRL_RIGHT.GetEntryCount() > 1 );
121 [ # # ]: 0 : m_ibColumn_down_right.Enable( m_CTRL_RIGHT.GetEntryCount() > 1 );
122 : :
123 : :
124 [ # # ]: 0 : m_pParent->EnableButton(OCopyTableWizard::WIZARD_NEXT,sal_False);
125 [ # # ][ # # ]: 0 : m_CTRL_LEFT.GrabFocus();
126 : 0 : }
127 : : // -----------------------------------------------------------------------
128 : 0 : sal_Bool OWizNameMatching::LeavePage()
129 : : {
130 : : DBG_CHKTHIS(OWizNameMatching,NULL);
131 : :
132 : 0 : const ODatabaseExport::TColumnVector* pSrcColumns = m_pParent->getSrcVector();
133 : :
134 : 0 : m_pParent->m_vColumnPos.clear();
135 : 0 : m_pParent->m_vColumnTypes.clear();
136 [ # # ][ # # ]: 0 : m_pParent->m_vColumnPos.resize( pSrcColumns->size(), ODatabaseExport::TPositions::value_type( COLUMN_POSITION_NOT_FOUND, COLUMN_POSITION_NOT_FOUND ) );
137 [ # # ]: 0 : m_pParent->m_vColumnTypes.resize( pSrcColumns->size(), COLUMN_POSITION_NOT_FOUND );
138 : :
139 : :
140 : 0 : sal_Int32 nParamPos = 0;
141 : 0 : SvLBoxEntry* pLeftEntry = m_CTRL_LEFT.GetModel()->First();
142 : 0 : SvLBoxEntry* pRightEntry = m_CTRL_RIGHT.GetModel()->First();
143 [ # # ][ # # ]: 0 : while(pLeftEntry && pRightEntry)
[ # # ]
144 : : {
145 : 0 : OFieldDescription* pSrcField = static_cast<OFieldDescription*>(pLeftEntry->GetUserData());
146 : : OSL_ENSURE(pSrcField,"OWizNameMatching: OColumn can not be null!");
147 : :
148 : 0 : ODatabaseExport::TColumnVector::const_iterator aSrcIter = pSrcColumns->begin();
149 : 0 : ODatabaseExport::TColumnVector::const_iterator aSrcEnd = pSrcColumns->end();
150 [ # # ][ # # ]: 0 : for(;aSrcIter != aSrcEnd && (*aSrcIter)->second != pSrcField;++aSrcIter)
[ # # ][ # # ]
151 : : ;
152 [ # # ]: 0 : const sal_Int32 nPos = ::std::distance(pSrcColumns->begin(),aSrcIter);
153 : :
154 [ # # ][ # # ]: 0 : if(m_CTRL_LEFT.GetCheckButtonState(pLeftEntry) == SV_BUTTON_CHECKED)
155 : : {
156 : 0 : OFieldDescription* pDestField = static_cast<OFieldDescription*>(pRightEntry->GetUserData());
157 : : OSL_ENSURE(pDestField,"OWizNameMatching: OColumn can not be null!");
158 : 0 : const ODatabaseExport::TColumnVector* pDestColumns = m_pParent->getDestVector();
159 : 0 : ODatabaseExport::TColumnVector::const_iterator aDestIter = pDestColumns->begin();
160 : 0 : ODatabaseExport::TColumnVector::const_iterator aDestEnd = pDestColumns->end();
161 : :
162 [ # # ][ # # ]: 0 : for(;aDestIter != aDestEnd && (*aDestIter)->second != pDestField;++aDestIter)
[ # # ][ # # ]
163 : : ;
164 : :
165 : : OSL_ENSURE((nPos) < static_cast<sal_Int32>(m_pParent->m_vColumnPos.size()),"m_pParent->m_vColumnPos: Illegal index for vector");
166 [ # # ]: 0 : m_pParent->m_vColumnPos[nPos].first = ++nParamPos;
167 [ # # ][ # # ]: 0 : m_pParent->m_vColumnPos[nPos].second = ::std::distance(pDestColumns->begin(),aDestIter) + 1;
168 : 0 : sal_Bool bNotConvert = sal_True;
169 [ # # ][ # # ]: 0 : TOTypeInfoSP pTypeInfo = m_pParent->convertType((*aDestIter)->second->getSpecialTypeInfo(),bNotConvert);
[ # # ]
170 : 0 : sal_Int32 nType = ::com::sun::star::sdbc::DataType::VARCHAR;
171 [ # # ]: 0 : if ( pTypeInfo.get() )
172 : 0 : nType = pTypeInfo->nType;
173 [ # # ][ # # ]: 0 : m_pParent->m_vColumnTypes[nPos] = nType;
174 : : }
175 : : else
176 : : {
177 [ # # ]: 0 : m_pParent->m_vColumnPos[nPos].first = COLUMN_POSITION_NOT_FOUND;
178 [ # # ]: 0 : m_pParent->m_vColumnPos[nPos].second = COLUMN_POSITION_NOT_FOUND;
179 : : }
180 : :
181 [ # # ]: 0 : pLeftEntry = m_CTRL_LEFT.GetModel()->Next(pLeftEntry);
182 [ # # ]: 0 : pRightEntry = m_CTRL_RIGHT.GetModel()->Next(pRightEntry);
183 : : }
184 : :
185 : 0 : return sal_True;
186 : : }
187 : : // -----------------------------------------------------------------------
188 [ # # ]: 0 : String OWizNameMatching::GetTitle() const { return String(ModuleRes(STR_WIZ_NAME_MATCHING_TITEL)); }
189 : : // -----------------------------------------------------------------------
190 : 0 : IMPL_LINK( OWizNameMatching, ButtonClickHdl, Button *, pButton )
191 : : {
192 : 0 : SvLBoxEntry* pEntry = m_CTRL_LEFT.FirstSelected();
193 [ # # ]: 0 : if ( pEntry )
194 : : {
195 : 0 : sal_Int32 nPos = m_CTRL_LEFT.GetModel()->GetAbsPos(pEntry);
196 [ # # ][ # # ]: 0 : if(pButton == &m_ibColumn_up && nPos)
197 : 0 : --nPos;
198 [ # # ]: 0 : else if(pButton == &m_ibColumn_down)
199 : 0 : nPos += 2;
200 : :
201 : 0 : m_CTRL_LEFT.ModelIsMoving(pEntry,NULL,nPos);
202 : 0 : m_CTRL_LEFT.GetModel()->Move(pEntry,NULL,nPos);
203 : 0 : m_CTRL_LEFT.ModelHasMoved(pEntry);
204 : :
205 : 0 : long nThumbPos = m_CTRL_LEFT.GetVScroll()->GetThumbPos();
206 : 0 : long nVisibleSize = m_CTRL_LEFT.GetVScroll()->GetVisibleSize();
207 : :
208 [ # # ][ # # ]: 0 : if(pButton == &m_ibColumn_down && (nThumbPos+nVisibleSize+1) < nPos)
209 : : {
210 : 0 : m_CTRL_LEFT.GetVScroll()->DoScrollAction(SCROLL_LINEDOWN);
211 : : }
212 : :
213 : 0 : TableListClickHdl(&m_CTRL_LEFT);
214 : : }
215 : :
216 : :
217 : 0 : return 0;
218 : : }
219 : : //------------------------------------------------------------------------------
220 : 0 : IMPL_LINK( OWizNameMatching, RightButtonClickHdl, Button *, pButton )
221 : : {
222 : 0 : SvLBoxEntry* pEntry = m_CTRL_RIGHT.FirstSelected();
223 [ # # ]: 0 : if ( pEntry )
224 : : {
225 : 0 : sal_Int32 nPos = m_CTRL_RIGHT.GetModel()->GetAbsPos(pEntry);
226 [ # # ][ # # ]: 0 : if(pButton == &m_ibColumn_up_right && nPos)
227 : 0 : --nPos;
228 [ # # ]: 0 : else if(pButton == &m_ibColumn_down_right)
229 : 0 : nPos += 2;
230 : :
231 : 0 : m_CTRL_RIGHT.ModelIsMoving(pEntry,NULL,nPos);
232 : 0 : m_CTRL_RIGHT.GetModel()->Move(pEntry,NULL,nPos);
233 : 0 : m_CTRL_RIGHT.ModelHasMoved(pEntry);
234 : 0 : long nThumbPos = m_CTRL_RIGHT.GetVScroll()->GetThumbPos();
235 : 0 : long nVisibleSize = m_CTRL_RIGHT.GetVScroll()->GetVisibleSize();
236 : :
237 [ # # ][ # # ]: 0 : if(pButton == &m_ibColumn_down_right && (nThumbPos+nVisibleSize+1) < nPos)
238 : 0 : m_CTRL_RIGHT.GetVScroll()->DoScrollAction(SCROLL_LINEDOWN);
239 : 0 : TableListRightSelectHdl(&m_CTRL_RIGHT);
240 : : }
241 : 0 : return 0;
242 : : }
243 : : //------------------------------------------------------------------------------
244 : 0 : IMPL_LINK( OWizNameMatching, TableListClickHdl, void*, /*NOTINTERESTEDIN*/ )
245 : : {
246 : 0 : SvLBoxEntry* pEntry = m_CTRL_LEFT.FirstSelected();
247 [ # # ]: 0 : if(pEntry)
248 : : {
249 : 0 : sal_uLong nPos = m_CTRL_LEFT.GetModel()->GetAbsPos(pEntry);
250 : 0 : SvLBoxEntry* pOldEntry = m_CTRL_RIGHT.FirstSelected();
251 [ # # ][ # # ]: 0 : if(pOldEntry && nPos != m_CTRL_RIGHT.GetModel()->GetAbsPos(pOldEntry))
[ # # ]
252 : : {
253 [ # # ]: 0 : if(pOldEntry)
254 : 0 : m_CTRL_RIGHT.Select(pOldEntry,sal_False);
255 : 0 : pOldEntry = m_CTRL_RIGHT.GetEntry(nPos);
256 [ # # ]: 0 : if(pOldEntry)
257 : : {
258 : 0 : sal_uLong nNewPos = m_CTRL_LEFT.GetModel()->GetAbsPos(m_CTRL_LEFT.GetFirstEntryInView());
259 [ # # ]: 0 : if ( nNewPos - nPos == 1 )
260 : 0 : --nNewPos;
261 : 0 : m_CTRL_RIGHT.MakeVisible(m_CTRL_RIGHT.GetEntry(nNewPos),sal_True);
262 : 0 : m_CTRL_RIGHT.Select(pOldEntry,sal_True);
263 : : }
264 : : }
265 [ # # ]: 0 : else if(!pOldEntry)
266 : : {
267 : 0 : pOldEntry = m_CTRL_RIGHT.GetEntry(nPos);
268 [ # # ]: 0 : if(pOldEntry)
269 : : {
270 : 0 : m_CTRL_RIGHT.Select(pOldEntry,sal_True);
271 : : }
272 : : }
273 : : }
274 : :
275 : 0 : return 0;
276 : : }
277 : : //------------------------------------------------------------------------------
278 : 0 : IMPL_LINK( OWizNameMatching, TableListRightSelectHdl, void*, /*NOTINTERESTEDIN*/ )
279 : : {
280 : 0 : SvLBoxEntry* pEntry = m_CTRL_RIGHT.FirstSelected();
281 [ # # ]: 0 : if(pEntry)
282 : : {
283 : 0 : sal_uLong nPos = m_CTRL_RIGHT.GetModel()->GetAbsPos(pEntry);
284 : 0 : SvLBoxEntry* pOldEntry = m_CTRL_LEFT.FirstSelected();
285 [ # # ][ # # ]: 0 : if(pOldEntry && nPos != m_CTRL_LEFT.GetModel()->GetAbsPos(pOldEntry))
[ # # ]
286 : : {
287 [ # # ]: 0 : if(pOldEntry)
288 : 0 : m_CTRL_LEFT.Select(pOldEntry,sal_False);
289 : 0 : pOldEntry = m_CTRL_LEFT.GetEntry(nPos);
290 [ # # ]: 0 : if(pOldEntry)
291 : : {
292 : 0 : sal_uLong nNewPos = m_CTRL_RIGHT.GetModel()->GetAbsPos(m_CTRL_RIGHT.GetFirstEntryInView());
293 [ # # ]: 0 : if ( nNewPos - nPos == 1 )
294 : 0 : nNewPos--;
295 : 0 : m_CTRL_LEFT.MakeVisible(m_CTRL_LEFT.GetEntry(nNewPos),sal_True);
296 : 0 : m_CTRL_LEFT.Select(pOldEntry,sal_True);
297 : : }
298 : : }
299 [ # # ]: 0 : else if(!pOldEntry)
300 : : {
301 : 0 : pOldEntry = m_CTRL_LEFT.GetEntry(nPos);
302 [ # # ]: 0 : if(pOldEntry)
303 : : {
304 : 0 : m_CTRL_LEFT.Select(pOldEntry,sal_True);
305 : : }
306 : : }
307 : : }
308 : :
309 : 0 : return 0;
310 : : }
311 : : // -----------------------------------------------------------------------
312 : 0 : IMPL_LINK( OWizNameMatching, AllNoneClickHdl, Button *, pButton )
313 : : {
314 : 0 : sal_Bool bAll = pButton == &m_pbAll;
315 : 0 : SvLBoxEntry* pEntry = m_CTRL_LEFT.First();
316 [ # # ]: 0 : while(pEntry)
317 : : {
318 [ # # ]: 0 : m_CTRL_LEFT.SetCheckButtonState( pEntry, bAll ? SV_BUTTON_CHECKED : SV_BUTTON_UNCHECKED);
319 : 0 : pEntry = m_CTRL_LEFT.Next(pEntry);
320 : : }
321 : :
322 : 0 : return 0;
323 : : }
324 : : // -----------------------------------------------------------------------
325 : : //========================================================================
326 : : // class OColumnString
327 : : //========================================================================
328 [ # # ]: 0 : class OColumnString : public SvLBoxString
329 : : {
330 : : sal_Bool m_bReadOnly;
331 : : public:
332 : 0 : OColumnString( SvLBoxEntry* pEntry, sal_uInt16 nFlags, const String& rStr,sal_Bool _RO)
333 : : :SvLBoxString(pEntry,nFlags,rStr)
334 [ # # ]: 0 : ,m_bReadOnly(_RO)
335 : : {
336 : 0 : }
337 : :
338 : : virtual void Paint(const Point& rPos, SvLBox& rDev, sal_uInt16 nFlags, SvLBoxEntry* pEntry);
339 : : };
340 : : //------------------------------------------------------------------------
341 : 0 : void OColumnString::Paint(const Point& rPos, SvLBox& rDev, sal_uInt16 /*nFlags*/, SvLBoxEntry* /*pEntry*/ )
342 : : {
343 [ # # ]: 0 : if(m_bReadOnly)
344 : : {
345 : 0 : const StyleSettings& rStyleSettings = rDev.GetSettings().GetStyleSettings();
346 : 0 : rDev.SetTextColor( rStyleSettings.GetDisableColor() );
347 : 0 : rDev.SetTextFillColor( rStyleSettings.GetFieldColor() );
348 : : }
349 [ # # ][ # # ]: 0 : rDev.DrawText( rPos, GetText() );
[ # # ]
350 : 0 : }
351 : : //========================================================================
352 : 0 : OColumnTreeBox::OColumnTreeBox( Window* pParent, const ResId& rResId )
353 [ # # ]: 0 : : OMarkableTreeListBox(pParent,NULL,rResId)
354 : : {
355 [ # # ]: 0 : SetDragDropMode( 0 );
356 [ # # ]: 0 : EnableInplaceEditing( sal_False );
357 [ # # ][ # # ]: 0 : SetStyle(GetStyle() | WB_BORDER | WB_HASBUTTONS | WB_HSCROLL);
358 [ # # ]: 0 : SetSelectionMode( SINGLE_SELECTION );
359 : 0 : }
360 : : //------------------------------------------------------------------------
361 : 0 : void OColumnTreeBox::InitEntry(SvLBoxEntry* pEntry, const String& rStr, const Image& rImg1, const Image& rImg2, SvLBoxButtonKind eButtonKind)
362 : : {
363 : 0 : DBTreeListBox::InitEntry( pEntry, rStr, rImg1, rImg2, eButtonKind );
364 [ # # ]: 0 : SvLBoxString* pString = new OColumnString(pEntry, 0, rStr,sal_False);
365 [ # # ]: 0 : if (pString)
366 : 0 : pEntry->ReplaceItem( pString, pEntry->ItemCount() - 1 );
367 : 0 : }
368 : : //------------------------------------------------------------------------
369 : 0 : sal_Bool OColumnTreeBox::Select( SvLBoxEntry* pEntry, sal_Bool bSelect )
370 : : {
371 [ # # ]: 0 : if(bSelect)
372 : : {
373 : 0 : OFieldDescription* pColumn = static_cast<OFieldDescription*>(pEntry->GetUserData());
374 [ # # ][ # # ]: 0 : if(!(pColumn->IsAutoIncrement() && m_bReadOnly))
[ # # ]
375 : 0 : bSelect = DBTreeListBox::Select( pEntry,bSelect );
376 : : }
377 : : else
378 : 0 : bSelect = DBTreeListBox::Select( pEntry,bSelect );
379 : 0 : return bSelect;
380 : : }
381 : : //------------------------------------------------------------------------
382 : 0 : void OColumnTreeBox::FillListBox( const ODatabaseExport::TColumnVector& _rList)
383 : : {
384 [ # # ]: 0 : Clear();
385 : 0 : ODatabaseExport::TColumnVector::const_iterator aIter = _rList.begin();
386 : 0 : ODatabaseExport::TColumnVector::const_iterator aEnd = _rList.end();
387 [ # # ][ # # ]: 0 : for(;aIter != aEnd;++aIter)
388 : : {
389 [ # # ][ # # ]: 0 : SvLBoxEntry* pEntry = InsertEntry((*aIter)->first,0,sal_False,LIST_APPEND,(*aIter)->second);
[ # # ]
390 [ # # ][ # # ]: 0 : SvButtonState eState = !(m_bReadOnly && (*aIter)->second->IsAutoIncrement()) ? SV_BUTTON_CHECKED : SV_BUTTON_UNCHECKED;
[ # # ]
391 [ # # ]: 0 : SetCheckButtonState( pEntry, eState );
392 : : }
393 : 0 : }
394 : : // -----------------------------------------------------------------------------
395 : :
396 : :
397 : :
398 : :
399 : :
400 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|