officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu | 26 sw/Library_sw.mk | 1 sw/UIConfig_swriter.mk | 1 sw/inc/cmdid.h | 1 sw/sdi/_tabsh.sdi | 7 sw/sdi/swriter.sdi | 18 sw/source/uibase/shells/tabsh.cxx | 27 sw/source/uibase/sidebar/SwPanelFactory.cxx | 7 sw/source/uibase/sidebar/TableEditPanel.cxx | 118 ++ sw/source/uibase/sidebar/TableEditPanel.hxx | 56 + sw/uiconfig/swriter/ui/sidebartableedit.ui | 458 +++++++++++ 11 files changed, 720 insertions(+)
New commits: commit 9a0982e06cb5a49af5057398b881d2e74dd10fc0 Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Mon Nov 4 14:16:41 2019 +0100 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Mon Nov 4 17:52:09 2019 +0100 Table panel: Implement functionality of Row Height spinbutton Reviewed-on: https://gerrit.libreoffice.org/81894 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> (cherry picked from commit 5e113259f8382c2d045193abd79267529a6a5f6b) Change-Id: Ic3e3ce31fdc74c9cb4c41e1243f10f5977d5bb0c Reviewed-on: https://gerrit.libreoffice.org/82025 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/sw/inc/cmdid.h b/sw/inc/cmdid.h index 8e0ec469d648..d5e29e239df2 100644 --- a/sw/inc/cmdid.h +++ b/sw/inc/cmdid.h @@ -410,6 +410,7 @@ #define FN_TABLE_MODE_FIX_PROP (FN_FORMAT + 190) /* -"- */ #define FN_TABLE_MODE_VARIABLE (FN_FORMAT + 191) /* -"- */ #define FN_TABLE_BOX_TEXTORIENTATION (FN_FORMAT + 192) /* text orientation of table cells */ +#define SID_ATTR_TABLE_ROW_HEIGHT (FN_FORMAT + 193) #define FN_TABLE_AUTOSUM (FN_FORMAT + 195) /* */ diff --git a/sw/sdi/_tabsh.sdi b/sw/sdi/_tabsh.sdi index 9cb65cd4d276..948d6e5476f6 100644 --- a/sw/sdi/_tabsh.sdi +++ b/sw/sdi/_tabsh.sdi @@ -437,5 +437,12 @@ interface BaseTextTable StateMethod = GetState ; DisableFlags="SfxDisableFlags::SwOnProtectedCursor"; ] + + SID_ATTR_TABLE_ROW_HEIGHT + [ + ExecMethod = Execute ; + StateMethod = GetState ; + DisableFlags="SfxDisableFlags::SwOnProtectedCursor"; + ] } diff --git a/sw/sdi/swriter.sdi b/sw/sdi/swriter.sdi index af23a1819212..9c8eee8fd5b4 100644 --- a/sw/sdi/swriter.sdi +++ b/sw/sdi/swriter.sdi @@ -7790,3 +7790,21 @@ SfxVoidItem DatePickerFormField FN_INSERT_DATE_FORMFIELD ToolBoxConfig = TRUE, GroupId = SfxGroupId::Controls; ] + +SfxUInt32Item TableRowHeight SID_ATTR_TABLE_ROW_HEIGHT + +[ + AutoUpdate = TRUE, + FastCall = FALSE, + ReadOnlyDoc = FALSE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + + + AccelConfig = TRUE, + MenuConfig = TRUE, + ToolBoxConfig = TRUE, + GroupId = SfxGroupId::Table; +] diff --git a/sw/source/uibase/shells/tabsh.cxx b/sw/source/uibase/shells/tabsh.cxx index ad1aa432dfb7..b719c989ff8f 100644 --- a/sw/source/uibase/shells/tabsh.cxx +++ b/sw/source/uibase/shells/tabsh.cxx @@ -1105,6 +1105,21 @@ void SwTableShell::Execute(SfxRequest &rReq) //'this' is already destroyed return; } + case SID_ATTR_TABLE_ROW_HEIGHT: + { + const SfxUInt32Item* pItem2 = rReq.GetArg<SfxUInt32Item>(SID_ATTR_TABLE_ROW_HEIGHT); + if (pItem2) + { + long nNewHeight = pItem2->GetValue(); + std::unique_ptr<SwFormatFrameSize> pHeight = rSh.GetRowHeight(); + if ( pHeight ) + { + pHeight->SetHeight(nNewHeight); + rSh.SetRowHeight(*pHeight); + } + } + return; + } default: bMore = true; } @@ -1380,6 +1395,18 @@ void SwTableShell::GetState(SfxItemSet &rSet) if(rSh.HasBoxSelection()) rSet.DisableItem( nSlot ); break; + case SID_ATTR_TABLE_ROW_HEIGHT: + { + SfxUInt32Item aRowHeight(SID_ATTR_TABLE_ROW_HEIGHT); + std::unique_ptr<SwFormatFrameSize> pHeight = rSh.GetRowHeight(); + if (pHeight) + { + long nHeight = pHeight->GetHeight(); + aRowHeight.SetValue(nHeight); + rSet.Put(aRowHeight); + } + break; + } } nSlot = aIter.NextWhich(); } diff --git a/sw/source/uibase/sidebar/SwPanelFactory.cxx b/sw/source/uibase/sidebar/SwPanelFactory.cxx index f188be4da86a..7ea1bfbdf815 100644 --- a/sw/source/uibase/sidebar/SwPanelFactory.cxx +++ b/sw/source/uibase/sidebar/SwPanelFactory.cxx @@ -185,7 +185,7 @@ Reference<ui::XUIElement> SAL_CALL SwPanelFactory::createUIElement ( } else if (rsResourceURL.endsWith("/TableEditPanel")) { - VclPtr<vcl::Window> pPanel = sw::sidebar::TableEditPanel::Create(pParentWindow, xFrame); + VclPtr<vcl::Window> pPanel = sw::sidebar::TableEditPanel::Create(pParentWindow, xFrame, pBindings ); xElement = sfx2::sidebar::SidebarPanelBase::Create( rsResourceURL, xFrame, pPanel, ui::LayoutSize(-1,-1,-1)); } diff --git a/sw/source/uibase/sidebar/TableEditPanel.cxx b/sw/source/uibase/sidebar/TableEditPanel.cxx index 811ffdfdfb0e..f5650a374309 100644 --- a/sw/source/uibase/sidebar/TableEditPanel.cxx +++ b/sw/source/uibase/sidebar/TableEditPanel.cxx @@ -8,8 +8,16 @@ * */ -#include <sal/config.h> #include "TableEditPanel.hxx" +#include <sal/config.h> +#include <swtypes.hxx> +#include <cmdid.h> +#include <svl/intitem.hxx> +#include <sfx2/bindings.hxx> +#include <sfx2/dispatch.hxx> +#include <svtools/unitconv.hxx> +#include <swmodule.hxx> +#include <usrpref.hxx> #include <com/sun/star/lang/IllegalArgumentException.hpp> @@ -18,7 +26,8 @@ namespace sw namespace sidebar { VclPtr<vcl::Window> TableEditPanel::Create(vcl::Window* pParent, - const css::uno::Reference<css::frame::XFrame>& rxFrame) + const css::uno::Reference<css::frame::XFrame>& rxFrame, + SfxBindings* pBindings) { if (pParent == nullptr) throw css::lang::IllegalArgumentException( @@ -27,21 +36,82 @@ VclPtr<vcl::Window> TableEditPanel::Create(vcl::Window* pParent, throw css::lang::IllegalArgumentException("no XFrame given to TableEditPanel::Create", nullptr, 1); - return VclPtr<TableEditPanel>::Create(pParent, rxFrame); + return VclPtr<TableEditPanel>::Create(pParent, rxFrame, pBindings); } -void TableEditPanel::NotifyItemUpdate(const sal_uInt16 /*nSId*/, const SfxItemState /*eState*/, - const SfxPoolItem* /*pState*/, const bool /*bIsEnabled*/) +void TableEditPanel::NotifyItemUpdate(const sal_uInt16 nSID, const SfxItemState eState, + const SfxPoolItem* pState, const bool /*bIsEnabled*/) { + switch (nSID) + { + case SID_ATTR_TABLE_ROW_HEIGHT: + { + if (pState && eState >= SfxItemState::DEFAULT) + { + const SfxUInt32Item* pItem = static_cast<const SfxUInt32Item*>(pState); + if (pItem) + { + long nNewHeight = pItem->GetValue(); + nNewHeight = m_pHeightEdit->Normalize(nNewHeight); + m_pHeightEdit->SetValue(nNewHeight, FieldUnit::TWIP); + } + } + else if (eState == SfxItemState::DISABLED) + { + m_pHeightEdit->Disable(); + } + else + { + m_pHeightEdit->SetEmptyFieldValue(); + } + break; + } + } } TableEditPanel::TableEditPanel(vcl::Window* pParent, - const css::uno::Reference<css::frame::XFrame>& rxFrame) + const css::uno::Reference<css::frame::XFrame>& rxFrame, + SfxBindings* pBindings) : PanelLayout(pParent, "TableEditPanel", "modules/swriter/ui/sidebartableedit.ui", rxFrame) + , m_pBindings(pBindings) + , m_aRowHeightController(SID_ATTR_TABLE_ROW_HEIGHT, *pBindings, *this) { + get(m_pHeightEdit, "rowheight"); + InitRowHeightToolitem(); } TableEditPanel::~TableEditPanel() { disposeOnce(); } + +void TableEditPanel::InitRowHeightToolitem() +{ + Link<Edit&, void> aLink = LINK(this, TableEditPanel, RowHeightMofiyHdl); + m_pHeightEdit->SetModifyHdl(aLink); + + FieldUnit eFieldUnit = SW_MOD()->GetUsrPref(false)->GetMetric(); + SetFieldUnit(*m_pHeightEdit, eFieldUnit); + + m_pHeightEdit->SetMin(MINLAY, FieldUnit::TWIP); + m_pHeightEdit->SetMax(SAL_MAX_INT32, FieldUnit::TWIP); +} + +void TableEditPanel::dispose() +{ + m_pHeightEdit.clear(); + m_aRowHeightController.dispose(); + + PanelLayout::dispose(); +} + +IMPL_LINK_NOARG(TableEditPanel, RowHeightMofiyHdl, Edit&, void) +{ + SwTwips nNewHeight = static_cast<SwTwips>( + m_pHeightEdit->Denormalize(m_pHeightEdit->GetValue(FieldUnit::TWIP))); + SfxUInt32Item aRowHeight(SID_ATTR_TABLE_ROW_HEIGHT); + aRowHeight.SetValue(nNewHeight); + + m_pBindings->GetDispatcher()->ExecuteList(SID_ATTR_TABLE_ROW_HEIGHT, SfxCallMode::RECORD, + { &aRowHeight }); +} } } // end of namespace ::sw::sidebar diff --git a/sw/source/uibase/sidebar/TableEditPanel.hxx b/sw/source/uibase/sidebar/TableEditPanel.hxx index 25194e2620ac..ea9a2bad3637 100644 --- a/sw/source/uibase/sidebar/TableEditPanel.hxx +++ b/sw/source/uibase/sidebar/TableEditPanel.hxx @@ -14,6 +14,7 @@ #include <com/sun/star/frame/XFrame.hpp> #include <svx/sidebar/PanelLayout.hxx> #include <sfx2/sidebar/ControllerItem.hxx> +#include <svx/relfld.hxx> namespace sw { @@ -26,14 +27,26 @@ class TableEditPanel : public PanelLayout, public: static VclPtr<vcl::Window> Create(vcl::Window* pParent, - const css::uno::Reference<css::frame::XFrame>& rxFrame); + 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) override; private: - TableEditPanel(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame); + TableEditPanel(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame, + SfxBindings* pBindings); virtual ~TableEditPanel() override; + virtual void dispose() override; + + void InitRowHeightToolitem(); + + SfxBindings* m_pBindings; + + VclPtr<SvxRelativeField> m_pHeightEdit; + ::sfx2::sidebar::ControllerItem m_aRowHeightController; + + DECL_LINK(RowHeightMofiyHdl, Edit&, void); }; } } // end of namespace sw::sidebar commit a981e7e30bfc26275954c1ddb1bae2397200c9f3 Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Wed Oct 23 18:19:23 2019 +0200 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Mon Nov 4 17:51:58 2019 +0100 Add new 'Table' sidebar panel to Writer This is the initial layout of the panel. It does not functional yet. Reviewed-on: https://gerrit.libreoffice.org/81893 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> (cherry picked from commit 83658678e69ba83979c659e37fd3c950942139f9) Change-Id: Idd67ed921b71559bb704ef50cbfa97013fb80d6b Reviewed-on: https://gerrit.libreoffice.org/82024 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu index 6f162ee14880..0aa8ed66c4bf 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu @@ -1545,6 +1545,32 @@ <value>8</value> </prop> </node> + + <node oor:name="TableEditPanel" oor:op="replace"> + <prop oor:name="Title" oor:type="xs:string"> + <value xml:lang="en-US">Table</value> + </prop> + <prop oor:name="TitleBarIsOptional" oor:type="xs:boolean"> + <value>false</value> + </prop> + <prop oor:name="Id" oor:type="xs:string"> + <value>TableEditPanel</value> + </prop> + <prop oor:name="DeckId" oor:type="xs:string"> + <value>PropertyDeck</value> + </prop> + <prop oor:name="ContextList"> + <value oor:separator=";"> + WriterVariants, Table, visible ; + </value> + </prop> + <prop oor:name="ImplementationURL" oor:type="xs:string"> + <value>private:resource/toolpanel/SwPanelFactory/TableEditPanel</value> + </prop> + <prop oor:name="OrderIndex" oor:type="xs:int"> + <value>300</value> + </prop> + </node> </node> </node> </oor:component-data> diff --git a/sw/Library_sw.mk b/sw/Library_sw.mk index 79880d84bd20..df747f569584 100644 --- a/sw/Library_sw.mk +++ b/sw/Library_sw.mk @@ -703,6 +703,7 @@ $(eval $(call gb_Library_add_exception_objects,sw,\ sw/source/uibase/sidebar/PageFooterPanel \ sw/source/uibase/sidebar/PageStylesPanel \ sw/source/uibase/sidebar/WrapPropertyPanel \ + sw/source/uibase/sidebar/TableEditPanel \ sw/source/uibase/sidebar/ThemePanel \ sw/source/uibase/sidebar/SwPanelFactory \ sw/source/uibase/table/chartins \ diff --git a/sw/UIConfig_swriter.mk b/sw/UIConfig_swriter.mk index 3b6765571189..4167a4eee307 100644 --- a/sw/UIConfig_swriter.mk +++ b/sw/UIConfig_swriter.mk @@ -256,6 +256,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/swriter,\ sw/uiconfig/swriter/ui/pagefooterpanel \ sw/uiconfig/swriter/ui/sidebarwrap \ sw/uiconfig/swriter/ui/sidebarstylepresets \ + sw/uiconfig/swriter/ui/sidebartableedit \ sw/uiconfig/swriter/ui/sidebartheme \ sw/uiconfig/swriter/ui/sortdialog \ sw/uiconfig/swriter/ui/spellmenu \ diff --git a/sw/source/uibase/sidebar/SwPanelFactory.cxx b/sw/source/uibase/sidebar/SwPanelFactory.cxx index 9fe8ccc143c9..f188be4da86a 100644 --- a/sw/source/uibase/sidebar/SwPanelFactory.cxx +++ b/sw/source/uibase/sidebar/SwPanelFactory.cxx @@ -26,6 +26,7 @@ #include "PageHeaderPanel.hxx" #include "PageFooterPanel.hxx" #include "WrapPropertyPanel.hxx" +#include "TableEditPanel.hxx" #include <navipi.hxx> #include <redlndlg.hxx> @@ -182,6 +183,12 @@ Reference<ui::XUIElement> SAL_CALL SwPanelFactory::createUIElement ( xElement = sfx2::sidebar::SidebarPanelBase::Create( rsResourceURL, xFrame, pPanel, ui::LayoutSize(-1,-1,-1)); } + else if (rsResourceURL.endsWith("/TableEditPanel")) + { + VclPtr<vcl::Window> pPanel = sw::sidebar::TableEditPanel::Create(pParentWindow, xFrame); + xElement = sfx2::sidebar::SidebarPanelBase::Create( + rsResourceURL, xFrame, pPanel, ui::LayoutSize(-1,-1,-1)); + } return xElement; } diff --git a/sw/source/uibase/sidebar/TableEditPanel.cxx b/sw/source/uibase/sidebar/TableEditPanel.cxx new file mode 100644 index 000000000000..811ffdfdfb0e --- /dev/null +++ b/sw/source/uibase/sidebar/TableEditPanel.cxx @@ -0,0 +1,48 @@ +/* -*- 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/. + * + */ + +#include <sal/config.h> +#include "TableEditPanel.hxx" + +#include <com/sun/star/lang/IllegalArgumentException.hpp> + +namespace sw +{ +namespace sidebar +{ +VclPtr<vcl::Window> TableEditPanel::Create(vcl::Window* pParent, + const css::uno::Reference<css::frame::XFrame>& rxFrame) +{ + if (pParent == nullptr) + throw css::lang::IllegalArgumentException( + "no parent Window given to TableEditPanel::Create", nullptr, 0); + if (!rxFrame.is()) + throw css::lang::IllegalArgumentException("no XFrame given to TableEditPanel::Create", + nullptr, 1); + + return VclPtr<TableEditPanel>::Create(pParent, rxFrame); +} + +void TableEditPanel::NotifyItemUpdate(const sal_uInt16 /*nSId*/, const SfxItemState /*eState*/, + const SfxPoolItem* /*pState*/, const bool /*bIsEnabled*/) +{ +} + +TableEditPanel::TableEditPanel(vcl::Window* pParent, + const css::uno::Reference<css::frame::XFrame>& rxFrame) + : PanelLayout(pParent, "TableEditPanel", "modules/swriter/ui/sidebartableedit.ui", rxFrame) +{ +} + +TableEditPanel::~TableEditPanel() { disposeOnce(); } +} +} // end of namespace ::sw::sidebar + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file diff --git a/sw/source/uibase/sidebar/TableEditPanel.hxx b/sw/source/uibase/sidebar/TableEditPanel.hxx new file mode 100644 index 000000000000..25194e2620ac --- /dev/null +++ b/sw/source/uibase/sidebar/TableEditPanel.hxx @@ -0,0 +1,43 @@ +/* -*- 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_TABLEEDITPANEL_HXX +#define INCLUDED_SW_SOURCE_UIBASE_SIDEBAR_TABLEEDITPANEL_HXX + +#include <com/sun/star/frame/XFrame.hpp> +#include <svx/sidebar/PanelLayout.hxx> +#include <sfx2/sidebar/ControllerItem.hxx> + +namespace sw +{ +namespace sidebar +{ +class TableEditPanel : public PanelLayout, + public sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface +{ + friend class VclPtr<TableEditPanel>; + +public: + static VclPtr<vcl::Window> Create(vcl::Window* pParent, + const css::uno::Reference<css::frame::XFrame>& rxFrame); + + virtual void NotifyItemUpdate(const sal_uInt16 nSId, const SfxItemState eState, + const SfxPoolItem* pState, const bool bIsEnabled) override; + +private: + TableEditPanel(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame); + virtual ~TableEditPanel() override; +}; +} +} // end of namespace sw::sidebar + +#endif // INCLUDED_SW_SOURCE_UIBASE_SIDEBAR_TABLEEDITPANEL_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file diff --git a/sw/uiconfig/swriter/ui/sidebartableedit.ui b/sw/uiconfig/swriter/ui/sidebartableedit.ui new file mode 100644 index 000000000000..e48865b0f8a8 --- /dev/null +++ b/sw/uiconfig/swriter/ui/sidebartableedit.ui @@ -0,0 +1,458 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.20.4 --> +<interface domain="svx"> + <requires lib="gtk+" version="3.18"/> + <requires lib="LibreOffice" version="1.0"/> + <object class="GtkGrid" id="TableEditPanel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="orientation">vertical</property> + <property name="column_spacing">6</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkBox" id="box5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkBox" id="box6"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="insertlabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes" context="sidebatableedit|insertlabel">Insert:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">insert</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="sfxlo-SidebarToolBox" id="insert"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkToolButton" id="insertrowsbefore"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:InsertRowsBefore</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="insertrowsafter"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:InsertRowsAfter</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="insertcolumnsbefore"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:InsertColumnsBefore</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="insertcolumnsafter"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:InsertColumnsAfter</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box7"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="deletelabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes" context="sidebatableedit|deletelabel">Delete:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">delete</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="sfxlo-SidebarToolBox" id="delete"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkToolButton" id="deleterows"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:DeleteRows</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="deletecolumns"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:DeleteColumns</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="deletetable"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:DeleteTable</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="sizelabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes" context="sidebatableedit|deletelabel">Size:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">box3</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkBox" id="box1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkImage" id="image1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="pixbuf">cmd/sc_rowheight.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="svxlo-SvxRelativeField" id="rowheight"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="has_tooltip">True</property> + <property name="tooltip_text" translatable="yes" context="sidebatableedit|rowheight|tooltip_text">Row Height</property> + <property name="hexpand">True</property> + <property name="text">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="rowheight-atkobject"> + <property name="AtkObject::accessible-name" translatable="yes" context="sidebatableedit|rowheight-atkobject">Row Height</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkImage" id="image2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="pixbuf">cmd/sc_columnwidth.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="svxlo-SvxRelativeField" id="columnwidth"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="has_tooltip">True</property> + <property name="tooltip_text" translatable="yes" context="sidebatableedit|columnwidth|tooltip_text">Column Width</property> + <property name="hexpand">True</property> + <property name="text">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="columnwidth-atkobject"> + <property name="AtkObject::accessible-name" translatable="yes" context="sidebatableedit|columnwidth-atkobject">Column Width</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="sfxlo-SidebarToolBox" id="rowsizing"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkToolButton" id="minimalrowheight"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:SetMinimalRowHeight</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="optimalrowheight"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:SetOptimalRowHeight</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="distributerows"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:DistributeRows</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="sfxlo-SidebarToolBox" id="columnsizing"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkToolButton" id="minimalcolumnwidth"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:SetMinimalColumnWidth</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="optimalcolumnwidth"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:SetOptimalColumnWidth</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="distributecolumns"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:DistributeColumns</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="layoutlabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes" context="sidebatableedit|deletelabel">Layout:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">layouting</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="sfxlo-SidebarToolBox" id="layouting"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkToolButton" id="mergecells"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">.uno:MergeCells</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> +</interface> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits