ed
4727084838
PopupMenu: Store Options::targetComponent and ::parentComponent in WeakReferences to allow for deletion checks
3 years ago
reuk
c2f661171a
PopupMenu: Avoid giving focus back to previous component on dismiss
This change is designed to fix issues with views stealing focus and
being brought to the front when popup menus are dismissed.
To test this behaviour:
- Open two instances "a" and "b" of a plugin editor containing a
ComboBox
- Click the ComboBox in editor "a", opening its PopupMenu
- Drag the titlebar of editor "b" to move it
- The PopupMenu should be dismissed, but editor "a" should *not* steal
keyboard focus or be brought to the front
3 years ago
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.
3 years ago
reuk
3141c32a64
PopupMenu: Avoid const_cast in implementation
3 years ago
reuk
ab966fb499
PopupMenu: Add withMousePosition helper function to Options
3 years ago
reuk
84c5627b42
PopupMenu: Ensure that menu appears at the correct position on Windows with a hi res display in standalone apps
3 years ago
reuk
c3276f436d
PopupMenu: Add some documentation to the Options class
3 years ago
reuk
37781916e5
PopupMenu: Fix documentation typo
3 years ago
reuk
ea757cf1ea
PopupMenu: Only show menus within safe areas of the screen
This change stops menus from displaying under notches/cutouts on mobile
platforms.
3 years ago
ed
d6fd33b38d
Accessibility: Disable accessibility for PopupMenu windows on the desktop when their parent window or target component have accessibility disabled
3 years ago
ed
90eb878d16
Accessibility: Make createAccessibilityHandler() private in Component subclasses
3 years ago
ed
1028b6e5d1
Accessibility: Fix inaccessible MenuBarComponent items
3 years ago
Tom Poole
fe4ba9071b
Set the default value of JUCE_MODAL_LOOPS_PERMITTED to 0
See BREAKING-CHANGES.txt for more details.
3 years ago
reuk
1ee106d730
PopupMenu: Avoid dismissing PopupMenus in bridged plugin editors
When bridging 32-bit/64-bit plugins on Windows, the plugin is hosted in
an auxilliary process, and the plugin's editor is embedded into an HWND
owned by a different process (the plugin host).
Previously, the `isForegroundProcess` check would fail for bridged
plugins, because the foreground window may belong to the DAW, rather
than to the auxilliary hosting process.
This patch adds an additional check, to find whether the same process
owns both the foreground window, and the window which embeds the
PopupMenu's target component. In this case, we avoid immediately
dismissing the PopupMenu.
4 years ago
reuk
0a4a67d439
PopupMenu: Use correct alignment for submenus with large borders
4 years ago
reuk
bcd7ae1fb5
PopupMenu: Avoid cropping menu items at the bottom of long menus with large borders
4 years ago
ed
b6bb2f4882
Accessibility: Improved PopupMenu focus handling when opening and added support for submenus
4 years ago
ed
ec990202b1
Accessibility: Added VoiceOver (macOS) and Narrator (Windows) accessibility screen reader support to juce_gui_basics
4 years ago
reuk
d62d3aaa4f
PopupMenu: Add option to specify initially-selected menu item
4 years ago
reuk
326d8deb16
PopupMenu: Tidy up Options implementation
4 years ago
ed
ad38182530
Added checks for DOXYGEN #define when excluding modal methods in headers
4 years ago
ed
1b2f17f2e8
PopupMenu: Check currently focused component before passing keyboard focus on menu completion
4 years ago
reuk
99e2cd0e3f
PopupMenu: Dismiss popups when minimising parent window
This behaviour was already present on windows, so this patch updates
Linux and macOS window-handling to match.
4 years ago
ed
b7e28541ca
Replaced deprecated Displays methods
4 years ago
reuk
f61447fd01
PopupMenu: Allow manual column breaking
4 years ago
reuk
d4450ad8ae
PopupMenu: Add LookAndFeelMethods for drawing column separators
5 years ago
reuk
f04e11c4bb
PopupMenu: Allow theming of popup menu background based on Options
Adds a new `drawPopupMenuBackgroundForOption` member function to
`PopupMenu::LookAndFeelMethods`. By default this will pass through
to `drawPopupMenuBackground`, but it can be overridden in cases
where the background appearance depends on the current `Options`.
5 years ago
ed
94d853b00d
Fixed some issues when navigating PopupMenus with the keyboard
4 years ago
reuk
394c4fd475
Clang: Fix warnings when building with clang 10
4 years ago
ed
009d685179
Updated all license headers
5 years ago
reuk
39b5c22a29
GUI: Ensure components refresh correctly when their look and feel changes
5 years ago
ed
d510b73cdf
Normalised all whitespace before args in std::function
5 years ago
Tom Poole
894e7d2bd2
Updated all license headers
5 years ago
Tom Poole
2d16374b14
Updated all license headers
5 years ago
reuk
327f817b9b
Copyrights: Update commercial/gpl headers to be gpl-only
5 years ago
ed
441c88f3b9
macOS: Removed all dynamic_cast type_info warning workarounds which have been fixed in 0dd3b02
5 years ago
Tom Poole
f2e75a8f52
Fixed a popup submenu item selection bug on a right key press
5 years ago
ed
baebb9d1b5
Fixed a dangling pointer deletion when moving PopupMenu submenus
5 years ago
ed
c8c14516d5
Scale mouse position when calculating parent area for PopupMenu window
5 years ago
ed
c8bceee365
macOS: Fixed some spurious dynamic_cast warnings when loading dynamic libraries
5 years ago
ed
a54da0b832
Fixed some more typos
5 years ago
ed
e18f6da884
Added setImage() builder methods to PopupMenu::Item
5 years ago
reuk
635e070cba
Added method PopupMenu::CustomComponent::getItem() to give them access to item details
5 years ago
ed
3a4c0f9012
Ensure that PopupMenu section headers aren't selectable
5 years ago
ed
319efc59e0
Ensure that PopupMenu section headers aren't selectable
5 years ago
reuk
76f3aec386
PopupMenu: Pass unique_ptr rather than raw pointers to convey ownership semantics
5 years ago
Tom Poole
79d3e8b3f5
Windows: Removed some VS2013 workarounds
5 years ago
jules
69c3474012
Added method PopupMenu::Options::withDeletionCheck() to help avoid dangling pointers when triggering async menus
6 years ago
jules
cd4aba9e43
PopupMenu modernisation: Improved the PopupMenu::Item class to make it easy to build items by chaining calls together.
6 years ago
jules
0367d5c3a9
Added some PopupMenu::addItem overloads which let you attach a lambda callback to be invoked for a menu item.
6 years ago