50 getAccessibilityActions (item)),
71 return std::make_unique<ComponentHandler> (*
this);
100 if (
model != newModel)
102 if (
model !=
nullptr)
103 model->removeListener (
this);
107 if (
model !=
nullptr)
108 model->addListener (
this);
122 if (
model ==
nullptr)
128 const auto itemBounds = itemComponent->getBounds();
132 g.setOrigin (itemBounds.getX(), 0);
133 g.reduceClipRegion (0, 0, itemBounds.getWidth(), itemBounds.getHeight());
136 itemBounds.getWidth(),
137 itemBounds.getHeight(),
139 itemComponent->getName(),
155 auto w =
getLookAndFeel().getMenuBarItemWidth (*
this, (
int)
i, itemComponent->getName());
176 repaint (itemBounds.getX() - 2,
178 itemBounds.getWidth() + 4,
179 itemBounds.getHeight());
201 if (currentPopupIndex < 0 && index >= 0)
202 model->handleMenuBarActivate (
true);
204 model->handleMenuBarActivate (
false);
213 desktop.addGlobalMouseListener (
this);
215 desktop.removeGlobalMouseListener (
this);
239 if (
m.lookAndFeel ==
nullptr)
242 auto itemBounds = itemComponent->getBounds();
247 ref->menuDismissed (index,
result);
252 .withMinimumWidth (itemBounds.getWidth()),
271 if (commandId != 0 &&
model !=
nullptr)
278 if (
e.eventComponent ==
this)
284 if (
e.eventComponent ==
this)
301 const auto item =
getItemAt (
e.getEventRelativeTo (
this).getPosition());
309 const auto e2 =
e.getEventRelativeTo (
this);
322 const auto e2 =
e.getEventRelativeTo (
this);
328 const auto item =
getItemAt (e2.getPosition());
352 showMenu ((currentIndex + numMenus - 1) % numMenus);
358 showMenu ((currentIndex + 1) % numMenus);
370 if (
model !=
nullptr)
371 newNames =
model->getMenuBarNames();
373 auto itemsHaveChanged = [
this, &newNames]
385 if (itemsHaveChanged)
398 for (
const auto&
name : menuNames)
408 [itemComponent] (
const std::unique_ptr<AccessibleItemComponent>&
c) { return c.get() == itemComponent; });
426 if (menu.containsCommandItem (
info.commandID))
446 explicit MenuBarComponentAccessibilityHandler (
MenuBarComponent& menuBarComponent)
454 return std::make_unique<MenuBarComponentAccessibilityHandler> (*
this);
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_AccessibilityActions.h:73
AccessibilityActions & addAction(AccessibilityActionType type, std::function< void()> actionCallback)
Definition juce_AccessibilityActions.h:88
Definition juce_AccessibilityHandler.h:41
Definition juce_AccessibilityState.h:39
JUCE_NODISCARD AccessibleState withIgnored() const noexcept
Definition juce_AccessibilityState.h:95
Definition juce_Component.h:2287
bool contains(Point< int > localPoint)
Definition juce_Component.cpp:1434
void setRepaintsOnMouseActivity(bool shouldRepaint) noexcept
Definition juce_Component.cpp:1881
void setInterceptsMouseClicks(bool allowClicksOnThisComponent, bool allowClicksOnChildComponents) noexcept
Definition juce_Component.cpp:1420
String getTitle() const noexcept
Definition juce_Component.h:2418
bool reallyContains(Point< int > localPoint, bool returnTrueIfWithinAChild)
Definition juce_Component.cpp:1454
int getHeight() const noexcept
Definition juce_Component.h:274
void addAndMakeVisible(Component *child, int zOrder=-1)
Definition juce_Component.cpp:1554
AccessibilityHandler * getAccessibilityHandler()
Definition juce_Component.cpp:3302
void postCommandMessage(int commandId)
Definition juce_Component.cpp:2361
Rectangle< int > getBounds() const noexcept
Definition juce_Component.h:304
void repaint()
Definition juce_Component.cpp:1917
Component() noexcept
Definition juce_Component.cpp:517
Point< int > getMouseXYRelative() const
Definition juce_Component.cpp:3210
Rectangle< int > localAreaToGlobal(Rectangle< int > localArea) const
Definition juce_Component.cpp:1143
void setWantsKeyboardFocus(bool wantsFocus) noexcept
Definition juce_Component.cpp:2842
bool isMouseOver(bool includeChildren=false) const
Definition juce_Component.cpp:3159
void setMouseClickGrabsKeyboardFocus(bool shouldGrabFocus)
Definition juce_Component.cpp:2847
int getWidth() const noexcept
Definition juce_Component.h:271
LookAndFeel & getLookAndFeel() const noexcept
Definition juce_Component.cpp:2173
Rectangle< int > getLocalBounds() const noexcept
Definition juce_Component.cpp:2283
String getName() const noexcept
Definition juce_Component.h:76
static Desktop &JUCE_CALLTYPE getInstance()
Definition juce_Desktop.cpp:50
Definition juce_GraphicsContext.h:660
Definition juce_GraphicsContext.h:45
Definition juce_KeyPress.h:40
static const int rightKey
Definition juce_KeyPress.h:201
static const int leftKey
Definition juce_KeyPress.h:200
Definition juce_MouseEvent.h:39
Definition juce_Point.h:42
Definition juce_StringArray.h:35
int size() const noexcept
Definition juce_StringArray.h:136
Definition juce_String.h:53
void stopTimer() noexcept
Definition juce_Timer.cpp:357
void startTimer(int intervalInMilliseconds) noexcept
Definition juce_Timer.cpp:332
* e
Definition inflate.c:1404
UINT_D64 w
Definition inflate.c:942
unsigned * m
Definition inflate.c:1559
int g
Definition inflate.c:1573
register unsigned i
Definition inflate.c:1575
unsigned x[BMAX+1]
Definition inflate.c:1586
static const char * name
Definition pugl.h:1582
struct backing_store_struct * info
Definition jmemsys.h:183
static int JUCE_CDECL comp(const void *a, const void *b)
Definition lsp.c:298
Definition carla_juce.cpp:31
Type jlimit(Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
Definition juce_MathsFunctions.h:262
@ showMenu
Definition juce_AccessibilityActions.h:61
@ focus
Definition juce_AccessibilityActions.h:54
@ press
Definition juce_AccessibilityActions.h:40
bool isPositiveAndBelow(Type1 valueToTest, Type2 upperLimit) noexcept
Definition juce_MathsFunctions.h:279
@ menuItem
Definition juce_AccessibilityRole.h:47
@ menuBar
Definition juce_AccessibilityRole.h:48
@ dontTriggerVisualFeedback
Definition juce_ApplicationCommandInfo.h:179
Definition juce_ApplicationCommandTarget.h:61
RECT const char void(* callback)(const char *droppath))) SWELL_API_DEFINE(BOOL
Definition swell-functions.h:1004
uch * p
Definition crypt.c:594
return c
Definition crypt.c:175
ZCONST char * key
Definition crypt.c:587
void handler(int signal)
Definition fileio.c:1632
int result
Definition process.c:1455
typedef int(UZ_EXP MsgFn)()
ss
Definition zipinfo.c:2292
#define const
Definition zconf.h:137