cid#1636690 Dereference after null check
[LibreOffice.git] / cui / source / inc / backgrnd.hxx
blobaf23e6f0a19860d0caa950d050248a2544d507f0
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
19 #pragma once
21 #include <memory>
23 #include "cuitabarea.hxx"
25 class BackgroundPreviewImpl;
26 class SvxOpenGraphicDialog;
27 class SvxBrushItem;
29 /** class SvxBackgroundTabPage --------------------------------------------
31 [Description]
32 With this TabPage a Brush (e. g. for a frame's background color)
33 can be set.
34 [Items]
35 <SvxBrushItem>: <SID_ATTR_BRUSH>;
38 class SvxBkgTabPage : public SvxAreaTabPage
40 static const WhichRangesContainer pBkgRanges;
42 std::unique_ptr<weld::ComboBox> m_xTblLBox;
43 bool m_bHighlighting = false;
44 bool m_bCharBackColor = false;
46 // m_aAttrSet is used to convert between SvxBrushItem and XFILL item attributes and also to
47 // allow for cell, row, and table backgrounds to be set in one Table dialog opening.
48 SfxItemSet m_aAttrSet;
50 sal_Int32 m_nActPos = -1;
52 DECL_LINK(TblDestinationHdl_Impl, weld::ComboBox&, void);
54 void SetActiveTableDestinationBrushItem();
56 public:
57 SvxBkgTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rInAttrs);
58 virtual ~SvxBkgTabPage() override;
60 // returns the area of the which-values
61 static const WhichRangesContainer & GetRanges() { return pBkgRanges; }
63 static std::unique_ptr<SfxTabPage> Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* );
64 virtual bool FillItemSet( SfxItemSet* ) override;
65 virtual void ActivatePage( const SfxItemSet& ) override;
66 virtual DeactivateRC DeactivatePage( SfxItemSet* pSet ) override;
67 virtual void PageCreated( const SfxAllItemSet& aSet ) override;
68 virtual void Reset( const SfxItemSet * ) override;
72 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */