LibreOffice Module sc (master)  1
viewopti.hxx
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 #ifndef INCLUDED_SC_INC_VIEWOPTI_HXX
21 #define INCLUDED_SC_INC_VIEWOPTI_HXX
22 
23 #include <svx/optgrid.hxx>
24 
25 #include "scdllapi.h"
26 #include "optutil.hxx"
27 #include "global.hxx"
28 
29 // View options
30 
32 {
49 };
50 
52 {
56 };
57 
58 #define MAX_OPT sal_uInt16(VOPT_CLIPMARKS)+1
59 #define MAX_TYPE sal_uInt16(VOBJ_TYPE_DRAW)+1
60 
61 #define SC_STD_GRIDCOLOR COL_LIGHTGRAY
62 
63 // SvxGrid options with standard operators
64 
66 {
67 public:
69  ScGridOptions( const SvxOptionsGrid& rOpt ) : SvxOptionsGrid( rOpt ) {}
70 
71  void SetDefaults();
72  bool operator== ( const ScGridOptions& rOpt ) const;
73  bool operator!= ( const ScGridOptions& rOpt ) const { return !(operator==(rOpt)); }
74 };
75 
76 // Options - View
77 
79 {
80 public:
81  ScViewOptions();
82  ScViewOptions( const ScViewOptions& rCpy );
83  ~ScViewOptions();
84 
85  void SetDefaults();
86 
87  void SetOption( ScViewOption eOpt, bool bNew ) { aOptArr[eOpt] = bNew; }
88  bool GetOption( ScViewOption eOpt ) const { return aOptArr[eOpt]; }
89 
90  void SetObjMode( ScVObjType eObj, ScVObjMode eMode ) { aModeArr[eObj] = eMode; }
91  ScVObjMode GetObjMode( ScVObjType eObj ) const { return aModeArr[eObj]; }
92 
93  void SetGridColor( const Color& rCol, const OUString& rName ) { aGridCol = rCol; aGridColName = rName;}
94  Color const & GetGridColor( OUString* pStrName = nullptr ) const;
95 
96  const ScGridOptions& GetGridOptions() const { return aGridOpt; }
97  void SetGridOptions( const ScGridOptions& rNew ) { aGridOpt = rNew; }
98  std::unique_ptr<SvxGridItem> CreateGridItem() const;
99 
100  ScViewOptions& operator= ( const ScViewOptions& rCpy );
101  bool operator== ( const ScViewOptions& rOpt ) const;
102  bool operator!= ( const ScViewOptions& rOpt ) const { return !(operator==(rOpt)); }
103 
104 private:
105  bool aOptArr [MAX_OPT];
106  ScVObjMode aModeArr [MAX_TYPE];
108  OUString aGridColName;
110 };
111 
112 // Item for the options dialog - View
113 
115 {
116 public:
117  ScTpViewItem( const ScViewOptions& rOpt );
118  virtual ~ScTpViewItem() override;
119 
120  ScTpViewItem(ScTpViewItem const &) = default;
121  ScTpViewItem(ScTpViewItem &&) = default;
122  ScTpViewItem & operator =(ScTpViewItem const &) = delete; // due to SfxPoolItem
123  ScTpViewItem & operator =(ScTpViewItem &&) = delete; // due to SfxPoolItem
124 
125  virtual bool operator==( const SfxPoolItem& ) const override;
126  virtual ScTpViewItem* Clone( SfxItemPool *pPool = nullptr ) const override;
127 
128  const ScViewOptions& GetViewOptions() const { return theOptions; }
129 
130 private:
132 };
133 
134 // CfgItem for View options
135 
136 class ScViewCfg : public ScViewOptions
137 {
141 
142  DECL_LINK( LayoutCommitHdl, ScLinkConfigItem&, void );
143  DECL_LINK( DisplayCommitHdl, ScLinkConfigItem&, void );
144  DECL_LINK( GridCommitHdl, ScLinkConfigItem&, void );
145 
146  static css::uno::Sequence<OUString> GetLayoutPropertyNames();
147  static css::uno::Sequence<OUString> GetDisplayPropertyNames();
148  static css::uno::Sequence<OUString> GetGridPropertyNames();
149 
150 public:
151  ScViewCfg();
152 
153  void SetOptions( const ScViewOptions& rNew );
154 };
155 
156 #endif
157 
158 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool operator==(const XclFontData &rLeft, const XclFontData &rRight)
Definition: xlstyle.cxx:517
void SetOption(ScViewOption eOpt, bool bNew)
Definition: viewopti.hxx:87
ScGridOptions(const SvxOptionsGrid &rOpt)
Definition: viewopti.hxx:69
ScLinkConfigItem aDisplayItem
Definition: viewopti.hxx:139
bool operator!=(const XclExpString &rLeft, const XclExpString &rRight)
Definition: xestring.hxx:246
ScViewOption
Definition: viewopti.hxx:31
virtual bool operator==(const SfxPoolItem &) const =0
virtual SfxPoolItem * Clone(SfxItemPool *pPool=nullptr) const =0
bool operator==(const ScGridOptions &rOpt) const
Definition: viewopti.cxx:64
ScViewOptions theOptions
Definition: viewopti.hxx:131
SfxPoolItem & operator=(const SfxPoolItem &)=delete
void SetDefaults()
Definition: viewopti.cxx:39
void SetObjMode(ScVObjType eObj, ScVObjMode eMode)
Definition: viewopti.hxx:90
static css::uno::Sequence< OUString > GetGridPropertyNames()
Definition: viewopti.cxx:259
ScVObjType
Definition: viewopti.hxx:51
Color aGridCol
Definition: viewopti.hxx:107
bool operator!=(const ScGridOptions &rOpt) const
Definition: viewopti.hxx:73
void SetOptions(const ScViewOptions &rNew)
Definition: viewopti.cxx:595
bool GetOption(ScViewOption eOpt) const
Definition: viewopti.hxx:88
void SetGridOptions(const ScGridOptions &rNew)
Definition: viewopti.hxx:97
const ScGridOptions & GetGridOptions() const
Definition: viewopti.hxx:96
ScGridOptions aGridOpt
Definition: viewopti.hxx:109
ScLinkConfigItem aGridItem
Definition: viewopti.hxx:140
#define MAX_OPT
Definition: viewopti.hxx:58
static css::uno::Sequence< OUString > GetLayoutPropertyNames()
Definition: viewopti.cxx:231
OUString aGridColName
Definition: viewopti.hxx:108
const ScViewOptions & GetViewOptions() const
Definition: viewopti.hxx:128
DECL_LINK(LayoutCommitHdl, ScLinkConfigItem &, void)
static css::uno::Sequence< OUString > GetDisplayPropertyNames()
Definition: viewopti.cxx:246
ScVObjMode
Definition: global.hxx:376
void SetGridColor(const Color &rCol, const OUString &rName)
Definition: viewopti.hxx:93
#define MAX_TYPE
Definition: viewopti.hxx:59
#define SC_DLLPUBLIC
Definition: scdllapi.h:28
ScVObjMode GetObjMode(ScVObjType eObj) const
Definition: viewopti.hxx:91
ScLinkConfigItem aLayoutItem
Definition: viewopti.hxx:138