Kaydet (Commit) 8724aa7d authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Passed the selected sheet info to ScPreview.

üst 12854c32
...@@ -45,11 +45,14 @@ class ScRangeList; ...@@ -45,11 +45,14 @@ class ScRangeList;
class SC_DLLPUBLIC ScMarkData class SC_DLLPUBLIC ScMarkData
{ {
public:
typedef std::set<SCTAB> MarkedTabsType;
private: private:
MarkedTabsType maTabMarked;
ScRange aMarkRange; // area ScRange aMarkRange; // area
ScRange aMultiRange; // maximum area altogether ScRange aMultiRange; // maximum area altogether
ScMarkArray* pMultiSel; // multi selection ScMarkArray* pMultiSel; // multi selection
::std::set<SCTAB> maTabMarked;
bool bMarked:1; // rectangle marked bool bMarked:1; // rectangle marked
bool bMultiMarked:1; bool bMultiMarked:1;
...@@ -86,6 +89,7 @@ public: ...@@ -86,6 +89,7 @@ public:
SCTAB GetSelectCount() const; SCTAB GetSelectCount() const;
SCTAB GetFirstSelected() const; SCTAB GetFirstSelected() const;
SCTAB GetLastSelected() const; SCTAB GetLastSelected() const;
void GetSelectedTabs(MarkedTabsType& rTabs) const;
void SetMarkNegative( bool bFlag ) { bMarkIsNeg = bFlag; } void SetMarkNegative( bool bFlag ) { bMarkIsNeg = bFlag; }
bool IsMarkNegative() const { return bMarkIsNeg; } bool IsMarkNegative() const { return bMarkIsNeg; }
......
...@@ -40,17 +40,17 @@ ...@@ -40,17 +40,17 @@
//------------------------------------------------------------------------ //------------------------------------------------------------------------
ScMarkData::ScMarkData() : ScMarkData::ScMarkData() :
pMultiSel( NULL ), maTabMarked(),
maTabMarked() pMultiSel( NULL )
{ {
ResetMark(); ResetMark();
} }
ScMarkData::ScMarkData(const ScMarkData& rData) : ScMarkData::ScMarkData(const ScMarkData& rData) :
maTabMarked( rData.maTabMarked ),
aMarkRange( rData.aMarkRange ), aMarkRange( rData.aMarkRange ),
aMultiRange( rData.aMultiRange ), aMultiRange( rData.aMultiRange ),
pMultiSel( NULL ), pMultiSel( NULL )
maTabMarked( rData.maTabMarked )
{ {
bMarked = rData.bMarked; bMarked = rData.bMarked;
bMultiMarked = rData.bMultiMarked; bMultiMarked = rData.bMultiMarked;
...@@ -228,6 +228,12 @@ SCTAB ScMarkData::GetLastSelected() const ...@@ -228,6 +228,12 @@ SCTAB ScMarkData::GetLastSelected() const
return 0; return 0;
} }
void ScMarkData::GetSelectedTabs(MarkedTabsType& rTabs) const
{
MarkedTabsType aTabs(maTabMarked.begin(), maTabMarked.end());
rTabs.swap(aTabs);
}
void ScMarkData::MarkToMulti() void ScMarkData::MarkToMulti()
{ {
if ( bMarked && !bMarking ) if ( bMarked && !bMarking )
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <vcl/window.hxx> #include <vcl/window.hxx>
#include "printfun.hxx" // ScPrintState #include "printfun.hxx" // ScPrintState
#include "markdata.hxx"
#include <vector> #include <vector>
...@@ -41,6 +42,7 @@ class FmFormView; ...@@ -41,6 +42,7 @@ class FmFormView;
class ScPreview : public Window class ScPreview : public Window
{ {
private: private:
ScMarkData::MarkedTabsType maSelectedTabs;
// eingestellt: // eingestellt:
long nPageNo; // Seite im Dokument long nPageNo; // Seite im Dokument
sal_uInt16 nZoom; // eingestellter Zoom sal_uInt16 nZoom; // eingestellter Zoom
...@@ -167,6 +169,8 @@ public: ...@@ -167,6 +169,8 @@ public:
static void StaticInvalidate(); static void StaticInvalidate();
FmFormView* GetDrawView() { return pDrawView; } FmFormView* GetDrawView() { return pDrawView; }
void SetSelectedTabs(const ScMarkData& rMark);
}; };
......
...@@ -1545,6 +1545,10 @@ void ScPreview::DrawInvert( long nDragPos, sal_uInt16 nFlags ) ...@@ -1545,6 +1545,10 @@ void ScPreview::DrawInvert( long nDragPos, sal_uInt16 nFlags )
Invert( aRect,INVERT_50 ); 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: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -159,6 +159,7 @@ ScPreviewShell::ScPreviewShell( SfxViewFrame* pViewFrame, ...@@ -159,6 +159,7 @@ ScPreviewShell::ScPreviewShell( SfxViewFrame* pViewFrame,
ScViewData* pData = pTabViewShell->GetViewData(); ScViewData* pData = pTabViewShell->GetViewData();
pData->WriteUserDataSequence( aSourceData ); pData->WriteUserDataSequence( aSourceData );
InitStartTable( pData->GetTabNo() ); InitStartTable( pData->GetTabNo() );
pPreview->SetSelectedTabs(pData->GetMarkData());
// also have to store the TabView's DesignMode state // also have to store the TabView's DesignMode state
// (only if draw view exists) // (only if draw view exists)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment