summaryrefslogtreecommitdiff
path: root/sw/source/uibase/sidebar/ThemePanel.hxx
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2015-04-22 12:32:06 +0900
committerTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2015-04-22 12:41:15 +0900
commit7e20c37c4c60d485736261b60089acdc7dc4b886 (patch)
tree62ee875fb20b325e14a5d910993c92e0100f464e /sw/source/uibase/sidebar/ThemePanel.hxx
parent25d200bf448735f063ce1e3ca9f762d39892eafd (diff)
Theme panel to change color/fonts of current styles
In a theme panel the user can change / replace the styles font and colors used in some predefined style elements (for example Heading). This is "fake" theme support and not the same thing that MSO uses, but it still can be useful for the users to change the appearance of the document. This is the initial commit of the work and will be much extended. Currently it is only available when experimental mode is enabled. Change-Id: I8d34ce87d21975ec6020ac45ecaebb0701b63b2a
Diffstat (limited to 'sw/source/uibase/sidebar/ThemePanel.hxx')
-rw-r--r--sw/source/uibase/sidebar/ThemePanel.hxx79
1 files changed, 79 insertions, 0 deletions
diff --git a/sw/source/uibase/sidebar/ThemePanel.hxx b/sw/source/uibase/sidebar/ThemePanel.hxx
new file mode 100644
index 000000000000..ed5c19df39f3
--- /dev/null
+++ b/sw/source/uibase/sidebar/ThemePanel.hxx
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+
+#ifndef INCLUDED_SW_SOURCE_UIBASE_SIDEBAR_THEMEPANEL_HXX
+#define INCLUDED_SW_SOURCE_UIBASE_SIDEBAR_THEMEPANEL_HXX
+
+#include <com/sun/star/frame/XFrame.hpp>
+#include <com/sun/star/document/XUndoManager.hpp>
+
+#include <svx/sidebar/Popup.hxx>
+#include <svx/sidebar/PanelLayout.hxx>
+
+#include <sfx2/sidebar/ControllerItem.hxx>
+
+#include <svx/pageitem.hxx>
+#include <svx/rulritem.hxx>
+#include <editeng/sizeitem.hxx>
+
+#include <vcl/ctrl.hxx>
+#include <vcl/fixed.hxx>
+#include <vcl/button.hxx>
+#include <vcl/toolbox.hxx>
+#include <vcl/lstbox.hxx>
+#include <vcl/field.hxx>
+#include <svl/intitem.hxx>
+#include <svl/lstner.hxx>
+
+#include <svx/fntctrl.hxx>
+
+#include "docsh.hxx"
+
+namespace sw { namespace sidebar {
+
+class ThemePanel : public PanelLayout,
+ public sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
+{
+public:
+ static ThemePanel* Create(vcl::Window* pParent,
+ const css::uno::Reference<css::frame::XFrame>& rxFrame,
+ SfxBindings* pBindings);
+
+ virtual void NotifyItemUpdate(const sal_uInt16 nSId,
+ const SfxItemState eState,
+ const SfxPoolItem* pState,
+ const bool bIsEnabled) SAL_OVERRIDE;
+
+ SfxBindings* GetBindings() const
+ {
+ return mpBindings;
+ }
+
+private:
+ ThemePanel(vcl::Window* pParent,
+ const css::uno::Reference<css::frame::XFrame>& rxFrame,
+ SfxBindings* pBindings);
+
+ virtual ~ThemePanel();
+
+ SfxBindings* mpBindings;
+
+ ListBox* mpListBoxFonts;
+ ListBox* mpListBoxColors;
+ PushButton* mpApplyButton;
+
+ DECL_LINK(ClickHdl, void*);
+};
+
+}} // end of namespace sw::sidebar
+
+#endif // INCLUDED_SW_SOURCE_UIBASE_SIDEBAR_THEMEPANEL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */