LMMS
Loading...
Searching...
No Matches
juce_DialogWindow.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
52{
53public:
54 //==============================================================================
71 DialogWindow (const String& name,
72 Colour backgroundColour,
74 bool addToDesktop = true,
75 float desktopScale = 1.0f);
76
80 ~DialogWindow() override;
81
82 //==============================================================================
90 {
91 LaunchOptions() noexcept;
92
95
98
105
111
115 bool useNativeTitleBar = true;
117 bool resizable = true;
120
138
144
145 #if JUCE_MODAL_LOOPS_PERMITTED
152 int runModal();
153 #endif
154
156 };
157
158 //==============================================================================
196 static void showDialog (const String& dialogTitle,
198 Component* componentToCentreAround,
199 Colour backgroundColour,
201 bool shouldBeResizable = false,
202 bool useBottomRightCornerResizer = false,
203 bool useNativeTitleBar = true);
204
205 #if JUCE_MODAL_LOOPS_PERMITTED
243 static int showModalDialog (const String& dialogTitle,
245 Component* componentToCentreAround,
246 Colour backgroundColour,
248 bool shouldBeResizable = false,
249 bool useBottomRightCornerResizer = false,
250 bool useNativeTitleBar = true);
251 #endif
252
253
258 virtual bool escapeKeyPressed();
259
260protected:
261 //==============================================================================
263 void resized() override;
265 bool keyPressed (const KeyPress&) override;
267 float getDesktopScaleFactor() const override { return desktopScale * Desktop::getInstance().getGlobalScaleFactor(); }
268
269private:
270 std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
271
272 float desktopScale = 1.0f;
274
276};
277
278} // namespace juce
Definition juce_Colour.h:38
Definition juce_Component.h:36
static Desktop &JUCE_CALLTYPE getInstance()
Definition juce_Desktop.cpp:50
~DialogWindow() override
bool keyPressed(const KeyPress &) override
Definition juce_DialogWindow.cpp:51
virtual bool escapeKeyPressed()
Definition juce_DialogWindow.cpp:40
float getDesktopScaleFactor() const override
Definition juce_DialogWindow.h:267
void resized() override
Definition juce_DialogWindow.cpp:59
bool escapeKeyTriggersCloseButton
Definition juce_DialogWindow.h:273
static void showDialog(const String &dialogTitle, Component *contentComponent, Component *componentToCentreAround, Colour backgroundColour, bool escapeKeyTriggersCloseButton, bool shouldBeResizable=false, bool useBottomRightCornerResizer=false, bool useNativeTitleBar=true)
Definition juce_DialogWindow.cpp:131
float desktopScale
Definition juce_DialogWindow.h:272
DialogWindow(const String &name, Colour backgroundColour, bool escapeKeyTriggersCloseButton, bool addToDesktop=true, float desktopScale=1.0f)
Definition juce_DialogWindow.cpp:29
DocumentWindow(const String &name, Colour backgroundColour, int requiredButtons, bool addToDesktop=true)
Definition juce_DocumentWindow.cpp:48
Definition juce_KeyPress.h:40
Definition juce_OptionalScopedPointer.h:38
Component::SafePointer< Component > contentComponent
Definition juce_ResizableWindow.h:394
void addToDesktop()
Definition juce_TopLevelWindow.cpp:258
Definition juce_String.h:53
bool useNativeTitleBar
Definition juce_TopLevelWindow.h:157
static const char * name
Definition pugl.h:1582
#define JUCE_DECLARE_NON_COPYABLE(className)
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
const Colour lightgrey
Definition juce_Colours.h:111
Definition carla_juce.cpp:31
DialogWindow * create()
Definition juce_DialogWindow.cpp:109
Component * componentToCentreAround
Definition juce_DialogWindow.h:110
Colour dialogBackgroundColour
Definition juce_DialogWindow.h:97
bool useNativeTitleBar
Definition juce_DialogWindow.h:115
OptionalScopedPointer< Component > content
Definition juce_DialogWindow.h:104
bool useBottomRightCornerResizer
Definition juce_DialogWindow.h:119
DialogWindow * launchAsync()
Definition juce_DialogWindow.cpp:116
bool resizable
Definition juce_DialogWindow.h:117
bool escapeKeyTriggersCloseButton
Definition juce_DialogWindow.h:113
String dialogTitle
Definition juce_DialogWindow.h:94
LaunchOptions() noexcept
Definition juce_DialogWindow.cpp:107