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>
13 #include <vcl/uitest/uiobject.hxx>
14 #include <vcl/weld.hxx>
15 
16 class LOKTrigger
17 {
18 public:
trigger_changed(weld::TextView & rView)19     static void trigger_changed(weld::TextView& rView) { rView.signal_changed(); }
20 
trigger_changed(weld::Entry & rEdit)21     static void trigger_changed(weld::Entry& rEdit) { rEdit.signal_changed(); }
22 
trigger_changed(weld::ComboBox & rComboBox)23     static void trigger_changed(weld::ComboBox& rComboBox) { rComboBox.signal_changed(); }
24 
trigger_changed(weld::TreeView & rTreeView)25     static void trigger_changed(weld::TreeView& rTreeView) { rTreeView.signal_changed(); }
26 
trigger_changed(weld::IconView & rIconView)27     static void trigger_changed(weld::IconView& rIconView) { rIconView.signal_selection_changed(); }
28 
trigger_toggled(weld::Toggleable & rButton)29     static void trigger_toggled(weld::Toggleable& rButton) { rButton.signal_toggled(); }
30 
trigger_row_activated(weld::TreeView & rTreeView)31     static void trigger_row_activated(weld::TreeView& rTreeView)
32     {
33         rTreeView.signal_row_activated();
34     }
35 
trigger_item_activated(weld::IconView & rIconView)36     static void trigger_item_activated(weld::IconView& rIconView)
37     {
38         rIconView.signal_item_activated();
39     }
40 
trigger_clicked(weld::Toolbar & rToolbar,const OString & rIdent)41     static void trigger_clicked(weld::Toolbar& rToolbar, const OString& rIdent)
42     {
43         rToolbar.signal_clicked(rIdent);
44     }
45 
trigger_clicked(weld::Button & rButton)46     static void trigger_clicked(weld::Button& rButton) { rButton.signal_clicked(); }
47 
trigger_click(weld::DrawingArea & rDrawingArea,const Point & rPos)48     static void trigger_click(weld::DrawingArea& rDrawingArea, const Point& rPos)
49     {
50         rDrawingArea.click(rPos);
51     }
52 
trigger_value_changed(weld::SpinButton & rSpinButton)53     static void trigger_value_changed(weld::SpinButton& rSpinButton)
54     {
55         rSpinButton.signal_value_changed();
56     }
57 };
58 
59 namespace jsdialog
60 {
61 VCL_DLLPUBLIC bool ExecuteAction(sal_uInt64 nWindowId, const OString& rWidget, StringMap& rData);
62 VCL_DLLPUBLIC void SendFullUpdate(sal_uInt64 nWindowId, const OString& rWidget);
63 VCL_DLLPUBLIC StringMap jsonToStringMap(const char* pJSON);
64 };
65 
66 /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
67