summaryrefslogtreecommitdiff
path: root/sw/source
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source')
-rw-r--r--sw/source/uibase/shells/tabsh.cxx22
-rw-r--r--sw/source/uibase/sidebar/TableEditPanel.cxx73
-rw-r--r--sw/source/uibase/sidebar/TableEditPanel.hxx6
3 files changed, 89 insertions, 12 deletions
diff --git a/sw/source/uibase/shells/tabsh.cxx b/sw/source/uibase/shells/tabsh.cxx
index 8dd1fbf65297..57e6f99b59ec 100644
--- a/sw/source/uibase/shells/tabsh.cxx
+++ b/sw/source/uibase/shells/tabsh.cxx
@@ -1129,6 +1129,18 @@ void SwTableShell::Execute(SfxRequest &rReq)
}
return;
}
+ case SID_ATTR_TABLE_COLUMN_WIDTH:
+ {
+ const SfxUInt32Item* pItem2 = rReq.GetArg<SfxUInt32Item>(SID_ATTR_TABLE_COLUMN_WIDTH);
+ if (pItem2)
+ {
+ long nNewWidth = pItem2->GetValue();
+ SwTableFUNC aFunc( &rSh );
+ aFunc.InitTabCols();
+ aFunc.SetColWidth(aFunc.GetCurColNum(), nNewWidth);
+ }
+ return;
+ }
default:
bMore = true;
}
@@ -1416,6 +1428,16 @@ void SwTableShell::GetState(SfxItemSet &rSet)
}
break;
}
+ case SID_ATTR_TABLE_COLUMN_WIDTH:
+ {
+ SfxUInt32Item aColumnWidth(SID_ATTR_TABLE_COLUMN_WIDTH);
+ SwTableFUNC aFunc( &rSh );
+ aFunc.InitTabCols();
+ SwTwips nWidth = aFunc.GetColWidth(aFunc.GetCurColNum());
+ aColumnWidth.SetValue(nWidth);
+ rSet.Put(aColumnWidth);
+ break;
+ }
}
nSlot = aIter.NextWhich();
}
diff --git a/sw/source/uibase/sidebar/TableEditPanel.cxx b/sw/source/uibase/sidebar/TableEditPanel.cxx
index 54395b8863b8..b803845547a6 100644
--- a/sw/source/uibase/sidebar/TableEditPanel.cxx
+++ b/sw/source/uibase/sidebar/TableEditPanel.cxx
@@ -52,17 +52,39 @@ void TableEditPanel::NotifyItemUpdate(const sal_uInt16 nSID, const SfxItemState
if (pItem)
{
long nNewHeight = pItem->GetValue();
- nNewHeight = m_pHeightEdit->Normalize(nNewHeight);
- m_pHeightEdit->SetValue(nNewHeight, FieldUnit::TWIP);
+ nNewHeight = m_pRowHeightEdit->Normalize(nNewHeight);
+ m_pRowHeightEdit->SetValue(nNewHeight, FieldUnit::TWIP);
}
}
else if (eState == SfxItemState::DISABLED)
{
- m_pHeightEdit->Disable();
+ m_pRowHeightEdit->Disable();
}
else
{
- m_pHeightEdit->SetEmptyFieldValue();
+ m_pRowHeightEdit->SetEmptyFieldValue();
+ }
+ break;
+ }
+ case SID_ATTR_TABLE_COLUMN_WIDTH:
+ {
+ if (pState && eState >= SfxItemState::DEFAULT)
+ {
+ const SfxUInt32Item* pItem = static_cast<const SfxUInt32Item*>(pState);
+ if (pItem)
+ {
+ long nNewWidth = pItem->GetValue();
+ nNewWidth = m_pColumnWidthEdit->Normalize(nNewWidth);
+ m_pColumnWidthEdit->SetValue(nNewWidth, FieldUnit::TWIP);
+ }
+ }
+ else if (eState == SfxItemState::DISABLED)
+ {
+ m_pColumnWidthEdit->Disable();
+ }
+ else
+ {
+ m_pColumnWidthEdit->SetEmptyFieldValue();
}
break;
}
@@ -75,9 +97,13 @@ TableEditPanel::TableEditPanel(vcl::Window* pParent,
: PanelLayout(pParent, "TableEditPanel", "modules/swriter/ui/sidebartableedit.ui", rxFrame)
, m_pBindings(pBindings)
, m_aRowHeightController(SID_ATTR_TABLE_ROW_HEIGHT, *pBindings, *this)
+ , m_aColumnWidthController(SID_ATTR_TABLE_COLUMN_WIDTH, *pBindings, *this)
{
- get(m_pHeightEdit, "rowheight");
+ get(m_pRowHeightEdit, "rowheight");
+ get(m_pColumnWidthEdit, "columnwidth");
+
InitRowHeightToolitem();
+ InitColumnWidthToolitem();
}
TableEditPanel::~TableEditPanel() { disposeOnce(); }
@@ -85,19 +111,33 @@ TableEditPanel::~TableEditPanel() { disposeOnce(); }
void TableEditPanel::InitRowHeightToolitem()
{
Link<Edit&, void> aLink = LINK(this, TableEditPanel, RowHeightMofiyHdl);
- m_pHeightEdit->SetModifyHdl(aLink);
+ m_pRowHeightEdit->SetModifyHdl(aLink);
FieldUnit eFieldUnit = SW_MOD()->GetUsrPref(false)->GetMetric();
- SetFieldUnit(*m_pHeightEdit, eFieldUnit);
+ SetFieldUnit(*m_pRowHeightEdit, eFieldUnit);
- m_pHeightEdit->SetMin(MINLAY, FieldUnit::TWIP);
- m_pHeightEdit->SetMax(SAL_MAX_INT32, FieldUnit::TWIP);
+ m_pRowHeightEdit->SetMin(MINLAY, FieldUnit::TWIP);
+ m_pRowHeightEdit->SetMax(SAL_MAX_INT32, FieldUnit::TWIP);
+}
+
+void TableEditPanel::InitColumnWidthToolitem()
+{
+ Link<Edit&, void> aLink = LINK(this, TableEditPanel, ColumnWidthMofiyHdl);
+ m_pColumnWidthEdit->SetModifyHdl(aLink);
+
+ FieldUnit eFieldUnit = SW_MOD()->GetUsrPref(false)->GetMetric();
+ SetFieldUnit(*m_pColumnWidthEdit, eFieldUnit);
+
+ m_pColumnWidthEdit->SetMin(MINLAY, FieldUnit::TWIP);
+ m_pColumnWidthEdit->SetMax(SAL_MAX_INT32, FieldUnit::TWIP);
}
void TableEditPanel::dispose()
{
- m_pHeightEdit.clear();
+ m_pRowHeightEdit.clear();
+ m_pColumnWidthEdit.clear();
m_aRowHeightController.dispose();
+ m_aColumnWidthController.dispose();
PanelLayout::dispose();
}
@@ -105,13 +145,24 @@ void TableEditPanel::dispose()
IMPL_LINK_NOARG(TableEditPanel, RowHeightMofiyHdl, Edit&, void)
{
SwTwips nNewHeight = static_cast<SwTwips>(
- m_pHeightEdit->Denormalize(m_pHeightEdit->GetValue(FieldUnit::TWIP)));
+ m_pRowHeightEdit->Denormalize(m_pRowHeightEdit->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 });
}
+
+IMPL_LINK_NOARG(TableEditPanel, ColumnWidthMofiyHdl, Edit&, void)
+{
+ SwTwips nNewWidth = static_cast<SwTwips>(
+ m_pColumnWidthEdit->Denormalize(m_pColumnWidthEdit->GetValue(FieldUnit::TWIP)));
+ SfxUInt32Item aColumnWidth(SID_ATTR_TABLE_COLUMN_WIDTH);
+ aColumnWidth.SetValue(nNewWidth);
+
+ m_pBindings->GetDispatcher()->ExecuteList(SID_ATTR_TABLE_COLUMN_WIDTH, SfxCallMode::RECORD,
+ { &aColumnWidth });
+}
}
} // end of namespace ::sw::sidebar
diff --git a/sw/source/uibase/sidebar/TableEditPanel.hxx b/sw/source/uibase/sidebar/TableEditPanel.hxx
index 10044d582138..a0ce4e6f14d2 100644
--- a/sw/source/uibase/sidebar/TableEditPanel.hxx
+++ b/sw/source/uibase/sidebar/TableEditPanel.hxx
@@ -40,13 +40,17 @@ private:
virtual void dispose() override;
void InitRowHeightToolitem();
+ void InitColumnWidthToolitem();
SfxBindings* m_pBindings;
- VclPtr<SvxRelativeField> m_pHeightEdit;
+ VclPtr<SvxRelativeField> m_pRowHeightEdit;
+ VclPtr<SvxRelativeField> m_pColumnWidthEdit;
::sfx2::sidebar::ControllerItem m_aRowHeightController;
+ ::sfx2::sidebar::ControllerItem m_aColumnWidthController;
DECL_LINK(RowHeightMofiyHdl, Edit&, void);
+ DECL_LINK(ColumnWidthMofiyHdl, Edit&, void);
};
}
} // end of namespace sw::sidebar