openshot-audio  0.1.4
juce_PreferencesPanel.h
Go to the documentation of this file.
1 /*
2  ==============================================================================
3 
4  This file is part of the JUCE library.
5  Copyright (c) 2015 - ROLI Ltd.
6 
7  Permission is granted to use this software under the terms of either:
8  a) the GPL v2 (or any later version)
9  b) the Affero GPL v3
10 
11  Details of these licenses can be found at: www.gnu.org/licenses
12 
13  JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15  A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 
17  ------------------------------------------------------------------------------
18 
19  To release a closed-source product which uses JUCE, commercial licenses are
20  available: visit www.juce.com for more information.
21 
22  ==============================================================================
23 */
24 
25 #ifndef JUCE_PREFERENCESPANEL_H_INCLUDED
26 #define JUCE_PREFERENCESPANEL_H_INCLUDED
27 
28 
29 //==============================================================================
47  private ButtonListener // (can't use Button::Listener due to idiotic VC2005 bug)
48 {
49 public:
50  //==============================================================================
56 
59 
60  //==============================================================================
74  void addSettingsPage (const String& pageTitle,
75  const Drawable* normalIcon,
76  const Drawable* overIcon,
77  const Drawable* downIcon);
78 
92  void addSettingsPage (const String& pageTitle,
93  const void* imageData,
94  int imageDataSize);
95 
102  void showInDialogBox (const String& dialogTitle,
103  int dialogWidth,
104  int dialogHeight,
105  Colour backgroundColour = Colours::white);
106 
107  //==============================================================================
116  virtual Component* createComponentForPage (const String& pageName) = 0;
117 
118  //==============================================================================
120  void setCurrentPage (const String& pageName);
121 
123  int getButtonSize() const noexcept;
124 
126  void setButtonSize (int newSize);
127 
128  //==============================================================================
130  void resized() override;
132  void paint (Graphics&) override;
134  void buttonClicked (Button*) override;
135 
136 private:
137  //==============================================================================
138  String currentPageName;
139  ScopedPointer <Component> currentPage;
141  int buttonSize;
142 
144 };
145 
146 
147 
148 #endif // JUCE_PREFERENCESPANEL_H_INCLUDED
#define noexcept
Definition: juce_CompilerSupport.h:141
virtual void buttonClicked(Button *)=0
Definition: juce_Button.h:39
Definition: juce_String.h:43
Definition: juce_PreferencesPanel.h:46
#define JUCE_API
Definition: juce_StandardHeader.h:139
virtual void resized()
Definition: juce_Component.cpp:2272
Definition: juce_Colour.h:35
static JUCE_API const Colour white
Definition: juce_Colours.h:41
Definition: juce_Component.h:33
Definition: juce_Button.h:162
void paint(Graphics &) override
Definition: juce_Button.cpp:424
Definition: juce_Drawable.h:35
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition: juce_PlatformDefs.h:198
Definition: juce_GraphicsContext.h:42