Line data Source code
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 :
10 : #ifndef SC_CONDFORMATMGR_HXX
11 : #define SC_CONDFORMATMGR_HXX
12 :
13 : #include "sc.hrc"
14 :
15 : #include <vcl/dialog.hxx>
16 : #include <svtools/svtabbx.hxx>
17 : #include <vcl/button.hxx>
18 : #include <vcl/fixed.hxx>
19 : #include <svtools/headbar.hxx>
20 :
21 : #include "conditio.hxx"
22 :
23 : #include <map>
24 :
25 : class ScDocument;
26 :
27 0 : class ScCondFormatManagerWindow : public SvTabListBox
28 : {
29 : private:
30 : void Init();
31 : OUString createEntryString(const ScConditionalFormat& rFormat);
32 :
33 : HeaderBar maHeaderBar;
34 : ScDocument* mpDoc;
35 : ScConditionalFormatList* mpFormatList;
36 : std::map<SvTreeListEntry*, sal_Int32> maMapLBoxEntryToCondIndex;
37 :
38 : DECL_LINK( HeaderEndDragHdl, void* );
39 :
40 : public:
41 : ScCondFormatManagerWindow( Window* pParent, ScDocument* pDoc, ScConditionalFormatList* pFormatList );
42 :
43 : void DeleteSelection();
44 : ScConditionalFormat* GetSelection();
45 : void Update();
46 : };
47 :
48 0 : class ScCondFormatManagerCtrl : Control
49 : {
50 : public:
51 : ScCondFormatManagerCtrl(Window* pParent, ScDocument* pDoc, ScConditionalFormatList* pFormatList);
52 :
53 : ScConditionalFormat* GetSelection();
54 : void DeleteSelection();
55 : void Update();
56 0 : ScCondFormatManagerWindow &GetListControl() { return maWdManager; }
57 :
58 : private:
59 : ScCondFormatManagerWindow maWdManager;
60 : };
61 :
62 : class ScCondFormatManagerDlg : public ModalDialog
63 : {
64 : public:
65 : ScCondFormatManagerDlg(Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList, const ScAddress& rPos);
66 : virtual ~ScCondFormatManagerDlg();
67 :
68 : ScConditionalFormatList* GetConditionalFormatList();
69 :
70 : bool CondFormatsChanged();
71 :
72 : virtual bool IsInRefMode() const;
73 :
74 : private:
75 : PushButton maBtnAdd;
76 : PushButton maBtnRemove;
77 : PushButton maBtnEdit;
78 :
79 : OKButton maBtnOk;
80 : CancelButton maBtnCancel;
81 :
82 : FixedLine maFlLine;
83 :
84 : ScConditionalFormatList* mpFormatList;
85 :
86 : ScCondFormatManagerCtrl maCtrlManager;
87 :
88 : ScDocument* mpDoc;
89 : ScAddress maPos;
90 :
91 : DECL_LINK(RemoveBtnHdl, void*);
92 : DECL_LINK(EditBtnHdl, void*);
93 : DECL_LINK(AddBtnHdl, void*);
94 :
95 : bool mbModified;
96 : };
97 :
98 : #endif
99 :
100 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|