1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski #ifndef _DBINSDLG_HXX 25*b1cdbd2cSJim Jagielski #define _DBINSDLG_HXX 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim Jagielski #ifndef _BUTTON_HXX //autogen 29*b1cdbd2cSJim Jagielski #include <vcl/button.hxx> 30*b1cdbd2cSJim Jagielski #endif 31*b1cdbd2cSJim Jagielski #ifndef _GROUP_HXX //autogen 32*b1cdbd2cSJim Jagielski #include <vcl/group.hxx> 33*b1cdbd2cSJim Jagielski #endif 34*b1cdbd2cSJim Jagielski #ifndef _FIXED_HXX //autogen 35*b1cdbd2cSJim Jagielski #include <vcl/fixed.hxx> 36*b1cdbd2cSJim Jagielski #endif 37*b1cdbd2cSJim Jagielski #ifndef _EDIT_HXX //autogen 38*b1cdbd2cSJim Jagielski #include <vcl/edit.hxx> 39*b1cdbd2cSJim Jagielski #endif 40*b1cdbd2cSJim Jagielski #include <vcl/lstbox.hxx> 41*b1cdbd2cSJim Jagielski #include <svtools/svmedit.hxx> 42*b1cdbd2cSJim Jagielski #include <sfx2/basedlgs.hxx> 43*b1cdbd2cSJim Jagielski #include <svl/svarray.hxx> 44*b1cdbd2cSJim Jagielski #include <unotools/configitem.hxx> 45*b1cdbd2cSJim Jagielski #include <numfmtlb.hxx> 46*b1cdbd2cSJim Jagielski #include <swdbdata.hxx> 47*b1cdbd2cSJim Jagielski #include <com/sun/star/uno/Reference.h> 48*b1cdbd2cSJim Jagielski #include <com/sun/star/uno/Sequence.h> 49*b1cdbd2cSJim Jagielski namespace com{namespace sun{namespace star{ 50*b1cdbd2cSJim Jagielski namespace sdbcx{ 51*b1cdbd2cSJim Jagielski class XColumnsSupplier; 52*b1cdbd2cSJim Jagielski } 53*b1cdbd2cSJim Jagielski namespace sdbc{ 54*b1cdbd2cSJim Jagielski class XDataSource; 55*b1cdbd2cSJim Jagielski class XConnection; 56*b1cdbd2cSJim Jagielski class XResultSet; 57*b1cdbd2cSJim Jagielski } 58*b1cdbd2cSJim Jagielski }}} 59*b1cdbd2cSJim Jagielski 60*b1cdbd2cSJim Jagielski class SwTableAutoFmt; 61*b1cdbd2cSJim Jagielski class SwView; 62*b1cdbd2cSJim Jagielski class SfxItemSet; 63*b1cdbd2cSJim Jagielski class SwTableRep; 64*b1cdbd2cSJim Jagielski class _DB_Columns; 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim Jagielski struct SwInsDBColumn 67*b1cdbd2cSJim Jagielski { 68*b1cdbd2cSJim Jagielski rtl::OUString sColumn, sUsrNumFmt; 69*b1cdbd2cSJim Jagielski sal_Int32 nDBNumFmt; 70*b1cdbd2cSJim Jagielski sal_uInt32 nUsrNumFmt; 71*b1cdbd2cSJim Jagielski LanguageType eUsrNumFmtLng; 72*b1cdbd2cSJim Jagielski sal_uInt16 nCol; 73*b1cdbd2cSJim Jagielski sal_Bool bHasFmt : 1; 74*b1cdbd2cSJim Jagielski sal_Bool bIsDBFmt : 1; 75*b1cdbd2cSJim Jagielski SwInsDBColumnSwInsDBColumn76*b1cdbd2cSJim Jagielski SwInsDBColumn( const String& rStr, sal_uInt16 nColumn ) 77*b1cdbd2cSJim Jagielski : sColumn( rStr ), 78*b1cdbd2cSJim Jagielski nDBNumFmt( 0 ), 79*b1cdbd2cSJim Jagielski nUsrNumFmt( 0 ), 80*b1cdbd2cSJim Jagielski eUsrNumFmtLng( LANGUAGE_SYSTEM ), 81*b1cdbd2cSJim Jagielski nCol( nColumn ), 82*b1cdbd2cSJim Jagielski bHasFmt(sal_False), 83*b1cdbd2cSJim Jagielski bIsDBFmt(sal_True) 84*b1cdbd2cSJim Jagielski {} 85*b1cdbd2cSJim Jagielski operator ==SwInsDBColumn86*b1cdbd2cSJim Jagielski int operator==( const SwInsDBColumn& rCmp ) const 87*b1cdbd2cSJim Jagielski { return sColumn == rCmp.sColumn; } 88*b1cdbd2cSJim Jagielski int operator<( const SwInsDBColumn& rCmp ) const; 89*b1cdbd2cSJim Jagielski }; 90*b1cdbd2cSJim Jagielski 91*b1cdbd2cSJim Jagielski typedef SwInsDBColumn* SwInsDBColumnPtr; 92*b1cdbd2cSJim Jagielski SV_DECL_PTRARR_SORT_DEL( SwInsDBColumns, SwInsDBColumnPtr, 32, 32 ) 93*b1cdbd2cSJim Jagielski 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski class SwInsertDBColAutoPilot : public SfxModalDialog, public utl::ConfigItem 96*b1cdbd2cSJim Jagielski { 97*b1cdbd2cSJim Jagielski FixedText aFtInsertData; 98*b1cdbd2cSJim Jagielski RadioButton aRbAsTable; 99*b1cdbd2cSJim Jagielski RadioButton aRbAsField; 100*b1cdbd2cSJim Jagielski RadioButton aRbAsText; 101*b1cdbd2cSJim Jagielski 102*b1cdbd2cSJim Jagielski FixedLine aFlHead; 103*b1cdbd2cSJim Jagielski FixedText aFtDbColumn; 104*b1cdbd2cSJim Jagielski 105*b1cdbd2cSJim Jagielski ListBox aLbTblDbColumn; 106*b1cdbd2cSJim Jagielski ListBox aLbTxtDbColumn; 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski FixedLine aFlFormat; 109*b1cdbd2cSJim Jagielski RadioButton aRbDbFmtFromDb; 110*b1cdbd2cSJim Jagielski RadioButton aRbDbFmtFromUsr; 111*b1cdbd2cSJim Jagielski NumFormatListBox aLbDbFmtFromUsr; 112*b1cdbd2cSJim Jagielski 113*b1cdbd2cSJim Jagielski /* ----- Page Text/Field ------- */ 114*b1cdbd2cSJim Jagielski ImageButton aIbDbcolToEdit; 115*b1cdbd2cSJim Jagielski MultiLineEdit aEdDbText; 116*b1cdbd2cSJim Jagielski FixedText aFtDbParaColl; 117*b1cdbd2cSJim Jagielski ListBox aLbDbParaColl; 118*b1cdbd2cSJim Jagielski 119*b1cdbd2cSJim Jagielski /* ----- Page Table ------------ */ 120*b1cdbd2cSJim Jagielski ImageButton aIbDbcolAllTo; 121*b1cdbd2cSJim Jagielski ImageButton aIbDbcolOneTo; 122*b1cdbd2cSJim Jagielski ImageButton aIbDbcolOneFrom; 123*b1cdbd2cSJim Jagielski ImageButton aIbDbcolAllFrom; 124*b1cdbd2cSJim Jagielski FixedText aFtTableCol; 125*b1cdbd2cSJim Jagielski ListBox aLbTableCol; 126*b1cdbd2cSJim Jagielski CheckBox aCbTableHeadon; 127*b1cdbd2cSJim Jagielski RadioButton aRbHeadlColnms; 128*b1cdbd2cSJim Jagielski RadioButton aRbHeadlEmpty; 129*b1cdbd2cSJim Jagielski PushButton aPbTblFormat; 130*b1cdbd2cSJim Jagielski PushButton aPbTblAutofmt; 131*b1cdbd2cSJim Jagielski 132*b1cdbd2cSJim Jagielski OKButton aBtOk; 133*b1cdbd2cSJim Jagielski CancelButton aBtCancel; 134*b1cdbd2cSJim Jagielski HelpButton aBtHelp; 135*b1cdbd2cSJim Jagielski 136*b1cdbd2cSJim Jagielski FixedLine aFlBottom; 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim Jagielski SwInsDBColumns aDBColumns; 139*b1cdbd2cSJim Jagielski const SwDBData aDBData; 140*b1cdbd2cSJim Jagielski 141*b1cdbd2cSJim Jagielski Link aOldNumFmtLnk; 142*b1cdbd2cSJim Jagielski String sNoTmpl; 143*b1cdbd2cSJim Jagielski 144*b1cdbd2cSJim Jagielski SwView* pView; 145*b1cdbd2cSJim Jagielski SwTableAutoFmt* pTAutoFmt; 146*b1cdbd2cSJim Jagielski 147*b1cdbd2cSJim Jagielski SfxItemSet* pTblSet; 148*b1cdbd2cSJim Jagielski SwTableRep* pRep; 149*b1cdbd2cSJim Jagielski sal_uInt16 nGBFmtLen; 150*b1cdbd2cSJim Jagielski 151*b1cdbd2cSJim Jagielski DECL_LINK( PageHdl, Button* ); 152*b1cdbd2cSJim Jagielski DECL_LINK( AutoFmtHdl, PushButton* ); 153*b1cdbd2cSJim Jagielski DECL_LINK( TblFmtHdl, PushButton* ); 154*b1cdbd2cSJim Jagielski DECL_LINK( DBFormatHdl, Button* ); 155*b1cdbd2cSJim Jagielski DECL_LINK( TblToFromHdl, Button* ); 156*b1cdbd2cSJim Jagielski DECL_LINK( SelectHdl, ListBox* ); 157*b1cdbd2cSJim Jagielski DECL_LINK( DblClickHdl, ListBox* ); 158*b1cdbd2cSJim Jagielski DECL_LINK( HeaderHdl, Button* ); 159*b1cdbd2cSJim Jagielski 160*b1cdbd2cSJim Jagielski sal_Bool SplitTextToColArr( const String& rTxt, _DB_Columns& rColArr, sal_Bool bInsField ); 161*b1cdbd2cSJim Jagielski using SfxModalDialog::Notify; 162*b1cdbd2cSJim Jagielski virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); 163*b1cdbd2cSJim Jagielski virtual void Commit(); 164*b1cdbd2cSJim Jagielski void Load(); 165*b1cdbd2cSJim Jagielski 166*b1cdbd2cSJim Jagielski // setze die Tabellen - Eigenschaften 167*b1cdbd2cSJim Jagielski void SetTabSet(); 168*b1cdbd2cSJim Jagielski 169*b1cdbd2cSJim Jagielski public: 170*b1cdbd2cSJim Jagielski SwInsertDBColAutoPilot( SwView& rView, 171*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource> rxSource, 172*b1cdbd2cSJim Jagielski com::sun::star::uno::Reference<com::sun::star::sdbcx::XColumnsSupplier>, 173*b1cdbd2cSJim Jagielski const SwDBData& rData ); 174*b1cdbd2cSJim Jagielski 175*b1cdbd2cSJim Jagielski virtual ~SwInsertDBColAutoPilot(); 176*b1cdbd2cSJim Jagielski 177*b1cdbd2cSJim Jagielski void DataToDoc( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rSelection, 178*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource> rxSource, 179*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> xConnection, 180*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > xResultSet); 181*b1cdbd2cSJim Jagielski 182*b1cdbd2cSJim Jagielski }; 183*b1cdbd2cSJim Jagielski 184*b1cdbd2cSJim Jagielski #endif 185