| 
							- /*
 -   ==============================================================================
 - 
 -    This file is part of the JUCE library.
 -    Copyright (c) 2015 - ROLI Ltd.
 - 
 -    Permission is granted to use this software under the terms of either:
 -    a) the GPL v2 (or any later version)
 -    b) the Affero GPL v3
 - 
 -    Details of these licenses can be found at: www.gnu.org/licenses
 - 
 -    JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
 -    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 -    A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 - 
 -    ------------------------------------------------------------------------------
 - 
 -    To release a closed-source product which uses JUCE, commercial licenses are
 -    available: visit www.juce.com for more information.
 - 
 -   ==============================================================================
 - */
 - 
 - #pragma once
 - 
 - //==============================================================================
 - 
 - #include "../Project/jucer_DependencyPathPropertyComponent.h"
 - 
 - 
 - class GlobalPreferencesTab
 - {
 - public:
 -     virtual ~GlobalPreferencesTab() {}
 - 
 -     virtual Component* getContent() = 0;
 -     virtual String getName() const noexcept = 0;
 - };
 - 
 - //==============================================================================
 - /** This component implements the "Paths" tab in the global preferences window,
 -     which defines the default paths for dependencies like third-party SDKs
 -     for this machine.
 - */
 - class PathSettingsTab  : public GlobalPreferencesTab,
 -                          public Component,
 -                          private TextPropertyComponent::Listener
 - {
 - public:
 -     PathSettingsTab (DependencyPathOS);
 -     ~PathSettingsTab();
 - 
 -     Component* getContent() override;
 -     String getName() const noexcept override;
 - 
 -     void resized() override;
 - 
 - private:
 -     void textPropertyComponentChanged (TextPropertyComponent*) override;
 - 
 -     Identifier getKeyForPropertyComponent (TextPropertyComponent*) const;
 - 
 -     OwnedArray<TextPropertyComponent> pathComponents;
 - 
 -     TextPropertyComponent* vst3PathComponent;
 -     TextPropertyComponent* rtasPathComponent;
 -     TextPropertyComponent* aaxPathComponent;
 -     TextPropertyComponent* androidSdkPathComponent;
 -     TextPropertyComponent* androidNdkPathComponent;
 - 
 -     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PathSettingsTab)
 - };
 - 
 - //==============================================================================
 - /** This component implements the "Code Editor" tabl in the global preferences window,
 -     which sets font sizes and colours for the Projucer's code editor.
 -     The content is either an EditorPanel (the actual settings tab) or a FontScanPanel
 -     (shown if the tab is scanning for available fonts before showing the EditorPanel).
 - */
 - class AppearanceSettingsTab  : public GlobalPreferencesTab,
 -                                public Component
 - {
 - public:
 -     AppearanceSettingsTab();
 - 
 -     Component* getContent() override;
 -     void changeContent (Component* newContent);
 -     String getName() const noexcept override;
 - 
 -     void resized() override;
 - 
 - private:
 -     ScopedPointer<Component> content;
 - 
 -     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AppearanceSettingsTab)
 - };
 - 
 - //==============================================================================
 - class GlobalPreferencesComponent  : public TabbedComponent
 - {
 - public:
 -     GlobalPreferencesComponent();
 - 
 - private:
 -     OwnedArray<GlobalPreferencesTab> preferenceTabs;
 - 
 -     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GlobalPreferencesComponent)
 - };
 
 
  |