[Libreoffice-commits] core.git: 2 commits - extras/source sc/inc sc/qa sc/source sc/uiconfig solenv/bin sw/source sw/uiconfig
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Sat Mar 16 21:17:29 UTC 2019
extras/source/glade/libreoffice-catalog.xml.in | 7
sc/inc/scabstdlg.hxx | 2
sc/qa/uitest/calc_tests6/autoFormat.py | 10
sc/source/ui/attrdlg/scdlgfact.cxx | 17
sc/source/ui/attrdlg/scdlgfact.hxx | 10
sc/source/ui/inc/autofmt.hxx | 12
sc/source/ui/inc/scuiautofmt.hxx | 49 +-
sc/source/ui/miscdlgs/autofmt.cxx | 40 -
sc/source/ui/miscdlgs/scuiautofmt.cxx | 215 ++++------
sc/source/ui/view/cellsh3.cxx | 4
sc/uiconfig/scalc/ui/autoformattable.ui | 235 ++++++-----
solenv/bin/native-code.py | 2
sw/source/ui/fldui/flddinf.cxx | 6
sw/source/ui/fldui/flddinf.hxx | 1
sw/source/ui/fldui/fldfunc.cxx | 515 +++++++++++--------------
sw/source/ui/fldui/fldfunc.hxx | 82 +--
sw/source/ui/fldui/fldpage.cxx | 38 +
sw/source/ui/fldui/fldpage.hxx | 5
sw/source/uibase/cctrl/actctrl.cxx | 19
sw/source/uibase/inc/actctrl.hxx | 15
sw/source/uibase/inc/condedit.hxx | 4
sw/uiconfig/swriter/ui/fldfuncpage.ui | 232 ++++++-----
22 files changed, 778 insertions(+), 742 deletions(-)
New commits:
commit 43fd682ea227bbe82f0abf756213cf88b2826183
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Sat Mar 16 17:58:16 2019 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Sat Mar 16 22:17:19 2019 +0100
weld SwFieldFuncPage
Change-Id: I5b098eecb7318ab64dcafff3ce1ef0fa34536f50
Reviewed-on: https://gerrit.libreoffice.org/69346
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index d1583ef900ef..5af0548a670c 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -365,10 +365,6 @@
generic-name="Condition Edit" parent="GtkEntry"
icon-name="widget-gtk-textentry"/>
- <glade-widget-class title="Return Action Edit" name="swlo-ReturnActionEdit"
- generic-name="Return Action Edit" parent="GtkEntry"
- icon-name="widget-gtk-textentry"/>
-
<glade-widget-class title="Text View" name="sclo-ScEditWindow"
generic-name="Text View" parent="GtkTextView"
icon-name="widget-gtk-textentry"/>
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 506ac91d760a..88942fe07037 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -465,7 +465,6 @@ custom_widgets = [
'RefButton',
'RefEdit',
'ReplaceEdit',
- 'ReturnActionEdit',
'RowEdit',
'RubyEdit',
'RubyPreview',
diff --git a/sw/source/ui/fldui/flddinf.cxx b/sw/source/ui/fldui/flddinf.cxx
index c412a4045e0a..13659f395655 100644
--- a/sw/source/ui/fldui/flddinf.cxx
+++ b/sw/source/ui/fldui/flddinf.cxx
@@ -52,6 +52,12 @@ void FillFieldSelect(ListBox& rListBox)
rListBox.InsertEntry(SwResId(FLD_SELECT[i]));
}
+void FillFieldSelect(weld::TreeView& rListBox)
+{
+ for (size_t i = 0; i < SAL_N_ELEMENTS(FLD_SELECT); ++i)
+ rListBox.append_text(SwResId(FLD_SELECT[i]));
+}
+
SwFieldDokInfPage::SwFieldDokInfPage(vcl::Window* pParent, const SfxItemSet *const pCoreSet)
: SwFieldPage(pParent, "FieldDocInfoPage",
"modules/swriter/ui/flddocinfopage.ui", pCoreSet)
diff --git a/sw/source/ui/fldui/flddinf.hxx b/sw/source/ui/fldui/flddinf.hxx
index 2347a6d15611..d583f53fd88e 100644
--- a/sw/source/ui/fldui/flddinf.hxx
+++ b/sw/source/ui/fldui/flddinf.hxx
@@ -72,6 +72,7 @@ public:
};
void FillFieldSelect(ListBox& rListBox);
+void FillFieldSelect(weld::TreeView& rListBox);
#endif
diff --git a/sw/source/ui/fldui/fldfunc.cxx b/sw/source/ui/fldui/fldfunc.cxx
index 92bcf82a5a52..9c18d44126b2 100644
--- a/sw/source/ui/fldui/fldfunc.cxx
+++ b/sw/source/ui/fldui/fldfunc.cxx
@@ -38,58 +38,52 @@
using namespace ::com::sun::star;
-SwFieldFuncPage::SwFieldFuncPage(vcl::Window* pParent, const SfxItemSet *const pCoreSet)
- : SwFieldPage(pParent, "FieldFuncPage",
- "modules/swriter/ui/fldfuncpage.ui", pCoreSet)
+SwFieldFuncPage::SwFieldFuncPage(TabPageParent pParent, const SfxItemSet *const pCoreSet)
+ : SwFieldPage(pParent, "modules/swriter/ui/fldfuncpage.ui", "FieldFuncPage", pCoreSet)
, nOldFormat(0)
, bDropDownLBChanged(false)
+ , m_xTypeLB(m_xBuilder->weld_tree_view("type"))
+ , m_xSelectionLB(m_xBuilder->weld_tree_view("select"))
+ , m_xFormat(m_xBuilder->weld_widget("formatframe"))
+ , m_xFormatLB(m_xBuilder->weld_tree_view("format"))
+ , m_xNameFT(m_xBuilder->weld_label("nameft"))
+ , m_xNameED(new SwConditionEdit(m_xBuilder->weld_entry("condFunction")))
+ , m_xValueGroup(m_xBuilder->weld_widget("valuegroup"))
+ , m_xValueFT(m_xBuilder->weld_label("valueft"))
+ , m_xValueED(m_xBuilder->weld_entry("value"))
+ , m_xCond1FT(m_xBuilder->weld_label("cond1ft"))
+ , m_xCond1ED(new SwConditionEdit(m_xBuilder->weld_entry("cond1")))
+ , m_xCond2FT(m_xBuilder->weld_label("cond2ft"))
+ , m_xCond2ED(new SwConditionEdit(m_xBuilder->weld_entry("cond2")))
+ , m_xMacroBT(m_xBuilder->weld_button("macro"))
+ , m_xListGroup(m_xBuilder->weld_widget("listgroup"))
+ , m_xListItemFT(m_xBuilder->weld_label("itemft"))
+ , m_xListItemED(m_xBuilder->weld_entry("item"))
+ , m_xListAddPB(m_xBuilder->weld_button("add"))
+ , m_xListItemsFT(m_xBuilder->weld_label("listitemft"))
+ , m_xListItemsLB(m_xBuilder->weld_tree_view("listitems"))
+ , m_xListRemovePB(m_xBuilder->weld_button("remove"))
+ , m_xListUpPB(m_xBuilder->weld_button("up"))
+ , m_xListDownPB(m_xBuilder->weld_button("down"))
+ , m_xListNameFT(m_xBuilder->weld_label("listnameft"))
+ , m_xListNameED(m_xBuilder->weld_entry("listname"))
{
- get(m_pTypeLB, "type");
- get(m_pFormat, "formatframe");
- get(m_pSelectionLB, "select");
- FillFieldSelect(*m_pSelectionLB);
- get(m_pFormatLB, "format");
- FillFieldSelect(*m_pFormatLB);
- get(m_pNameFT, "nameft");
- get(m_pNameED, "condFunction");
- get(m_pValueGroup, "valuegroup");
- get(m_pValueFT, "valueft");
- get(m_pValueED, "value");
- get(m_pCond1FT, "cond1ft");
- get(m_pCond1ED, "cond1");
- get(m_pCond2FT, "cond2ft");
- get(m_pCond2ED, "cond2");
- get(m_pMacroBT, "macro");
-
- get(m_pListGroup, "listgroup");
- get(m_pListItemFT, "itemft");
- get(m_pListItemED, "item");
- get(m_pListAddPB, "add");
- get(m_pListItemsFT, "listitemft");
- get(m_pListItemsLB, "listitems");
- m_pListItemsLB->SetDropDownLineCount(5);
- m_pListItemsLB->set_width_request(m_pListItemED->GetOptimalSize().Width());
- get(m_pListRemovePB, "remove");
- get(m_pListUpPB, "up");
- get(m_pListDownPB, "down");
- get(m_pListNameFT, "listnameft");
- get(m_pListNameED, "listname");
-
- long nHeight = m_pTypeLB->GetTextHeight() * 20;
- m_pTypeLB->set_height_request(nHeight);
- m_pFormatLB->set_height_request(nHeight);
-
- long nWidth = m_pTypeLB->LogicToPixel(Size(FIELD_COLUMN_WIDTH, 0), MapMode(MapUnit::MapAppFont)).Width();
- m_pTypeLB->set_width_request(nWidth);
- m_pFormatLB->set_width_request(nWidth);
-
- m_pNameED->SetModifyHdl(LINK(this, SwFieldFuncPage, ModifyHdl));
-
- m_sOldValueFT = m_pValueFT->GetText();
- m_sOldNameFT = m_pNameFT->GetText();
-
- m_pCond1ED->ShowBrackets(false);
- m_pCond2ED->ShowBrackets(false);
+ FillFieldSelect(*m_xSelectionLB);
+ FillFieldSelect(*m_xFormatLB);
+ m_xListItemsLB->set_size_request(m_xListItemED->get_preferred_size().Width(), -1);
+
+ auto nWidth = m_xTypeLB->get_approximate_digit_width() * FIELD_COLUMN_WIDTH / 8;
+ auto nHeight = m_xTypeLB->get_height_rows(20);
+ m_xTypeLB->set_size_request(nWidth, nHeight);
+ m_xFormatLB->set_size_request(nWidth, nHeight);
+
+ m_xNameED->connect_changed(LINK(this, SwFieldFuncPage, ModifyHdl));
+
+ m_sOldValueFT = m_xValueFT->get_label();
+ m_sOldNameFT = m_xNameFT->get_label();
+
+ m_xCond1ED->ShowBrackets(false);
+ m_xCond2ED->ShowBrackets(false);
}
SwFieldFuncPage::~SwFieldFuncPage()
@@ -97,45 +91,13 @@ SwFieldFuncPage::~SwFieldFuncPage()
disposeOnce();
}
-void SwFieldFuncPage::dispose()
-{
- m_pTypeLB.clear();
- m_pSelectionLB.clear();
- m_pFormat.clear();
- m_pFormatLB.clear();
- m_pNameFT.clear();
- m_pNameED.clear();
- m_pValueGroup.clear();
- m_pValueFT.clear();
- m_pValueED.clear();
- m_pCond1FT.clear();
- m_pCond1ED.clear();
- m_pCond2FT.clear();
- m_pCond2ED.clear();
- m_pMacroBT.clear();
- m_pListGroup.clear();
- m_pListItemFT.clear();
- m_pListItemED.clear();
- m_pListAddPB.clear();
- m_pListItemsFT.clear();
- m_pListItemsLB.clear();
- m_pListRemovePB.clear();
- m_pListUpPB.clear();
- m_pListDownPB.clear();
- m_pListNameFT.clear();
- m_pListNameED.clear();
- SwFieldPage::dispose();
-}
-
void SwFieldFuncPage::Reset(const SfxItemSet* )
{
- SavePos(m_pTypeLB);
+ SavePos(*m_xTypeLB);
Init(); // general initialisation
- m_pTypeLB->SetUpdateMode(false);
- m_pTypeLB->Clear();
-
- sal_Int32 nPos;
+ m_xTypeLB->freeze();
+ m_xTypeLB->clear();
if (!IsFieldEdit())
{
@@ -146,15 +108,13 @@ void SwFieldFuncPage::Reset(const SfxItemSet* )
for(sal_uInt16 i = rRg.nStart; i < rRg.nEnd; ++i)
{
const sal_uInt16 nTypeId = SwFieldMgr::GetTypeId(i);
- nPos = m_pTypeLB->InsertEntry(SwFieldMgr::GetTypeStr(i));
- m_pTypeLB->SetEntryData(nPos, reinterpret_cast<void*>(nTypeId));
+ m_xTypeLB->append(OUString::number(nTypeId), SwFieldMgr::GetTypeStr(i));
}
}
else
{
const sal_uInt16 nTypeId = GetCurField()->GetTypeId();
- nPos = m_pTypeLB->InsertEntry(SwFieldMgr::GetTypeStr(SwFieldMgr::GetPos(nTypeId)));
- m_pTypeLB->SetEntryData(nPos, reinterpret_cast<void*>(nTypeId));
+ m_xTypeLB->append(OUString::number(nTypeId), SwFieldMgr::GetTypeStr(SwFieldMgr::GetPos(nTypeId)));
if (nTypeId == TYP_MACROFLD)
{
@@ -162,25 +122,23 @@ void SwFieldFuncPage::Reset(const SfxItemSet* )
}
}
- // select old Pos
- RestorePos(m_pTypeLB);
-
- m_pTypeLB->SetDoubleClickHdl (LINK(this, SwFieldFuncPage, ListBoxInsertHdl));
- m_pTypeLB->SetSelectHdl (LINK(this, SwFieldFuncPage, TypeHdl));
- m_pSelectionLB->SetSelectHdl (LINK(this, SwFieldFuncPage, SelectHdl));
- m_pSelectionLB->SetDoubleClickHdl (LINK(this, SwFieldFuncPage, InsertMacroHdl));
- m_pFormatLB->SetDoubleClickHdl (LINK(this, SwFieldFuncPage, ListBoxInsertHdl));
- m_pMacroBT->SetClickHdl (LINK(this, SwFieldFuncPage, MacroHdl));
- Link<Button*,void> aListModifyLk( LINK(this, SwFieldFuncPage, ListModifyButtonHdl));
- m_pListAddPB->SetClickHdl(aListModifyLk);
- m_pListRemovePB->SetClickHdl(aListModifyLk);
- m_pListUpPB->SetClickHdl(aListModifyLk);
- m_pListDownPB->SetClickHdl(aListModifyLk);
- m_pListItemED->SetReturnActionLink(LINK(this, SwFieldFuncPage, ListModifyReturnActionHdl));
- Link<Edit&,void> aListEnableLk = LINK(this, SwFieldFuncPage, ListEnableHdl);
- m_pListItemED->SetModifyHdl(aListEnableLk);
- m_pListItemsLB->SetSelectHdl(LINK(this, SwFieldFuncPage, ListEnableListBoxHdl));
-
+ m_xTypeLB->connect_row_activated(LINK(this, SwFieldFuncPage, TreeViewInsertHdl));
+ m_xTypeLB->connect_changed(LINK(this, SwFieldFuncPage, TypeHdl));
+ m_xSelectionLB->connect_changed(LINK(this, SwFieldFuncPage, SelectHdl));
+ m_xSelectionLB->connect_row_activated(LINK(this, SwFieldFuncPage, InsertMacroHdl));
+ m_xFormatLB->connect_row_activated(LINK(this, SwFieldFuncPage, TreeViewInsertHdl));
+ m_xMacroBT->connect_clicked(LINK(this, SwFieldFuncPage, MacroHdl));
+ Link<weld::Button&,void> aListModifyLk( LINK(this, SwFieldFuncPage, ListModifyButtonHdl));
+ m_xListAddPB->connect_clicked(aListModifyLk);
+ m_xListRemovePB->connect_clicked(aListModifyLk);
+ m_xListUpPB->connect_clicked(aListModifyLk);
+ m_xListDownPB->connect_clicked(aListModifyLk);
+ m_xListItemED->connect_activate(LINK(this, SwFieldFuncPage, ListModifyReturnActionHdl));
+ Link<weld::Entry&,void> aListEnableLk = LINK(this, SwFieldFuncPage, ListEnableHdl);
+ m_xListItemED->connect_changed(aListEnableLk);
+ m_xListItemsLB->connect_changed(LINK(this, SwFieldFuncPage, ListEnableListBoxHdl));
+
+ int nSelect = -1;
if( !IsRefresh() )
{
const OUString sUserData = GetUserData();
@@ -190,25 +148,34 @@ void SwFieldFuncPage::Reset(const SfxItemSet* )
const sal_uInt16 nVal = static_cast< sal_uInt16 >(sUserData.getToken(0, ';', nIdx).toInt32());
if(nVal != USHRT_MAX)
{
- for(sal_Int32 i = 0; i < m_pTypeLB->GetEntryCount(); i++)
- if(nVal == static_cast<sal_uInt16>(reinterpret_cast<sal_uLong>(m_pTypeLB->GetEntryData(i))))
+ for (sal_Int32 i = 0, nEntryCount = m_xTypeLB->n_children(); i < nEntryCount; ++i)
+ {
+ if (nVal == m_xTypeLB->get_id(i).toUInt32())
{
- m_pTypeLB->SelectEntryPos(i);
+ nSelect = i;
break;
}
+ }
}
}
}
- TypeHdl(*m_pTypeLB);
- m_pTypeLB->SetUpdateMode(true);
+ m_xTypeLB->thaw();
+ if (nSelect != -1)
+ m_xTypeLB->select(nSelect);
+ else
+ {
+ // select old Pos
+ RestorePos(*m_xTypeLB);
+ }
+ TypeHdl(*m_xTypeLB);
if (IsFieldEdit())
{
- m_pNameED->SaveValue();
- m_pValueED->SaveValue();
- m_pCond1ED->SaveValue();
- m_pCond2ED->SaveValue();
+ m_xNameED->save_value();
+ m_xValueED->save_value();
+ m_xCond1ED->save_value();
+ m_xCond2ED->save_value();
nOldFormat = GetCurField()->GetFormat();
}
}
@@ -222,46 +189,46 @@ static const char* FMT_MARK_ARY[] =
FMT_MARK_OLE
};
-IMPL_LINK_NOARG(SwFieldFuncPage, TypeHdl, ListBox&, void)
+IMPL_LINK_NOARG(SwFieldFuncPage, TypeHdl, weld::TreeView&, void)
{
// save old ListBoxPos
const sal_Int32 nOld = GetTypeSel();
// current ListBoxPos
- SetTypeSel(m_pTypeLB->GetSelectedEntryPos());
+ SetTypeSel(m_xTypeLB->get_selected_index());
- if(GetTypeSel() == LISTBOX_ENTRY_NOTFOUND)
+ if(GetTypeSel() == -1)
{
SetTypeSel(0);
- m_pTypeLB->SelectEntryPos(0);
+ m_xTypeLB->select(0);
}
if (nOld == GetTypeSel())
return;
- const sal_uInt16 nTypeId = static_cast<sal_uInt16>(reinterpret_cast<sal_uLong>(m_pTypeLB->GetEntryData(GetTypeSel())));
+ const sal_uInt16 nTypeId = m_xTypeLB->get_id(GetTypeSel()).toUInt32();
// fill Selection-Listbox
UpdateSubType();
// fill Format-Listbox
- m_pFormatLB->Clear();
+ m_xFormatLB->clear();
const sal_uInt16 nSize = GetFieldMgr().GetFormatCount(nTypeId, IsFieldDlgHtmlMode());
for (sal_uInt16 i = 0; i < nSize; i++)
{
- sal_Int32 nPos = m_pFormatLB->InsertEntry(GetFieldMgr().GetFormatStr(nTypeId, i));
- m_pFormatLB->SetEntryData( nPos, reinterpret_cast<void*>(GetFieldMgr().GetFormatId( nTypeId, i )) );
+ m_xFormatLB->append(OUString::number(GetFieldMgr().GetFormatId(nTypeId, i)),
+ GetFieldMgr().GetFormatStr(nTypeId, i));
}
if (nSize)
{
if (IsFieldEdit() && nTypeId == TYP_JUMPEDITFLD)
- m_pFormatLB->SelectEntry(SwResId(FMT_MARK_ARY[GetCurField()->GetFormat()]));
+ m_xFormatLB->select_text(SwResId(FMT_MARK_ARY[GetCurField()->GetFormat()]));
- if (!m_pFormatLB->GetSelectedEntryCount())
- m_pFormatLB->SelectEntryPos(0);
+ if (m_xFormatLB->get_selected_index() == -1)
+ m_xFormatLB->select(0);
}
bool bValue = false, bName = false, bMacro = false, bInsert = true;
@@ -271,18 +238,18 @@ IMPL_LINK_NOARG(SwFieldFuncPage, TypeHdl, ListBox&, void)
bool bDropDown = TYP_DROPDOWN == nTypeId;
bool bCondTextField = TYP_CONDTXTFLD == nTypeId;
- m_pCond1FT->Show(!bDropDown && bCondTextField);
- m_pCond1ED->Show(!bDropDown && bCondTextField);
- m_pCond2FT->Show(!bDropDown && bCondTextField);
- m_pCond2ED->Show(!bDropDown && bCondTextField);
- m_pValueGroup->Show(!bDropDown && !bCondTextField);
- m_pMacroBT->Show(!bDropDown);
- m_pNameED->Show(!bDropDown);
- m_pNameFT->Show(!bDropDown);
+ m_xCond1FT->set_visible(!bDropDown && bCondTextField);
+ m_xCond1ED->set_visible(!bDropDown && bCondTextField);
+ m_xCond2FT->set_visible(!bDropDown && bCondTextField);
+ m_xCond2ED->set_visible(!bDropDown && bCondTextField);
+ m_xValueGroup->set_visible(!bDropDown && !bCondTextField);
+ m_xMacroBT->set_visible(!bDropDown);
+ m_xNameED->set_visible(!bDropDown);
+ m_xNameFT->set_visible(!bDropDown);
- m_pListGroup->Show(bDropDown);
+ m_xListGroup->set_visible(bDropDown);
- m_pNameED->SetDropEnable(false);
+ m_xNameED->SetDropEnable(false);
if (IsFieldEdit())
{
@@ -291,32 +258,32 @@ IMPL_LINK_NOARG(SwFieldFuncPage, TypeHdl, ListBox&, void)
const SwDropDownField* pDrop = static_cast<const SwDropDownField*>(GetCurField());
uno::Sequence<OUString> aItems = pDrop->GetItemSequence();
const OUString* pArray = aItems.getConstArray();
- m_pListItemsLB->Clear();
- for(sal_Int32 i = 0; i < aItems.getLength(); i++)
- m_pListItemsLB->InsertEntry(pArray[i]);
- m_pListItemsLB->SelectEntry(pDrop->GetSelectedItem());
- m_pListNameED->SetText(pDrop->GetPar2());
- m_pListNameED->SaveValue();
+ m_xListItemsLB->clear();
+ for (sal_Int32 i = 0; i < aItems.getLength(); i++)
+ m_xListItemsLB->append_text(pArray[i]);
+ m_xListItemsLB->select_text(pDrop->GetSelectedItem());
+ m_xListNameED->set_text(pDrop->GetPar2());
+ m_xListNameED->save_value();
bDropDownLBChanged = false;
}
else
{
- m_pNameED->SetText(GetCurField()->GetPar1());
- m_pValueED->SetText(GetCurField()->GetPar2());
+ m_xNameED->set_text(GetCurField()->GetPar1());
+ m_xValueED->set_text(GetCurField()->GetPar2());
}
}
else
{
- m_pNameED->SetText(OUString());
- m_pValueED->SetText(OUString());
+ m_xNameED->set_text(OUString());
+ m_xValueED->set_text(OUString());
}
if(bDropDown)
- ListEnableHdl(*m_pListItemED);
+ ListEnableHdl(*m_xListItemED);
- if (m_pNameFT->GetText() != m_sOldNameFT)
- m_pNameFT->SetText(m_sOldNameFT);
- if (m_pValueFT->GetText() != m_sOldValueFT)
- m_pValueFT->SetText(m_sOldValueFT);
+ if (m_xNameFT->get_label() != m_sOldNameFT)
+ m_xNameFT->set_label(m_sOldNameFT);
+ if (m_xValueFT->get_label() != m_sOldValueFT)
+ m_xValueFT->set_label(m_sOldValueFT);
switch (nTypeId)
{
@@ -327,76 +294,76 @@ IMPL_LINK_NOARG(SwFieldFuncPage, TypeHdl, ListBox&, void)
else
bInsert = false;
- m_pNameFT->SetText(SwResId(STR_MACNAME));
- m_pValueFT->SetText(SwResId(STR_PROMPT));
- m_pNameED->SetText(GetFieldMgr().GetMacroName());
- m_pNameED->SetAccessibleName(m_pNameFT->GetText());
- m_pValueED->SetAccessibleName(m_pValueFT->GetText());
+ m_xNameFT->set_label(SwResId(STR_MACNAME));
+ m_xValueFT->set_label(SwResId(STR_PROMPT));
+ m_xNameED->set_text(GetFieldMgr().GetMacroName());
+ m_xNameED->set_accessible_name(m_xNameFT->get_label());
+ m_xValueED->set_accessible_name(m_xValueFT->get_label());
break;
case TYP_HIDDENPARAFLD:
- m_pNameFT->SetText(SwResId(STR_COND));
- m_pNameED->SetDropEnable(true);
+ m_xNameFT->set_label(SwResId(STR_COND));
+ m_xNameED->SetDropEnable(true);
bName = true;
- m_pNameED->SetAccessibleName(m_pNameFT->GetText());
- m_pValueED->SetAccessibleName(m_pValueFT->GetText());
+ m_xNameED->set_accessible_name(m_xNameFT->get_label());
+ m_xValueED->set_accessible_name(m_xValueFT->get_label());
break;
case TYP_HIDDENTXTFLD:
{
- m_pNameFT->SetText(SwResId(STR_COND));
- m_pNameED->SetDropEnable(true);
- m_pValueFT->SetText(SwResId(STR_INSTEXT));
+ m_xNameFT->set_label(SwResId(STR_COND));
+ m_xNameED->SetDropEnable(true);
+ m_xValueFT->set_label(SwResId(STR_INSTEXT));
SwWrtShell* pSh = GetActiveWrtShell();
if (!IsFieldEdit() && pSh )
- m_pValueED->SetText(pSh->GetSelText());
+ m_xValueED->set_text(pSh->GetSelText());
bName = bValue = true;
- m_pNameED->SetAccessibleName(m_pNameFT->GetText());
- m_pValueED->SetAccessibleName(m_pValueFT->GetText());
+ m_xNameED->set_accessible_name(m_xNameFT->get_label());
+ m_xValueED->set_accessible_name(m_xValueFT->get_label());
}
break;
case TYP_CONDTXTFLD:
- m_pNameFT->SetText(SwResId(STR_COND));
- m_pNameED->SetDropEnable(true);
+ m_xNameFT->set_label(SwResId(STR_COND));
+ m_xNameED->SetDropEnable(true);
if (IsFieldEdit())
{
sal_Int32 nIdx{ 0 };
- m_pCond1ED->SetText(GetCurField()->GetPar2().getToken(0, '|', nIdx));
- m_pCond2ED->SetText(GetCurField()->GetPar2().getToken(0, '|', nIdx));
+ m_xCond1ED->set_text(GetCurField()->GetPar2().getToken(0, '|', nIdx));
+ m_xCond2ED->set_text(GetCurField()->GetPar2().getToken(0, '|', nIdx));
}
bName = bValue = true;
- m_pNameED->SetAccessibleName(m_pNameFT->GetText());
- m_pValueED->SetAccessibleName(m_pValueFT->GetText());
+ m_xNameED->set_accessible_name(m_xNameFT->get_label());
+ m_xValueED->set_accessible_name(m_xValueFT->get_label());
break;
case TYP_JUMPEDITFLD:
- m_pNameFT->SetText(SwResId(STR_JUMPEDITFLD));
- m_pValueFT->SetText(SwResId(STR_PROMPT));
+ m_xNameFT->set_label(SwResId(STR_JUMPEDITFLD));
+ m_xValueFT->set_label(SwResId(STR_PROMPT));
bName = bValue = true;
- m_pNameED->SetAccessibleName(m_pNameFT->GetText());
- m_pValueED->SetAccessibleName(m_pValueFT->GetText());
+ m_xNameED->set_accessible_name(m_xNameFT->get_label());
+ m_xValueED->set_accessible_name(m_xValueFT->get_label());
break;
case TYP_INPUTFLD:
- m_pValueFT->SetText(SwResId(STR_PROMPT));
+ m_xValueFT->set_label(SwResId(STR_PROMPT));
bValue = true;
- m_pNameED->SetAccessibleName(m_pNameFT->GetText());
- m_pValueED->SetAccessibleName(m_pValueFT->GetText());
+ m_xNameED->set_accessible_name(m_xNameFT->get_label());
+ m_xValueED->set_accessible_name(m_xValueFT->get_label());
break;
case TYP_COMBINED_CHARS:
{
- m_pNameFT->SetText(SwResId(STR_COMBCHRS_FT));
- m_pNameED->SetDropEnable(true);
+ m_xNameFT->set_label(SwResId(STR_COMBCHRS_FT));
+ m_xNameED->SetDropEnable(true);
bName = true;
- const sal_Int32 nLen = m_pNameED->GetText().getLength();
+ const sal_Int32 nLen = m_xNameED->get_text().getLength();
if( !nLen || nLen > MAX_COMBINED_CHARACTERS )
bInsert = false;
- m_pNameED->SetAccessibleName(m_pNameFT->GetText());
- m_pValueED->SetAccessibleName(m_pValueFT->GetText());
+ m_xNameED->set_accessible_name(m_xNameFT->get_label());
+ m_xValueED->set_accessible_name(m_xValueFT->get_label());
}
break;
case TYP_DROPDOWN :
@@ -405,129 +372,126 @@ IMPL_LINK_NOARG(SwFieldFuncPage, TypeHdl, ListBox&, void)
break;
}
- m_pSelectionLB->Hide();
+ m_xSelectionLB->hide();
- m_pFormat->Enable(bFormat);
- m_pNameFT->Enable(bName);
- m_pNameED->Enable(bName);
- m_pValueGroup->Enable(bValue);
- m_pMacroBT->Enable(bMacro);
+ m_xFormat->set_sensitive(bFormat);
+ m_xNameFT->set_sensitive(bName);
+ m_xNameED->set_sensitive(bName);
+ m_xValueGroup->set_sensitive(bValue);
+ m_xMacroBT->set_sensitive(bMacro);
EnableInsert( bInsert );
-
}
-IMPL_LINK_NOARG(SwFieldFuncPage, SelectHdl, ListBox&, void)
+IMPL_LINK_NOARG(SwFieldFuncPage, SelectHdl, weld::TreeView&, void)
{
- const sal_uInt16 nTypeId = static_cast<sal_uInt16>(reinterpret_cast<sal_uLong>(m_pTypeLB->GetEntryData(GetTypeSel())));
+ const sal_uInt16 nTypeId = m_xTypeLB->get_id(GetTypeSel()).toUInt32();
if( TYP_MACROFLD == nTypeId )
- m_pNameED->SetText( m_pSelectionLB->GetSelectedEntry() );
+ m_xNameED->set_text( m_xSelectionLB->get_selected_text() );
}
-IMPL_LINK_NOARG(SwFieldFuncPage, InsertMacroHdl, ListBox&, void)
+IMPL_LINK_NOARG(SwFieldFuncPage, InsertMacroHdl, weld::TreeView&, void)
{
- SelectHdl(*m_pSelectionLB);
+ SelectHdl(*m_xSelectionLB);
InsertHdl(nullptr);
}
-IMPL_LINK( SwFieldFuncPage, ListModifyButtonHdl, Button*, pControl, void)
+IMPL_LINK(SwFieldFuncPage, ListModifyButtonHdl, weld::Button&, rControl, void)
{
- ListModifyHdl(pControl);
+ ListModifyHdl(&rControl);
}
-IMPL_LINK( SwFieldFuncPage, ListModifyReturnActionHdl, ReturnActionEdit&, rControl, void)
+
+IMPL_LINK(SwFieldFuncPage, ListModifyReturnActionHdl, weld::Entry&, rControl, bool)
{
ListModifyHdl(&rControl);
+ return true;
}
-void SwFieldFuncPage::ListModifyHdl(Control const * pControl)
+
+void SwFieldFuncPage::ListModifyHdl(const weld::Widget* pControl)
{
- m_pListItemsLB->SetUpdateMode(false);
- if(pControl == m_pListAddPB ||
- (pControl == m_pListItemED && m_pListAddPB->IsEnabled()))
+ if (pControl == m_xListAddPB.get() ||
+ (pControl == m_xListItemED.get() && m_xListAddPB->get_sensitive()))
{
- const OUString sEntry(m_pListItemED->GetText());
- m_pListItemsLB->InsertEntry(sEntry);
- m_pListItemsLB->SelectEntry(sEntry);
+ const OUString sEntry(m_xListItemED->get_text());
+ m_xListItemsLB->append_text(sEntry);
+ m_xListItemsLB->select_text(sEntry);
}
- else if(m_pListItemsLB->GetSelectedEntryCount())
+ else if (m_xListItemsLB->get_selected_index() != -1)
{
- sal_Int32 nSelPos = m_pListItemsLB->GetSelectedEntryPos();
- if(pControl == m_pListRemovePB)
+ sal_Int32 nSelPos = m_xListItemsLB->get_selected_index();
+ if (pControl == m_xListRemovePB.get())
{
- m_pListItemsLB->RemoveEntry(nSelPos);
- m_pListItemsLB->SelectEntryPos(nSelPos ? nSelPos - 1 : 0);
+ m_xListItemsLB->remove(nSelPos);
+ m_xListItemsLB->select(nSelPos ? nSelPos - 1 : 0);
}
- else if(pControl == m_pListUpPB)
+ else if (pControl == m_xListUpPB.get())
{
if(nSelPos)
{
- const OUString sEntry = m_pListItemsLB->GetSelectedEntry();
- m_pListItemsLB->RemoveEntry(nSelPos);
+ const OUString sEntry = m_xListItemsLB->get_selected_text();
+ m_xListItemsLB->remove(nSelPos);
nSelPos--;
- m_pListItemsLB->InsertEntry(sEntry, nSelPos);
- m_pListItemsLB->SelectEntryPos(nSelPos);
+ m_xListItemsLB->insert_text(nSelPos, sEntry);
+ m_xListItemsLB->select(nSelPos);
}
}
- else if(pControl == m_pListDownPB)
+ else if (pControl == m_xListDownPB.get())
{
- if(nSelPos < m_pListItemsLB->GetEntryCount() - 1)
+ if( nSelPos < m_xListItemsLB->n_children() - 1)
{
- const OUString sEntry = m_pListItemsLB->GetSelectedEntry();
- m_pListItemsLB->RemoveEntry(nSelPos);
+ const OUString sEntry = m_xListItemsLB->get_selected_text();
+ m_xListItemsLB->remove(nSelPos);
nSelPos++;
- m_pListItemsLB->InsertEntry(sEntry, nSelPos);
- m_pListItemsLB->SelectEntryPos(nSelPos);
+ m_xListItemsLB->insert_text(nSelPos, sEntry);
+ m_xListItemsLB->select(nSelPos);
}
}
}
bDropDownLBChanged = true;
- m_pListItemsLB->SetUpdateMode(true);
- ListEnableHdl(*m_pListItemED);
+ ListEnableHdl(*m_xListItemED);
}
-IMPL_LINK_NOARG(SwFieldFuncPage, ListEnableListBoxHdl, ListBox&, void)
+IMPL_LINK_NOARG(SwFieldFuncPage, ListEnableListBoxHdl, weld::TreeView&, void)
{
- ListEnableHdl(*m_pListItemED);
+ ListEnableHdl(*m_xListItemED);
}
-IMPL_LINK_NOARG(SwFieldFuncPage, ListEnableHdl, Edit&, void)
+
+IMPL_LINK_NOARG(SwFieldFuncPage, ListEnableHdl, weld::Entry&, void)
{
//enable "Add" button when text is in the Edit that's not already member of the box
- m_pListAddPB->Enable(!m_pListItemED->GetText().isEmpty() &&
- LISTBOX_ENTRY_NOTFOUND == m_pListItemsLB->GetEntryPos(m_pListItemED->GetText()));
- bool bEnableButtons = m_pListItemsLB->GetSelectedEntryCount() > 0;
- m_pListRemovePB->Enable(bEnableButtons);
- m_pListUpPB->Enable(bEnableButtons && (m_pListItemsLB->GetSelectedEntryPos() > 0));
- m_pListDownPB->Enable(bEnableButtons &&
- (m_pListItemsLB->GetSelectedEntryPos() < (m_pListItemsLB->GetEntryCount() - 1)));
+ m_xListAddPB->set_sensitive(!m_xListItemED->get_text().isEmpty() &&
+ -1 == m_xListItemsLB->find_text(m_xListItemED->get_text()));
+ bool bEnableButtons = m_xListItemsLB->get_selected_index() != -1;
+ m_xListRemovePB->set_sensitive(bEnableButtons);
+ m_xListUpPB->set_sensitive(bEnableButtons && (m_xListItemsLB->get_selected_index() > 0));
+ m_xListDownPB->set_sensitive(bEnableButtons &&
+ (m_xListItemsLB->get_selected_index() < (m_xListItemsLB->n_children() - 1)));
}
// renew types in SelectionBox
void SwFieldFuncPage::UpdateSubType()
{
- const sal_uInt16 nTypeId = static_cast<sal_uInt16>(reinterpret_cast<sal_uLong>(m_pTypeLB->GetEntryData(GetTypeSel())));
+ const sal_uInt16 nTypeId = m_xTypeLB->get_id(GetTypeSel()).toUInt32();
// fill Selection-Listbox
- m_pSelectionLB->SetUpdateMode(false);
- m_pSelectionLB->Clear();
+ m_xSelectionLB->freeze();
+ m_xSelectionLB->clear();
std::vector<OUString> aLst;
GetFieldMgr().GetSubTypes(nTypeId, aLst);
const size_t nCount = aLst.size();
- for(size_t i = 0; i < nCount; ++i)
- {
- size_t nPos = m_pSelectionLB->InsertEntry(aLst[i]);
- m_pSelectionLB->SetEntryData(nPos, reinterpret_cast<void*>(i));
- }
+ for (size_t i = 0; i < nCount; ++i)
+ m_xSelectionLB->append(OUString::number(i), aLst[i]);
+ m_xSelectionLB->thaw();
bool bEnable = nCount != 0;
- m_pSelectionLB->Enable( bEnable );
+ m_xSelectionLB->set_sensitive( bEnable );
if (bEnable)
- {
- m_pSelectionLB->SelectEntryPos(0);
- }
+ m_xSelectionLB->select(0);
if (nTypeId == TYP_MACROFLD)
{
@@ -535,17 +499,15 @@ void SwFieldFuncPage::UpdateSubType()
if (bHasMacro)
{
- m_pNameED->SetText(GetFieldMgr().GetMacroName());
- m_pValueGroup->Enable();
+ m_xNameED->set_text(GetFieldMgr().GetMacroName());
+ m_xValueGroup->set_sensitive(true);
}
EnableInsert(bHasMacro);
}
-
- m_pSelectionLB->SetUpdateMode(true);
}
// call MacroBrowser, fill Listbox with Macros
-IMPL_LINK_NOARG( SwFieldFuncPage, MacroHdl, Button *, void)
+IMPL_LINK_NOARG( SwFieldFuncPage, MacroHdl, weld::Button&, void)
{
if (GetFieldMgr().ChooseMacro(GetDialogFrameWeld()))
UpdateSubType();
@@ -553,23 +515,23 @@ IMPL_LINK_NOARG( SwFieldFuncPage, MacroHdl, Button *, void)
bool SwFieldFuncPage::FillItemSet(SfxItemSet* )
{
- const sal_uInt16 nTypeId = static_cast<sal_uInt16>(reinterpret_cast<sal_uLong>(m_pTypeLB->GetEntryData(GetTypeSel())));
+ const sal_uInt16 nTypeId = m_xTypeLB->get_id(GetTypeSel()).toUInt32();
sal_uInt16 nSubType = 0;
- const sal_Int32 nEntryPos = m_pFormatLB->GetSelectedEntryPos();
- const sal_uLong nFormat = (nEntryPos == LISTBOX_ENTRY_NOTFOUND)
- ? 0 : reinterpret_cast<sal_uLong>(m_pFormatLB->GetEntryData(nEntryPos));
+ const sal_Int32 nEntryPos = m_xFormatLB->get_selected_index();
+ const sal_uLong nFormat = (nEntryPos == -1)
+ ? 0 : m_xFormatLB->get_id(nEntryPos).toUInt32();
- OUString aVal(m_pValueED->GetText());
- OUString aName(m_pNameED->GetText());
+ OUString aVal(m_xValueED->get_text());
+ OUString aName(m_xNameED->get_text());
switch(nTypeId)
{
case TYP_INPUTFLD:
nSubType = INP_TXT;
// to prevent removal of CR/LF restore old content
- if(!m_pNameED->IsModified() && IsFieldEdit())
+ if (!m_xNameED->get_value_changed_from_saved() && IsFieldEdit())
aName = GetCurField()->GetPar1();
break;
@@ -580,16 +542,16 @@ bool SwFieldFuncPage::FillItemSet(SfxItemSet* )
break;
case TYP_CONDTXTFLD:
- aVal = m_pCond1ED->GetText() + "|" + m_pCond2ED->GetText();
+ aVal = m_xCond1ED->get_text() + "|" + m_xCond2ED->get_text();
break;
case TYP_DROPDOWN :
{
- aName = m_pListNameED->GetText();
- for(sal_Int32 i = 0; i < m_pListItemsLB->GetEntryCount(); i++)
+ aName = m_xListNameED->get_text();
+ for (sal_Int32 i = 0, nEntryCount = m_xListItemsLB->n_children(); i < nEntryCount; ++i)
{
if(i)
aVal += OUStringLiteral1(DB_DELIM);
- aVal += m_pListItemsLB->GetEntry(i);
+ aVal += m_xListItemsLB->get_text(i);
}
}
break;
@@ -598,18 +560,18 @@ bool SwFieldFuncPage::FillItemSet(SfxItemSet* )
}
if (!IsFieldEdit() ||
- m_pNameED->IsValueChangedFromSaved() ||
- m_pValueED->IsValueChangedFromSaved() ||
- m_pCond1ED->IsValueChangedFromSaved() ||
- m_pCond2ED->IsValueChangedFromSaved() ||
- m_pListNameED->IsValueChangedFromSaved() ||
+ m_xNameED->get_value_changed_from_saved() ||
+ m_xValueED->get_value_changed_from_saved() ||
+ m_xCond1ED->get_value_changed_from_saved() ||
+ m_xCond2ED->get_value_changed_from_saved() ||
+ m_xListNameED->get_value_changed_from_saved() ||
bDropDownLBChanged ||
nOldFormat != nFormat)
{
InsertField( nTypeId, nSubType, aName, aVal, nFormat );
}
- ModifyHdl(*m_pNameED); // enable/disable Insert if applicable
+ ModifyHdl(m_xNameED->get_widget()); // enable/disable Insert if applicable
return false;
}
@@ -617,7 +579,7 @@ bool SwFieldFuncPage::FillItemSet(SfxItemSet* )
VclPtr<SfxTabPage> SwFieldFuncPage::Create( TabPageParent pParent,
const SfxItemSet *const pAttrSet)
{
- return VclPtr<SwFieldFuncPage>::Create( pParent.pParent, pAttrSet );
+ return VclPtr<SwFieldFuncPage>::Create( pParent, pAttrSet );
}
sal_uInt16 SwFieldFuncPage::GetGroup()
@@ -627,20 +589,19 @@ sal_uInt16 SwFieldFuncPage::GetGroup()
void SwFieldFuncPage::FillUserData()
{
- const sal_Int32 nEntryPos = m_pTypeLB->GetSelectedEntryPos();
- const sal_uInt16 nTypeSel = ( LISTBOX_ENTRY_NOTFOUND == nEntryPos )
+ const sal_Int32 nEntryPos = m_xTypeLB->get_selected_index();
+ const sal_uInt16 nTypeSel = ( -1 == nEntryPos )
? USHRT_MAX
- : sal::static_int_cast< sal_uInt16 >
- (reinterpret_cast< sal_uIntPtr >(m_pTypeLB->GetEntryData( nEntryPos )));
+ : m_xTypeLB->get_id(nEntryPos).toUInt32();
SetUserData(USER_DATA_VERSION ";" + OUString::number( nTypeSel ));
}
-IMPL_LINK_NOARG(SwFieldFuncPage, ModifyHdl, Edit&, void)
+IMPL_LINK_NOARG(SwFieldFuncPage, ModifyHdl, weld::Entry&, void)
{
- const sal_Int32 nLen = m_pNameED->GetText().getLength();
+ const sal_Int32 nLen = m_xNameED->get_text().getLength();
bool bEnable = true;
- sal_uInt16 nTypeId = static_cast<sal_uInt16>(reinterpret_cast<sal_uLong>(m_pTypeLB->GetEntryData(GetTypeSel())));
+ sal_uInt16 nTypeId = m_xTypeLB->get_id(GetTypeSel()).toUInt32();
if( TYP_COMBINED_CHARS == nTypeId &&
(!nLen || nLen > MAX_COMBINED_CHARACTERS ))
diff --git a/sw/source/ui/fldui/fldfunc.hxx b/sw/source/ui/fldui/fldfunc.hxx
index 086f369960d6..4013a94e9ddc 100644
--- a/sw/source/ui/fldui/fldfunc.hxx
+++ b/sw/source/ui/fldui/fldfunc.hxx
@@ -31,52 +31,52 @@
class SwFieldFuncPage : public SwFieldPage
{
- VclPtr<ListBox> m_pTypeLB;
- VclPtr<ListBox> m_pSelectionLB;
- VclPtr<VclContainer> m_pFormat;
- VclPtr<ListBox> m_pFormatLB;
- VclPtr<FixedText> m_pNameFT;
- VclPtr<ConditionEdit> m_pNameED;
- VclPtr<VclContainer> m_pValueGroup;
- VclPtr<FixedText> m_pValueFT;
- VclPtr<Edit> m_pValueED;
- VclPtr<FixedText> m_pCond1FT;
- VclPtr<ConditionEdit> m_pCond1ED;
- VclPtr<FixedText> m_pCond2FT;
- VclPtr<ConditionEdit> m_pCond2ED;
- VclPtr<PushButton> m_pMacroBT;
-
- //controls of "Input list"
- VclPtr<VclContainer> m_pListGroup;
- VclPtr<FixedText> m_pListItemFT;
- VclPtr<ReturnActionEdit> m_pListItemED;
- VclPtr<PushButton> m_pListAddPB;
- VclPtr<FixedText> m_pListItemsFT;
- VclPtr<ListBox> m_pListItemsLB;
- VclPtr<PushButton> m_pListRemovePB;
- VclPtr<PushButton> m_pListUpPB;
- VclPtr<PushButton> m_pListDownPB;
- VclPtr<FixedText> m_pListNameFT;
- VclPtr<Edit> m_pListNameED;
-
OUString m_sOldValueFT;
OUString m_sOldNameFT;
sal_uLong nOldFormat;
bool bDropDownLBChanged;
- DECL_LINK( TypeHdl, ListBox&, void );
- DECL_LINK( SelectHdl, ListBox&, void );
- DECL_LINK( InsertMacroHdl, ListBox&, void );
- DECL_LINK( ModifyHdl, Edit&, void );
- DECL_LINK( ListModifyReturnActionHdl, ReturnActionEdit&, void );
- DECL_LINK( ListModifyButtonHdl, Button*, void );
- DECL_LINK( ListEnableHdl, Edit&, void );
- DECL_LINK( ListEnableListBoxHdl, ListBox&, void );
- void ListModifyHdl(Control const *);
+ std::unique_ptr<weld::TreeView> m_xTypeLB;
+ std::unique_ptr<weld::TreeView> m_xSelectionLB;
+ std::unique_ptr<weld::Widget> m_xFormat;
+ std::unique_ptr<weld::TreeView> m_xFormatLB;
+ std::unique_ptr<weld::Label> m_xNameFT;
+ std::unique_ptr<SwConditionEdit> m_xNameED;
+ std::unique_ptr<weld::Widget> m_xValueGroup;
+ std::unique_ptr<weld::Label> m_xValueFT;
+ std::unique_ptr<weld::Entry> m_xValueED;
+ std::unique_ptr<weld::Label> m_xCond1FT;
+ std::unique_ptr<SwConditionEdit> m_xCond1ED;
+ std::unique_ptr<weld::Label> m_xCond2FT;
+ std::unique_ptr<SwConditionEdit> m_xCond2ED;
+ std::unique_ptr<weld::Button> m_xMacroBT;
+
+ //controls of "Input list"
+ std::unique_ptr<weld::Widget> m_xListGroup;
+ std::unique_ptr<weld::Label> m_xListItemFT;
+ std::unique_ptr<weld::Entry> m_xListItemED;
+ std::unique_ptr<weld::Button> m_xListAddPB;
+ std::unique_ptr<weld::Label> m_xListItemsFT;
+ std::unique_ptr<weld::TreeView> m_xListItemsLB;
+ std::unique_ptr<weld::Button> m_xListRemovePB;
+ std::unique_ptr<weld::Button> m_xListUpPB;
+ std::unique_ptr<weld::Button> m_xListDownPB;
+ std::unique_ptr<weld::Label> m_xListNameFT;
+ std::unique_ptr<weld::Entry> m_xListNameED;
+
+ DECL_LINK( TypeHdl, weld::TreeView&, void );
+ DECL_LINK( SelectHdl, weld::TreeView&, void );
+ DECL_LINK( InsertMacroHdl, weld::TreeView&, void );
+ DECL_LINK( ModifyHdl, weld::Entry&, void );
+ DECL_LINK( ListModifyReturnActionHdl, weld::Entry&, bool );
+ DECL_LINK( ListModifyButtonHdl, weld::Button&, void );
+ DECL_LINK( ListEnableHdl, weld::Entry&, void );
+ DECL_LINK( ListEnableListBoxHdl, weld::TreeView&, void );
+ void ListModifyHdl(const weld::Widget*);
// select Macro
- DECL_LINK( MacroHdl, Button *, void );
+ DECL_LINK( MacroHdl, weld::Button&, void );
void UpdateSubType();
@@ -84,10 +84,8 @@ protected:
virtual sal_uInt16 GetGroup() override;
public:
- SwFieldFuncPage(vcl::Window* pParent, const SfxItemSet* pSet);
-
- virtual ~SwFieldFuncPage() override;
- virtual void dispose() override;
+ SwFieldFuncPage(TabPageParent pParent, const SfxItemSet* pSet);
+ virtual ~SwFieldFuncPage() override;
static VclPtr<SfxTabPage> Create(TabPageParent pParent, const SfxItemSet* rAttrSet);
diff --git a/sw/source/ui/fldui/fldpage.cxx b/sw/source/ui/fldui/fldpage.cxx
index 1cc166356c24..8c961cd6fe30 100644
--- a/sw/source/ui/fldui/fldpage.cxx
+++ b/sw/source/ui/fldui/fldpage.cxx
@@ -57,6 +57,21 @@ SwFieldPage::SwFieldPage(vcl::Window *pParent, const OString& rID,
{
}
+SwFieldPage::SwFieldPage(TabPageParent pParent, const OUString& rUIXMLDescription,
+ const OString& rID, const SfxItemSet *pAttrSet)
+ : SfxTabPage(pParent, rUIXMLDescription, rID, pAttrSet)
+ , m_pCurField(nullptr)
+ , m_pWrtShell(nullptr)
+ , m_nTypeSel(LISTBOX_ENTRY_NOTFOUND)
+ , m_nSelectionSel(LISTBOX_ENTRY_NOTFOUND)
+ , m_bFieldEdit(false)
+ , m_bInsert(true)
+ , m_bFieldDlgHtmlMode(false)
+ , m_bRefresh(false)
+ , m_bFirstHTMLInit(true)
+{
+}
+
SwFieldPage::~SwFieldPage()
{
}
@@ -291,6 +306,16 @@ void SwFieldPage::SavePos( const ListBox* pLst1 )
m_aLstStrArr[ 2 ].clear();
}
+void SwFieldPage::SavePos( const weld::TreeView& rLst1 )
+{
+ if (rLst1.n_children())
+ m_aLstStrArr[ 0 ] = rLst1.get_selected_text();
+ else
+ m_aLstStrArr[ 0 ].clear();
+ m_aLstStrArr[ 1 ].clear();
+ m_aLstStrArr[ 2 ].clear();
+}
+
void SwFieldPage::RestorePos(ListBox* pLst1)
{
sal_Int32 nPos = 0;
@@ -300,6 +325,14 @@ void SwFieldPage::RestorePos(ListBox* pLst1)
pLst1->SelectEntryPos( nPos );
}
+void SwFieldPage::RestorePos(weld::TreeView& rLst1)
+{
+ sal_Int32 nPos = 0;
+ if (rLst1.n_children() && !m_aLstStrArr[ 0 ].isEmpty() &&
+ -1 != ( nPos = rLst1.find_text(m_aLstStrArr[ 0 ] ) ) )
+ rLst1.select( nPos );
+}
+
// Insert new fields
IMPL_LINK( SwFieldPage, TreeListBoxInsertHdl, SvTreeListBox*, pBtn, bool )
{
@@ -312,6 +345,11 @@ IMPL_LINK( SwFieldPage, ListBoxInsertHdl, ListBox&, rBox, void )
InsertHdl(&rBox);
}
+IMPL_LINK( SwFieldPage, TreeViewInsertHdl, weld::TreeView&, rBox, void )
+{
+ InsertHdl(&rBox);
+}
+
void SwFieldPage::InsertHdl(void* pBtn)
{
SwFieldDlg *pDlg = static_cast<SwFieldDlg*>(GetTabDialog());
diff --git a/sw/source/ui/fldui/fldpage.hxx b/sw/source/ui/fldui/fldpage.hxx
index 4fa6c41dbf08..650989d51f01 100644
--- a/sw/source/ui/fldui/fldpage.hxx
+++ b/sw/source/ui/fldui/fldpage.hxx
@@ -55,13 +55,16 @@ protected:
SwWrtShell* GetWrtShell() { return m_pWrtShell;}
DECL_LINK( ListBoxInsertHdl, ListBox&, void );
+ DECL_LINK( TreeViewInsertHdl, weld::TreeView&, void );
DECL_LINK( TreeListBoxInsertHdl, SvTreeListBox*, bool );
DECL_LINK( NumFormatHdl, ListBox&, void );
void InsertHdl(void *);
void Init();
void SavePos( const ListBox* pLst1);
+ void SavePos( const weld::TreeView& rLst1);
void RestorePos( ListBox* pLst1 );
+ void RestorePos( weld::TreeView& rLst1 );
void EnableInsert(bool bEnable);
bool IsFieldEdit() const { return m_bFieldEdit; }
@@ -79,6 +82,8 @@ protected:
public:
SwFieldPage(vcl::Window *pParent, const OString& rID,
const OUString& rUIXMLDescription, const SfxItemSet *pAttrSet);
+ SwFieldPage(TabPageParent pParent, const OUString& rUIXMLDescription,
+ const OString& rID, const SfxItemSet *pAttrSet);
virtual ~SwFieldPage() override;
diff --git a/sw/source/uibase/cctrl/actctrl.cxx b/sw/source/uibase/cctrl/actctrl.cxx
index 92f97a00f5e2..6f3a286521b3 100644
--- a/sw/source/uibase/cctrl/actctrl.cxx
+++ b/sw/source/uibase/cctrl/actctrl.cxx
@@ -54,23 +54,4 @@ bool NumEditAction::EventNotify( NotifyEvent& rNEvt )
return bHandled;
}
-void ReturnActionEdit::KeyInput( const KeyEvent& rEvt)
-{
- const vcl::KeyCode aKeyCode = rEvt.GetKeyCode();
- const sal_uInt16 nModifier = aKeyCode.GetModifier();
- if( aKeyCode.GetCode() == KEY_RETURN &&
- !nModifier)
- {
- aReturnActionLink.Call(*this);
- }
- else
- Edit::KeyInput(rEvt);
-}
-
-extern "C" SAL_DLLPUBLIC_EXPORT void makeReturnActionEdit(VclPtr<vcl::Window> & rRet, VclPtr<vcl::Window> & pParent, VclBuilder::stringmap & rMap)
-{
- BuilderUtils::ensureDefaultWidthChars(rMap);
- rRet = VclPtr<ReturnActionEdit>::Create(pParent, WB_LEFT|WB_VCENTER|WB_BORDER|WB_3DLOOK);
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/uibase/inc/actctrl.hxx b/sw/source/uibase/inc/actctrl.hxx
index 87ef21e61859..93dae6f72f99 100644
--- a/sw/source/uibase/inc/actctrl.hxx
+++ b/sw/source/uibase/inc/actctrl.hxx
@@ -39,21 +39,6 @@ public:
void SetActionHdl( const Link<NumEditAction&,void>& rLink ) { aActionLink = rLink;}
};
-// call a link when KEY_RETURN is pressed
-class SW_DLLPUBLIC ReturnActionEdit : public Edit
-{
- Link<ReturnActionEdit&,void> aReturnActionLink;
-public:
- ReturnActionEdit(vcl::Window* pParent, WinBits nStyle)
- : Edit(pParent, nStyle)
- {
- }
- virtual void KeyInput( const KeyEvent& ) override;
-
- void SetReturnActionLink(const Link<ReturnActionEdit&,void>& rLink)
- { aReturnActionLink = rLink;}
-};
-
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/uibase/inc/condedit.hxx b/sw/source/uibase/inc/condedit.hxx
index 81716bda93f0..b433129dd49d 100644
--- a/sw/source/uibase/inc/condedit.hxx
+++ b/sw/source/uibase/inc/condedit.hxx
@@ -70,7 +70,11 @@ public:
OUString get_text() const { return m_xControl->get_text(); }
void set_text(const OUString& rText) { m_xControl->set_text(rText); }
+ void set_visible(bool bVisible) { m_xControl->set_visible(bVisible); }
+ void set_accessible_name(const OUString& rName) { m_xControl->set_accessible_name(rName); }
bool get_sensitive() const { return m_xControl->get_sensitive(); }
+ void save_value() { m_xControl->save_value(); }
+ bool get_value_changed_from_saved() const { return m_xControl->get_value_changed_from_saved(); }
void set_sensitive(bool bSensitive) { m_xControl->set_sensitive(bSensitive); }
void connect_changed(const Link<weld::Entry&, void>& rLink) { m_xControl->connect_changed(rLink); }
void hide() { m_xControl->hide(); }
diff --git a/sw/uiconfig/swriter/ui/fldfuncpage.ui b/sw/uiconfig/swriter/ui/fldfuncpage.ui
index b8ba4c084ccc..99fbf069c27e 100644
--- a/sw/uiconfig/swriter/ui/fldfuncpage.ui
+++ b/sw/uiconfig/swriter/ui/fldfuncpage.ui
@@ -1,7 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
<interface domain="sw">
<requires lib="gtk+" version="3.18"/>
- <requires lib="LibreOffice" version="1.0"/>
+ <object class="GtkTreeStore" id="liststore1">
+ <columns>
+ <!-- column-name text -->
+ <column type="gchararray"/>
+ <!-- column-name id -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
+ <object class="GtkTreeStore" id="liststore2">
+ <columns>
+ <!-- column-name text -->
+ <column type="gchararray"/>
+ <!-- column-name id -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
+ <object class="GtkTreeStore" id="liststore3">
+ <columns>
+ <!-- column-name text -->
+ <column type="gchararray"/>
+ <!-- column-name id -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
<object class="GtkBox" id="FieldFuncPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -22,14 +46,37 @@
<property name="hexpand">True</property>
<property name="top_padding">6</property>
<child>
- <object class="GtkTreeView" id="type:border">
+ <object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
- <property name="show_expanders">False</property>
- <child internal-child="selection">
- <object class="GtkTreeSelection" id="treeview-selection1"/>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="type">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="model">liststore1</property>
+ <property name="headers_visible">False</property>
+ <property name="headers_clickable">False</property>
+ <property name="search_column">0</property>
+ <property name="show_expanders">False</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection1"/>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn1">
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext1"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
</child>
</object>
</child>
@@ -39,9 +86,9 @@
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="fldfuncpage|label1">_Type</property>
<property name="use_underline">True</property>
+ <property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
@@ -68,16 +115,37 @@
<property name="hexpand">True</property>
<property name="top_padding">6</property>
<child>
- <object class="GtkTreeView" id="select:border">
+ <object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
- <property name="model">liststore1</property>
- <property name="search_column">0</property>
- <property name="show_expanders">False</property>
- <child internal-child="selection">
- <object class="GtkTreeSelection" id="treeview-selection4"/>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="select">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="model">liststore2</property>
+ <property name="headers_visible">False</property>
+ <property name="headers_clickable">False</property>
+ <property name="search_column">0</property>
+ <property name="show_expanders">False</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection2"/>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn2">
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext2"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
</child>
</object>
</child>
@@ -87,9 +155,9 @@
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="fldfuncpage|label4">S_elect</property>
<property name="use_underline">True</property>
+ <property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
@@ -116,15 +184,37 @@
<property name="hexpand">True</property>
<property name="top_padding">6</property>
<child>
- <object class="GtkTreeView" id="format:border">
+ <object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
- <property name="model">liststore1</property>
- <property name="show_expanders">False</property>
- <child internal-child="selection">
- <object class="GtkTreeSelection" id="treeview-selection3"/>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="format">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="model">liststore3</property>
+ <property name="headers_visible">False</property>
+ <property name="headers_clickable">False</property>
+ <property name="search_column">0</property>
+ <property name="show_expanders">False</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection3"/>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn3">
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext3"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
</child>
</object>
</child>
@@ -134,9 +224,9 @@
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="fldfuncpage|label2">F_ormat</property>
<property name="use_underline">True</property>
+ <property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
@@ -153,8 +243,8 @@
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="row_spacing">12</property>
<property name="hexpand">True</property>
+ <property name="row_spacing">12</property>
<child>
<object class="GtkButton" id="macro">
<property name="label" translatable="yes" context="fldfuncpage|macro">_Macro...</property>
@@ -167,30 +257,26 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="valuegroup">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="row_spacing">6</property>
<property name="hexpand">True</property>
+ <property name="row_spacing">6</property>
<child>
<object class="GtkLabel" id="valueft">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="fldfuncpage|valueft">_Value</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">value</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
@@ -198,106 +284,93 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid3">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="row_spacing">6</property>
<property name="hexpand">True</property>
+ <property name="row_spacing">6</property>
<child>
<object class="GtkLabel" id="nameft">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="fldfuncpage|nameft">Na_me</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">condFunction</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
- <object class="swlo-ConditionEdit" id="condFunction">
+ <object class="GtkEntry" id="condFunction">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid4">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="row_spacing">6</property>
<property name="hexpand">True</property>
+ <property name="row_spacing">6</property>
<child>
<object class="GtkLabel" id="cond1ft">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="fldfuncpage|cond1ft">Then</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">cond1</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
- <object class="swlo-ConditionEdit" id="cond1">
+ <object class="GtkEntry" id="cond1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
@@ -309,37 +382,32 @@
<object class="GtkLabel" id="cond2ft">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="fldfuncpage|cond2ft">Else</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">cond2</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
- <object class="swlo-ConditionEdit" id="cond2">
+ <object class="GtkEntry" id="cond2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
@@ -351,43 +419,38 @@
<object class="GtkGrid" id="grid9">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="row_spacing">6</property>
<property name="hexpand">True</property>
+ <property name="row_spacing">6</property>
<child>
<object class="GtkLabel" id="itemft">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="fldfuncpage|itemft">It_em</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">item</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
- <object class="swlo-ReturnActionEdit" id="item">
+ <object class="GtkEntry" id="item">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
@@ -402,8 +465,6 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
@@ -415,20 +476,18 @@
<object class="GtkLabel" id="listitemft">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="fldfuncpage|listitemft">Items on _list</property>
<property name="use_underline">True</property>
- <property name="mnemonic_widget">listitems:border</property>
+ <property name="mnemonic_widget">listitems</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
- <object class="GtkTreeView" id="listitems:border">
+ <object class="GtkTreeView" id="listitems">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
@@ -440,8 +499,6 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
@@ -499,8 +556,6 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
@@ -512,16 +567,14 @@
<object class="GtkLabel" id="listnameft">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="fldfuncpage|listnameft">Na_me</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">listname</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
<child>
@@ -529,36 +582,29 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
</packing>
</child>
</object>
@@ -569,18 +615,12 @@
</packing>
</child>
</object>
- <object class="GtkTreeStore" id="liststore1">
- <columns>
- <!-- column-name gchararray1 -->
- <column type="gchararray"/>
- </columns>
- </object>
<object class="GtkSizeGroup" id="sizegroup1">
<property name="mode">both</property>
<widgets>
- <widget name="type:border"/>
- <widget name="select:border"/>
- <widget name="format:border"/>
+ <widget name="type"/>
+ <widget name="select"/>
+ <widget name="format"/>
</widgets>
</object>
</interface>
commit 338e562639f947f9aa5fcd7340fe87a57b0f3601
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Mar 11 14:55:23 2019 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Sat Mar 16 22:17:05 2019 +0100
weld ScAutoFormatDlg
Change-Id: I700034eefe9fb25ee331645283bd3611c88faf5b
Reviewed-on: https://gerrit.libreoffice.org/69052
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index a420ad7f9864..d1583ef900ef 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -189,9 +189,6 @@
<glade-widget-class title="Table Preview" name="swuilo-AutoFmtPreview"
generic-name="Table Preview Window" parent="GtkDrawingArea"
icon-name="widget-gtk-drawingarea"/>
- <glade-widget-class title="Calc Table Preview" name="sclo-ScAutoFmtPreview"
- generic-name="Calc Table Preview Window" parent="GtkDrawingArea"
- icon-name="widget-gtk-drawingarea"/>
<glade-widget-class title="Extension List" name="deploymentgui-ExtensionBox"
generic-name="Extensions List" parent="GtkDrawingArea"
icon-name="widget-gtk-drawingarea"/>
diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx
index 3c6812562c48..4a5d326049a1 100644
--- a/sc/inc/scabstdlg.hxx
+++ b/sc/inc/scabstdlg.hxx
@@ -400,7 +400,7 @@ public:
virtual VclPtr<AbstractScTextImportOptionsDlg> CreateScTextImportOptionsDlg(weld::Window* pParent) = 0;
- virtual VclPtr<AbstractScAutoFormatDlg> CreateScAutoFormatDlg(vcl::Window* pParent,
+ virtual VclPtr<AbstractScAutoFormatDlg> CreateScAutoFormatDlg(weld::Window* pParent,
ScAutoFormat* pAutoFormat,
const ScAutoFormatData* pSelFormatData,
ScViewData *pViewData) = 0;
diff --git a/sc/qa/uitest/calc_tests6/autoFormat.py b/sc/qa/uitest/calc_tests6/autoFormat.py
index e5ecb485e935..c38165f36c36 100644
--- a/sc/qa/uitest/calc_tests6/autoFormat.py
+++ b/sc/qa/uitest/calc_tests6/autoFormat.py
@@ -32,9 +32,8 @@ class autoFormat(UITestCase):
alignmentcb = xDialog.getChild("alignmentcb")
autofitcb = xDialog.getChild("autofitcb")
- props = {"TEXT": "Financial"}
- actionProps = mkPropertyValues(props)
- formatlb.executeAction("SELECT", actionProps)
+ entry = formatlb.getChild("7") #Financial
+ entry.executeAction("SELECT", tuple())
numformatcb.executeAction("CLICK", tuple())
bordercb.executeAction("CLICK", tuple())
fontcb.executeAction("CLICK", tuple())
@@ -57,9 +56,8 @@ class autoFormat(UITestCase):
alignmentcb = xDialog.getChild("alignmentcb")
autofitcb = xDialog.getChild("autofitcb")
- props = {"TEXT": "Financial"}
- actionProps = mkPropertyValues(props)
- formatlb.executeAction("SELECT", actionProps)
+ entry = formatlb.getChild("7") #Financial
+ entry.executeAction("SELECT", tuple())
self.assertEqual(get_state_as_dict(numformatcb)["Selected"], "false")
self.assertEqual(get_state_as_dict(bordercb)["Selected"], "false")
self.assertEqual(get_state_as_dict(fontcb)["Selected"], "false")
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx
index 86d8966b0409..88a153120400 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -71,7 +71,11 @@
#include <conditio.hxx>
IMPL_ABSTDLG_BASE(AbstractScImportAsciiDlg_Impl);
-IMPL_ABSTDLG_BASE(AbstractScAutoFormatDlg_Impl);
+
+short AbstractScAutoFormatDlg_Impl::Execute()
+{
+ return m_xDlg->run();
+}
short AbstractScColRowLabelDlg_Impl::Execute()
{
@@ -269,15 +273,15 @@ void AbstractScImportAsciiDlg_Impl::SaveParameters()
sal_uInt16 AbstractScAutoFormatDlg_Impl::GetIndex() const
{
- return pDlg->GetIndex();
+ return m_xDlg->GetIndex();
}
OUString AbstractScAutoFormatDlg_Impl::GetCurrFormatName()
{
- return pDlg->GetCurrFormatName();
+ return m_xDlg->GetCurrFormatName();
}
-bool AbstractScColRowLabelDlg_Impl::IsCol()
+bool AbstractScColRowLabelDlg_Impl::IsCol()
{
return m_xDlg->IsCol();
}
@@ -763,13 +767,12 @@ VclPtr<AbstractScTextImportOptionsDlg> ScAbstractDialogFactory_Impl::CreateScTex
return VclPtr<AbstractScTextImportOptionsDlg_Impl>::Create(std::make_unique<ScTextImportOptionsDlg>(pParent));
}
-VclPtr<AbstractScAutoFormatDlg> ScAbstractDialogFactory_Impl::CreateScAutoFormatDlg(vcl::Window* pParent,
+VclPtr<AbstractScAutoFormatDlg> ScAbstractDialogFactory_Impl::CreateScAutoFormatDlg(weld::Window* pParent,
ScAutoFormat* pAutoFormat,
const ScAutoFormatData* pSelFormatData,
ScViewData *pViewData)
{
- VclPtr<ScAutoFormatDlg> pDlg = VclPtr<ScAutoFormatDlg>::Create(pParent, pAutoFormat, pSelFormatData, pViewData);
- return VclPtr<AbstractScAutoFormatDlg_Impl>::Create(pDlg);
+ return VclPtr<AbstractScAutoFormatDlg_Impl>::Create(std::make_unique<ScAutoFormatDlg>(pParent, pAutoFormat, pSelFormatData, pViewData));
}
VclPtr<AbstractScColRowLabelDlg> ScAbstractDialogFactory_Impl::CreateScColRowLabelDlg(weld::Window* pParent,
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx
index 471d22a9e8cb..c752101f82af 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -105,7 +105,13 @@ class AbstractScImportAsciiDlg_Impl : public AbstractScImportAsciiDlg
class AbstractScAutoFormatDlg_Impl : public AbstractScAutoFormatDlg
{
- DECL_ABSTDLG_BASE(AbstractScAutoFormatDlg_Impl, ScAutoFormatDlg)
+ std::unique_ptr<ScAutoFormatDlg> m_xDlg;
+public:
+ explicit AbstractScAutoFormatDlg_Impl(std::unique_ptr<ScAutoFormatDlg> p)
+ : m_xDlg(std::move(p))
+ {
+ }
+ virtual short Execute() override;
virtual sal_uInt16 GetIndex() const override;
virtual OUString GetCurrFormatName() override;
};
@@ -586,7 +592,7 @@ public:
virtual VclPtr<AbstractScTextImportOptionsDlg> CreateScTextImportOptionsDlg(weld::Window* pParent) override;
- virtual VclPtr<AbstractScAutoFormatDlg> CreateScAutoFormatDlg(vcl::Window* pParent,
+ virtual VclPtr<AbstractScAutoFormatDlg> CreateScAutoFormatDlg(weld::Window* pParent,
ScAutoFormat* pAutoFormat,
const ScAutoFormatData* pSelFormatData,
ScViewData *pViewData) override;
diff --git a/sc/source/ui/inc/autofmt.hxx b/sc/source/ui/inc/autofmt.hxx
index 723e1ba555f9..84a29c6b6d19 100644
--- a/sc/source/ui/inc/autofmt.hxx
+++ b/sc/source/ui/inc/autofmt.hxx
@@ -22,7 +22,7 @@
#include <svx/framelinkarray.hxx>
#include <scdllapi.h>
-#include <vcl/window.hxx>
+#include <vcl/customweld.hxx>
namespace com { namespace sun { namespace star { namespace i18n { class XBreakIterator; } } } }
@@ -33,13 +33,13 @@ class SvNumberFormatter;
class VirtualDevice;
class ScViewData;
-class SC_DLLPUBLIC ScAutoFmtPreview : public vcl::Window
+class SC_DLLPUBLIC ScAutoFmtPreview : public weld::CustomWidgetController
{
public:
- ScAutoFmtPreview(vcl::Window* pParent);
+ ScAutoFmtPreview();
void DetectRTL(const ScViewData *pViewData);
+ virtual void SetDrawingArea(weld::DrawingArea* pDrawingArea) override;
virtual ~ScAutoFmtPreview() override;
- virtual void dispose() override;
void NotifyChange( ScAutoFormatData* pNewData );
@@ -85,8 +85,8 @@ private:
SAL_DLLPRIVATE void DrawString(vcl::RenderContext& rRenderContext, size_t nCol, size_t nRow);
SAL_DLLPRIVATE void DrawBackground(vcl::RenderContext& rRenderContext);
- SAL_DLLPRIVATE void MakeFonts(sal_uInt16 nIndex, vcl::Font& rFont,
- vcl::Font& rCJKFont, vcl::Font& rCTLFont );
+ SAL_DLLPRIVATE void MakeFonts(vcl::RenderContext const& rRenderContext, sal_uInt16 nIndex,
+ vcl::Font& rFont, vcl::Font& rCJKFont, vcl::Font& rCTLFont);
};
#endif // INCLUDED_SC_SOURCE_UI_INC_AUTOFMT_HXX
diff --git a/sc/source/ui/inc/scuiautofmt.hxx b/sc/source/ui/inc/scuiautofmt.hxx
index a00beb1e68de..6ddaf400ac94 100644
--- a/sc/source/ui/inc/scuiautofmt.hxx
+++ b/sc/source/ui/inc/scuiautofmt.hxx
@@ -18,35 +18,23 @@
*/
#ifndef INCLUDED_SC_SOURCE_UI_INC_SCUIAUTOFMT_HXX
#define INCLUDED_SC_SOURCE_UI_INC_SCUIAUTOFMT_HXX
+
+#include <vcl/customweld.hxx>
#include "autofmt.hxx"
-class ScAutoFormatDlg : public ModalDialog
+class ScAutoFormatDlg : public weld::GenericDialogController
{
public:
- ScAutoFormatDlg(vcl::Window* pParent,
+ ScAutoFormatDlg(weld::Window* pParent,
ScAutoFormat* pAutoFormat,
const ScAutoFormatData* pSelFormatData,
const ScViewData *pViewData);
virtual ~ScAutoFormatDlg() override;
- virtual void dispose() override;
sal_uInt16 GetIndex() const { return nIndex; }
OUString GetCurrFormatName();
private:
- VclPtr<ListBox> m_pLbFormat;
- VclPtr<ScAutoFmtPreview> m_pWndPreview;
- VclPtr<OKButton> m_pBtnOk;
- VclPtr<CancelButton> m_pBtnCancel;
- VclPtr<PushButton> m_pBtnAdd;
- VclPtr<PushButton> m_pBtnRemove;
- VclPtr<PushButton> m_pBtnRename;
- VclPtr<CheckBox> m_pBtnNumFormat;
- VclPtr<CheckBox> m_pBtnBorder;
- VclPtr<CheckBox> m_pBtnFont;
- VclPtr<CheckBox> m_pBtnPattern;
- VclPtr<CheckBox> m_pBtnAlignment;
- VclPtr<CheckBox> m_pBtnAdjust;
OUString const aStrTitle;
OUString const aStrLabel;
OUString const aStrClose;
@@ -59,16 +47,31 @@ private:
bool bCoreDataChanged;
bool bFmtInserted;
+ ScAutoFmtPreview m_aWndPreview;
+ std::unique_ptr<weld::TreeView> m_xLbFormat;
+ std::unique_ptr<weld::Button> m_xBtnOk;
+ std::unique_ptr<weld::Button> m_xBtnCancel;
+ std::unique_ptr<weld::Button> m_xBtnAdd;
+ std::unique_ptr<weld::Button> m_xBtnRemove;
+ std::unique_ptr<weld::Button> m_xBtnRename;
+ std::unique_ptr<weld::CheckButton> m_xBtnNumFormat;
+ std::unique_ptr<weld::CheckButton> m_xBtnBorder;
+ std::unique_ptr<weld::CheckButton> m_xBtnFont;
+ std::unique_ptr<weld::CheckButton> m_xBtnPattern;
+ std::unique_ptr<weld::CheckButton> m_xBtnAlignment;
+ std::unique_ptr<weld::CheckButton> m_xBtnAdjust;
+ std::unique_ptr<weld::CustomWeld> m_xWndPreview;
+
void Init ();
void UpdateChecks ();
- DECL_LINK( CheckHdl, Button*, void );
- DECL_LINK( AddHdl, Button*, void );
- DECL_LINK( RemoveHdl, Button*, void );
- DECL_LINK( SelFmtHdl, ListBox&, void );
- DECL_LINK( CloseHdl, Button *, void );
- DECL_LINK( DblClkHdl, ListBox&, void );
- DECL_LINK( RenameHdl, Button*, void );
+ DECL_LINK( CheckHdl, weld::ToggleButton&, void );
+ DECL_LINK( AddHdl, weld::Button&, void );
+ DECL_LINK( RemoveHdl, weld::Button&, void );
+ DECL_LINK( SelFmtHdl, weld::TreeView&, void );
+ DECL_LINK( CloseHdl, weld::Button&, void );
+ DECL_LINK( DblClkHdl, weld::TreeView&, void );
+ DECL_LINK( RenameHdl, weld::Button&, void );
};
#endif
diff --git a/sc/source/ui/miscdlgs/autofmt.cxx b/sc/source/ui/miscdlgs/autofmt.cxx
index e031ccbca417..a64104548f2b 100644
--- a/sc/source/ui/miscdlgs/autofmt.cxx
+++ b/sc/source/ui/miscdlgs/autofmt.cxx
@@ -49,10 +49,8 @@
// ScAutoFmtPreview
-ScAutoFmtPreview::ScAutoFmtPreview(vcl::Window* pParent)
- : Window(pParent)
- , pCurData(nullptr)
- , aVD(*this)
+ScAutoFmtPreview::ScAutoFmtPreview()
+ : pCurData(nullptr)
, bFitWidth(false)
, mbRTL(false)
, aStrJan(ScResId(STR_JAN))
@@ -67,11 +65,16 @@ ScAutoFmtPreview::ScAutoFmtPreview(vcl::Window* pParent)
Init();
}
-VCL_BUILDER_FACTORY(ScAutoFmtPreview)
+void ScAutoFmtPreview::SetDrawingArea(weld::DrawingArea* pDrawingArea)
+{
+ aVD.disposeAndReset(VclPtr<VirtualDevice>::Create(pDrawingArea->get_ref_device()));
+ CustomWidgetController::SetDrawingArea(pDrawingArea);
+}
void ScAutoFmtPreview::Resize()
{
- aPrvSize = Size(GetSizePixel().Width() - 6, GetSizePixel().Height() - 30);
+ Size aSize(GetOutputSizePixel());
+ aPrvSize = Size(aSize.Width() - 6, aSize.Height() - 30);
mnLabelColWidth = (aPrvSize.Width() - 4) / 4 - 12;
mnDataColWidth1 = (aPrvSize.Width() - 4 - 2 * mnLabelColWidth) / 3;
mnDataColWidth2 = (aPrvSize.Width() - 4 - 2 * mnLabelColWidth) / 4;
@@ -81,13 +84,6 @@ void ScAutoFmtPreview::Resize()
ScAutoFmtPreview::~ScAutoFmtPreview()
{
- disposeOnce();
-}
-
-void ScAutoFmtPreview::dispose()
-{
- pNumFmt.reset();
- vcl::Window::dispose();
}
static void lcl_SetFontProperties(
@@ -105,12 +101,12 @@ static void lcl_SetFontProperties(
rFont.SetItalic ( rPostureItem.GetValue() );
}
-void ScAutoFmtPreview::MakeFonts( sal_uInt16 nIndex, vcl::Font& rFont, vcl::Font& rCJKFont, vcl::Font& rCTLFont )
+void ScAutoFmtPreview::MakeFonts(vcl::RenderContext const& rRenderContext, sal_uInt16 nIndex, vcl::Font& rFont, vcl::Font& rCJKFont, vcl::Font& rCTLFont)
{
if ( pCurData )
{
- rFont = rCJKFont = rCTLFont = GetFont();
- Size aFontSize( rFont.GetFontSize().Width(), 10 * GetDPIScaleFactor() );
+ rFont = rCJKFont = rCTLFont = rRenderContext.GetFont();
+ Size aFontSize(rFont.GetFontSize().Width(), 10 * rRenderContext.GetDPIScaleFactor());
const SvxFontItem* pFontItem = pCurData->GetItem( nIndex, ATTR_FONT );
const SvxWeightItem* pWeightItem = pCurData->GetItem( nIndex, ATTR_FONT_WEIGHT );
@@ -134,7 +130,7 @@ void ScAutoFmtPreview::MakeFonts( sal_uInt16 nIndex, vcl::Font& rFont, vcl::Font
Color aColor( pColorItem->GetValue() );
if( aColor == COL_TRANSPARENT )
- aColor = GetSettings().GetStyleSettings().GetWindowTextColor();
+ aColor = Application::GetSettings().GetStyleSettings().GetWindowTextColor();
#define SETONALLFONTS( MethodName, Value ) \
rFont.MethodName( Value ); rCJKFont.MethodName( Value ); rCTLFont.MethodName( Value );
@@ -263,7 +259,7 @@ void ScAutoFmtPreview::DrawString(vcl::RenderContext& rRenderContext, size_t nCo
vcl::Font aFont, aCJKFont, aCTLFont;
Size theMaxStrSize;
- MakeFonts( nFmtIndex, aFont, aCJKFont, aCTLFont );
+ MakeFonts(rRenderContext, nFmtIndex, aFont, aCJKFont, aCTLFont);
theMaxStrSize = Size(basegfx::fround(cellRange.getWidth()), basegfx::fround(cellRange.getHeight()));
theMaxStrSize.AdjustWidth( -(FRAME_OFFSET) );
@@ -413,9 +409,7 @@ void ScAutoFmtPreview::PaintCells(vcl::RenderContext& rRenderContext)
void ScAutoFmtPreview::Init()
{
- SetBorderStyle( WindowBorderStyle::MONO );
maArray.Initialize( 5, 5 );
-// maArray.SetUseDiagDoubleClipping( false );
mnLabelColWidth = 0;
mnDataColWidth1 = 0;
mnDataColWidth2 = 0;
@@ -491,14 +485,15 @@ void ScAutoFmtPreview::NotifyChange( ScAutoFormatData* pNewData )
CalcCellArray( bFitWidth );
CalcLineMap();
- Invalidate(tools::Rectangle(Point(0,0), GetSizePixel()));
+ Invalidate();
}
void ScAutoFmtPreview::DoPaint(vcl::RenderContext& rRenderContext)
{
+ rRenderContext.Push(PushFlags::ALL);
DrawModeFlags nOldDrawMode = aVD->GetDrawMode();
- Size aWndSize(GetSizePixel());
+ Size aWndSize(GetOutputSizePixel());
vcl::Font aFont(aVD->GetFont());
Color aBackCol(rRenderContext.GetSettings().GetStyleSettings().GetWindowColor());
tools::Rectangle aRect(Point(), aWndSize);
@@ -521,6 +516,7 @@ void ScAutoFmtPreview::DoPaint(vcl::RenderContext& rRenderContext)
aPos.setX( -aPos.X() );
rRenderContext.DrawOutDev(aPos, aWndSize, Point(), aWndSize, *aVD);
aVD->SetDrawMode(nOldDrawMode);
+ rRenderContext.Pop();
}
void ScAutoFmtPreview::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& /*rRect*/)
diff --git a/sc/source/ui/miscdlgs/scuiautofmt.cxx b/sc/source/ui/miscdlgs/scuiautofmt.cxx
index 4593ef712e17..fa5ced63c8b2 100644
--- a/sc/source/ui/miscdlgs/scuiautofmt.cxx
+++ b/sc/source/ui/miscdlgs/scuiautofmt.cxx
@@ -37,12 +37,11 @@
// AutoFormat-Dialog:
-ScAutoFormatDlg::ScAutoFormatDlg(vcl::Window* pParent,
+ScAutoFormatDlg::ScAutoFormatDlg(weld::Window* pParent,
ScAutoFormat* pAutoFormat,
const ScAutoFormatData* pSelFormatData,
const ScViewData *pViewData)
- : ModalDialog(pParent, "AutoFormatTableDialog",
- "modules/scalc/ui/autoformattable.ui")
+ : GenericDialogController(pParent, "modules/scalc/ui/autoformattable.ui", "AutoFormatTableDialog")
, aStrTitle(ScResId(STR_ADD_AUTOFORMAT_TITLE))
, aStrLabel(ScResId(STR_ADD_AUTOFORMAT_LABEL))
, aStrClose(ScResId(STR_BTN_AUTOFORMAT_CLOSE))
@@ -53,83 +52,69 @@ ScAutoFormatDlg::ScAutoFormatDlg(vcl::Window* pParent,
, nIndex(0)
, bCoreDataChanged(false)
, bFmtInserted(false)
+ , m_xLbFormat(m_xBuilder->weld_tree_view("formatlb"))
+ , m_xBtnOk(m_xBuilder->weld_button("ok"))
+ , m_xBtnCancel(m_xBuilder->weld_button("cancel"))
+ , m_xBtnAdd(m_xBuilder->weld_button("add"))
+ , m_xBtnRemove(m_xBuilder->weld_button("remove"))
+ , m_xBtnRename(m_xBuilder->weld_button("rename"))
+ , m_xBtnNumFormat(m_xBuilder->weld_check_button("numformatcb"))
+ , m_xBtnBorder(m_xBuilder->weld_check_button("bordercb"))
+ , m_xBtnFont(m_xBuilder->weld_check_button("fontcb"))
+ , m_xBtnPattern(m_xBuilder->weld_check_button("patterncb"))
+ , m_xBtnAlignment(m_xBuilder->weld_check_button("alignmentcb"))
+ , m_xBtnAdjust(m_xBuilder->weld_check_button("autofitcb"))
+ , m_xWndPreview(new weld::CustomWeld(*m_xBuilder, "preview", m_aWndPreview))
{
- get(m_pLbFormat, "formatlb");
- get(m_pWndPreview, "preview");
- m_pWndPreview->DetectRTL(pViewData);
- get(m_pBtnOk, "ok");
- get(m_pBtnCancel, "cancel");
- get(m_pBtnAdd, "add");
- get(m_pBtnRemove, "remove");
- get(m_pBtnRename, "rename");
- get(m_pBtnNumFormat, "numformatcb");
- get(m_pBtnBorder, "bordercb");
- get(m_pBtnFont, "fontcb");
- get(m_pBtnPattern, "patterncb");
- get(m_pBtnAlignment, "alignmentcb");
- get(m_pBtnAdjust, "autofitcb");
+ m_aWndPreview.DetectRTL(pViewData);
+
+ const int nWidth = m_xLbFormat->get_approximate_digit_width() * 32;
+ const int nHeight = m_xLbFormat->get_height_rows(8);
+ m_xLbFormat->set_size_request(nWidth, nHeight);
+ m_xWndPreview->set_size_request(nWidth, nHeight);
Init();
ScAutoFormat::iterator it = pFormat->begin();
- m_pWndPreview->NotifyChange(it->second.get());
+ m_aWndPreview.NotifyChange(it->second.get());
}
ScAutoFormatDlg::~ScAutoFormatDlg()
{
- disposeOnce();
-}
-
-void ScAutoFormatDlg::dispose()
-{
- m_pLbFormat.clear();
- m_pWndPreview.clear();
- m_pBtnOk.clear();
- m_pBtnCancel.clear();
- m_pBtnAdd.clear();
- m_pBtnRemove.clear();
- m_pBtnRename.clear();
- m_pBtnNumFormat.clear();
- m_pBtnBorder.clear();
- m_pBtnFont.clear();
- m_pBtnPattern.clear();
- m_pBtnAlignment.clear();
- m_pBtnAdjust.clear();
- ModalDialog::dispose();
}
void ScAutoFormatDlg::Init()
{
- m_pLbFormat->SetSelectHdl( LINK( this, ScAutoFormatDlg, SelFmtHdl ) );
- m_pBtnNumFormat->SetClickHdl ( LINK( this, ScAutoFormatDlg, CheckHdl ) );
- m_pBtnBorder->SetClickHdl ( LINK( this, ScAutoFormatDlg, CheckHdl ) );
- m_pBtnFont->SetClickHdl ( LINK( this, ScAutoFormatDlg, CheckHdl ) );
- m_pBtnPattern->SetClickHdl ( LINK( this, ScAutoFormatDlg, CheckHdl ) );
- m_pBtnAlignment->SetClickHdl ( LINK( this, ScAutoFormatDlg, CheckHdl ) );
- m_pBtnAdjust->SetClickHdl ( LINK( this, ScAutoFormatDlg, CheckHdl ) );
- m_pBtnAdd->SetClickHdl ( LINK( this, ScAutoFormatDlg, AddHdl ) );
- m_pBtnRemove->SetClickHdl ( LINK( this, ScAutoFormatDlg, RemoveHdl ) );
- m_pBtnOk->SetClickHdl ( LINK( this, ScAutoFormatDlg, CloseHdl ) );
- m_pBtnCancel->SetClickHdl ( LINK( this, ScAutoFormatDlg, CloseHdl ) );
- m_pBtnRename->SetClickHdl ( LINK( this, ScAutoFormatDlg, RenameHdl ) );
- m_pLbFormat->SetDoubleClickHdl( LINK( this, ScAutoFormatDlg, DblClkHdl ) );
+ m_xLbFormat->connect_changed( LINK( this, ScAutoFormatDlg, SelFmtHdl ) );
+ m_xBtnNumFormat->connect_toggled( LINK( this, ScAutoFormatDlg, CheckHdl ) );
+ m_xBtnBorder->connect_toggled( LINK( this, ScAutoFormatDlg, CheckHdl ) );
+ m_xBtnFont->connect_toggled( LINK( this, ScAutoFormatDlg, CheckHdl ) );
+ m_xBtnPattern->connect_toggled( LINK( this, ScAutoFormatDlg, CheckHdl ) );
+ m_xBtnAlignment->connect_toggled( LINK( this, ScAutoFormatDlg, CheckHdl ) );
+ m_xBtnAdjust->connect_toggled( LINK( this, ScAutoFormatDlg, CheckHdl ) );
+ m_xBtnAdd->connect_clicked ( LINK( this, ScAutoFormatDlg, AddHdl ) );
+ m_xBtnRemove->connect_clicked ( LINK( this, ScAutoFormatDlg, RemoveHdl ) );
+ m_xBtnOk->connect_clicked ( LINK( this, ScAutoFormatDlg, CloseHdl ) );
+ m_xBtnCancel->connect_clicked ( LINK( this, ScAutoFormatDlg, CloseHdl ) );
+ m_xBtnRename->connect_clicked ( LINK( this, ScAutoFormatDlg, RenameHdl ) );
+ m_xLbFormat->connect_row_activated( LINK( this, ScAutoFormatDlg, DblClkHdl ) );
for (const auto& rEntry : *pFormat)
- m_pLbFormat->InsertEntry(rEntry.second->GetName());
+ m_xLbFormat->append_text(rEntry.second->GetName());
if (pFormat->size() == 1)
- m_pBtnRemove->Disable();
+ m_xBtnRemove->set_sensitive(false);
- m_pLbFormat->SelectEntryPos( 0 );
- m_pBtnRename->Disable();
- m_pBtnRemove->Disable();
+ m_xLbFormat->select(0);
+ m_xBtnRename->set_sensitive(false);
+ m_xBtnRemove->set_sensitive(false);
nIndex = 0;
UpdateChecks();
if ( !pSelFmtData )
{
- m_pBtnAdd->Disable();
- m_pBtnRemove->Disable();
+ m_xBtnAdd->set_sensitive(false);
+ m_xBtnRemove->set_sensitive(false);
bFmtInserted = true;
}
}
@@ -138,63 +123,63 @@ void ScAutoFormatDlg::UpdateChecks()
{
const ScAutoFormatData* pData = pFormat->findByIndex(nIndex);
- m_pBtnNumFormat->Check( pData->GetIncludeValueFormat() );
- m_pBtnBorder->Check( pData->GetIncludeFrame() );
- m_pBtnFont->Check( pData->GetIncludeFont() );
- m_pBtnPattern->Check( pData->GetIncludeBackground() );
- m_pBtnAlignment->Check( pData->GetIncludeJustify() );
- m_pBtnAdjust->Check( pData->GetIncludeWidthHeight() );
+ m_xBtnNumFormat->set_active( pData->GetIncludeValueFormat() );
+ m_xBtnBorder->set_active( pData->GetIncludeFrame() );
+ m_xBtnFont->set_active( pData->GetIncludeFont() );
+ m_xBtnPattern->set_active( pData->GetIncludeBackground() );
+ m_xBtnAlignment->set_active( pData->GetIncludeJustify() );
+ m_xBtnAdjust->set_active( pData->GetIncludeWidthHeight() );
}
// Handler:
-IMPL_LINK( ScAutoFormatDlg, CloseHdl, Button *, pBtn, void )
+IMPL_LINK(ScAutoFormatDlg, CloseHdl, weld::Button&, rBtn, void)
{
- if (pBtn == m_pBtnOk || pBtn == m_pBtnCancel)
+ if (&rBtn == m_xBtnOk.get() || &rBtn == m_xBtnCancel.get())
{
if ( bCoreDataChanged )
ScGlobal::GetOrCreateAutoFormat()->Save();
- EndDialog( (pBtn == m_pBtnOk) ? RET_OK : RET_CANCEL );
+ m_xDialog->response( (&rBtn == m_xBtnOk.get()) ? RET_OK : RET_CANCEL );
}
}
-IMPL_LINK_NOARG(ScAutoFormatDlg, DblClkHdl, ListBox&, void)
+IMPL_LINK_NOARG(ScAutoFormatDlg, DblClkHdl, weld::TreeView&, void)
{
if ( bCoreDataChanged )
ScGlobal::GetOrCreateAutoFormat()->Save();
- EndDialog( RET_OK );
+ m_xDialog->response( RET_OK );
}
-IMPL_LINK( ScAutoFormatDlg, CheckHdl, Button *, pBtn, void )
+IMPL_LINK(ScAutoFormatDlg, CheckHdl, weld::ToggleButton&, rBtn, void)
{
ScAutoFormatData* pData = pFormat->findByIndex(nIndex);
- bool bCheck = static_cast<CheckBox*>(pBtn)->IsChecked();
+ bool bCheck = rBtn.get_active();
- if ( pBtn == m_pBtnNumFormat )
+ if (&rBtn == m_xBtnNumFormat.get())
pData->SetIncludeValueFormat( bCheck );
- else if ( pBtn == m_pBtnBorder )
+ else if (&rBtn == m_xBtnBorder.get())
pData->SetIncludeFrame( bCheck );
- else if ( pBtn == m_pBtnFont )
+ else if (&rBtn == m_xBtnFont.get())
pData->SetIncludeFont( bCheck );
- else if ( pBtn == m_pBtnPattern )
+ else if (&rBtn == m_xBtnPattern.get())
pData->SetIncludeBackground( bCheck );
- else if ( pBtn == m_pBtnAlignment )
+ else if (&rBtn == m_xBtnAlignment.get())
pData->SetIncludeJustify( bCheck );
- else if ( pBtn == m_pBtnAdjust )
+ else if (&rBtn == m_xBtnAdjust.get())
pData->SetIncludeWidthHeight( bCheck );
if ( !bCoreDataChanged )
{
- m_pBtnCancel->SetText( aStrClose );
+ m_xBtnCancel->set_label(aStrClose);
bCoreDataChanged = true;
}
- m_pWndPreview->NotifyChange( pData );
+ m_aWndPreview.NotifyChange( pData );
}
-IMPL_LINK_NOARG(ScAutoFormatDlg, AddHdl, Button*, void)
+IMPL_LINK_NOARG(ScAutoFormatDlg, AddHdl, weld::Button&, void)
{
if ( !bFmtInserted && pSelFmtData )
{
@@ -204,7 +189,7 @@ IMPL_LINK_NOARG(ScAutoFormatDlg, AddHdl, Button*, void)
while ( !bOk )
{
- ScStringInputDlg aDlg(GetFrameWeld(), aStrTitle, aStrLabel, aFormatName,
+ ScStringInputDlg aDlg(m_xDialog.get(), aStrTitle, aStrLabel, aFormatName,
HID_SC_ADD_AUTOFMT, HID_SC_AUTOFMT_NAME);
if (aDlg.run() == RET_OK)
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list