LibreOffice Module vcl (master) 1
executor.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10#pragma once
11
12#include <vcl/dllapi.h>
14#include <vcl/weld.hxx>
15#include <unordered_map>
16
18{
19public:
20 static void trigger_changed(weld::TextView& rView) { rView.signal_changed(); }
21
22 static void trigger_changed(weld::Entry& rEdit) { rEdit.signal_changed(); }
23
24 static void trigger_changed(weld::ComboBox& rComboBox) { rComboBox.signal_changed(); }
25
26 static void trigger_changed(weld::TreeView& rTreeView) { rTreeView.signal_changed(); }
27
28 static void trigger_changed(weld::IconView& rIconView) { rIconView.signal_selection_changed(); }
29
30 static void trigger_scrollv(weld::ScrolledWindow& rScrolledWindow)
31 {
32 rScrolledWindow.signal_vadjustment_changed();
33 }
34
35 static void trigger_scrollh(weld::ScrolledWindow& rScrolledWindow)
36 {
37 rScrolledWindow.signal_hadjustment_changed();
38 }
39
40 static void trigger_toggled(weld::Toggleable& rButton) { rButton.signal_toggled(); }
41
42 static void trigger_row_activated(weld::TreeView& rTreeView)
43 {
44 rTreeView.signal_row_activated();
45 }
46
47 static void trigger_item_activated(weld::IconView& rIconView)
48 {
49 rIconView.signal_item_activated();
50 }
51
52 static void trigger_clicked(weld::Toolbar& rToolbar, const OUString& rIdent)
53 {
54 rToolbar.signal_clicked(rIdent);
55 }
56
57 static void trigger_clicked(weld::Button& rButton) { rButton.signal_clicked(); }
58
59 static void trigger_click(weld::DrawingArea& rDrawingArea, const Point& rPos)
60 {
61 rDrawingArea.click(rPos);
62 }
63
64 static void trigger_dblclick(weld::DrawingArea& rDrawingArea, const Point& rPos)
65 {
66 rDrawingArea.dblclick(rPos);
67 }
68
69 static void trigger_mouse_up(weld::DrawingArea& rDrawingArea, const Point& rPos)
70 {
71 rDrawingArea.mouse_up(rPos);
72 }
73
74 static void trigger_mouse_down(weld::DrawingArea& rDrawingArea, const Point& rPos)
75 {
76 rDrawingArea.mouse_down(rPos);
77 }
78
79 static void trigger_mouse_move(weld::DrawingArea& rDrawingArea, const Point& rPos)
80 {
81 rDrawingArea.mouse_move(rPos);
82 }
83
84 static void trigger_selected(weld::MenuButton& rButton, const OUString& rIdent)
85 {
86 rButton.signal_selected(rIdent);
87 }
88
89 static void trigger_value_changed(weld::SpinButton& rSpinButton)
90 {
91 rSpinButton.signal_value_changed();
92 }
93
94 static void trigger_closed(weld::Popover& rPopover) { rPopover.popdown(); }
95
96 static void trigger_key_press(weld::Widget& rWidget, const KeyEvent& rEvent)
97 {
98 rWidget.m_aKeyPressHdl.Call(rEvent);
99 }
100
101 static void trigger_key_release(weld::Widget& rWidget, const KeyEvent& rEvent)
102 {
103 rWidget.m_aKeyReleaseHdl.Call(rEvent);
104 }
105
106 static void command(weld::DrawingArea& rArea, const CommandEvent& rCmd)
107 {
108 rArea.m_aCommandHdl.Call(rCmd);
109 }
110
111 static void enter_page(weld::Notebook& rNotebook, const OUString& rPage)
112 {
113 rNotebook.m_aEnterPageHdl.Call(rPage);
114 }
115
116 static void leave_page(weld::Notebook& rNotebook, const OUString& rPage)
117 {
118 rNotebook.m_aLeavePageHdl.Call(rPage);
119 }
120};
121
122namespace jsdialog
123{
124// type used to store key-value pairs to put in the generated messages
125typedef std::unordered_map<OString, OUString> ActionDataMap;
126
128VCL_DLLPUBLIC bool ExecuteAction(const OUString& nWindowId, const OUString& rWidget,
129 StringMap& rData);
131VCL_DLLPUBLIC void SendFullUpdate(const OUString& nWindowId, const OUString& rWidget);
133VCL_DLLPUBLIC void SendAction(const OUString& nWindowId, const OUString& rWidget,
134 std::unique_ptr<ActionDataMap> pData);
136};
137
138/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
static void trigger_changed(weld::Entry &rEdit)
Definition: executor.hxx:22
static void trigger_changed(weld::ComboBox &rComboBox)
Definition: executor.hxx:24
static void trigger_row_activated(weld::TreeView &rTreeView)
Definition: executor.hxx:42
static void leave_page(weld::Notebook &rNotebook, const OUString &rPage)
Definition: executor.hxx:116
static void trigger_changed(weld::TextView &rView)
Definition: executor.hxx:20
static void trigger_closed(weld::Popover &rPopover)
Definition: executor.hxx:94
static void trigger_dblclick(weld::DrawingArea &rDrawingArea, const Point &rPos)
Definition: executor.hxx:64
static void trigger_scrollv(weld::ScrolledWindow &rScrolledWindow)
Definition: executor.hxx:30
static void trigger_changed(weld::TreeView &rTreeView)
Definition: executor.hxx:26
static void trigger_mouse_down(weld::DrawingArea &rDrawingArea, const Point &rPos)
Definition: executor.hxx:74
static void trigger_changed(weld::IconView &rIconView)
Definition: executor.hxx:28
static void enter_page(weld::Notebook &rNotebook, const OUString &rPage)
Definition: executor.hxx:111
static void trigger_key_release(weld::Widget &rWidget, const KeyEvent &rEvent)
Definition: executor.hxx:101
static void trigger_value_changed(weld::SpinButton &rSpinButton)
Definition: executor.hxx:89
static void trigger_mouse_up(weld::DrawingArea &rDrawingArea, const Point &rPos)
Definition: executor.hxx:69
static void command(weld::DrawingArea &rArea, const CommandEvent &rCmd)
Definition: executor.hxx:106
static void trigger_click(weld::DrawingArea &rDrawingArea, const Point &rPos)
Definition: executor.hxx:59
static void trigger_clicked(weld::Toolbar &rToolbar, const OUString &rIdent)
Definition: executor.hxx:52
static void trigger_toggled(weld::Toggleable &rButton)
Definition: executor.hxx:40
static void trigger_scrollh(weld::ScrolledWindow &rScrolledWindow)
Definition: executor.hxx:35
static void trigger_clicked(weld::Button &rButton)
Definition: executor.hxx:57
static void trigger_item_activated(weld::IconView &rIconView)
Definition: executor.hxx:47
static void trigger_key_press(weld::Widget &rWidget, const KeyEvent &rEvent)
Definition: executor.hxx:96
static void trigger_selected(weld::MenuButton &rButton, const OUString &rIdent)
Definition: executor.hxx:84
static void trigger_mouse_move(weld::DrawingArea &rDrawingArea, const Point &rPos)
Definition: executor.hxx:79
void signal_clicked()
Definition: weld.hxx:1488
A widget used to choose from a list of items.
Definition: weld.hxx:713
void signal_changed()
Definition: weld.hxx:731
Link< const CommandEvent &, bool > m_aCommandHdl
Definition: weld.hxx:2287
virtual void click(const Point &)=0
virtual void mouse_down(const Point &)
Definition: weld.hxx:2366
virtual void mouse_move(const Point &)
Definition: weld.hxx:2368
virtual void dblclick(const Point &)
Definition: weld.hxx:2362
virtual void mouse_up(const Point &)
Definition: weld.hxx:2364
void signal_changed()
Definition: weld.hxx:1713
void signal_selection_changed()
Definition: weld.hxx:1392
bool signal_item_activated()
Definition: weld.hxx:1393
void signal_selected(const OUString &rIdent)
Definition: weld.hxx:1590
Link< const OUString &, bool > m_aLeavePageHdl
Definition: weld.hxx:478
Link< const OUString &, void > m_aEnterPageHdl
Definition: weld.hxx:479
virtual void popdown()=0
void signal_vadjustment_changed()
Definition: weld.hxx:413
void signal_hadjustment_changed()
Definition: weld.hxx:414
void signal_value_changed()
Definition: weld.hxx:1781
void signal_changed()
Definition: weld.hxx:2199
void signal_toggled()
Definition: weld.hxx:1523
void signal_clicked(const OUString &rIdent)
Definition: weld.hxx:2470
bool signal_row_activated()
Definition: weld.hxx:948
void signal_changed()
Definition: weld.hxx:947
Link< const KeyEvent &, bool > m_aKeyPressHdl
Definition: weld.hxx:92
Link< const KeyEvent &, bool > m_aKeyReleaseHdl
Definition: weld.hxx:93
#define VCL_DLLPUBLIC
Definition: dllapi.h:29
VCL_DLLPUBLIC bool ExecuteAction(const OUString &nWindowId, const OUString &rWidget, StringMap &rData)
execute action on a widget
VCL_DLLPUBLIC StringMap jsonToStringMap(const char *pJSON)
VCL_DLLPUBLIC void SendFullUpdate(const OUString &nWindowId, const OUString &rWidget)
send full update message to the client
std::unordered_map< OString, OUString > ActionDataMap
Definition: executor.hxx:125
VCL_DLLPUBLIC void SendAction(const OUString &nWindowId, const OUString &rWidget, std::unique_ptr< ActionDataMap > pData)
send action message to the client
std::map< OUString, OUString > StringMap