13#include <osl/mutex.hxx>
24#include <com/sun/star/lang/XInitialization.hpp>
25#include <com/sun/star/lang/XServiceInfo.hpp>
26#include <com/sun/star/datatransfer/dnd/XDropTarget.hpp>
33#define ACTION_TYPE "action_type"
34#define PARENT_ID "parent_id"
36#define CLOSE_ID "close_id"
47class ILibreOfficeKitNotifier;
71 std::unique_ptr<jsdialog::ActionDataMap>
m_pData;
80 std::unique_ptr<jsdialog::ActionDataMap>
pData(
82 this->m_pData = std::move(
pData);
88 std::unique_ptr<jsdialog::ActionDataMap> pData)
122 const OUString& sTypeOfJSON);
129 std::unique_ptr<jsdialog::ActionDataMap> pData =
nullptr);
136 std::unique_ptr<tools::JsonWriter>
138 std::unique_ptr<jsdialog::ActionDataMap> pData)
const;
139 std::unique_ptr<tools::JsonWriter>
157 const OUString& sTypeOfJSON)
176 const OUString& sTypeOfJSON)
184 css::datatransfer::dnd::XDropTarget, css::lang::XInitialization, css::lang::XServiceInfo>
186 std::vector<css::uno::Reference<css::datatransfer::dnd::XDropTargetListener>>
m_aListeners;
192 virtual void SAL_CALL
initialize(
const css::uno::Sequence<css::uno::Any>& rArgs)
override;
196 const css::uno::Reference<css::datatransfer::dnd::XDropTargetListener>&)
override;
198 const css::uno::Reference<css::datatransfer::dnd::XDropTargetListener>&)
override;
210 void fire_drop(
const css::datatransfer::dnd::DropTargetDropEvent& dtde);
212 void fire_dragEnter(
const css::datatransfer::dnd::DropTargetDragEnterEvent& dtde);
237 const OUString& rWidget,
StringMap& rData);
239 const OUString& rWidget);
241 const OUString& rWidget,
242 std::unique_ptr<jsdialog::ActionDataMap> pData);
256 bool bPopup =
false);
259 sal_uInt64 nLOKWindowId);
262 const css::uno::Reference<css::frame::XFrame>& rFrame,
263 sal_uInt64 nWindowId = 0);
266 sal_uInt64 nLOKWindowId);
268 static std::unique_ptr<JSInstanceBuilder>
270 static std::unique_ptr<JSInstanceBuilder>
272 const css::uno::Reference<css::frame::XFrame>& rFrame,
273 sal_uInt64 nWindowId = 0);
275 const OUString& rUIRoot,
276 const OUString& rUIFile,
277 sal_uInt64 nLOKWindowId = 0);
278 static std::unique_ptr<JSInstanceBuilder>
281 const OUString& rUIRoot,
282 const OUString& rUIFile,
283 sal_uInt64 nLOKWindowId);
287 virtual std::unique_ptr<weld::Dialog>
weld_dialog(
const OUString&
id)
override;
288 virtual std::unique_ptr<weld::Assistant>
weld_assistant(
const OUString&
id)
override;
289 virtual std::unique_ptr<weld::Container>
weld_container(
const OUString&
id)
override;
290 virtual std::unique_ptr<weld::Label>
weld_label(
const OUString&
id)
override;
291 virtual std::unique_ptr<weld::Button>
weld_button(
const OUString&
id)
override;
294 virtual std::unique_ptr<weld::Entry>
weld_entry(
const OUString&
id)
override;
295 virtual std::unique_ptr<weld::ComboBox>
weld_combo_box(
const OUString&
id)
override;
296 virtual std::unique_ptr<weld::Notebook>
weld_notebook(
const OUString&
id)
override;
298 virtual std::unique_ptr<weld::FormattedSpinButton>
301 virtual std::unique_ptr<weld::DrawingArea>
304 void* pUserData =
nullptr)
override;
305 virtual std::unique_ptr<weld::Toolbar>
weld_toolbar(
const OUString&
id)
override;
306 virtual std::unique_ptr<weld::TextView>
weld_text_view(
const OUString&
id)
override;
307 virtual std::unique_ptr<weld::TreeView>
weld_tree_view(
const OUString&
id)
override;
308 virtual std::unique_ptr<weld::Expander>
weld_expander(
const OUString&
id)
override;
309 virtual std::unique_ptr<weld::IconView>
weld_icon_view(
const OUString&
id)
override;
310 virtual std::unique_ptr<weld::ScrolledWindow>
313 virtual std::unique_ptr<weld::Frame>
weld_frame(
const OUString&
id)
override;
315 virtual std::unique_ptr<weld::Popover>
weld_popover(
const OUString&
id)
override;
316 virtual std::unique_ptr<weld::Box>
weld_box(
const OUString&
id)
override;
317 virtual std::unique_ptr<weld::Widget>
weld_widget(
const OUString&
id)
override;
318 virtual std::unique_ptr<weld::Image>
weld_image(
const OUString&
id)
override;
319 virtual std::unique_ptr<weld::Calendar>
weld_calendar(
const OUString&
id)
override;
344 virtual ~BaseJSWidget() =
default;
346 virtual void sendClose() = 0;
348 virtual void sendUpdate(
bool bForce =
false) = 0;
350 virtual void sendFullUpdate(
bool bForce =
false) = 0;
352 virtual void sendAction(std::unique_ptr<jsdialog::ActionDataMap> pData) = 0;
354 virtual void sendPopup(
vcl::Window* pPopup, OUString sParentId, OUString sCloseId) = 0;
359template <
class BaseInstanceClass,
class VclClass>
360class JSWidget :
public BaseInstanceClass,
public BaseJSWidget
371 : BaseInstanceClass(
pObject, pBuilder, bTakeOwnership)
378 bool bTakeOwnership,
bool bUserManagedScrolling)
379 : BaseInstanceClass(
pObject, pBuilder, bTakeOwnership, bUserManagedScrolling)
388 : BaseInstanceClass(
pObject, pBuilder, rAlly, pUITestFactoryFunction, pUserData,
397 bool bWasVisible = BaseInstanceClass::get_visible();
398 BaseInstanceClass::show();
401 std::unique_ptr<jsdialog::ActionDataMap> pMap
402 = std::make_unique<jsdialog::ActionDataMap>();
410 bool bWasVisible = BaseInstanceClass::get_visible();
411 BaseInstanceClass::hide();
414 std::unique_ptr<jsdialog::ActionDataMap> pMap
415 = std::make_unique<jsdialog::ActionDataMap>();
421 using BaseInstanceClass::set_sensitive;
424 bool bIsSensitive = BaseInstanceClass::get_sensitive();
425 BaseInstanceClass::set_sensitive(sensitive);
426 if (bIsSensitive != sensitive)
430 virtual css::uno::Reference<css::datatransfer::dnd::XDropTarget>
get_drop_target()
override
440 BaseInstanceClass::freeze();
446 BaseInstanceClass::thaw();
453 BaseInstanceClass::grab_focus();
454 std::unique_ptr<jsdialog::ActionDataMap> pMap = std::make_unique<jsdialog::ActionDataMap>();
477 virtual void sendAction(std::unique_ptr<jsdialog::ActionDataMap> pData)
override
507 bool bTakeOwnership);
513 virtual int run()
override;
514 virtual bool runAsync(std::shared_ptr<weld::DialogController> aOwner,
515 const std::function<
void(sal_Int32)>& rEndDialogFn)
override;
516 virtual bool runAsync(std::shared_ptr<Dialog>
const& rxSelf,
517 const std::function<
void(sal_Int32)>& func)
override;
524 bool bTakeOwnership);
530 virtual int run()
override;
531 virtual bool runAsync(std::shared_ptr<weld::DialogController> aOwner,
532 const std::function<
void(sal_Int32)>& rEndDialogFn)
override;
533 virtual bool runAsync(std::shared_ptr<Dialog>
const& rxSelf,
534 const std::function<
void(sal_Int32)>& func)
override;
541 bool bTakeOwnership);
551 int page_increment,
int page_size)
override;
558 int page_increment,
int page_size)
override;
569 bool bTakeOwnership);
577 bool bTakeOwnership);
584 bool bTakeOwnership);
591 bool bTakeOwnership);
598 bool bTakeOwnership);
599 virtual void set_text(
const OUString& rText)
override;
608 bool bTakeOwnership);
609 virtual void insert(
int pos,
const OUString& rStr,
const OUString* pId,
610 const OUString* pIconName,
VirtualDevice* pImageSurface)
override;
619 bool bTakeOwnership);
620 virtual void insert(
int pos,
const OUString& rStr,
const OUString* pId,
621 const OUString* pIconName,
VirtualDevice* pImageSurface)
override;
633 bool bTakeOwnership);
636 virtual void insert_page(
const OUString& rIdent,
const OUString& rLabel,
int nPos)
override;
643 bool bTakeOwnership);
649 :
public JSWidget<SalInstanceFormattedSpinButton, ::FormattedField>
655 virtual void set_text(
const OUString& rText)
override;
675 bool bTakeOwnership);
685 virtual int run()
override;
687 bool runAsync(std::shared_ptr<weld::DialogController> aOwner,
688 const std::function<
void(sal_Int32)>& rEndDialogFn)
override;
690 bool runAsync(std::shared_ptr<Dialog>
const& rxSelf,
691 const std::function<
void(sal_Int32)>& rEndDialogFn)
override;
698 bool bTakeOwnership);
720 bool bTakeOwnership);
731 bool bTakeOwnership);
732 virtual void set_text(
const OUString& rText)
override;
741 bool bTakeOwnership);
756 const OUString* pId,
const OUString* pIconName,
760 virtual void set_text(
int row,
const OUString& rText,
int col = -1)
override;
784 bool bTakeOwnership);
793 bool bTakeOwnership);
795 virtual void insert(
int pos,
const OUString* pStr,
const OUString* pId,
798 virtual void insert(
int pos,
const OUString* pStr,
const OUString* pId,
821 bool bTakeOwnership);
828 bool bTakeOwnership);
832 virtual void set_image(
const css::uno::Reference<css::graphic::XGraphic>& rImage)
override;
842 bool bTakeOwnership);
873 bool bTakeOwnership);
875 virtual void set_image(
const css::uno::Reference<css::graphic::XGraphic>& rImage)
override;
882 bool bTakeOwnership);
A widget used to choose from a list of items and which has an entry.
An idle is a timer to be scheduled immediately.
virtual weld::Button * weld_widget_for_response(int response) override
JSAssistant(JSDialogSender *pSender, vcl::RoadmapWizard *pDialog, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual int run() override
virtual void set_current_page(const OUString &rIdent) override
virtual void set_current_page(int nPage) override
virtual bool runAsync(std::shared_ptr< weld::DialogController > aOwner, const std::function< void(sal_Int32)> &rEndDialogFn) override
virtual bool runAsync(std::shared_ptr< Dialog > const &rxSelf, const std::function< void(sal_Int32)> &func) override
virtual void response(int response) override
JSBox(JSDialogSender *pSender, VclBox *pBox, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
void reorder_child(weld::Widget *pWidget, int nNewPosition) override
JSCalendar(JSDialogSender *pSender, ::Calendar *pCalendar, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual bool changed_by_direct_pick() const override
virtual void insert(int pos, const OUString &rStr, const OUString *pId, const OUString *pIconName, VirtualDevice *pImageSurface) override
JSComboBox(JSDialogSender *pSender, ::ComboBox *pComboBox, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void remove(int pos) override
virtual void set_entry_text_without_notify(const OUString &rText)
virtual void set_active(int pos) override
virtual void set_entry_text(const OUString &rText) override
JSContainer(JSDialogSender *pSender, vcl::Window *pContainer, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
Class with the message description for storing in the queue.
JSDialogMessageInfo & operator=(JSDialogMessageInfo aInfo)
JSDialogMessageInfo(jsdialog::MessageType eType, VclPtr< vcl::Window > pWindow, std::unique_ptr< jsdialog::ActionDataMap > pData)
JSDialogMessageInfo(const JSDialogMessageInfo &rInfo)
jsdialog::MessageType m_eType
std::unique_ptr< jsdialog::ActionDataMap > m_pData
void copy(const JSDialogMessageInfo &rInfo)
VclPtr< vcl::Window > m_pWindow
std::unique_ptr< tools::JsonWriter > generateActionMessage(VclPtr< vcl::Window > pWindow, std::unique_ptr< jsdialog::ActionDataMap > pData) const
std::unique_ptr< tools::JsonWriter > generateFullUpdate() const
void sendMessage(jsdialog::MessageType eType, VclPtr< vcl::Window > pWindow, std::unique_ptr< jsdialog::ActionDataMap > pData=nullptr)
std::unique_ptr< tools::JsonWriter > generateCloseMessage() const
OString m_LastNotificationMessage
std::deque< JSDialogMessageInfo > m_aMessageQueue
JSDialogNotifyIdle(VclPtr< vcl::Window > aNotifierWindow, VclPtr< vcl::Window > aContentWindow, const OUString &sTypeOfJSON)
std::unique_ptr< tools::JsonWriter > generatePopupMessage(VclPtr< vcl::Window > pWindow, OUString sParentId, OUString sCloseId) const
std::unique_ptr< tools::JsonWriter > generateClosePopupMessage(OUString sWindowId) const
void Invoke() override
Calls the maInvokeHandler with the parameter this.
VclPtr< vcl::Window > m_aNotifierWindow
VclPtr< vcl::Window > m_aContentWindow
std::unique_ptr< tools::JsonWriter > generateWidgetUpdate(VclPtr< vcl::Window > pWindow) const
void send(tools::JsonWriter &aJsonWriter)
void initializeSender(VclPtr< vcl::Window > aNotifierWindow, VclPtr< vcl::Window > aContentWindow, const OUString &sTypeOfJSON)
virtual void sendFullUpdate(bool bForce=false)
void sendUpdate(VclPtr< vcl::Window > pWindow, bool bForce=false)
virtual ~JSDialogSender() COVERITY_NOEXCEPT_FALSE
virtual void sendPopup(VclPtr< vcl::Window > pWindow, OUString sParentId, OUString sCloseId)
std::unique_ptr< JSDialogNotifyIdle > mpIdleNotify
virtual void sendAction(VclPtr< vcl::Window > pWindow, std::unique_ptr< jsdialog::ActionDataMap > pData)
virtual void sendClosePopup(vcl::LOKWindowId nWindowId)
JSDialogSender(VclPtr< vcl::Window > aNotifierWindow, VclPtr< vcl::Window > aContentWindow, const OUString &sTypeOfJSON)
virtual bool runAsync(std::shared_ptr< weld::DialogController > aOwner, const std::function< void(sal_Int32)> &rEndDialogFn) override
virtual void collapse(weld::Widget *pEdit, weld::Widget *pButton) override
virtual int run() override
JSDialog(JSDialogSender *pSender, ::Dialog *pDialog, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void undo_collapse() override
virtual bool runAsync(std::shared_ptr< Dialog > const &rxSelf, const std::function< void(sal_Int32)> &func) override
virtual void response(int response) override
virtual weld::Button * weld_widget_for_response(int response) override
JSDrawingArea(JSDialogSender *pSender, VclDrawingArea *pDrawingArea, SalInstanceBuilder *pBuilder, const a11yref &rAlly, FactoryFunction pUITestFactoryFunction, void *pUserData)
virtual void queue_draw_area(int x, int y, int width, int height) override
virtual void queue_draw() override
virtual sal_Bool SAL_CALL isActive() override
void fire_drop(const css::datatransfer::dnd::DropTargetDropEvent &dtde)
virtual void SAL_CALL removeDropTargetListener(const css::uno::Reference< css::datatransfer::dnd::XDropTargetListener > &) override
void fire_dragEnter(const css::datatransfer::dnd::DropTargetDragEnterEvent &dtde)
OUString SAL_CALL getImplementationName() override
virtual void SAL_CALL setDefaultActions(sal_Int8 actions) override
virtual void SAL_CALL addDropTargetListener(const css::uno::Reference< css::datatransfer::dnd::XDropTargetListener > &) override
virtual sal_Int8 SAL_CALL getDefaultActions() override
std::vector< css::uno::Reference< css::datatransfer::dnd::XDropTargetListener > > m_aListeners
virtual void SAL_CALL setActive(sal_Bool active) override
virtual void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &rArgs) override
sal_Bool SAL_CALL supportsService(OUString const &ServiceName) override
css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void set_text(const OUString &rText) override
JSEntry(JSDialogSender *pSender, ::Edit *pEntry, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
void set_text_without_notify(const OUString &rText)
virtual void replace_selection(const OUString &rText) override
virtual void set_expanded(bool bExpand) override
JSExpander(JSDialogSender *pSender, ::VclExpander *pExpander, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
JSFrame(JSDialogSender *pSender, ::VclFrame *pFrame, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void unselect(int pos) override
virtual void insert(int pos, const OUString *pStr, const OUString *pId, const VirtualDevice *pIcon, weld::TreeIter *pRet) override
JSIconView(JSDialogSender *pSender, ::IconView *pIconView, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void select(int pos) override
virtual void insert_separator(int pos, const OUString *pId) override
virtual void insert(int pos, const OUString *pStr, const OUString *pId, const OUString *pIconName, weld::TreeIter *pRet) override
virtual void clear() override
virtual void set_image(VirtualDevice *pDevice) override
JSImage(JSDialogSender *pSender, FixedImage *pImage, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void set_image(const css::uno::Reference< css::graphic::XGraphic > &rImage) override
virtual ~JSInstanceBuilder() override
virtual std::unique_ptr< weld::TextView > weld_text_view(const OUString &id) override
static std::unique_ptr< JSInstanceBuilder > CreateSidebarBuilder(weld::Widget *pParent, const OUString &rUIRoot, const OUString &rUIFile, sal_uInt64 nLOKWindowId=0)
static void RememberPopup(const OUString &nWindowId, VclPtr< vcl::Window > pWidget)
virtual std::unique_ptr< weld::Frame > weld_frame(const OUString &id) override
static void ForgetPopup(const OUString &nWindowId)
VclPtr< vcl::Window > & GetContentWindow()
virtual std::unique_ptr< weld::RadioButton > weld_radio_button(const OUString &id) override
virtual std::unique_ptr< weld::Assistant > weld_assistant(const OUString &id) override
virtual std::unique_ptr< weld::LinkButton > weld_link_button(const OUString &id) override
virtual std::unique_ptr< weld::Widget > weld_widget(const OUString &id) override
virtual std::unique_ptr< weld::DrawingArea > weld_drawing_area(const OUString &id, const a11yref &rA11yImpl=nullptr, FactoryFunction pUITestFactoryFunction=nullptr, void *pUserData=nullptr) override
OUString getMapIdFromWindowId() const
virtual std::unique_ptr< weld::Button > weld_button(const OUString &id) override
static std::unique_ptr< JSInstanceBuilder > CreateNotebookbarBuilder(vcl::Window *pParent, const OUString &rUIRoot, const OUString &rUIFile, const css::uno::Reference< css::frame::XFrame > &rFrame, sal_uInt64 nWindowId=0)
JSInstanceBuilder(vcl::Window *pParent, const OUString &rUIRoot, const OUString &rUIFile, const css::uno::Reference< css::frame::XFrame > &rFrame, sal_uInt64 nWindowId=0)
used for notebookbar, optional nWindowId is used if getting parent id failed
virtual std::unique_ptr< weld::Image > weld_image(const OUString &id) override
JSInstanceBuilder(weld::Widget *pParent, const OUString &rUIRoot, const OUString &rUIFile, bool bPopup=false)
used for dialogs or popups
static void RememberWidget(const OUString &nWindowId, const OUString &id, weld::Widget *pWidget)
VclPtr< vcl::Window > m_aWindowToRelease
When LOKNotifier is set by jsdialogs code we need to release it.
bool m_bIsNestedBuilder
is true for tabpages, prevents from closing parent window on destroy
std::list< OUString > m_aRememberedWidgets
static std::map< OUString, WidgetMap > & GetLOKWeldWidgetsMap()
const OUString & GetTypeOfJSON() const
static weld::Widget * FindWeldWidgetsMap(const OUString &nWindowId, const OUString &rWidget)
virtual std::unique_ptr< weld::Dialog > weld_dialog(const OUString &id) override
virtual std::unique_ptr< weld::Entry > weld_entry(const OUString &id) override
static std::unique_ptr< JSInstanceBuilder > CreateFormulabarBuilder(vcl::Window *pParent, const OUString &rUIRoot, const OUString &rUIFile, sal_uInt64 nLOKWindowId)
VclPtr< vcl::Window > m_aParentDialog
used in case of tab pages where dialog is not a direct top level
virtual std::unique_ptr< weld::SpinButton > weld_spin_button(const OUString &id) override
virtual std::unique_ptr< weld::Box > weld_box(const OUString &id) override
static vcl::Window * FindPopup(const OUString &nWindowId)
virtual std::unique_ptr< weld::Calendar > weld_calendar(const OUString &id) override
static std::unique_ptr< JSInstanceBuilder > CreatePopupBuilder(weld::Widget *pParent, const OUString &rUIRoot, const OUString &rUIFile)
virtual std::unique_ptr< weld::FormattedSpinButton > weld_formatted_spin_button(const OUString &id) override
static weld::MessageDialog * CreateMessageDialog(weld::Widget *pParent, VclMessageType eMessageType, VclButtonsType eButtonType, const OUString &rPrimaryMessage, const vcl::ILibreOfficeKitNotifier *pNotifier=nullptr)
static std::unique_ptr< JSInstanceBuilder > CreateDialogBuilder(weld::Widget *pParent, const OUString &rUIRoot, const OUString &rUIFile)
virtual std::unique_ptr< weld::MessageDialog > weld_message_dialog(const OUString &id) override
virtual std::unique_ptr< weld::Toolbar > weld_toolbar(const OUString &id) override
bool m_bSentInitialUpdate
used to detect when we have to send Full Update in container handler
static void AddChildWidget(const OUString &nWindowId, const OUString &id, weld::Widget *pWidget)
static void InsertWindowToMap(const OUString &nWindowId)
virtual std::unique_ptr< weld::ScrolledWindow > weld_scrolled_window(const OUString &id, bool bUserManagedScrolling=false) override
virtual std::unique_ptr< weld::Notebook > weld_notebook(const OUString &id) override
virtual std::unique_ptr< weld::TreeView > weld_tree_view(const OUString &id) override
VclPtr< vcl::Window > m_aContentWindow
static void RemoveWindowWidget(const OUString &nWindowId)
virtual std::unique_ptr< weld::ComboBox > weld_combo_box(const OUString &id) override
virtual std::unique_ptr< weld::Label > weld_label(const OUString &id) override
JSInstanceBuilder(weld::Widget *pParent, const OUString &rUIRoot, const OUString &rUIFile, sal_uInt64 nLOKWindowId)
used for sidebar panels
virtual std::unique_ptr< weld::ToggleButton > weld_toggle_button(const OUString &id) override
virtual std::unique_ptr< weld::Container > weld_container(const OUString &id) override
virtual std::unique_ptr< weld::IconView > weld_icon_view(const OUString &id) override
void RememberWidget(OUString id, weld::Widget *pWidget)
virtual std::unique_ptr< weld::MenuButton > weld_menu_button(const OUString &id) override
JSInstanceBuilder(vcl::Window *pParent, const OUString &rUIRoot, const OUString &rUIFile, sal_uInt64 nLOKWindowId)
used for formulabar
bool m_bHasTopLevelDialog
VclPtr< vcl::Window > & GetNotifierWindow()
virtual std::unique_ptr< weld::Popover > weld_popover(const OUString &id) override
virtual std::unique_ptr< weld::Expander > weld_expander(const OUString &id) override
virtual std::unique_ptr< weld::CheckButton > weld_check_button(const OUString &id) override
virtual void set_label(const OUString &rText) override
JSLabel(JSDialogSender *pSender, Control *pLabel, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void set_active(int pos) override
virtual void remove(int pos) override
virtual void insert(int pos, const OUString &rStr, const OUString *pId, const OUString *pIconName, VirtualDevice *pImageSurface) override
JSListBox(JSDialogSender *pSender, ::ListBox *pListBox, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
DECL_LINK(CancelHdl, weld::Button &, void)
std::unique_ptr< JSDialogSender > m_pOwnedSender
virtual ~JSMessageDialog()
JSMessageDialog(::MessageDialog *pDialog, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
JSMessageDialog(JSDialogSender *pSender, ::MessageDialog *pDialog, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void set_secondary_text(const OUString &rText) override
void RememberMessageDialog()
DECL_LINK(OKHdl, weld::Button &, void)
bool runAsync(std::shared_ptr< weld::DialogController > aOwner, const std::function< void(sal_Int32)> &rEndDialogFn) override
std::unique_ptr< JSButton > m_pOK
std::unique_ptr< JSButton > m_pCancel
virtual void response(int response) override
bool runAsync(std::shared_ptr< Dialog > const &rxSelf, const std::function< void(sal_Int32)> &rEndDialogFn) override
virtual int run() override
virtual void set_primary_text(const OUString &rText) override
virtual void insert_page(const OUString &rIdent, const OUString &rLabel, int nPos) override
virtual void remove_page(const OUString &rIdent) override
JSNotebook(JSDialogSender *pSender, ::TabControl *pControl, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void popup_at_rect(weld::Widget *pParent, const tools::Rectangle &rRect, weld::Placement ePlace=weld::Placement::Under) override
JSPopover(JSDialogSender *pSender, DockingWindow *pPopover, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
vcl::LOKWindowId mnWindowId
virtual void popdown() override
void set_window_id(vcl::LOKWindowId nWindowId)
JSTextView(JSDialogSender *pSender, ::VclMultiLineEdit *pTextView, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void set_text(const OUString &rText) override
virtual void replace_selection(const OUString &rText) override
void set_text_without_notify(const OUString &rText)
virtual void set_toggle(int pos, TriState eState, int col=-1) override
pos is used differently here, it defines how many steps of iterator we need to perform to take entry
virtual void remove(const weld::TreeIter &rIter) override
virtual void set_cursor(const weld::TreeIter &rIter) override
virtual void clear() override
virtual weld::TreeView * get_drag_source() const override
void set_cursor_without_notify(const weld::TreeIter &rIter)
virtual void select(int pos) override
pos is used differently here, it defines how many steps of iterator we need to perform to take entry
virtual void set_cursor(int pos) override
virtual void insert(const weld::TreeIter *pParent, int pos, const OUString *pStr, const OUString *pId, const OUString *pIconName, VirtualDevice *pImageSurface, bool bChildrenOnDemand, weld::TreeIter *pRet) override
virtual void set_text(int row, const OUString &rText, int col=-1) override
virtual void remove(int pos) override
virtual void collapse_row(const weld::TreeIter &rIter) override
virtual void set_text(const weld::TreeIter &rIter, const OUString &rStr, int col=-1) override
virtual void expand_row(const weld::TreeIter &rIter) override
JSTreeView(JSDialogSender *pSender, ::SvTabListBox *pTextView, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void set_toggle(const weld::TreeIter &rIter, TriState bOn, int col=-1) override
A widget used to choose from a list of items and which has no entry.
void set_toggle(SvTreeListEntry *pEntry, TriState eState, int col)
virtual void remove(int pos) override
virtual void select(int pos) override
virtual void insert(const weld::TreeIter *pParent, int pos, const OUString *pStr, const OUString *pId, const OUString *pIconName, VirtualDevice *pImageSurface, bool bChildrenOnDemand, weld::TreeIter *pRet) override
EmbeddedObjectRef * pObject
std::function< std::unique_ptr< UIObject >(vcl::Window *)> FactoryFunction
std::map< OUString, weld::Widget * > WidgetMap
class SAL_LOPLUGIN_ANNOTATE("crosscast") BaseJSWidget
std::unique_ptr< sal_Int32[]> pData
VCL_DLLPUBLIC bool ExecuteAction(const OUString &nWindowId, const OUString &rWidget, StringMap &rData)
execute action on a widget
VCL_DLLPUBLIC void SendFullUpdate(const OUString &nWindowId, const OUString &rWidget)
send full update message to the client
std::unordered_map< OString, OUString > ActionDataMap
VCL_DLLPUBLIC void SendAction(const OUString &nWindowId, const OUString &rWidget, std::unique_ptr< ActionDataMap > pData)
send action message to the client
css::uno::Reference< css::accessibility::XAccessible > a11yref
std::map< OUString, OUString > StringMap