1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
Commit graph

318 commits

Author SHA1 Message Date
reuk
e1a7fe671a
Component: Make wheel/magnify behaviour more intuitive for disabled components
The previous implementation would pass the mouse wheel event up to the
component's parent, as long as the parent was enabled. This meant that a
wheel event on the innermost component of a hierarchy such as
"[[disabled] enabled]" would send the event to the parent, but a wheel
event on the innermost component of a hierarchy such as
"[[[disabled] disabled] enabled]" would 'eat' the event and prevent it
from propagating.

After this change, unhandled mouse wheel events will always be passed to
the nearest enabled parent. This behaviour is more consistent and
intuitive.
2022-02-23 10:56:10 +00:00
Attila Szarvas
101a886821 MouseInputSource: Eliminate superfluous drag events caused by pressure change
The bug was triggered on Monterey where a pressure of 1 is reported
while a mouse button is being held down. This caused an extra drag
event being triggered between mouse down and up events, even if no
movement occurred.
2022-02-15 10:53:32 +00:00
ed
461192b355 Add FocusOutline class for indicating Component keyboard focus 2022-01-20 15:46:53 +00:00
ed
bd01175d55 Docs: Update Component docs referencing deprecated setFocusContainer() method 2021-12-01 10:22:19 +00:00
reuk
ca4bdb6b3a
Component: Avoid calling member functions on objects destroyed when exiting modal state 2021-11-24 16:20:37 +00:00
ed
4d350ffcc3 Fix documentation typo 2021-11-19 11:20:16 +00:00
reuk
eca02270ee
Component: Add Point<float> overloads for some common functions 2021-10-27 16:33:37 +01:00
reuk
4ca923a34b
NSViewComponentPeer: Allow mouse events to reach unfocused windows
This change allows mouse events (including enter and exit events) to
reach unfocused views on macOS. This matches the behaviour of unfocused
windows on Linux and Windows, where components paint in their "hovered"
states even when the application window is in the background.

As a byproduct of using tracking areas on macOS, we can remove the fake
mouse move generator.
2021-10-27 16:33:37 +01:00
reuk
f85ede6b47
Component: Ensure that mouseEnter and mouseExit calls are balanced when entering/leaving modal state 2021-10-26 16:52:15 +01:00
ed
3fac215534 Component: Give away keyboard focus when disabled 2021-10-08 17:19:04 +01:00
ed
a852f4f45f Component: Only pass mouse wheel and magnify events up to enabled parents 2021-10-08 17:19:04 +01:00
ed
b9542ccc4c Update code to use C++14 [[deprecated]] attribute
This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
2021-09-29 16:14:00 +01:00
ed
46a4dc95a1 Accessibility: Fix potential infinite recursive component keyboard focus loop 2021-09-29 11:46:10 +01:00
ed
ef6218f6b7 Take MessageManagerLock in FocusTraverser and KeyboardFocusTraverser unit tests 2021-09-29 11:45:06 +01:00
ed
d6fd33b38d Accessibility: Disable accessibility for PopupMenu windows on the desktop when their parent window or target component have accessibility disabled 2021-09-15 14:04:23 +01:00
ed
8d6ba3b54e Accessibility: Use AccessibilityRole::ignored for UI elements that should not be accessible to screen readers but have accessible children 2021-09-07 11:23:17 +01:00
ed
59333870f5 Accessibility: Disable accessibility of child components when calling Component::setAccessible (false); 2021-09-02 08:35:14 +01:00
ed
c66e8baf7e Whitespace 2021-07-28 16:03:22 +01:00
ed
a2f7aaab2f Accessibility: Don't create AccessibilityHandler for Components without a native window handle 2021-07-28 11:44:28 +01:00
ed
ddb59d1361 Docs: Fix typo in Component child adding methods 2021-07-28 10:13:10 +01:00
ed
88d2edf189 ModalCallbackFunction: Use NullCheckedInvocation helper to fix potential crash due to calling null std::function 2021-07-22 16:33:42 +01:00
ed
3d4d0caca8 ModalCallbackFunction: Fix crash due to dangling reference 2021-07-22 16:33:42 +01:00
ed
551d7b9c5b Add MessageBoxOptions class for specifying a set of AlertWindow and NativeMessageBox options
- Add AlertWindow::show() and showAsync() methods that take a MessageBoxOptions argument
  - Add NativeMessageBox::show() and showAsync() methods that take a MessageBoxOptions argument
  - Update the DialogsDemo to demonstrate the new methods
  - Deprecate AlertWindow::showNativeDialogBox() in favour of the NativeMessageBox methods
  - Pass button strings specified in MesssageBoxOptions to native dialog boxes correctly
  - Use modern TaskDialog on Windows for the native dialog box where available
