25 #ifndef JUCE_BUTTON_H_INCLUDED 26 #define JUCE_BUTTON_H_INCLUDED 60 void setButtonText (
const String& newText);
121 void setClickingTogglesState (
bool shouldAutoToggleOnClick)
noexcept;
126 bool getClickingTogglesState()
const noexcept;
169 virtual void buttonClicked (
Button*) = 0;
179 void addListener (
Listener* newListener);
184 void removeListener (
Listener* listener);
194 virtual void triggerClick();
213 bool generateTooltip);
233 void clearShortcuts();
238 bool isRegisteredForShortcut (
const KeyPress&)
const;
254 void setRepeatSpeed (
int initialDelayInMillisecs,
255 int repeatDelayInMillisecs,
256 int minimumDelayInMillisecs = -1)
noexcept;
267 void setTriggeredOnMouseDown (
bool isTriggeredOnMouseDown)
noexcept;
278 void setTooltip (
const String& newTooltip)
override;
285 ConnectedOnRight = 2,
287 ConnectedOnBottom = 8
301 void setConnectedEdges (
int connectedEdgeFlags);
361 bool isMouseOverButton,
bool isButtonDown) = 0;
363 virtual Font getTextButtonFont (
TextButton&,
int buttonHeight) = 0;
364 virtual int getTextButtonWidthToFitText (
TextButton&,
int buttonHeight) = 0;
367 virtual void drawButtonText (
Graphics&,
TextButton&,
bool isMouseOverButton,
bool isButtonDown) = 0;
370 virtual void drawToggleButton (
Graphics&,
ToggleButton&,
bool isMouseOverButton,
bool isButtonDown) = 0;
372 virtual void changeToggleButtonWidthToFitText (
ToggleButton&) = 0;
374 virtual void drawTickBox (
Graphics&,
Component&,
float x,
float y,
float w,
float h,
375 bool ticked,
bool isEnabled,
bool isMouseOverButton,
bool isButtonDown) = 0;
377 virtual void drawDrawableButton (
Graphics&,
DrawableButton&,
bool isMouseOverButton,
bool isButtonDown) = 0;
380 #if JUCE_CATCH_DEPRECATED_CODE_MISUSE 382 virtual int getTextButtonFont (
TextButton&) {
return 0; }
383 virtual int changeTextButtonWidthToFitText (
TextButton&,
int) {
return 0; }
399 virtual void clicked();
420 virtual void paintButton (
Graphics& g,
421 bool isMouseOverButton,
422 bool isButtonDown) = 0;
431 virtual void buttonStateChanged();
435 virtual void internalClickCallback (
const ModifierKeys&);
437 void handleCommandMessage (
int commandId)
override;
449 bool keyPressed (
const KeyPress&)
override;
455 void parentHierarchyChanged()
override;
457 void visibilityChanged()
override;
463 void enablementChanged()
override;
476 uint32 buttonPressTime, lastRepeatTime;
478 int autoRepeatDelay, autoRepeatSpeed, autoRepeatMinimumDelay;
479 int radioGroupId, connectedEdgeFlags;
484 bool lastToggleState;
485 bool clickTogglesState;
487 bool needsRepainting;
489 bool triggerOnMouseDown;
490 bool generateTooltip;
492 void repeatTimerCallback();
493 bool keyStateChangedCallback();
494 void applicationCommandListChangeCallback();
498 ButtonState updateState (
bool isOver,
bool isDown);
499 bool isShortcutPressed()
const;
502 void flashButtonState();
504 void sendStateMessage();
514 #endif // JUCE_BUTTON_H_INCLUDED Definition: juce_ApplicationCommandManager.h:84
Definition: juce_KeyPress.h:37
Definition: juce_Font.h:39
#define noexcept
Definition: juce_CompilerSupport.h:141
FocusChangeType
Definition: juce_Component.h:1702
Definition: juce_ModifierKeys.h:38
Definition: juce_TextButton.h:36
Definition: juce_String.h:43
#define JUCE_API
Definition: juce_StandardHeader.h:139
NotificationType
Definition: juce_NotificationType.h:33
unsigned int uint32
Definition: juce_MathsFunctions.h:51
Definition: juce_Colour.h:35
virtual bool keyStateChanged(bool isKeyDown)
Definition: juce_Component.cpp:3005
Definition: juce_ListenerList.h:69
Definition: juce_Component.h:33
Definition: juce_ScopedPointer.h:70
Definition: juce_ContainerDeletePolicy.h:44
Definition: juce_Value.h:44
Definition: juce_GraphicsContext.h:42
Definition: juce_ApplicationCommandInfo.h:42
Definition: juce_NotificationType.h:36
Definition: juce_MouseEvent.h:36