From 4f71b88ad0ee71aead9ef20bb6efa58c5e1753b9 Mon Sep 17 00:00:00 2001 From: Szymon Kłos Date: Fri, 8 Jul 2016 00:03:43 +0200 Subject: GSoC notebookbar: impress table tab Change-Id: I50338e2f5405171785ea610a9febc3d4f5df96e5 Reviewed-on: https://gerrit.libreoffice.org/27052 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt --- sd/Library_sd.mk | 1 + sd/UIConfig_simpress.mk | 1 + sd/source/ui/table/TableDesignBox.cxx | 80 ++++++++++++ sd/source/ui/table/TableDesignPane.cxx | 2 +- sd/source/ui/table/TableDesignPane.hxx | 6 + sd/uiconfig/simpress/ui/notebookbar.ui | 25 +++- .../simpress/ui/tabledesignpanelhorizontal.ui | 142 +++++++++++++++++++++ 7 files changed, 255 insertions(+), 2 deletions(-) create mode 100644 sd/source/ui/table/TableDesignBox.cxx create mode 100644 sd/uiconfig/simpress/ui/tabledesignpanelhorizontal.ui (limited to 'sd') diff --git a/sd/Library_sd.mk b/sd/Library_sd.mk index 72ea43ea9cbd..8bed9f67077d 100644 --- a/sd/Library_sd.mk +++ b/sd/Library_sd.mk @@ -400,6 +400,7 @@ $(eval $(call gb_Library_add_exception_objects,sd,\ sd/source/ui/slidesorter/view/SlsTheme \ sd/source/ui/slidesorter/view/SlsToolTip \ sd/source/ui/slidesorter/view/SlsViewCacheContext \ + sd/source/ui/table/TableDesignBox \ sd/source/ui/table/TableDesignPane \ sd/source/ui/table/tablefunction \ sd/source/ui/table/tableobjectbar \ diff --git a/sd/UIConfig_simpress.mk b/sd/UIConfig_simpress.mk index a5351dcf6a02..dad22b214fb5 100644 --- a/sd/UIConfig_simpress.mk +++ b/sd/UIConfig_simpress.mk @@ -133,6 +133,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/simpress,\ sd/uiconfig/simpress/ui/slidetransitionspanel \ sd/uiconfig/simpress/ui/slidetransitionspanelhorizontal \ sd/uiconfig/simpress/ui/tabledesignpanel \ + sd/uiconfig/simpress/ui/tabledesignpanelhorizontal \ sd/uiconfig/simpress/ui/templatedialog \ )) diff --git a/sd/source/ui/table/TableDesignBox.cxx b/sd/source/ui/table/TableDesignBox.cxx new file mode 100644 index 000000000000..981a9dcf4095 --- /dev/null +++ b/sd/source/ui/table/TableDesignBox.cxx @@ -0,0 +1,80 @@ +/* -*- 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/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include "ViewShellBase.hxx" +#include +#include "TableDesignPane.hxx" +#include +#include + +namespace sd +{ + +class TableDesignBox : public VclVBox +{ + VclPtr m_pPane; + bool m_bIsInitialized; + +public: + TableDesignBox(vcl::Window* pParent); + ~TableDesignBox() override; + + virtual void dispose() override; + virtual void StateChanged(StateChangedType nStateChange) override; +}; + +VCL_BUILDER_FACTORY(TableDesignBox); + +TableDesignBox::TableDesignBox(vcl::Window* pParent) + : VclVBox(pParent) + , m_bIsInitialized(false) +{ +} + +TableDesignBox::~TableDesignBox() +{ + disposeOnce(); +} + +void TableDesignBox::dispose() +{ + m_pPane.disposeAndClear(); + VclVBox::dispose(); +} + +void TableDesignBox::StateChanged(StateChangedType nStateChange) +{ + if(SfxViewFrame::Current() && !m_bIsInitialized) + { + ViewShellBase* pBase = ViewShellBase::GetViewShellBase(SfxViewFrame::Current()); + + if(pBase) + { + m_pPane = VclPtr::Create(this, *pBase, false); + m_pPane->Show(); + m_pPane->SetSizePixel(GetSizePixel()); + m_bIsInitialized = true; + } + } + VclVBox::StateChanged(nStateChange); +} + +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/table/TableDesignPane.cxx b/sd/source/ui/table/TableDesignPane.cxx index 84873892fa85..f1eb9e83ba5f 100644 --- a/sd/source/ui/table/TableDesignPane.cxx +++ b/sd/source/ui/table/TableDesignPane.cxx @@ -317,7 +317,6 @@ void TableValueSet::Resize() Image aImage = GetItemImage(GetItemId(0)); Size aItemSize = aImage.GetSizePixel(); - aItemSize.Width() += 10; aItemSize.Height() += 10; int nColumnCount = (aValueSetSize.Width() - GetScrollWidth()) / aItemSize.Width(); if (nColumnCount < 1) @@ -783,6 +782,7 @@ void TableDesignWidget::FillDesignPreviewControl() aSize.Height() += (10 * nRows); m_pValueSet->set_width_request(aSize.Width()); m_pValueSet->set_height_request(aSize.Height()); + m_pValueSet->Resize(); } catch( Exception& ) { diff --git a/sd/source/ui/table/TableDesignPane.hxx b/sd/source/ui/table/TableDesignPane.hxx index 886848bcf471..13b45af85b12 100644 --- a/sd/source/ui/table/TableDesignPane.hxx +++ b/sd/source/ui/table/TableDesignPane.hxx @@ -115,6 +115,12 @@ public: , aImpl(this, rBase, false) { } + TableDesignPane( vcl::Window* pParent, ViewShellBase& rBase, bool ) + : PanelLayout(pParent, "TableDesignPanel", + "modules/simpress/ui/tabledesignpanelhorizontal.ui", css::uno::Reference()) + , aImpl(this, rBase, false) + { + } }; class TableDesignDialog : public ModalDialog diff --git a/sd/uiconfig/simpress/ui/notebookbar.ui b/sd/uiconfig/simpress/ui/notebookbar.ui index 7ef837ece2e1..677c4845eb79 100644 --- a/sd/uiconfig/simpress/ui/notebookbar.ui +++ b/sd/uiconfig/simpress/ui/notebookbar.ui @@ -227,7 +227,7 @@ True False - + True True True @@ -2571,6 +2571,29 @@ False + + + True + False + + + 8 + + + + + True + False + Table + + + + 9 + False + + False diff --git a/sd/uiconfig/simpress/ui/tabledesignpanelhorizontal.ui b/sd/uiconfig/simpress/ui/tabledesignpanelhorizontal.ui new file mode 100644 index 000000000000..72847b263efc --- /dev/null +++ b/sd/uiconfig/simpress/ui/tabledesignpanelhorizontal.ui @@ -0,0 +1,142 @@ + + + + + + + True + False + True + vertical + 12 + + + 70 + True + False + + + True + False + True + + + False + True + 0 + + + + + True + False + True + 6 + 6 + True + + + _Header row + True + True + False + True + 0 + True + + + 0 + 0 + + + + + Tot_al row + True + True + False + True + 0 + True + + + 0 + 1 + + + + + _Banded rows + True + True + False + True + 0 + True + + + 1 + 0 + + + + + Ba_nded columns + True + True + False + True + 0 + True + + + 1 + 1 + + + + + Fi_rst column + True + True + False + True + 0 + True + + + 2 + 0 + + + + + _Last column + True + True + False + True + 0 + True + + + 2 + 1 + + + + + False + True + 1 + + + + + False + True + 0 + + + + -- cgit