LibreOffice Module sc (master)  1
xiview.cxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #include <sal/config.h>
21 
22 #include <o3tl/safeint.hxx>
23 
24 #include <xiview.hxx>
25 #include <document.hxx>
26 #include <scextopt.hxx>
27 #include <viewopti.hxx>
28 #include <xistream.hxx>
29 #include <xihelper.hxx>
30 #include <xistyle.hxx>
31 
32 // Document view settings =====================================================
33 
35  XclImpRoot( rRoot )
36 {
37 }
38 
40 {
41  maData.mnWinX = rStrm.ReaduInt16();
42  maData.mnWinY = rStrm.ReaduInt16();
43  maData.mnWinWidth = rStrm.ReaduInt16();
44  maData.mnWinHeight = rStrm.ReaduInt16();
45  maData.mnFlags = rStrm.ReaduInt16();
46  if( GetBiff() >= EXC_BIFF5 )
47  {
52  }
53 }
54 
56 {
57  /* Simply cast Excel index to Calc index.
58  TODO: This may fail if the document contains scenarios. */
59  sal_uInt16 nMaxXclTab = static_cast< sal_uInt16 >( GetMaxPos().Tab() );
60  return static_cast< SCTAB >( (maData.mnDisplXclTab <= nMaxXclTab) ? maData.mnDisplXclTab : 0 );
61 }
62 
64 {
65  ScViewOptions aViewOpt( GetDoc().GetViewOptions() );
69  GetDoc().SetViewOptions( aViewOpt );
70 
71  // displayed sheet
73 
74  // width of the tabbar with sheet names
75  if( maData.mnTabBarWidth <= 1000 )
76  GetExtDocOptions().GetDocSettings().mfTabBarWidth = static_cast< double >( maData.mnTabBarWidth ) / 1000.0;
77 }
78 
79 // Sheet view settings ========================================================
80 
81 namespace {
82 
83 long lclGetScZoom( sal_uInt16 nXclZoom, sal_uInt16 nDefZoom )
84 {
85  return static_cast< long >( nXclZoom ? nXclZoom : nDefZoom );
86 }
87 
88 } // namespace
89 
91  XclImpRoot( rRoot )
92 {
93  Initialize();
94 }
95 
97 {
99 }
100 
102 {
104  if( GetBiff() < EXC_BIFF8 )
105  return;
106 
107  sal_uInt8 ColorIndex;
108  Color TabBgColor;
109 
110  rStrm.Ignore( 16 );
111  ColorIndex = rStrm.ReaduInt8() & EXC_SHEETEXT_TABCOLOR; //0x7F
112  if ( ColorIndex >= 8 && ColorIndex <= 63 ) //only accept valid index values
113  {
114  TabBgColor = rPal.GetColor( ColorIndex );
115  maData.maTabBgColor = TabBgColor;
116  }
117 }
118 
120 {
121  if( GetBiff() == EXC_BIFF2 )
122  {
123  maData.mbShowFormulas = rStrm.ReaduInt8() != 0;
124  maData.mbShowGrid = rStrm.ReaduInt8() != 0;
125  maData.mbShowHeadings = rStrm.ReaduInt8() != 0;
126  maData.mbFrozenPanes = rStrm.ReaduInt8() != 0;
127  maData.mbShowZeros = rStrm.ReaduInt8() != 0;
128  rStrm >> maData.maFirstXclPos;
129  maData.mbDefGridColor = rStrm.ReaduInt8() != 0;
130  rStrm >> maData.maGridColor;
131  }
132  else
133  {
134  sal_uInt16 nFlags;
135  nFlags = rStrm.ReaduInt16();
136  rStrm >> maData.maFirstXclPos;
137 
138  // #i59590# real life: Excel ignores some view settings in chart sheets
141  maData.mbMirrored = !bChart && ::get_flag( nFlags, EXC_WIN2_MIRRORED );
142  maData.mbFrozenPanes = !bChart && ::get_flag( nFlags, EXC_WIN2_FROZEN );
143  maData.mbPageMode = !bChart && ::get_flag( nFlags, EXC_WIN2_PAGEBREAKMODE );
144  maData.mbDefGridColor = bChart || ::get_flag( nFlags, EXC_WIN2_DEFGRIDCOLOR );
145  maData.mbShowFormulas = !bChart && ::get_flag( nFlags, EXC_WIN2_SHOWFORMULAS );
146  maData.mbShowGrid = bChart || ::get_flag( nFlags, EXC_WIN2_SHOWGRID );
147  maData.mbShowHeadings = bChart || ::get_flag( nFlags, EXC_WIN2_SHOWHEADINGS );
148  maData.mbShowZeros = bChart || ::get_flag( nFlags, EXC_WIN2_SHOWZEROS );
149  maData.mbShowOutline = bChart || ::get_flag( nFlags, EXC_WIN2_SHOWOUTLINE );
150 
151  switch( GetBiff() )
152  {
153  case EXC_BIFF3:
154  case EXC_BIFF4:
155  case EXC_BIFF5:
156  rStrm >> maData.maGridColor;
157  break;
158  case EXC_BIFF8:
159  {
160  sal_uInt16 nGridColorIdx;
161  nGridColorIdx = rStrm.ReaduInt16();
162  // zoom data not included in chart sheets
163  if( rStrm.GetRecLeft() >= 6 )
164  {
165  rStrm.Ignore( 2 );
166  maData.mnPageZoom = rStrm.ReaduInt16();
167  maData.mnNormalZoom = rStrm.ReaduInt16();
168  }
169 
170  if( !maData.mbDefGridColor )
171  maData.maGridColor = GetPalette().GetColor( nGridColorIdx );
172  }
173  break;
174  default: DBG_ERROR_BIFF();
175  }
176  }
177 
178  // do not scroll chart sheets
179  if( bChart )
180  maData.maFirstXclPos.Set( 0, 0 );
181 }
182 
184 {
185  sal_uInt16 nNum, nDenom;
186  nNum = rStrm.ReaduInt16();
187  nDenom = rStrm.ReaduInt16();
188  OSL_ENSURE( nDenom > 0, "XclImpPageSettings::ReadScl - invalid denominator" );
189  if( nDenom > 0 )
190  maData.mnCurrentZoom = limit_cast< sal_uInt16 >( (nNum * 100) / nDenom );
191 }
192 
194 {
195  maData.mnSplitX = rStrm.ReaduInt16();
196  maData.mnSplitY = rStrm.ReaduInt16();
197 
198  rStrm >> maData.maSecondXclPos;
199  maData.mnActivePane = rStrm.ReaduInt8();
200 }
201 
203 {
204  // pane of this selection
205  sal_uInt8 nPane;
206  nPane = rStrm.ReaduInt8();
207  XclSelectionData& rSelData = maData.CreateSelectionData( nPane );
208  // cursor position and selection
209  rStrm >> rSelData.maXclCursor;
210  rSelData.mnCursorIdx = rStrm.ReaduInt16();
211  rSelData.maXclSelection.Read( rStrm, false );
212 }
213 
215 {
216  SCTAB nScTab = GetCurrScTab();
217  ScDocument& rDoc = GetDoc();
220  bool bDisplayed = GetDocViewSettings().GetDisplScTab() == nScTab;
221 
222  // *** sheet options: cursor, selection, splits, zoom ***
223 
224  // sheet flags
225  if( maData.mbMirrored )
226  // do not call this function with sal_False, it would mirror away all drawing objects
227  rDoc.SetLayoutRTL( nScTab, true );
228  rTabSett.mbSelected = maData.mbSelected || bDisplayed;
229 
230  // first visible cell in top-left pane and in additional pane(s)
231  rTabSett.maFirstVis = rAddrConv.CreateValidAddress( maData.maFirstXclPos, nScTab, false );
232  rTabSett.maSecondVis = rAddrConv.CreateValidAddress( maData.maSecondXclPos, nScTab, false );
233 
234  // cursor position and selection
235  if( const XclSelectionData* pSelData = maData.GetSelectionData( maData.mnActivePane ) )
236  {
237  rTabSett.maCursor = rAddrConv.CreateValidAddress( pSelData->maXclCursor, nScTab, false );
238  rAddrConv.ConvertRangeList( rTabSett.maSelection, pSelData->maXclSelection, nScTab, false );
239  }
240 
241  // active pane
242  switch( maData.mnActivePane )
243  {
244  case EXC_PANE_TOPLEFT: rTabSett.meActivePane = SCEXT_PANE_TOPLEFT; break;
245  case EXC_PANE_TOPRIGHT: rTabSett.meActivePane = SCEXT_PANE_TOPRIGHT; break;
248  }
249 
250  // freeze/split position
252  if( maData.mbFrozenPanes )
253  {
254  /* Frozen panes: handle split position as row/column positions.
255  #i35812# Excel uses number of visible rows/columns, Calc uses position of freeze. */
257  rTabSett.maFreezePos.SetCol( static_cast< SCCOL >( maData.maFirstXclPos.mnCol + maData.mnSplitX ) );
259  rTabSett.maFreezePos.SetRow( static_cast< SCROW >( maData.maFirstXclPos.mnRow + maData.mnSplitY ) );
260  }
261  else
262  {
263  // split window: position is in twips
264  rTabSett.maSplitPos.setX( static_cast< long >( maData.mnSplitX ) );
265  rTabSett.maSplitPos.setY( static_cast< long >( maData.mnSplitY ) );
266  }
267 
268  // grid color
269  if( maData.mbDefGridColor )
270  rTabSett.maGridColor = COL_AUTO;
271  else
272  rTabSett.maGridColor = maData.maGridColor;
273 
274  // show grid option
275  rTabSett.mbShowGrid = maData.mbShowGrid;
276 
277  // view mode and zoom
278  if( maData.mnCurrentZoom != 0 )
280  rTabSett.mbPageMode = maData.mbPageMode;
281  rTabSett.mnNormalZoom = lclGetScZoom( maData.mnNormalZoom, EXC_WIN2_NORMALZOOM_DEF );
282  rTabSett.mnPageZoom = lclGetScZoom( maData.mnPageZoom, EXC_WIN2_PAGEZOOM_DEF );
283 
284  // *** additional handling for displayed sheet ***
285 
286  if( bDisplayed )
287  {
288  // set Excel sheet settings globally at Calc document, take settings from displayed sheet
289  ScViewOptions aViewOpt( rDoc.GetViewOptions() );
291  aViewOpt.SetOption( VOPT_HEADER, maData.mbShowHeadings );
292  aViewOpt.SetOption( VOPT_NULLVALS, maData.mbShowZeros );
293  aViewOpt.SetOption( VOPT_OUTLINER, maData.mbShowOutline );
294  rDoc.SetViewOptions( aViewOpt );
295  }
296 
297  // *** set tab bg color
298  if ( !maData.IsDefaultTabBgColor() )
299  rDoc.SetTabBgColor(nScTab, maData.maTabBgColor);
300 }
301 
302 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool mbPageMode
true = Frozen panes; false = split window.
Definition: xlview.hxx:135
void SetOption(ScViewOption eOpt, bool bNew)
Definition: viewopti.hxx:87
sal_uInt16 mnDisplXclTab
Additional flags.
Definition: xlview.hxx:96
ScExtPanePos meActivePane
Active (focused) pane.
Definition: scextopt.hxx:57
#define DBG_ERROR_BIFF()
Definition: xltools.hxx:31
XclAddress maFirstXclPos
Grid color.
Definition: xlview.hxx:123
void ReadWindow2(XclImpStream &rStrm, bool bChart)
Reads a WINDOW2 record.
Definition: xiview.cxx:119
sal_uInt32 mnSplitY
Split X position, or number of frozen columns.
Definition: xlview.hxx:126
Bottom, or bottom-left pane.
Definition: scextopt.hxx:43
SCTAB GetDisplScTab() const
Returns the Calc index of the displayed sheet.
Definition: xiview.cxx:55
void Initialize()
Initializes the object to be used for a new sheet.
Definition: xiview.cxx:96
ScAddress maCursor
The cursor position (column/row only).
Definition: scextopt.hxx:52
SC_DLLPUBLIC void SetTabBgColor(SCTAB nTab, const Color &rColor)
Definition: documen3.cxx:436
const sal_uInt8 EXC_PANE_TOPRIGHT
Bottom-right pane.
Definition: xlview.hxx:73
XclTabViewData maData
Definition: xiview.hxx:81
ScAddress maSecondVis
Top-left visible cell in add. panes (column/row only).
Definition: scextopt.hxx:54
void Finalize()
Sets the view settings at the current sheet or the extended sheet options object. ...
Definition: xiview.cxx:214
bool mbShowOutline
true = Show zero value zells.
Definition: xlview.hxx:141
void ConvertRangeList(ScRangeList &rScRanges, const XclRangeList &rXclRanges, SCTAB nScTab, bool bWarn)
Converts the passed Excel cell range list to a Calc cell range list.
Definition: xihelper.cxx:125
const sal_uInt16 EXC_WIN2_MIRRORED
Definition: xlview.hxx:58
const ScExtDocSettings & GetDocSettings() const
Definition: scextopt.cxx:170
bool mbFrozenPanes
true = Mirrored (right-to-left) sheet.
Definition: xlview.hxx:134
const sal_uInt16 EXC_WIN2_SHOWHEADINGS
Definition: xlview.hxx:54
sal_uInt32 mnRow
Definition: xladdress.hxx:33
SC_DLLPUBLIC void SetLayoutRTL(SCTAB nTab, bool bRTL)
Definition: document.cxx:950
ReturnType limit_cast(Type nValue, ReturnType nMin, ReturnType nMax)
Returns the value, if it is not less than nMin and not greater than nMax, otherwise one of the limits...
Definition: ftools.hxx:61
ScDocument & GetDoc() const
Returns reference to the destination document (import) or source document (export).
Definition: xlroot.cxx:278
ScRangeList maSelection
Selected cell ranges (columns/rows only).
Definition: scextopt.hxx:51
void Read(XclImpStream &rStrm, bool bCol16Bit=true, sal_uInt16 nCountInStream=0)
Definition: xladdress.cxx:90
const sal_uInt8 EXC_SHEETEXT_TABCOLOR
header id for sheetext
Definition: xlview.hxx:84
double mfTabBarWidth
Width of the tabbar, relative to frame window width (0.0 ... 1.0).
Definition: scextopt.hxx:31
sal_uInt16 mnWinX
Definition: xlview.hxx:91
constexpr::Color COL_AUTO(0xFF, 0xFF, 0xFF, 0xFF)
XclRangeList maXclSelection
Cell cursor position.
Definition: xlview.hxx:108
Provides functions to convert Excel cell addresses to Calc cell addresses.
Definition: xihelper.hxx:42
const sal_uInt16 EXC_WIN2_PAGEZOOM_DEF
Default zoom for normal view.
Definition: xlview.hxx:66
XclImpPalette & GetPalette() const
Returns the color buffer.
Definition: xiroot.cxx:141
bool mbSelected
Active pane (with cell cursor).
Definition: xlview.hxx:131
MS Excel 4.0.
Definition: xlconst.hxx:35
const sal_uInt8 EXC_PANE_BOTTOMRIGHT
Definition: xlview.hxx:72
void ReadScl(XclImpStream &rStrm)
Reads an SCL record.
Definition: xiview.cxx:183
XclSelectionData & CreateSelectionData(sal_uInt8 nPane)
Returns read/write access to the selection data of the specified pane.
Definition: xlview.cxx:95
const sal_uInt16 EXC_WIN2_DISPLAYED
Definition: xlview.hxx:62
SCTAB Tab() const
Definition: address.hxx:271
void SetRow(SCROW nRowP)
Definition: address.hxx:275
bool mbShowGrid
Whether or not to display gridlines.
Definition: scextopt.hxx:64
void SetCol(SCCOL nColP)
Definition: address.hxx:279
Contains all settings for a selection in a single pane of a sheet.
Definition: xlview.hxx:105
const sal_uInt16 EXC_WIN2_SELECTED
Definition: xlview.hxx:61
bool mbFrozenPanes
true = Frozen panes; false = Normal splits.
Definition: scextopt.hxx:62
ScExtTabSettings & GetOrCreateTabSettings(SCTAB nTab)
Definition: scextopt.cxx:190
bool mbDefGridColor
true = Pagebreak preview; false = Normal view.
Definition: xlview.hxx:136
bool mbShowFormulas
true = Default grid color.
Definition: xlview.hxx:137
XclDocViewData maData
Definition: xiview.hxx:44
MS Excel 5.0, MS Excel 7.0 (95)
Definition: xlconst.hxx:36
const ScAddress & GetMaxPos() const
Returns the highest possible cell address valid in Calc and Excel (using current BIFF version)...
Definition: xlroot.hxx:246
const sal_uInt16 EXC_WIN2_NORMALZOOM_DEF
Definition: xlview.hxx:65
XclAddress maXclCursor
Definition: xlview.hxx:107
ScExtDocOptions & GetExtDocOptions() const
Returns the extended document options.
Definition: xlroot.cxx:421
const sal_uInt16 EXC_WIN2_PAGEBREAKMODE
Definition: xlview.hxx:63
SC_DLLPUBLIC void SetViewOptions(const ScViewOptions &rOpt)
Definition: documen3.cxx:1924
XclImpDocViewSettings(const XclImpRoot &rRoot)
Definition: xiview.cxx:34
XclImpAddressConverter & GetAddressConverter() const
Returns the address converter.
Definition: xiroot.cxx:119
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
sal_uInt16 mnCursorIdx
Selected cell ranges.
Definition: xlview.hxx:109
bool get_flag(Type nBitField, Type nMask)
Returns true, if at least one of the bits set in nMask is set in nBitField.
Definition: ftools.hxx:73
void ReadTabBgColor(XclImpStream &rStrm, const XclImpPalette &rPal)
Reads a SHEETEXT record (Tab Color).
Definition: xiview.cxx:101
MS Excel 3.0.
Definition: xlconst.hxx:34
const sal_uInt16 EXC_WIN1_TABBAR
Definition: xlview.hxx:45
void ReadWindow1(XclImpStream &rStrm)
Reads a WINDOW1 record.
Definition: xiview.cxx:39
bool mbSelected
true = Sheet is selected.
Definition: scextopt.hxx:61
void ReadSelection(XclImpStream &rStrm)
Reads a SELECTION record.
Definition: xiview.cxx:202
Color maGridColor
Selections of all panes.
Definition: xlview.hxx:122
long mnPageZoom
Zoom in percent for pagebreak preview.
Definition: scextopt.hxx:60
Color maGridColor
Grid color.
Definition: scextopt.hxx:58
sal_uInt16 mnCol
Definition: xladdress.hxx:32
const sal_uInt16 EXC_WIN2_DEFGRIDCOLOR
Definition: xlview.hxx:57
void SetDefaults()
Sets Excel default view settings.
Definition: xlview.cxx:49
const sal_uInt16 EXC_WIN1_VER_SCROLLBAR
Definition: xlview.hxx:44
const sal_uInt16 EXC_WIN2_SHOWFORMULAS
Definition: xlview.hxx:52
sal_uInt16 ReaduInt16()
Definition: xistream.cxx:648
const sal_uInt16 EXC_WIN2_SHOWZEROS
Definition: xlview.hxx:56
Extended settings for a sheet, used in import/export filters.
Definition: scextopt.hxx:48
bool mbShowGrid
true = Show formulas instead of results.
Definition: xlview.hxx:138
Color maTabBgColor
true = Show outlines.
Definition: xlview.hxx:142
Right, or top-right pane.
Definition: scextopt.hxx:42
void Set(sal_uInt16 nCol, sal_uInt32 nRow)
Definition: xladdress.hxx:39
ScAddress CreateValidAddress(const XclAddress &rXclPos, SCTAB nScTab, bool bWarn)
Returns a valid cell address by moving it into allowed dimensions.
Definition: xihelper.cxx:86
SCTAB GetCurrScTab() const
Returns the current Calc sheet index.
Definition: xlroot.hxx:160
ScAddress maFreezePos
Position of frozen panes (column/row only).
Definition: scextopt.hxx:55
SC_DLLPUBLIC const ScViewOptions & GetViewOptions() const
Definition: documen3.cxx:1918
Color GetColor(sal_uInt16 nXclIndex) const
Returns the color for a (non-zero-based) Excel palette entry.
Definition: xistyle.cxx:153
bool mbDisplayed
true = Sheet is selected.
Definition: xlview.hxx:132
std::size_t GetRecLeft()
Returns remaining data size of the whole record without record headers.
Definition: xistream.cxx:581
sal_uInt16 mnWinHeight
Width of the document window (twips).
Definition: xlview.hxx:94
XclImpTabViewSettings(const XclImpRoot &rRoot)
Definition: xiview.cxx:90
sal_uInt16 mnPageZoom
Zoom factor for normal view.
Definition: xlview.hxx:128
sal_uInt16 mnFlags
Height of the document window (twips).
Definition: xlview.hxx:95
const sal_uInt16 EXC_WIN1_HOR_SCROLLBAR
Definition: xlview.hxx:43
bool mbShowHeadings
true = Show cell grid.
Definition: xlview.hxx:139
#define OSL_ENSURE_BIFF(c)
Definition: xltools.hxx:32
sal_uInt16 mnWinWidth
Y position of the document window (twips).
Definition: xlview.hxx:93
sal_uInt16 mnTabBarWidth
Number of selected sheets.
Definition: xlview.hxx:99
const sal_uInt8 EXC_PANE_BOTTOMLEFT
Right, or top-right pane.
Definition: xlview.hxx:74
void Ignore(std::size_t nBytes)
Seeks forward inside the current record.
Definition: xistream.cxx:795
unsigned char sal_uInt8
sal_uInt8 ReaduInt8()
Definition: xistream.cxx:616
bool IsDefaultTabBgColor() const
Tab Color default = (COL_AUTO )
Definition: xlview.hxx:143
void Finalize()
Sets the view settings at the document.
Definition: xiview.cxx:63
XclBiff GetBiff() const
Returns the current BIFF version of the importer/exporter.
Definition: xlroot.hxx:140
void ReadPane(XclImpStream &rStrm)
Reads a PANE record.
Definition: xiview.cxx:193
const sal_uInt8 EXC_PANE_TOPLEFT
Bottom, or bottom-left pane.
Definition: xlview.hxx:75
sal_uInt8 mnActivePane
Zoom factor for current view.
Definition: xlview.hxx:130
sal_uInt16 mnXclSelectCnt
First visible sheet.
Definition: xlview.hxx:98
const ScAddress & GetScMaxPos() const
Returns the highest possible cell address in a Calc document.
Definition: xlroot.hxx:242
Stores the default colors for the current BIFF version and the contents of a PALETTE record...
Definition: xistyle.hxx:45
const sal_uInt16 EXC_WIN2_FROZEN
Definition: xlview.hxx:55
Point maSplitPos
Position of split.
Definition: scextopt.hxx:56
XclImpDocViewSettings & GetDocViewSettings() const
Returns the view settings of the entire document.
Definition: xiroot.cxx:253
sal_uInt16 mnSplitX
First visible cell in additional panes.
Definition: xlview.hxx:125
long mnNormalZoom
Zoom in percent for normal view.
Definition: scextopt.hxx:59
bool mbShowZeros
true = Show column/row headings.
Definition: xlview.hxx:140
const sal_uInt16 EXC_WIN2_SHOWGRID
Definition: xlview.hxx:53
MS Excel 2.1.
Definition: xlconst.hxx:33
This class is used to import record oriented streams.
Definition: xistream.hxx:278
ScAddress maFirstVis
Top-left visible cell (column/row only).
Definition: scextopt.hxx:53
Single, top, left, or top-left pane.
Definition: scextopt.hxx:41
Access to global data from other classes.
Definition: xiroot.hxx:126
const sal_uInt16 EXC_WIN2_SHOWOUTLINE
Definition: xlview.hxx:59
sal_uInt16 mnFirstVisXclTab
Displayed (active) sheet.
Definition: xlview.hxx:97
const XclSelectionData * GetSelectionData(sal_uInt8 nPane) const
Returns the selection data, if available, otherwise 0.
Definition: xlview.cxx:89
sal_uInt16 mnCurrentZoom
Zoom factor for pagebreak preview.
Definition: xlview.hxx:129
sal_uInt16 mnWinY
X position of the document window (twips).
Definition: xlview.hxx:92
sal_uInt16 mnNormalZoom
Split Y position, or number of frozen rows.
Definition: xlview.hxx:127
bool mbPageMode
true = Pagebreak mode; false = Normal view mode.
Definition: scextopt.hxx:63
sal_Int16 SCTAB
Definition: types.hxx:23
XclAddress maSecondXclPos
First visible cell.
Definition: xlview.hxx:124
Bottom-right pane.
Definition: scextopt.hxx:44
SCTAB mnDisplTab
Index of displayed sheet.
Definition: scextopt.hxx:33
bool mbMirrored
true = Sheet is displayed (active).
Definition: xlview.hxx:133