summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/inc/WTypeSelect.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/ui/inc/WTypeSelect.hxx')
-rw-r--r--dbaccess/source/ui/inc/WTypeSelect.hxx142
1 files changed, 142 insertions, 0 deletions
diff --git a/dbaccess/source/ui/inc/WTypeSelect.hxx b/dbaccess/source/ui/inc/WTypeSelect.hxx
new file mode 100644
index 000000000000..3f3c8433d124
--- /dev/null
+++ b/dbaccess/source/ui/inc/WTypeSelect.hxx
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef DBAUI_WIZ_TYPESELECT_HXX
+#define DBAUI_WIZ_TYPESELECT_HXX
+
+#include "FieldDescControl.hxx"
+#include "TypeInfo.hxx"
+#include "WTabPage.hxx"
+
+#include <vcl/button.hxx>
+#include <vcl/field.hxx>
+#include <vcl/fixed.hxx>
+#include <vcl/lstbox.hxx>
+
+class SvStream;
+class SvParser;
+namespace dbaui
+{
+ class OTableDesignHelpBar;
+ // =============================================================================================
+ // OWizTypeSelectControl
+ // =============================================================================================
+ class OWizTypeSelectControl : public OFieldDescControl
+ {
+ protected:
+ virtual void ActivateAggregate( EControlType eType );
+ virtual void DeactivateAggregate( EControlType eType );
+
+ virtual void CellModified(long nRow, sal_uInt16 nColId );
+
+ virtual ::com::sun::star::lang::Locale GetLocale() const;
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter > GetFormatter() const;
+ virtual TOTypeInfoSP getTypeInfo(sal_Int32 _nPos);
+ virtual const OTypeInfoMap* getTypeInfo() const;
+ virtual sal_Bool isAutoIncrementValueEnabled() const;
+ virtual ::rtl::OUString getAutoIncrementValue() const;
+
+ public:
+ OWizTypeSelectControl(Window* pParent, const ResId& rResId,OTableDesignHelpBar* pHelpBar=NULL);
+ virtual ~OWizTypeSelectControl();
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData> getMetaData();
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getConnection();
+ };
+
+
+ // ========================================================
+ // Wizard Page: OWizTypeSelectList
+ // definiert nur das ::com::sun::star::ucb::Command f"ur das Contextmenu
+ // ========================================================
+ class OWizTypeSelectList : public MultiListBox
+ {
+ sal_Bool m_bPKey;
+ sal_Bool IsPrimaryKeyAllowed() const;
+ void setPrimaryKey( OFieldDescription* _pFieldDescr,
+ sal_uInt16 _nPos,
+ sal_Bool _bSet=sal_False);
+ protected:
+ virtual long PreNotify( NotifyEvent& rNEvt );
+ public:
+ OWizTypeSelectList( Window* pParent, WinBits nStyle = WB_BORDER ) : MultiListBox(pParent,nStyle) {};
+ OWizTypeSelectList( Window* pParent, const ResId& rResId ) : MultiListBox(pParent,rResId) {};
+ void SetPKey(sal_Bool bPKey) { m_bPKey = bPKey; }
+ };
+
+ // ========================================================
+ // Wizard Page: OWizTypeSelect
+ // Dient als Basis Klasse fuer unterschiedliche Kopiereigenschaften
+ // FillColumnList wird aufgerufen, wenn der Button AUTO ausgeloest wird.
+ // ========================================================
+ class OWizTypeSelect : public OWizardPage
+ {
+ friend class OWizTypeSelectControl;
+ friend class OWizTypeSelectList;
+
+ DECL_LINK( ColumnSelectHdl, MultiListBox* );
+ DECL_LINK( ButtonClickHdl, Button * );
+ protected:
+ OWizTypeSelectList m_lbColumnNames;
+ FixedLine m_flColumns;
+ OWizTypeSelectControl m_aTypeControl;
+ FixedLine m_flAutoType;
+ FixedText m_ftAuto;
+ NumericField m_etAuto;
+ PushButton m_pbAuto;
+
+ Image m_imgPKey;
+ SvStream* m_pParserStream; // stream to read the tokens from or NULL
+ ::rtl::OUString m_sAutoIncrementValue;
+ sal_Int32 m_nDisplayRow;
+ sal_Bool m_bAutoIncrementEnabled;
+ sal_Bool m_bDuplicateName;
+
+ void fillColumnList(sal_uInt32 nRows);
+ virtual SvParser* createReader(sal_Int32 _nRows) = 0;
+
+ void EnableAuto(sal_Bool bEnable);
+ public:
+ virtual void Reset ( );
+ virtual void ActivatePage( );
+ virtual void Resize();
+ virtual sal_Bool LeavePage();
+ virtual String GetTitle() const;
+
+ OWizTypeSelect(Window* pParent, SvStream* _pStream = NULL );
+ virtual ~OWizTypeSelect();
+
+ inline void setDisplayRow(sal_Int32 _nRow) { m_nDisplayRow = _nRow - 1; }
+ inline void setDuplicateName(sal_Bool _bDuplicateName) { m_bDuplicateName = _bDuplicateName; }
+ };
+
+ // ========================================================
+ typedef OWizTypeSelect* (*TypeSelectionPageFactory)( Window*, SvStream& );
+}
+#endif // DBAUI_WIZ_TYPESELECT_HXX
+
+
+