2021-07-21 16:34:12 +01:00
ed
a5c3b81f82 Use C++14 lambda capture initialisers for initialising deletion checkers 2021-07-12 11:58:29 +01:00
ed
e119178b5b Check BailOutChecker before sending accessibility moved/resized event in Component::sendMovedResizedMessages() 2021-07-01 16:23:48 +01:00
Tom Poole
fe4ba9071b Set the default value of JUCE_MODAL_LOOPS_PERMITTED to 0
See BREAKING-CHANGES.txt for more details.
2021-06-30 13:01:14 +01:00
ed
d1b669e6ae Accessibility: Added InternalAccessibilityEvent::elementMovedOrResized 2021-06-16 17:22:35 +01:00
reuk
5db072b483 Component: Avoid calling native APIs from background threads
When rendering with OpenGL, the paint function is called from a
background thread. If we call `isMouseOver` from the paint function, we
may end up calling native functions via the ComponentPeer, which causes
threading warnings on macOS.
2021-06-16 11:35:25 +01:00
ed
550127945d Added floating-point implementations for some Component hit-testing methods to improve reliability when dealing with scaled Components 2021-06-08 14:14:22 +01:00
ed
df4ff3b225 Accessibility: Fixed some focus issues with modal components 2021-06-07 19:38:29 +01:00
ed
fa17310dd1 Added back in rounding error fix from e8518048 that was overwritten in 7909af4e 2021-05-26 16:54:38 +01:00
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
2021-05-26 15:34:26 +01:00
reuk
1c2abc80d7
Component: Ensure getScreenPosition result is in terms of the logical coordinate space of the screen
Previously, getScreenPosition would return a result in the component's
coordinate space if it was called on a component that was not directly
or indirectly on the desktop. This behaviour is surprising and difficult
to program around. This change should ensure that the result is always
in the screen's coordinate space.
2021-05-24 14:57:26 +01:00
ed
82a5911d56 Accessibility: Send focus change notification in Component::enterModalState() 2021-05-20 18:24:57 +01:00
reuk
668f16f0ec
Component: Ensure component position does not change when removed and re-added to desktop 2021-05-12 12:50:08 +01:00
ed
533f68219b Fixed some Doxygen issues 2021-05-11 11:48:52 +01:00
ed
ec990202b1 Accessibility: Added VoiceOver (macOS) and Narrator (Windows) accessibility screen reader support to juce_gui_basics 2021-05-10 10:53:14 +01:00
Tom Poole
79fbde7099 Added preliminary support for FreeBSD 2021-03-29 14:16:46 +01:00
ed
9e64736519 Docs: Updated the documentation for Component::modifierKeysChanged() 2021-03-29 09:19:47 +01:00
reuk
45409bb4e6
FileChooser: Hide chooser when it leaves scope on Windows 2021-03-02 10:49:39 +00:00
ed
ad38182530 Added checks for DOXYGEN #define when excluding modal methods in headers 2021-02-05 14:17:19 +00:00
ed
891d86fe6b Don't trigger a fake mouse move from Component::sendFakeMouseMove() if the component passes through all mouse events 2021-01-28 11:26:41 +00:00
ed
33dd896ab2 Ensure that keyboard focus is always given away when components are made invisible 2021-01-22 10:44:25 +00:00
reuk
586ab8927d Fix warnings when building in C++20 mode 2021-01-15 13:33:40 +00:00
ed
9d0a97c33c Ensure that modal components set auto-delete when dismissed are properly cleaned up 2020-12-01 19:13:11 +00:00
ed
b7e28541ca Replaced deprecated Displays methods 2020-10-27 12:38:59 +00:00
ed
1b2c9c154b iOS: Don't set the font smoothing property of the graphics context on iOS so that cached Component images render the same as the default 2020-07-20 17:17:54 +01:00
ed
60b6afd517 Added floating-point overrides for some Component area conversion methods 2020-07-08 17:47:10 +01:00
reuk
394c4fd475 Clang: Fix warnings when building with clang 10 2020-07-01 10:00:43 +01:00
ed
009d685179 Updated all license headers 2020-06-29 08:30:22 +01:00