diff -u -r ../OOO_1_1_3_bak/sc/source/ui/dbgui/pivot.hrc sc/source/ui/dbgui/pivot.hrc --- ../OOO_1_1_3_bak/sc/source/ui/dbgui/pivot.hrc 2004-10-20 10:05:01.000000000 +0530 +++ sc/source/ui/dbgui/pivot.hrc 2004-10-25 13:40:18.000000000 +0530 @@ -104,4 +104,6 @@ #define PIVOTSTR_DEV2 9 #define PIVOTSTR_VAR 10 #define PIVOTSTR_VAR2 11 - +#define FT_INAREA 40 +#define RB_INAREA 41 +#define ED_INAREA 42 Only in sc/source/ui/dbgui: pivot.hrc.rej diff -u -r ../OOO_1_1_3_bak/sc/source/ui/dbgui/pivot.src sc/source/ui/dbgui/pivot.src --- ../OOO_1_1_3_bak/sc/source/ui/dbgui/pivot.src 2004-10-20 10:05:01.000000000 +0530 +++ sc/source/ui/dbgui/pivot.src 2004-10-25 13:40:18.000000000 +0530 @@ -413,6 +413,42 @@ Text[ thai ] = "เค้าโครง"; Text[ kannada ] = "ರೂಪ ವಿನ್ಯಾಸ"; }; + + FixedText FT_INAREA + { + Pos = MAP_APPFONT ( 6 , 153 ) ; + Size = MAP_APPFONT ( 59 , 8 ) ; + Hide = FALSE ; + Text [ ENGLISH ] = "SelectionResult" ; + Text [ english_us ] = "Selection from" ; + }; + + Edit ED_INAREA + { + Border = TRUE ; + Pos = MAP_APPFONT ( 65 , 153 ) ; + Size = MAP_APPFONT ( 100 , 12 ) ; + TabStop = TRUE ; + Hide = FALSE ; + }; + ImageButton RB_INAREA + { + Pos = MAP_APPFONT ( 172 , 153 ) ; + Size = MAP_APPFONT ( 12 , 12 ) ; + TabStop = TRUE ; + Hide = FALSE ; + QuickHelpText = "Verkleinern" ; + QuickHelpText [ ENGLISH ] = "Shrink" ; + QuickHelpText [ portuguese ] = "Afastar" ; + QuickHelpText [ english_us ] = "Shrink" ; + QuickHelpText [ portuguese_brazilian ] = "Encolher" ; + QuickHelpText [ swedish ] = "Frminska" ; + QuickHelpText [ danish ] = "Formindsk" ; + QuickHelpText [ italian ] = "Zoom indietro" ; + QuickHelpText [ spanish ] = "Reducir" ; + QuickHelpText [ french ] = "Rduire" ; + QuickHelpText [ dutch ] = "Verkleinen" ; + }; OKButton BTN_OK { Pos = MAP_APPFONT ( 280 , 6 ) ; diff -u -r ../OOO_1_1_3_bak/sc/source/ui/dbgui/pvlaydlg.cxx sc/source/ui/dbgui/pvlaydlg.cxx --- ../OOO_1_1_3_bak/sc/source/ui/dbgui/pvlaydlg.cxx 2004-10-20 10:05:02.000000000 +0530 +++ sc/source/ui/dbgui/pvlaydlg.cxx 2004-10-26 13:27:44.481470776 +0530 @@ -90,6 +90,7 @@ #include "pivot.hrc" #include "dpobject.hxx" #include "dpsave.hxx" +#include "dpshttab.hxx" #include "scmod.hxx" using namespace com::sun::star; @@ -150,6 +151,9 @@ aFtOutArea ( this, ScResId( FT_OUTAREA ) ), aEdOutPos ( this, ScResId( ED_OUTAREA ) ), aRbOutPos ( this, ScResId( RB_OUTAREA ), &aEdOutPos ), + aFtInArea ( this, ScResId( FT_INAREA) ), + aEdInPos ( this, ScResId( ED_INAREA) ), + aRbInPos ( this, ScResId( RB_INAREA ), &aEdInPos ), aFlAreas ( this, ScResId( FL_OUTPUT ) ), aFtRow ( this, ScResId( FT_ROW ) ), @@ -177,7 +181,7 @@ GetViewData() ), pDoc ( ((ScTabViewShell*)SfxViewShell::Current())-> GetViewData()->GetDocument() ), - bRefInputMode ( FALSE ) + bRefInputMode ( TRUE ) { if ( pDPObject ) { @@ -282,6 +286,12 @@ InitWnd( thePivotData.aRowArr, thePivotData.nRowCount, TYPE_ROW ); InitWnd( thePivotData.aDataArr, thePivotData.nDataCount, TYPE_DATA ); + ScRange inRange; + String inString; + inRange = pDlgDPObject->GetSheetDesc()->aSourceRange; + inRange.Format( inString, STD_FORMAT, pDoc); + aEdInPos.SetText(inString); + aSlider.SetPageSize( PAGE_SIZE ); aSlider.SetVisibleSize( PAGE_SIZE ); aSlider.SetLineSize( LINE_SIZE ); @@ -299,6 +309,7 @@ aLbOutPos .SetSelectHdl( LINK( this, ScDPLayoutDlg, SelAreaHdl ) ); aEdOutPos .SetModifyHdl( LINK( this, ScDPLayoutDlg, EdModifyHdl ) ); + aEdInPos .SetModifyHdl( LINK( this, ScDPLayoutDlg, EdInModifyHdl ) ); aBtnOk .SetClickHdl ( LINK( this, ScDPLayoutDlg, OkHdl ) ); aBtnCancel.SetClickHdl ( LINK( this, ScDPLayoutDlg, CancelHdl ) ); @@ -1218,17 +1229,34 @@ void ScDPLayoutDlg::SetReference( const ScRange& rRef, ScDocument* pDoc ) { + ScRefEdit *tmpREd; + ScRefButton *tmpRBtn; + if ( bRefInputMode ) { + tmpRBtn = GetRefButton(); + tmpREd = tmpRBtn->GetReferencesEdit(); if ( rRef.aStart != rRef.aEnd ) - RefInputStart( &aEdOutPos ); + RefInputStart( tmpREd, tmpRBtn); + /* ScAddress aAdr( nStartCol, nStartRow, nStartTab ); aAdr.PutInOrder( ScAddress( nEndCol, nEndRow, nEndTab ) ); */ + String aRefStr; - rRef.aStart.Format( aRefStr, STD_FORMAT, pDoc ); - aEdOutPos.SetRefString( aRefStr ); + + if ( tmpREd== &aEdInPos) + { + USHORT nFmt = SCR_ABS_3D; //!!! nCurTab fehlt noch + if ( rRef.aStart.Tab() != rRef.aEnd.Tab() ) + nFmt |= SCA_TAB2_3D; + rRef.Format( aRefStr, nFmt, pDoc ); + } + else + rRef.aStart.Format( aRefStr, STD_FORMAT, pDoc ); + + tmpREd->SetRefString( aRefStr ); } } @@ -1389,7 +1417,7 @@ } else { - bRefInputMode = FALSE; + //@BugID 54702 Enablen/Disablen nur noch in Basisklasse //SFX_APPWINDOW->Disable(FALSE); //! allgemeine Methode im ScAnyRefDlg } @@ -1426,6 +1455,95 @@ } +IMPL_LINK( ScDPLayoutDlg, EdInModifyHdl, Edit *, EMPTYARG ) +{ + + String theCurPosStr = aEdInPos.GetText(); + ScSheetSourceDesc *inSheet = pDlgDPObject->GetSheetDesc(); + ScRefTripel start, end; + ConvertDoubleRef (pDoc, theCurPosStr, 1, start, end ); + inSheet->aSourceRange = ScRange(start, end); + + pDlgDPObject->SetSheetDesc( *inSheet); + pDlgDPObject->InvalidateSource(); + pDlgDPObject->Output(); + pDlgDPObject->SetAlive( TRUE ); // needed to get structure information + pDlgDPObject->FillOldParam( thePivotData, FALSE ); + pDlgDPObject->FillLabelData( thePivotData, bShowAll, MAX_LABELS ); + + + USHORT i; + for ( i=0; i PAGE_SIZE ) + { + aSlider.SetEndScrollHdl( LINK( this, ScDPLayoutDlg, ScrollHdl ) ); + aSlider.Show(); + } + else + aSlider.Hide(); + + if ( pViewData && pDoc ) + { + /* + * Aus den RangeNames des Dokumentes werden nun die + * in einem Zeiger-Array gemerkt, bei denen es sich + * um sinnvolle Bereiche handelt + */ + + aLbOutPos.Clear(); + aLbOutPos.InsertEntry( aStrUndefined, 0 ); + aLbOutPos.InsertEntry( aStrNewTable, 1 ); + + ScAreaNameIterator aIter( pDoc ); + String aName; + ScRange aRange; + String aRefStr; + while ( aIter.Next( aName, aRange ) ) + { + if ( !aIter.WasDBName() ) // hier keine DB-Bereiche ! + { + USHORT nInsert = aLbOutPos.InsertEntry( aName ); + + aRange.aStart.Format( aRefStr, SCA_ABS_3D, pDoc ); + aLbOutPos.SetEntryData( nInsert, new String( aRefStr ) ); + } + } + } + + + + //Init(); + return 0; +} + + //---------------------------------------------------------------------------- IMPL_LINK( ScDPLayoutDlg, SelAreaHdl, ListBox *, EMPTYARG ) Only in sc/source/ui/dbgui: pvlaydlg.cxx.orig Only in sc/source/ui/dbgui: pvlaydlg.cxx.rej diff -u -r ../OOO_1_1_3_bak/sc/source/ui/inc/anyrefdg.hxx sc/source/ui/inc/anyrefdg.hxx --- ../OOO_1_1_3_bak/sc/source/ui/inc/anyrefdg.hxx 2004-10-20 10:04:56.000000000 +0530 +++ sc/source/ui/inc/anyrefdg.hxx 2004-10-25 15:34:23.000000000 +0530 @@ -140,7 +140,7 @@ ScRefButton( Window* pParent, const ResId& rResId ); void SetReferences( ScAnyRefDlg* pDlg, ScRefEdit* pEdit ); - + ScRefEdit* GetReferencesEdit (); void SetStartImage(); void SetEndImage(); inline void DoRef() { Click(); } @@ -194,6 +194,7 @@ ScAnyRefDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, USHORT nResId); virtual ~ScAnyRefDlg(); + ScRefButton* GetRefButton() { return pRefBtn; } virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) = 0; virtual void AddRefEntry(); Only in sc/source/ui/inc: anyrefdg.hxx.orig Only in sc/source/ui/inc: anyrefdg.hxx.rej diff -u -r ../OOO_1_1_3_bak/sc/source/ui/inc/pvlaydlg.hxx sc/source/ui/inc/pvlaydlg.hxx --- ../OOO_1_1_3_bak/sc/source/ui/inc/pvlaydlg.hxx 2004-10-20 10:04:56.000000000 +0530 +++ sc/source/ui/inc/pvlaydlg.hxx 2004-10-25 15:34:23.000000000 +0530 @@ -163,8 +163,11 @@ FixedLine aFlAreas; ListBox aLbOutPos; FixedText aFtOutArea; + FixedText aFtInArea; ScRefEdit aEdOutPos; ScRefButton aRbOutPos; + ScRefEdit aEdInPos; + ScRefButton aRbInPos; CheckBox aBtnIgnEmptyRows; CheckBox aBtnDetectCat; CheckBox aBtnTotalCol; @@ -243,6 +246,7 @@ DECL_LINK( SelAreaHdl, ListBox * ); DECL_LINK( MoreClickHdl, MoreButton * ); DECL_LINK( EdModifyHdl, Edit * ); + DECL_LINK( EdInModifyHdl, Edit * ); DECL_LINK( OkHdl, OKButton * ); DECL_LINK( CancelHdl, CancelButton * ); #endif Only in sc/source/ui/inc: pvlaydlg.hxx.orig Only in sc/source/ui/inc: pvlaydlg.hxx.rej diff -u -r ../OOO_1_1_3_bak/sc/source/ui/miscdlgs/anyrefdg.cxx sc/source/ui/miscdlgs/anyrefdg.cxx --- ../OOO_1_1_3_bak/sc/source/ui/miscdlgs/anyrefdg.cxx 2004-10-20 10:05:03.000000000 +0530 +++ sc/source/ui/miscdlgs/anyrefdg.cxx 2004-10-25 15:34:23.000000000 +0530 @@ -319,6 +319,11 @@ pRefEdit = pEdit; } +ScRefEdit* ScRefButton::GetReferencesEdit () +{ + return pRefEdit; +} + //---------------------------------------------------------------------------- void ScRefButton::Click()