Version 3.6.0.2, tag libreoffice-3.6.0.2
[LibreOffice.git] / dbaccess / source / ui / dlg / advancedsettings.hxx
blob3b29d4ba15add5a4aa1684b9710f38039ff15af8
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
29 #ifndef DBACCESS_ADVANCEDSETTINGS_HXX
30 #define DBACCESS_ADVANCEDSETTINGS_HXX
32 #include "adminpages.hxx"
33 #include "dsmeta.hxx"
35 /** === begin UNO includes === **/
36 /** === end UNO includes === **/
38 #include <svtools/dialogcontrolling.hxx>
40 #include <vcl/lstbox.hxx>
41 #include <vcl/field.hxx>
43 #include <vector>
45 //........................................................................
46 namespace dbaui
48 //........................................................................
50 struct BooleanSettingDesc;
51 typedef ::std::vector< BooleanSettingDesc > BooleanSettingDescs;
53 //====================================================================
54 //= SpecialSettingsPage
55 //====================================================================
56 /** implements the "Special Settings" page of the advanced database settings
58 class SpecialSettingsPage : public OGenericAdministrationPage
60 protected:
61 FixedLine m_aTopLine;
62 CheckBox* m_pIsSQL92Check;
63 CheckBox* m_pAppendTableAlias;
64 CheckBox* m_pAsBeforeCorrelationName;
65 CheckBox* m_pEnableOuterJoin;
66 CheckBox* m_pIgnoreDriverPrivileges;
67 CheckBox* m_pParameterSubstitution;
68 CheckBox* m_pSuppressVersionColumn;
69 CheckBox* m_pCatalog;
70 CheckBox* m_pSchema;
71 CheckBox* m_pIndexAppendix;
72 CheckBox* m_pDosLineEnds;
73 CheckBox* m_pCheckRequiredFields;
74 CheckBox* m_pIgnoreCurrency;
75 CheckBox* m_pEscapeDateTime;
76 CheckBox* m_pPrimaryKeySupport;
77 CheckBox* m_pRespectDriverResultSetType;
79 FixedText* m_pBooleanComparisonModeLabel;
80 ListBox* m_pBooleanComparisonMode;
82 FixedText* m_pMaxRowScanLabel;
83 NumericField* m_pMaxRowScan;
85 ::svt::ControlDependencyManager
86 m_aControlDependencies;
88 BooleanSettingDescs m_aBooleanSettings;
90 bool m_bHasBooleanComparisonMode;
91 bool m_bHasMaxRowScan;
93 public:
94 virtual sal_Bool FillItemSet ( SfxItemSet& _rCoreAttrs );
96 SpecialSettingsPage(Window* pParent, const SfxItemSet& _rCoreAttrs, const DataSourceMetaData& _rDSMeta );
98 protected:
99 virtual ~SpecialSettingsPage();
101 // OGenericAdministrationPage overridables
102 virtual void implInitControls (const SfxItemSet& _rSet, sal_Bool _bSaveValue );
104 // <method>OGenericAdministrationPage::fillControls</method>
105 virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
107 // <method>OGenericAdministrationPage::fillWindows</method>
108 virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
110 private:
111 void impl_initBooleanSettings();
114 //====================================================================
115 //= GeneratedValuesPage
116 //====================================================================
117 class GeneratedValuesPage : public OGenericAdministrationPage
119 protected:
121 FixedLine m_aAutoFixedLine;
122 CheckBox m_aAutoRetrievingEnabled;
123 FixedText m_aAutoIncrementLabel;
124 Edit m_aAutoIncrement;
125 FixedText m_aAutoRetrievingLabel;
126 Edit m_aAutoRetrieving;
128 ::svt::ControlDependencyManager
129 m_aControlDependencies;
131 public:
132 virtual sal_Bool FillItemSet (SfxItemSet& _rCoreAttrs);
134 GeneratedValuesPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
135 protected:
137 // nControlFlags ist eine Kombination der CBTP_xxx-Konstanten
138 virtual ~GeneratedValuesPage();
140 // must be overloaded by subclasses, but it isn't pure virtual
141 virtual void implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue);
143 // <method>OGenericAdministrationPage::fillControls</method>
144 virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList);
146 // <method>OGenericAdministrationPage::fillWindows</method>
147 virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList);
149 private:
150 DECL_LINK( OnCheckBoxClick, CheckBox * );
153 //........................................................................
154 } // namespace dbaui
155 //........................................................................
157 #endif // DBACCESS_ADVANCEDSETTINGS_HXX
159 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */