cool#6580 sw: fix infinite loop when changing document language
[LibreOffice.git] / include / vcl / vclevent.hxx
blob24ee1f3d8297bb51d87ff030cd266cba22a02c14
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_VCL_VCLEVENT_HXX
21 #define INCLUDED_VCL_VCLEVENT_HXX
23 #include <vcl/dllapi.h>
24 #include <vcl/vclptr.hxx>
26 #include <com/sun/star/uno/Reference.hxx>
28 class Menu;
30 namespace com { namespace sun { namespace star {
31 namespace accessibility {
32 class XAccessible;
34 }}}
36 namespace vcl
38 class Window;
41 enum class VclEventId
43 NONE,
44 ApplicationDataChanged, // pData = DataChangedEvent*
45 ButtonClick,
46 CheckboxToggle,
47 ComboboxDeselect,
48 ComboboxDoubleClick,
49 ComboboxItemAdded, // pData = itempos
50 ComboboxItemRemoved, // pData = itempos, -1=All
51 ComboboxSelect,
52 ComboboxSetText,
53 ControlGetFocus,
54 ControlLoseFocus,
55 DropdownClose,
56 DropdownOpen,
57 DropdownPreOpen,
58 DropdownSelect,
59 EditCaretChanged,
60 EditModify,
61 EditSelectionChanged,
62 ExtTextInput,
63 EndExtTextInput,
64 ItemCollapsed,
65 ItemExpanded,
66 ListboxDoubleClick,
67 ListboxFocus,
68 ListboxItemAdded, // pData = itempos
69 ListboxItemRemoved, // pData = itempos, -1=All
70 ListboxScrolled,
71 ListboxSelect,
72 ListboxTreeFocus,
73 ListboxTreeSelect,
74 MenuActivate,
75 MenuDeactivate,
76 MenuDehighlight,
77 MenuDisable,
78 MenuEnable,
79 MenuHide,
80 MenuHighlight,
81 MenuInsertItem,
82 MenuItemChecked,
83 MenuItemTextChanged,
84 MenuItemUnchecked,
85 MenuRemoveItem,
86 MenuSelect,
87 MenuShow,
88 MenuSubmenuActivate,
89 MenuSubmenuChanged,
90 MenuSubmenuDeactivate,
91 ObjectDying,
92 PushbuttonToggle,
93 RadiobuttonToggle,
94 RoadmapItemSelected,
95 ScrollbarEndScroll,
96 ScrollbarScroll,
97 SpinbuttonDown,
98 SpinbuttonUp,
99 SpinfieldDown,
100 SpinfieldFirst,
101 SpinfieldLast,
102 SpinfieldUp,
103 StatusbarAllItemsRemoved,
104 StatusbarDrawItem, // pData = itemid
105 StatusbarHideItem, // pData = itemid
106 StatusbarItemAdded, // pData = itemid
107 StatusbarItemRemoved, // pData = itemid
108 StatusbarNameChanged, // pData = itemid
109 StatusbarShowItem, // pData = itemid
110 TabbarPageActivated, // pData = pageid
111 TabbarPageDeactivated, // pData = pageid
112 TabbarPageInserted, // pData = pageid
113 TabbarPageMoved, // pData = Pair( pagepos_old, pagepos_new )
114 TabbarPageRemoved, // pData = pageid
115 TabbarPageSelected, // pData = pageid
116 TabbarPageTextChanged, // pData = pageid
117 TableCellNameChanged, // pData = struct(Entry, Column, oldText)
118 TableRowSelect,
119 TabpageActivate, // pData = pageid
120 TabpageDeactivate, // pData = pageid
121 TabpageInserted, // pData = pageid
122 TabpagePageTextChanged, // pData = pageid
123 TabpageRemoved, // pData = pageid
124 TabpageRemovedAll,
125 ToolboxActivate,
126 ToolboxAllItemsChanged,
127 ToolboxButtonStateChanged, // pData = itempos
128 ToolboxClick,
129 ToolboxDeactivate,
130 ToolboxDoubleClick,
131 ToolboxFormatChanged, // request new layout
132 ToolboxHighlight,
133 ToolboxHighlightOff, // pData = itempos
134 ToolboxItemAdded, // pData = itempos
135 ToolboxItemDisabled, // pData = itempos
136 ToolboxItemEnabled, // pData = itempos
137 ToolboxItemRemoved, // pData = itempos
138 ToolboxItemTextChanged, // pData = itempos
139 ToolboxItemUpdated,
140 ToolboxItemWindowChanged,
141 ToolboxSelect,
142 WindowActivate,
143 WindowChildDestroyed, // pData = vcl::Window*
144 WindowClose,
145 WindowCommand, // pData = CommandEvent*
146 WindowDataChanged, // pData = DataChangedEvent*
147 WindowDeactivate, // pData = vcl::Window* = pPrevActiveWindow
148 WindowDisabled,
149 WindowDocking,
150 WindowEnabled,
151 WindowEndDocking, // pData = EndDockingData
152 WindowEndPopupMode, // pData = EndPopupModeData
153 WindowFrameTitleChanged,// pData = OUString* = oldTitle
154 WindowGetFocus,
155 WindowHide,
156 WindowKeyInput, // pData = KeyEvent*
157 WindowKeyUp, // pData = KeyEvent*
158 WindowLoseFocus,
159 WindowMenubarAdded, // pData = pMenuBar
160 WindowMenubarRemoved, // pData = pMenuBar
161 WindowMinimize,
162 WindowMouseButtonDown, // pData = MouseEvent*
163 WindowMouseButtonUp, // pData = MouseEvent*
164 WindowMouseMove, // pData = MouseEvent*
165 WindowMove,
166 WindowNormalize,
167 WindowPaint, // pData = Rectangle*
168 WindowPrepareToggleFloating, // pData = bool
169 WindowResize,
170 WindowShow,
171 WindowStartDocking, // pData = DockingData
172 WindowToggleFloating,
173 WindowGestureEvent,
176 class VCL_DLLPUBLIC VclSimpleEvent
178 private:
179 VclEventId nId;
181 VclSimpleEvent(VclSimpleEvent const &) = delete;
182 VclSimpleEvent& operator =(VclSimpleEvent const &) = delete;
184 public:
185 VclSimpleEvent( VclEventId n ) { nId = n; }
186 virtual ~VclSimpleEvent() {}
188 VclEventId GetId() const { return nId; }
191 class VCL_DLLPUBLIC VclWindowEvent final : public VclSimpleEvent
193 private:
194 VclPtr<vcl::Window> pWindow;
195 void* pData;
197 public:
198 VclWindowEvent( vcl::Window* pWin, VclEventId n, void* pDat );
199 virtual ~VclWindowEvent() override;
201 vcl::Window* GetWindow() const { return pWindow; }
202 void* GetData() const { return pData; }
205 class VCL_DLLPUBLIC VclMenuEvent final : public VclSimpleEvent
207 private:
208 VclPtr<Menu> pMenu;
209 sal_uInt16 const mnPos;
211 VclMenuEvent(VclMenuEvent const &) = delete;
212 VclMenuEvent& operator =(VclMenuEvent const &) = delete;
214 public:
215 VclMenuEvent( Menu* pM, VclEventId n, sal_uInt16 nPos );
216 virtual ~VclMenuEvent() override;
218 Menu* GetMenu() const;
219 sal_uInt16 GetItemPos() const { return mnPos; }
222 class VCL_DLLPUBLIC VclAccessibleEvent final : public VclSimpleEvent
224 public:
225 VclAccessibleEvent( VclEventId n, const css::uno::Reference< css::accessibility::XAccessible >& rxAccessible );
226 virtual ~VclAccessibleEvent() override;
227 const css::uno::Reference< css::accessibility::XAccessible >& GetAccessible() const { return mxAccessible;}
229 private:
230 css::uno::Reference< css::accessibility::XAccessible > mxAccessible;
233 #endif // INCLUDED_VCL_VCLEVENT_HXX
235 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */