summaryrefslogtreecommitdiff
path: root/vcl/jsdialog/jsdialogbuilder.cxx
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2020-12-16 23:00:11 +0300
committerSzymon Kłos <szymon.klos@collabora.com>2021-01-14 10:21:29 +0100
commit95bddeaa8176ca4c79274632fce24181dcd8bc0a (patch)
tree0ba3e8513dce5365554355b218f2fae9768b1c02 /vcl/jsdialog/jsdialogbuilder.cxx
parent5ade3c6ce8324247a5a3bc052b4299115c5a8471 (diff)
jsdialogs: implemented IconView
Change-Id: I05f5009efc879aaf3fc6055ff8dfa7c26aa33d1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108983 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109244 Tested-by: Jenkins
Diffstat (limited to 'vcl/jsdialog/jsdialogbuilder.cxx')
-rw-r--r--vcl/jsdialog/jsdialogbuilder.cxx50
1 files changed, 50 insertions, 0 deletions
diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx
index 921552a7d32c..81ba11f92fb9 100644
--- a/vcl/jsdialog/jsdialogbuilder.cxx
+++ b/vcl/jsdialog/jsdialogbuilder.cxx
@@ -667,6 +667,18 @@ std::unique_ptr<weld::Expander> JSInstanceBuilder::weld_expander(const OString&
return pWeldWidget;
}
+std::unique_ptr<weld::IconView> JSInstanceBuilder::weld_icon_view(const OString& id)
+{
+ ::IconView* pIconView = m_xBuilder->get<::IconView>(id);
+ auto pWeldWidget
+ = pIconView ? std::make_unique<JSIconView>(this, pIconView, this, false) : nullptr;
+
+ if (pWeldWidget)
+ RememberWidget(id, pWeldWidget.get());
+
+ return pWeldWidget;
+}
+
weld::MessageDialog* JSInstanceBuilder::CreateMessageDialog(weld::Widget* pParent,
VclMessageType eMessageType,
VclButtonsType eButtonType,
@@ -1056,4 +1068,42 @@ void JSExpander::set_expanded(bool bExpand)
notifyDialogState();
}
+JSIconView::JSIconView(JSDialogSender* pSender, ::IconView* pIconView, SalInstanceBuilder* pBuilder,
+ bool bTakeOwnership)
+ : JSWidget<SalInstanceIconView, ::IconView>(pSender, pIconView, pBuilder, bTakeOwnership)
+{
+}
+
+void JSIconView::insert(int pos, const OUString* pStr, const OUString* pId,
+ const OUString* pIconName, weld::TreeIter* pRet)
+{
+ SalInstanceIconView::insert(pos, pStr, pId, pIconName, pRet);
+ notifyDialogState();
+}
+
+void JSIconView::insert(int pos, const OUString* pStr, const OUString* pId,
+ const VirtualDevice* pIcon, weld::TreeIter* pRet)
+{
+ SalInstanceIconView::insert(pos, pStr, pId, pIcon, pRet);
+ notifyDialogState();
+}
+
+void JSIconView::clear()
+{
+ SalInstanceIconView::clear();
+ notifyDialogState();
+}
+
+void JSIconView::select(int pos)
+{
+ SalInstanceIconView::select(pos);
+ notifyDialogState();
+}
+
+void JSIconView::unselect(int pos)
+{
+ SalInstanceIconView::unselect(pos);
+ notifyDialogState();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */