fix baseline build (old cairo) - 'cairo_rectangle_int_t' does not name a type
[LibreOffice.git] / sc / source / ui / inc / scuitphfedit.hxx
blob3fddc293ddaddbcbdacb76e5b74e10116a379f78
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 .
20 #ifndef INCLUDED_SC_SOURCE_UI_INC_SCUITPHFEDIT_HXX
21 #define INCLUDED_SC_SOURCE_UI_INC_SCUITPHFEDIT_HXX
23 #include "tphfedit.hxx"
25 enum ScHFEntryId
27 eNoneEntry ,
28 ePageEntry ,
29 ePagesEntry ,
30 eSheetEntry ,
31 eConfidentialEntry ,
32 eFileNamePageEntry ,
33 eExtFileNameEntry ,
34 ePageSheetEntry ,
35 ePageFileNameEntry ,
36 ePageExtFileNameEntry ,
37 eUserNameEntry ,
38 eCreatedByEntry ,
39 eEntryCount
42 class EditTextObject;
43 class EditEngine;
45 class ScHFEditPage : public SfxTabPage
47 public:
48 virtual bool FillItemSet ( SfxItemSet* rCoreSet ) SAL_OVERRIDE;
49 virtual void Reset ( const SfxItemSet* rCoreSet ) SAL_OVERRIDE;
51 void SetNumType(SvxNumType eNumType);
52 void ClearTextAreas();
54 protected:
55 ScHFEditPage( vcl::Window* pParent,
56 const SfxItemSet& rCoreSet,
57 sal_uInt16 nWhich,
58 bool bHeader );
59 virtual ~ScHFEditPage();
60 virtual void dispose() SAL_OVERRIDE;
62 private:
63 VclPtr<ScEditWindow> m_pWndLeft;
64 VclPtr<ScEditWindow> m_pWndCenter;
65 VclPtr<ScEditWindow> m_pWndRight;
66 VclPtr<FixedText> m_pFtDefinedHF;
67 VclPtr<ListBox> m_pLbDefined;
68 VclPtr<FixedText> m_pFtCustomHF;
69 VclPtr<PushButton> m_pBtnText;
70 VclPtr<ScExtIButton> m_pBtnFile;
71 VclPtr<PushButton> m_pBtnTable;
72 VclPtr<PushButton> m_pBtnPage;
73 VclPtr<PushButton> m_pBtnLastPage;
74 VclPtr<PushButton> m_pBtnDate;
75 VclPtr<PushButton> m_pBtnTime;
77 VclPtr<FixedText> m_pFtConfidential;
78 VclPtr<FixedText> m_pFtPage;
79 VclPtr<FixedText> m_pFtOfQuestion;
80 VclPtr<FixedText> m_pFtOf;
81 VclPtr<FixedText> m_pFtNone;
82 VclPtr<FixedText> m_pFtCreatedBy;
83 VclPtr<FixedText> m_pFtCustomized;
85 sal_uInt16 nWhich;
86 OUString aCmdArr[6];
88 DECL_LINK( ObjectSelectHdl, ScEditWindow* );
90 private:
91 void FillCmdArr();
92 void InitPreDefinedList();
93 void ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling = false);
94 void InsertToDefinedList();
95 void RemoveFromDefinedList();
96 void SetSelectDefinedList();
97 bool IsPageEntry(EditEngine*pEngine, EditTextObject* pTextObj);
98 static bool IsDateEntry(EditTextObject* pTextObj);
99 static bool IsExtFileNameEntry(EditTextObject* pTextObj);
100 DECL_LINK( ListHdl_Impl, ListBox* );
101 DECL_LINK( ClickHdl, PushButton* );
102 DECL_STATIC_LINK( ScHFEditPage, MenuHdl, ScExtIButton* );
105 class ScRightHeaderEditPage : public ScHFEditPage
107 friend class VclPtr<ScRightHeaderEditPage>;
108 public:
109 static VclPtr<SfxTabPage> Create( vcl::Window* pParent, const SfxItemSet* rCoreSet );
111 private:
112 ScRightHeaderEditPage( vcl::Window* pParent, const SfxItemSet& rSet );
115 class ScLeftHeaderEditPage : public ScHFEditPage
117 friend class VclPtr<ScLeftHeaderEditPage>;
118 public:
119 static VclPtr<SfxTabPage> Create( vcl::Window* pParent, const SfxItemSet* rCoreSet );
121 private:
122 ScLeftHeaderEditPage( vcl::Window* pParent, const SfxItemSet& rSet );
125 class ScRightFooterEditPage : public ScHFEditPage
127 friend class VclPtr<ScRightFooterEditPage>;
128 public:
129 static VclPtr<SfxTabPage> Create( vcl::Window* pParent, const SfxItemSet* rCoreSet );
131 private:
132 ScRightFooterEditPage( vcl::Window* pParent, const SfxItemSet& rSet );
135 class ScLeftFooterEditPage : public ScHFEditPage
137 friend class VclPtr<ScLeftFooterEditPage>;
138 public:
139 static VclPtr<SfxTabPage> Create( vcl::Window* pParent, const SfxItemSet* rCoreSet );
141 private:
142 ScLeftFooterEditPage( vcl::Window* pParent, const SfxItemSet& rSet );
145 #endif
147 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */