diff options
author | Kohei Yoshida <kohei.yoshida@suse.com> | 2011-11-28 20:08:01 -0500 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@suse.com> | 2011-11-29 00:04:22 -0500 |
commit | 8724aa7d6dc6a89855c0c0a1a5d5b9dc0331a679 (patch) | |
tree | ecdf410878457084576bdd8f49c8af8130768d4c | |
parent | 12854c322f799a8795b0054293ea987f11170d64 (diff) |
Passed the selected sheet info to ScPreview.
-rw-r--r-- | sc/inc/markdata.hxx | 6 | ||||
-rw-r--r-- | sc/source/core/data/markdata.cxx | 14 | ||||
-rw-r--r-- | sc/source/ui/inc/preview.hxx | 4 | ||||
-rw-r--r-- | sc/source/ui/view/preview.cxx | 6 | ||||
-rw-r--r-- | sc/source/ui/view/prevwsh.cxx | 1 |
5 files changed, 25 insertions, 6 deletions
diff --git a/sc/inc/markdata.hxx b/sc/inc/markdata.hxx index 05157a2f7370..ef2671d82b51 100644 --- a/sc/inc/markdata.hxx +++ b/sc/inc/markdata.hxx @@ -45,11 +45,14 @@ class ScRangeList; class SC_DLLPUBLIC ScMarkData { +public: + typedef std::set<SCTAB> MarkedTabsType; private: + MarkedTabsType maTabMarked; + ScRange aMarkRange; // area ScRange aMultiRange; // maximum area altogether ScMarkArray* pMultiSel; // multi selection - ::std::set<SCTAB> maTabMarked; bool bMarked:1; // rectangle marked bool bMultiMarked:1; @@ -86,6 +89,7 @@ public: SCTAB GetSelectCount() const; SCTAB GetFirstSelected() const; SCTAB GetLastSelected() const; + void GetSelectedTabs(MarkedTabsType& rTabs) const; void SetMarkNegative( bool bFlag ) { bMarkIsNeg = bFlag; } bool IsMarkNegative() const { return bMarkIsNeg; } diff --git a/sc/source/core/data/markdata.cxx b/sc/source/core/data/markdata.cxx index 68a11295ca8f..70df85a89151 100644 --- a/sc/source/core/data/markdata.cxx +++ b/sc/source/core/data/markdata.cxx @@ -40,17 +40,17 @@ //------------------------------------------------------------------------ ScMarkData::ScMarkData() : - pMultiSel( NULL ), - maTabMarked() + maTabMarked(), + pMultiSel( NULL ) { ResetMark(); } ScMarkData::ScMarkData(const ScMarkData& rData) : + maTabMarked( rData.maTabMarked ), aMarkRange( rData.aMarkRange ), aMultiRange( rData.aMultiRange ), - pMultiSel( NULL ), - maTabMarked( rData.maTabMarked ) + pMultiSel( NULL ) { bMarked = rData.bMarked; bMultiMarked = rData.bMultiMarked; @@ -228,6 +228,12 @@ SCTAB ScMarkData::GetLastSelected() const return 0; } +void ScMarkData::GetSelectedTabs(MarkedTabsType& rTabs) const +{ + MarkedTabsType aTabs(maTabMarked.begin(), maTabMarked.end()); + rTabs.swap(aTabs); +} + void ScMarkData::MarkToMulti() { if ( bMarked && !bMarking ) diff --git a/sc/source/ui/inc/preview.hxx b/sc/source/ui/inc/preview.hxx index c284cac01fc2..c3c1af53ab55 100644 --- a/sc/source/ui/inc/preview.hxx +++ b/sc/source/ui/inc/preview.hxx @@ -31,6 +31,7 @@ #include <vcl/window.hxx> #include "printfun.hxx" // ScPrintState +#include "markdata.hxx" #include <vector> @@ -41,6 +42,7 @@ class FmFormView; class ScPreview : public Window { private: + ScMarkData::MarkedTabsType maSelectedTabs; // eingestellt: long nPageNo; // Seite im Dokument sal_uInt16 nZoom; // eingestellter Zoom @@ -167,6 +169,8 @@ public: static void StaticInvalidate(); FmFormView* GetDrawView() { return pDrawView; } + + void SetSelectedTabs(const ScMarkData& rMark); }; diff --git a/sc/source/ui/view/preview.cxx b/sc/source/ui/view/preview.cxx index 269b6373e849..41232d0a5fed 100644 --- a/sc/source/ui/view/preview.cxx +++ b/sc/source/ui/view/preview.cxx @@ -1545,6 +1545,10 @@ void ScPreview::DrawInvert( long nDragPos, sal_uInt16 nFlags ) Invert( aRect,INVERT_50 ); } } -//Issue51656 Add resizeable margin on page preview from maoyg + +void ScPreview::SetSelectedTabs(const ScMarkData& rMark) +{ + rMark.GetSelectedTabs(maSelectedTabs); +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/view/prevwsh.cxx b/sc/source/ui/view/prevwsh.cxx index fc152b050f9e..ab33d56e1b6a 100644 --- a/sc/source/ui/view/prevwsh.cxx +++ b/sc/source/ui/view/prevwsh.cxx @@ -159,6 +159,7 @@ ScPreviewShell::ScPreviewShell( SfxViewFrame* pViewFrame, ScViewData* pData = pTabViewShell->GetViewData(); pData->WriteUserDataSequence( aSourceData ); InitStartTable( pData->GetTabNo() ); + pPreview->SetSelectedTabs(pData->GetMarkData()); // also have to store the TabView's DesignMode state // (only if draw view exists) |