diff options
Diffstat (limited to 'svx/source/sidebar/styles')
-rw-r--r-- | svx/source/sidebar/styles/StylesPropertyPanel.cxx | 50 | ||||
-rw-r--r-- | svx/source/sidebar/styles/StylesPropertyPanel.hxx | 38 |
2 files changed, 88 insertions, 0 deletions
diff --git a/svx/source/sidebar/styles/StylesPropertyPanel.cxx b/svx/source/sidebar/styles/StylesPropertyPanel.cxx new file mode 100644 index 000000000..4e6b2235d --- /dev/null +++ b/svx/source/sidebar/styles/StylesPropertyPanel.cxx @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * 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/. + */ +#include <sal/config.h> + +#include <com/sun/star/lang/IllegalArgumentException.hpp> + +#include "StylesPropertyPanel.hxx" + +using namespace css; +using namespace css::uno; + +namespace svx::sidebar { + +std::unique_ptr<PanelLayout> StylesPropertyPanel::Create ( + weld::Widget* pParent, + const css::uno::Reference<css::frame::XFrame>& rxFrame) +{ + if (pParent == nullptr) + throw lang::IllegalArgumentException("no parent Window given to StylesPropertyPanel::Create", nullptr, 0); + if ( ! rxFrame.is()) + throw lang::IllegalArgumentException("no XFrame given to StylesPropertyPanel::Create", nullptr, 1); + + return std::make_unique<StylesPropertyPanel>(pParent, rxFrame); +} + +StylesPropertyPanel::StylesPropertyPanel(weld::Widget* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame) + : PanelLayout(pParent, "SidebarStylesPanel", "svx/ui/sidebarstylespanel.ui") + , m_xFontStyle(m_xBuilder->weld_toolbar("fontstyletoolbox")) + , m_xFontStyleDispatch(new ToolbarUnoDispatcher(*m_xFontStyle, *m_xBuilder, rxFrame)) + , m_xStyle(m_xBuilder->weld_toolbar("style")) + , m_xStyleDispatch(new ToolbarUnoDispatcher(*m_xStyle, *m_xBuilder, rxFrame)) +{ +} + +StylesPropertyPanel::~StylesPropertyPanel() +{ + m_xStyleDispatch.reset(); + m_xStyle.reset(); + m_xFontStyleDispatch.reset(); + m_xFontStyle.reset(); +} + +} +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/svx/source/sidebar/styles/StylesPropertyPanel.hxx b/svx/source/sidebar/styles/StylesPropertyPanel.hxx new file mode 100644 index 000000000..66f773ae9 --- /dev/null +++ b/svx/source/sidebar/styles/StylesPropertyPanel.hxx @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * 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/. + */ +#pragma once + +#include <sfx2/sidebar/PanelLayout.hxx> +#include <sfx2/weldutils.hxx> + +namespace svx::sidebar{ + +class StylesPropertyPanel : public PanelLayout +{ +private: + std::unique_ptr<weld::Toolbar> m_xFontStyle; + std::unique_ptr<ToolbarUnoDispatcher> m_xFontStyleDispatch; + + std::unique_ptr<weld::Toolbar> m_xStyle; + std::unique_ptr<ToolbarUnoDispatcher> m_xStyleDispatch; + +public: + virtual ~StylesPropertyPanel() override; + + static std::unique_ptr<PanelLayout> Create ( + weld::Widget* pParent, + const css::uno::Reference<css::frame::XFrame>& rxFrame); + + StylesPropertyPanel( + weld::Widget* pParent, + const css::uno::Reference<css::frame::XFrame>& rxFrame); +}; + +} //end of namespace svx::sidebar +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ |