diff options
Diffstat (limited to 'sw/source/ui/inc/dbinsdlg.hxx')
-rw-r--r-- | sw/source/ui/inc/dbinsdlg.hxx | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/sw/source/ui/inc/dbinsdlg.hxx b/sw/source/ui/inc/dbinsdlg.hxx new file mode 100644 index 000000000000..9ca9c15b06ef --- /dev/null +++ b/sw/source/ui/inc/dbinsdlg.hxx @@ -0,0 +1,183 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * 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 _DBINSDLG_HXX +#define _DBINSDLG_HXX + + +#include <vcl/button.hxx> +#include <vcl/group.hxx> +#include <vcl/fixed.hxx> +#include <vcl/edit.hxx> +#include <vcl/lstbox.hxx> +#include <svtools/svmedit.hxx> +#include <sfx2/basedlgs.hxx> +#include <svl/svarray.hxx> +#include <unotools/configitem.hxx> +#include <numfmtlb.hxx> +#include <swdbdata.hxx> +#include <com/sun/star/uno/Reference.h> +#include <com/sun/star/uno/Sequence.h> +namespace com{namespace sun{namespace star{ + namespace sdbcx{ + class XColumnsSupplier; + } + namespace sdbc{ + class XDataSource; + class XConnection; + class XResultSet; + } +}}} + +class SwTableAutoFmt; +class SwView; +class SfxItemSet; +class SwTableRep; +class _DB_Columns; + +struct SwInsDBColumn +{ + rtl::OUString sColumn, sUsrNumFmt; + sal_Int32 nDBNumFmt; + sal_uInt32 nUsrNumFmt; + LanguageType eUsrNumFmtLng; + USHORT nCol; + BOOL bHasFmt : 1; + BOOL bIsDBFmt : 1; + + SwInsDBColumn( const String& rStr, USHORT nColumn ) + : sColumn( rStr ), + nDBNumFmt( 0 ), + nUsrNumFmt( 0 ), + eUsrNumFmtLng( LANGUAGE_SYSTEM ), + nCol( nColumn ), + bHasFmt(FALSE), + bIsDBFmt(TRUE) + {} + + int operator==( const SwInsDBColumn& rCmp ) const + { return sColumn == rCmp.sColumn; } + int operator<( const SwInsDBColumn& rCmp ) const; +}; + +typedef SwInsDBColumn* SwInsDBColumnPtr; +SV_DECL_PTRARR_SORT_DEL( SwInsDBColumns, SwInsDBColumnPtr, 32, 32 ) + + +class SwInsertDBColAutoPilot : public SfxModalDialog, public utl::ConfigItem +{ + FixedText aFtInsertData; + RadioButton aRbAsTable; + RadioButton aRbAsField; + RadioButton aRbAsText; + + FixedLine aFlHead; + FixedText aFtDbColumn; + + ListBox aLbTblDbColumn; + ListBox aLbTxtDbColumn; + + FixedLine aFlFormat; + RadioButton aRbDbFmtFromDb; + RadioButton aRbDbFmtFromUsr; + NumFormatListBox aLbDbFmtFromUsr; + + /* ----- Page Text/Field ------- */ + ImageButton aIbDbcolToEdit; + MultiLineEdit aEdDbText; + FixedText aFtDbParaColl; + ListBox aLbDbParaColl; + + /* ----- Page Table ------------ */ + ImageButton aIbDbcolAllTo; + ImageButton aIbDbcolOneTo; + ImageButton aIbDbcolOneFrom; + ImageButton aIbDbcolAllFrom; + FixedText aFtTableCol; + ListBox aLbTableCol; + CheckBox aCbTableHeadon; + RadioButton aRbHeadlColnms; + RadioButton aRbHeadlEmpty; + PushButton aPbTblFormat; + PushButton aPbTblAutofmt; + + OKButton aBtOk; + CancelButton aBtCancel; + HelpButton aBtHelp; + + FixedLine aFlBottom; + + SwInsDBColumns aDBColumns; + const SwDBData aDBData; + + Link aOldNumFmtLnk; + String sNoTmpl; + + SwView* pView; + SwTableAutoFmt* pTAutoFmt; + + SfxItemSet* pTblSet; + SwTableRep* pRep; + USHORT nGBFmtLen; + + DECL_LINK( PageHdl, Button* ); + DECL_LINK( AutoFmtHdl, PushButton* ); + DECL_LINK( TblFmtHdl, PushButton* ); + DECL_LINK( DBFormatHdl, Button* ); + DECL_LINK( TblToFromHdl, Button* ); + DECL_LINK( SelectHdl, ListBox* ); + DECL_LINK( DblClickHdl, ListBox* ); + DECL_LINK( HeaderHdl, Button* ); + + BOOL SplitTextToColArr( const String& rTxt, _DB_Columns& rColArr, BOOL bInsField ); + using SfxModalDialog::Notify; + virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); + virtual void Commit(); + void Load(); + + // setze die Tabellen - Eigenschaften + void SetTabSet(); + +public: + SwInsertDBColAutoPilot( SwView& rView, + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource> rxSource, + com::sun::star::uno::Reference<com::sun::star::sdbcx::XColumnsSupplier>, + const SwDBData& rData ); + + virtual ~SwInsertDBColAutoPilot(); + + void DataToDoc( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rSelection, + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource> rxSource, + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> xConnection, + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > xResultSet); + +}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |