From 54029e776d597a0aaff17ae327b65ed14ad1b37c Mon Sep 17 00:00:00 2001 From: hogliux Date: Fri, 29 Sep 2017 14:55:01 +0100 Subject: [PATCH] Projucer: Re-factored source code groups and general code clean-up --- extras/Projucer/Builds/LinuxMakefile/Makefile | 210 +- extras/Projucer/Builds/MacOSX/Info-App.plist | 2 +- .../MacOSX/Projucer.xcodeproj/project.pbxproj | 1082 ++--- .../VisualStudio2013/Projucer_App.vcxproj | 482 +-- .../Projucer_App.vcxproj.filters | 1061 ++--- .../Builds/VisualStudio2013/resources.rc | 3 - .../VisualStudio2015/Projucer_App.vcxproj | 482 +-- .../Projucer_App.vcxproj.filters | 1061 ++--- .../Builds/VisualStudio2015/resources.rc | 3 - .../VisualStudio2017/Projucer_App.vcxproj | 482 +-- .../Projucer_App.vcxproj.filters | 1061 ++--- .../Builds/VisualStudio2017/resources.rc | 3 - .../Projucer/JuceLibraryCode/BinaryData.cpp | 3536 ++++++++--------- extras/Projucer/JuceLibraryCode/BinaryData.h | 122 +- extras/Projucer/Projucer.jucer | 998 ++--- .../Windows}/jucer_AboutWindowComponent.h | 2 + ...ucer_ApplicationUsageDataWindowComponent.h | 2 + .../jucer_EditorColourSchemeWindowComponent.h | 3 +- .../Windows}/jucer_FloatingToolWindow.h | 0 .../jucer_GlobalSearchPathsWindowComponent.h | 4 +- .../jucer_SVGPathDataWindowComponent.h} | 4 + .../jucer_TranslationToolWindowComponent.h} | 8 +- .../Windows/jucer_UTF8WindowComponent.h} | 4 + .../Source/Application/jucer_Application.h | 4 +- .../Source/Application/jucer_AutoUpdater.cpp | 2 +- .../Source/Application/jucer_CommandIDs.h | 2 + .../Source/Application/jucer_CommandLine.cpp | 5 +- .../Source/Application/jucer_CommandLine.h | 1 - .../Source/Application/jucer_CommonHeaders.h | 17 +- .../Source/{ => Application}/jucer_Headers.h | 2 +- .../Source/Application/jucer_Main.cpp | 52 +- .../Source/Application/jucer_MainWindow.cpp | 6 +- .../Source/Application/jucer_MainWindow.h | 3 +- .../{ => Icons}/background_logo.svg | 0 .../BinaryData/{ => Icons}/export_android.svg | 0 .../{ => Icons}/export_codeBlocks.svg | 0 .../BinaryData/{ => Icons}/export_linux.svg | 0 .../{ => Icons}/export_visualStudio.svg | 0 .../BinaryData/{ => Icons}/export_xcode.svg | 0 .../{ => Icons}/huckleberry_icon.svg | 0 .../{ => Icons}/juce-logo-with-text.svg | 0 .../BinaryData/{ => Icons}/juce_icon.png | Bin .../{ => Icons}/wizard_AnimatedApp.svg | 0 .../{ => Icons}/wizard_AudioApp.svg | 0 .../{ => Icons}/wizard_AudioPlugin.svg | 0 .../{ => Icons}/wizard_ConsoleApp.svg | 0 .../BinaryData/{ => Icons}/wizard_DLL.svg | 0 .../BinaryData/{ => Icons}/wizard_GUI.svg | 0 .../{ => Icons}/wizard_Highlight.svg | 0 .../BinaryData/{ => Icons}/wizard_OpenGL.svg | 0 .../{ => Icons}/wizard_Openfile.svg | 0 .../{ => Icons}/wizard_StaticLibrary.svg | 0 .../jucer_AnimatedComponentTemplate.cpp | 0 .../jucer_AudioComponentTemplate.cpp | 0 .../jucer_AudioPluginEditorTemplate.cpp | 0 .../jucer_AudioPluginEditorTemplate.h | 0 .../jucer_AudioPluginFilterTemplate.cpp | 0 .../jucer_AudioPluginFilterTemplate.h | 0 .../jucer_ComponentTemplate.cpp | 0 .../{ => Templates}/jucer_ComponentTemplate.h | 0 .../jucer_ContentCompTemplate.cpp | 0 .../jucer_ContentCompTemplate.h | 0 .../jucer_InlineComponentTemplate.h | 0 .../jucer_MainConsoleAppTemplate.cpp | 0 .../jucer_MainTemplate_NoWindow.cpp | 0 .../jucer_MainTemplate_SimpleWindow.cpp | 0 .../jucer_MainTemplate_Window.cpp | 0 .../jucer_NewComponentTemplate.cpp | 0 .../jucer_NewComponentTemplate.h | 0 .../jucer_NewCppFileTemplate.cpp | 0 .../jucer_NewCppFileTemplate.h | 0 .../jucer_NewInlineComponentTemplate.h | 0 .../jucer_OpenGLComponentTemplate.cpp | 0 .../Source/BinaryData/background_tile.png | Bin 151 -> 0 bytes .../Source/BinaryData/projucer_login_bg.svg | 62 - .../jucer_DocumentEditorComponent.cpp | 3 +- .../jucer_DocumentEditorComponent.h | 3 - .../jucer_ItemPreviewComponent.h} | 4 - .../jucer_LiveBuildCodeEditor.h | 4 +- .../jucer_OpenDocumentManager.cpp | 7 +- .../jucer_OpenDocumentManager.h | 2 - .../jucer_SourceCodeEditor.cpp | 4 +- .../jucer_SourceCodeEditor.h | 4 +- .../jucer_ButtonHandler.h | 4 + .../jucer_ComboBoxHandler.h | 4 + .../jucer_ComponentNameProperty.h | 3 +- .../jucer_ComponentTypeHandler.cpp | 12 +- .../jucer_ComponentTypeHandler.h | 3 +- .../jucer_ComponentUndoableAction.h | 3 +- .../jucer_GenericComponentHandler.h | 4 + .../jucer_GroupComponentHandler.h | 4 + .../jucer_HyperlinkButtonHandler.h | 4 + .../jucer_ImageButtonHandler.h | 4 + .../jucer_JucerComponentHandler.h | 9 +- .../jucer_LabelHandler.h | 4 + .../jucer_SliderHandler.h | 4 + .../jucer_TabbedComponentHandler.h | 4 + .../jucer_TextButtonHandler.h | 4 + .../jucer_TextEditorHandler.h | 4 + .../jucer_ToggleButtonHandler.h | 4 + .../jucer_TreeViewHandler.h | 4 + .../jucer_ViewportHandler.h | 4 + .../jucer_ButtonDocument.cpp | 2 +- .../jucer_ButtonDocument.h | 1 - .../jucer_ComponentDocument.cpp | 2 +- .../jucer_ComponentDocument.h | 1 - .../jucer_ColouredElement.cpp | 6 +- .../jucer_ColouredElement.h | 1 - .../jucer_ElementSiblingComponent.h | 0 .../jucer_FillType.h | 2 +- .../jucer_GradientPointComponent.h | 1 - .../jucer_ImageResourceProperty.h | 2 +- .../jucer_PaintElement.cpp | 8 +- .../jucer_PaintElement.h | 3 +- .../jucer_PaintElementEllipse.h | 1 - .../jucer_PaintElementGroup.h | 1 - .../jucer_PaintElementImage.h | 3 +- .../jucer_PaintElementPath.cpp | 4 +- .../jucer_PaintElementPath.h | 1 - .../jucer_PaintElementRectangle.h | 1 - .../jucer_PaintElementRoundedRectangle.h | 0 .../jucer_PaintElementText.h | 1345 ++++--- .../jucer_PaintElementUndoableAction.h | 3 +- .../jucer_PointComponent.h | 3 +- .../jucer_StrokeType.h | 1 - .../jucer_ColourPropertyComponent.h | 1 + .../jucer_ComponentBooleanProperty.h | 1 + .../jucer_ComponentChoiceProperty.h | 1 + .../jucer_ComponentColourProperty.h | 5 - .../jucer_ComponentTextProperty.h | 1 + .../jucer_FilePropertyComponent.h | 1 + .../jucer_FontPropertyComponent.h | 1 + .../jucer_JustificationProperty.h | 1 + .../jucer_PositionPropertyBase.h | 4 +- .../jucer_ComponentLayoutEditor.cpp | 6 +- .../{ui => UI}/jucer_ComponentLayoutEditor.h | 3 - .../{ui => UI}/jucer_ComponentLayoutPanel.h | 1 - .../jucer_ComponentOverlayComponent.cpp | 2 +- .../jucer_ComponentOverlayComponent.h | 3 - .../{ui => UI}/jucer_EditingPanelBase.cpp | 2 +- .../{ui => UI}/jucer_EditingPanelBase.h | 1 - .../{ui => UI}/jucer_JucerCommandIDs.h | 0 .../{ui => UI}/jucer_JucerDocumentEditor.cpp | 11 +- .../{ui => UI}/jucer_JucerDocumentEditor.h | 3 - .../{ui => UI}/jucer_PaintRoutineEditor.cpp | 5 +- .../{ui => UI}/jucer_PaintRoutineEditor.h | 3 - .../{ui => UI}/jucer_PaintRoutinePanel.cpp | 7 +- .../{ui => UI}/jucer_PaintRoutinePanel.h | 1 - .../jucer_RelativePositionedRectangle.h | 0 .../{ui => UI}/jucer_ResourceEditorPanel.cpp | 3 +- .../{ui => UI}/jucer_ResourceEditorPanel.h | 0 .../{ui => UI}/jucer_SnapGridPainter.h | 1 - .../{ui => UI}/jucer_TestComponent.cpp | 3 +- .../{ui => UI}/jucer_TestComponent.h | 3 - .../ComponentEditor/jucer_BinaryResources.cpp | 3 +- .../ComponentEditor/jucer_BinaryResources.h | 1 - .../ComponentEditor/jucer_ComponentLayout.cpp | 7 +- .../ComponentEditor/jucer_ComponentLayout.h | 4 +- .../ComponentEditor/jucer_GeneratedCode.cpp | 710 ++-- .../ComponentEditor/jucer_GeneratedCode.h | 1 - .../ComponentEditor/jucer_JucerDocument.cpp | 10 +- .../ComponentEditor/jucer_JucerDocument.h | 6 +- .../ComponentEditor/jucer_ObjectTypes.cpp | 66 +- .../ComponentEditor/jucer_ObjectTypes.h | 4 +- .../ComponentEditor/jucer_PaintRoutine.cpp | 12 +- .../ComponentEditor/jucer_PaintRoutine.h | 4 +- .../ComponentEditor/jucer_UtilityFunctions.h | 2 + .../Licenses/jucer_LicenseController.cpp | 10 +- .../Source/Licenses/jucer_LicenseThread.h | 2 + .../Source/Licenses/jucer_LicenseWebview.h | 1 + .../jucer_ActivityListComponent.h} | 4 + .../jucer_BuildTabStatusComponent.h} | 4 + .../jucer_ComponentListComponent.h} | 4 + .../jucer_ErrorListComponent.h} | 4 + ...er_ActivityList.h => jucer_ActivityList.h} | 4 + ..._ClassDatabase.h => jucer_ClassDatabase.h} | 4 + ...essages.h => jucer_ClientServerMessages.h} | 4 + ...ient.cpp => jucer_CompileEngineClient.cpp} | 23 +- ...neClient.h => jucer_CompileEngineClient.h} | 4 +- ...leEngineDLL.h => jucer_CompileEngineDLL.h} | 5 +- ...rver.cpp => jucer_CompileEngineServer.cpp} | 23 +- ...neServer.h => jucer_CompileEngineServer.h} | 4 + ...ojucer_CppHelpers.h => jucer_CppHelpers.h} | 4 + ...ticMessage.h => jucer_DiagnosticMessage.h} | 4 + .../jucer_DownloadCompileEngineThread.cpp | 5 +- .../jucer_DownloadCompileEngineThread.h | 2 - ...projucer_ErrorList.h => jucer_ErrorList.h} | 4 + ...uilderDLL.h => jucer_LiveCodeBuilderDLL.h} | 0 ...ojucer_MessageIDs.h => jucer_MessageIDs.h} | 2 + ...ctBuildInfo.h => jucer_ProjectBuildInfo.h} | 4 + ...rceCodeRange.h => jucer_SourceCodeRange.h} | 4 + .../Sidebar/jucer_ExporterTreeItems.h} | 88 +- .../Project/UI/Sidebar/jucer_FileTreeItems.h | 810 ++++ .../{ => UI/Sidebar}/jucer_LiveBuildTab.h | 41 + .../Sidebar/jucer_ModuleTreeItems.h} | 12 +- .../Project/UI/Sidebar/jucer_ProjectTab.h | 295 ++ .../UI/Sidebar/jucer_ProjectTreeItemBase.h | 91 + .../Project/UI/Sidebar/jucer_TabComponents.h | 276 ++ .../{ => UI/Sidebar}/jucer_TreeItemTypes.h | 31 +- .../jucer_ContentViewComponents.h} | 202 +- .../jucer_FileGroupInformationComponent.h} | 139 +- .../Project/{ => UI}/jucer_HeaderComponent.h | 196 +- .../jucer_ModulesInformationComponent.h} | 16 +- .../jucer_ProjectContentComponent.cpp | 142 +- .../{ => UI}/jucer_ProjectContentComponent.h | 22 +- .../Projucer/Source/Project/jucer_Module.cpp | 10 +- .../Projucer/Source/Project/jucer_Project.cpp | 6 +- .../Source/Project/jucer_ProjectTab.h | 567 --- .../Source/Project/jucer_ProjectTree_Base.h | 427 -- .../Source/Project/jucer_ProjectTree_File.h | 169 - .../Source/Project/jucer_ProjectTree_Group.h | 258 -- .../jucer_ProjectExport_Android.h | 4 + .../jucer_ProjectExport_CodeBlocks.h | 4 + .../jucer_ProjectExport_MSVC.h | 4 + .../jucer_ProjectExport_Make.h | 4 + .../jucer_ProjectExport_XCode.h | 6 +- .../jucer_ProjectExporter.cpp | 2 +- .../jucer_ProjectExporter.h | 3 +- .../jucer_ProjectSaver.cpp | 3 +- .../jucer_ProjectSaver.h | 1 - .../jucer_ResourceFile.cpp | 4 +- .../jucer_ResourceFile.h | 1 - .../jucer_AppearanceSettings.cpp | 4 +- .../jucer_AppearanceSettings.h | 1 + .../jucer_StoredSettings.cpp | 4 +- .../jucer_StoredSettings.h | 2 +- .../{ => Helpers}/jucer_CodeHelpers.cpp | 3 +- .../Utility/{ => Helpers}/jucer_CodeHelpers.h | 0 .../Utility/{ => Helpers}/jucer_Colours.h | 0 .../{ => Helpers}/jucer_FileHelpers.cpp | 3 +- .../Utility/{ => Helpers}/jucer_FileHelpers.h | 0 .../{ => Helpers}/jucer_MiscUtilities.cpp | 2 +- .../{ => Helpers}/jucer_MiscUtilities.h | 1 + .../Utility/{ => Helpers}/jucer_PresetIDs.h | 1 + .../{ => Helpers}/jucer_RelativePath.h | 0 .../{ => Helpers}/jucer_TranslationHelpers.h | 2 + .../{ => Helpers}/jucer_ValueSourceHelpers.h | 2 - .../jucer_ColourPropertyComponent.h | 1 + .../jucer_DependencyPathPropertyComponent.cpp | 2 +- .../jucer_DependencyPathPropertyComponent.h | 0 .../jucer_FilePathPropertyComponent.h | 1 + .../jucer_TextWithDefaultPropertyComponent.h | 3 +- .../Source/Utility/UI/jucer_IconButton.h | 91 + .../Source/Utility/{ => UI}/jucer_Icons.cpp | 4 +- .../Source/Utility/{ => UI}/jucer_Icons.h | 0 .../{ => UI}/jucer_JucerTreeViewBase.cpp | 6 +- .../{ => UI}/jucer_JucerTreeViewBase.h | 8 +- .../{ => UI}/jucer_ProjucerLookAndFeel.cpp | 5 +- .../{ => UI}/jucer_ProjucerLookAndFeel.h | 0 .../{ => UI}/jucer_SlidingPanelComponent.cpp | 4 +- .../{ => UI}/jucer_SlidingPanelComponent.h | 3 +- .../Utility/UI/jucer_UserSettingsPopup.h | 161 + .../Source/Wizards/jucer_NewFileWizard.cpp | 2 +- .../Source/Wizards/jucer_NewFileWizard.h | 2 - .../Wizards/jucer_NewProjectWizardClasses.cpp | 10 +- .../Wizards/jucer_NewProjectWizardClasses.h | 3 + .../Wizards/jucer_NewProjectWizardComponent.h | 1 + .../Wizards/jucer_ProjectWizard_Animated.h | 4 + .../Wizards/jucer_ProjectWizard_AudioApp.h | 4 + .../Wizards/jucer_ProjectWizard_AudioPlugin.h | 4 + .../Wizards/jucer_ProjectWizard_Blank.h | 4 + .../Wizards/jucer_ProjectWizard_Console.h | 4 + .../Source/Wizards/jucer_ProjectWizard_DLL.h | 4 + .../Wizards/jucer_ProjectWizard_GUIApp.h | 4 + .../jucer_ProjectWizard_StaticLibrary.h | 4 + .../Wizards/jucer_ProjectWizard_openGL.h | 4 + .../Source/Wizards/jucer_StartPageComponent.h | 4 + .../jucer_TemplateThumbnailsComponent.h | 1 + 268 files changed, 8838 insertions(+), 8682 deletions(-) rename extras/Projucer/Source/{Utility => Application/Windows}/jucer_AboutWindowComponent.h (96%) rename extras/Projucer/Source/{Utility => Application/Windows}/jucer_ApplicationUsageDataWindowComponent.h (96%) rename extras/Projucer/Source/{Utility => Application/Windows}/jucer_EditorColourSchemeWindowComponent.h (96%) rename extras/Projucer/Source/{Utility => Application/Windows}/jucer_FloatingToolWindow.h (100%) rename extras/Projucer/Source/{Utility => Application/Windows}/jucer_GlobalSearchPathsWindowComponent.h (96%) rename extras/Projucer/Source/{Utility/jucer_SVGPathDataComponent.h => Application/Windows/jucer_SVGPathDataWindowComponent.h} (94%) rename extras/Projucer/Source/{Utility/jucer_TranslationToolComponent.h => Application/Windows/jucer_TranslationToolWindowComponent.h} (95%) rename extras/Projucer/Source/{Utility/jucer_UTF8Component.h => Application/Windows/jucer_UTF8WindowComponent.h} (93%) rename extras/Projucer/Source/{ => Application}/jucer_Headers.h (92%) rename extras/Projucer/Source/BinaryData/{ => Icons}/background_logo.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/export_android.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/export_codeBlocks.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/export_linux.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/export_visualStudio.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/export_xcode.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/huckleberry_icon.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/juce-logo-with-text.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/juce_icon.png (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/wizard_AnimatedApp.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/wizard_AudioApp.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/wizard_AudioPlugin.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/wizard_ConsoleApp.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/wizard_DLL.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/wizard_GUI.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/wizard_Highlight.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/wizard_OpenGL.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/wizard_Openfile.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Icons}/wizard_StaticLibrary.svg (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_AnimatedComponentTemplate.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_AudioComponentTemplate.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_AudioPluginEditorTemplate.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_AudioPluginEditorTemplate.h (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_AudioPluginFilterTemplate.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_AudioPluginFilterTemplate.h (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_ComponentTemplate.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_ComponentTemplate.h (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_ContentCompTemplate.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_ContentCompTemplate.h (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_InlineComponentTemplate.h (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_MainConsoleAppTemplate.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_MainTemplate_NoWindow.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_MainTemplate_SimpleWindow.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_MainTemplate_Window.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_NewComponentTemplate.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_NewComponentTemplate.h (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_NewCppFileTemplate.cpp (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_NewCppFileTemplate.h (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_NewInlineComponentTemplate.h (100%) rename extras/Projucer/Source/BinaryData/{ => Templates}/jucer_OpenGLComponentTemplate.cpp (100%) delete mode 100644 extras/Projucer/Source/BinaryData/background_tile.png delete mode 100644 extras/Projucer/Source/BinaryData/projucer_login_bg.svg rename extras/Projucer/Source/{Application => CodeEditor}/jucer_DocumentEditorComponent.cpp (92%) rename extras/Projucer/Source/{Application => CodeEditor}/jucer_DocumentEditorComponent.h (96%) rename extras/Projucer/Source/{Application/jucer_FilePreviewComponent.h => CodeEditor/jucer_ItemPreviewComponent.h} (95%) rename extras/Projucer/Source/{Code Editor => CodeEditor}/jucer_LiveBuildCodeEditor.h (96%) rename extras/Projucer/Source/{Application => CodeEditor}/jucer_OpenDocumentManager.cpp (95%) rename extras/Projucer/Source/{Application => CodeEditor}/jucer_OpenDocumentManager.h (97%) rename extras/Projucer/Source/{Code Editor => CodeEditor}/jucer_SourceCodeEditor.cpp (96%) rename extras/Projucer/Source/{Code Editor => CodeEditor}/jucer_SourceCodeEditor.h (96%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_ButtonHandler.h (96%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_ComboBoxHandler.h (96%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_ComponentNameProperty.h (95%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_ComponentTypeHandler.cpp (96%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_ComponentTypeHandler.h (96%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_ComponentUndoableAction.h (94%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_GenericComponentHandler.h (95%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_GroupComponentHandler.h (95%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_HyperlinkButtonHandler.h (95%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_ImageButtonHandler.h (96%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_JucerComponentHandler.h (94%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_LabelHandler.h (96%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_SliderHandler.h (97%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_TabbedComponentHandler.h (96%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_TextButtonHandler.h (93%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_TextEditorHandler.h (96%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_ToggleButtonHandler.h (94%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_TreeViewHandler.h (95%) rename extras/Projucer/Source/ComponentEditor/{components => Components}/jucer_ViewportHandler.h (96%) rename extras/Projucer/Source/ComponentEditor/{documents => Documents}/jucer_ButtonDocument.cpp (96%) rename extras/Projucer/Source/ComponentEditor/{documents => Documents}/jucer_ButtonDocument.h (97%) rename extras/Projucer/Source/ComponentEditor/{documents => Documents}/jucer_ComponentDocument.cpp (95%) rename extras/Projucer/Source/ComponentEditor/{documents => Documents}/jucer_ComponentDocument.h (97%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_ColouredElement.cpp (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_ColouredElement.h (97%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_ElementSiblingComponent.h (100%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_FillType.h (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_GradientPointComponent.h (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_ImageResourceProperty.h (95%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElement.cpp (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElement.h (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElementEllipse.h (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElementGroup.h (97%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElementImage.h (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElementPath.cpp (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElementPath.h (97%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElementRectangle.h (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElementRoundedRectangle.h (100%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElementText.h (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PaintElementUndoableAction.h (95%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_PointComponent.h (96%) rename extras/Projucer/Source/ComponentEditor/{paintelements => PaintElements}/jucer_StrokeType.h (96%) rename extras/Projucer/Source/ComponentEditor/{properties => Properties}/jucer_ColourPropertyComponent.h (95%) rename extras/Projucer/Source/ComponentEditor/{properties => Properties}/jucer_ComponentBooleanProperty.h (92%) rename extras/Projucer/Source/ComponentEditor/{properties => Properties}/jucer_ComponentChoiceProperty.h (92%) rename extras/Projucer/Source/ComponentEditor/{properties => Properties}/jucer_ComponentColourProperty.h (96%) rename extras/Projucer/Source/ComponentEditor/{properties => Properties}/jucer_ComponentTextProperty.h (92%) rename extras/Projucer/Source/ComponentEditor/{properties => Properties}/jucer_FilePropertyComponent.h (93%) rename extras/Projucer/Source/ComponentEditor/{properties => Properties}/jucer_FontPropertyComponent.h (95%) rename extras/Projucer/Source/ComponentEditor/{properties => Properties}/jucer_JustificationProperty.h (95%) rename extras/Projucer/Source/ComponentEditor/{properties => Properties}/jucer_PositionPropertyBase.h (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_ComponentLayoutEditor.cpp (95%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_ComponentLayoutEditor.h (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_ComponentLayoutPanel.h (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_ComponentOverlayComponent.cpp (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_ComponentOverlayComponent.h (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_EditingPanelBase.cpp (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_EditingPanelBase.h (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_JucerCommandIDs.h (100%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_JucerDocumentEditor.cpp (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_JucerDocumentEditor.h (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_PaintRoutineEditor.cpp (95%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_PaintRoutineEditor.h (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_PaintRoutinePanel.cpp (93%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_PaintRoutinePanel.h (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_RelativePositionedRectangle.h (100%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_ResourceEditorPanel.cpp (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_ResourceEditorPanel.h (100%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_SnapGridPainter.h (96%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_TestComponent.cpp (95%) rename extras/Projucer/Source/ComponentEditor/{ui => UI}/jucer_TestComponent.h (96%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_ActivityListComponent.h => UI/jucer_ActivityListComponent.h} (93%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_BuildTabStatusComp.h => UI/jucer_BuildTabStatusComponent.h} (94%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_ComponentListComp.h => UI/jucer_ComponentListComponent.h} (96%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_ErrorListComponent.h => UI/jucer_ErrorListComponent.h} (96%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_ActivityList.h => jucer_ActivityList.h} (92%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_ClassDatabase.h => jucer_ClassDatabase.h} (96%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_ClientServerMessages.h => jucer_ClientServerMessages.h} (96%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_CompileEngineClient.cpp => jucer_CompileEngineClient.cpp} (95%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_CompileEngineClient.h => jucer_CompileEngineClient.h} (95%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_CompileEngineDLL.h => jucer_CompileEngineDLL.h} (94%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_CompileEngineServer.cpp => jucer_CompileEngineServer.cpp} (90%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_CompileEngineServer.h => jucer_CompileEngineServer.h} (91%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_CppHelpers.h => jucer_CppHelpers.h} (95%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_DiagnosticMessage.h => jucer_DiagnosticMessage.h} (94%) rename extras/Projucer/Source/{Application => LiveBuildEngine}/jucer_DownloadCompileEngineThread.cpp (92%) rename extras/Projucer/Source/{Application => LiveBuildEngine}/jucer_DownloadCompileEngineThread.h (94%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_ErrorList.h => jucer_ErrorList.h} (92%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_LiveCodeBuilderDLL.h => jucer_LiveCodeBuilderDLL.h} (100%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_MessageIDs.h => jucer_MessageIDs.h} (95%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_ProjectBuildInfo.h => jucer_ProjectBuildInfo.h} (95%) rename extras/Projucer/Source/LiveBuildEngine/{projucer_SourceCodeRange.h => jucer_SourceCodeRange.h} (93%) rename extras/Projucer/Source/Project/{jucer_ConfigTree_Exporter.h => UI/Sidebar/jucer_ExporterTreeItems.h} (73%) create mode 100644 extras/Projucer/Source/Project/UI/Sidebar/jucer_FileTreeItems.h rename extras/Projucer/Source/Project/{ => UI/Sidebar}/jucer_LiveBuildTab.h (85%) rename extras/Projucer/Source/Project/{jucer_ConfigTree_Modules.h => UI/Sidebar/jucer_ModuleTreeItems.h} (96%) create mode 100644 extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTab.h create mode 100644 extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTreeItemBase.h create mode 100644 extras/Projucer/Source/Project/UI/Sidebar/jucer_TabComponents.h rename extras/Projucer/Source/Project/{ => UI/Sidebar}/jucer_TreeItemTypes.h (57%) rename extras/Projucer/Source/Project/{jucer_ConfigTree_Base.h => UI/jucer_ContentViewComponents.h} (64%) rename extras/Projucer/Source/Project/{jucer_GroupInformationComponent.h => UI/jucer_FileGroupInformationComponent.h} (62%) rename extras/Projucer/Source/Project/{ => UI}/jucer_HeaderComponent.h (61%) rename extras/Projucer/Source/Project/{jucer_ModulesPanel.h => UI/jucer_ModulesInformationComponent.h} (93%) rename extras/Projucer/Source/Project/{ => UI}/jucer_ProjectContentComponent.cpp (88%) rename extras/Projucer/Source/Project/{ => UI}/jucer_ProjectContentComponent.h (89%) delete mode 100644 extras/Projucer/Source/Project/jucer_ProjectTab.h delete mode 100644 extras/Projucer/Source/Project/jucer_ProjectTree_Base.h delete mode 100644 extras/Projucer/Source/Project/jucer_ProjectTree_File.h delete mode 100644 extras/Projucer/Source/Project/jucer_ProjectTree_Group.h rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ProjectExport_Android.h (97%) rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ProjectExport_CodeBlocks.h (97%) rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ProjectExport_MSVC.h (97%) rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ProjectExport_Make.h (97%) rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ProjectExport_XCode.h (97%) rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ProjectExporter.cpp (97%) rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ProjectExporter.h (97%) rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ProjectSaver.cpp (97%) rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ProjectSaver.h (97%) rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ResourceFile.cpp (95%) rename extras/Projucer/Source/{Project Saving => ProjectSaving}/jucer_ResourceFile.h (97%) rename extras/Projucer/Source/{Application => Settings}/jucer_AppearanceSettings.cpp (95%) rename extras/Projucer/Source/{Application => Settings}/jucer_AppearanceSettings.h (94%) rename extras/Projucer/Source/{Utility => Settings}/jucer_StoredSettings.cpp (96%) rename extras/Projucer/Source/{Utility => Settings}/jucer_StoredSettings.h (96%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_CodeHelpers.cpp (96%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_CodeHelpers.h (100%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_Colours.h (100%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_FileHelpers.cpp (96%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_FileHelpers.h (100%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_MiscUtilities.cpp (96%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_MiscUtilities.h (95%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_PresetIDs.h (96%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_RelativePath.h (100%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_TranslationHelpers.h (95%) rename extras/Projucer/Source/Utility/{ => Helpers}/jucer_ValueSourceHelpers.h (96%) rename extras/Projucer/Source/Utility/{ => UI/PropertyComponents}/jucer_ColourPropertyComponent.h (95%) rename extras/Projucer/Source/{Project => Utility/UI/PropertyComponents}/jucer_DependencyPathPropertyComponent.cpp (96%) rename extras/Projucer/Source/{Project => Utility/UI/PropertyComponents}/jucer_DependencyPathPropertyComponent.h (100%) rename extras/Projucer/Source/Utility/{ => UI/PropertyComponents}/jucer_FilePathPropertyComponent.h (96%) rename extras/Projucer/Source/{Project Saving => Utility/UI/PropertyComponents}/jucer_TextWithDefaultPropertyComponent.h (95%) create mode 100644 extras/Projucer/Source/Utility/UI/jucer_IconButton.h rename extras/Projucer/Source/Utility/{ => UI}/jucer_Icons.cpp (99%) rename extras/Projucer/Source/Utility/{ => UI}/jucer_Icons.h (100%) rename extras/Projucer/Source/Utility/{ => UI}/jucer_JucerTreeViewBase.cpp (95%) rename extras/Projucer/Source/Utility/{ => UI}/jucer_JucerTreeViewBase.h (94%) rename extras/Projucer/Source/Utility/{ => UI}/jucer_ProjucerLookAndFeel.cpp (97%) rename extras/Projucer/Source/Utility/{ => UI}/jucer_ProjucerLookAndFeel.h (100%) rename extras/Projucer/Source/Utility/{ => UI}/jucer_SlidingPanelComponent.cpp (93%) rename extras/Projucer/Source/Utility/{ => UI}/jucer_SlidingPanelComponent.h (94%) create mode 100644 extras/Projucer/Source/Utility/UI/jucer_UserSettingsPopup.h diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile index 00982105c7..65663a4204 100644 --- a/extras/Projucer/Builds/LinuxMakefile/Makefile +++ b/extras/Projucer/Builds/LinuxMakefile/Makefile @@ -66,52 +66,52 @@ ifeq ($(CONFIG),Release) endif OBJECTS_APP := \ - $(JUCE_OBJDIR)/jucer_AppearanceSettings_788d9889.o \ $(JUCE_OBJDIR)/jucer_AutoUpdater_ca658dc2.o \ $(JUCE_OBJDIR)/jucer_CommandLine_f35de107.o \ - $(JUCE_OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o \ - $(JUCE_OBJDIR)/jucer_DownloadCompileEngineThread_8a38703f.o \ $(JUCE_OBJDIR)/jucer_Main_f8488f5b.o \ $(JUCE_OBJDIR)/jucer_MainWindow_1e163aeb.o \ - $(JUCE_OBJDIR)/jucer_OpenDocumentManager_4c72d210.o \ - $(JUCE_OBJDIR)/jucer_LicenseController_9abff0cf.o \ - $(JUCE_OBJDIR)/projucer_CompileEngineClient_542e6b2d.o \ - $(JUCE_OBJDIR)/projucer_CompileEngineServer_a5a32aa5.o \ - $(JUCE_OBJDIR)/jucer_SourceCodeEditor_461f5487.o \ - $(JUCE_OBJDIR)/jucer_ComponentTypeHandler_6bec6262.o \ - $(JUCE_OBJDIR)/jucer_ButtonDocument_56c341cc.o \ - $(JUCE_OBJDIR)/jucer_ComponentDocument_92868083.o \ - $(JUCE_OBJDIR)/jucer_ColouredElement_70cbc839.o \ - $(JUCE_OBJDIR)/jucer_PaintElement_653460.o \ - $(JUCE_OBJDIR)/jucer_PaintElementPath_908894a5.o \ - $(JUCE_OBJDIR)/jucer_ComponentLayoutEditor_aeb44f8d.o \ - $(JUCE_OBJDIR)/jucer_ComponentOverlayComponent_fd508d63.o \ - $(JUCE_OBJDIR)/jucer_EditingPanelBase_6c2ed9ee.o \ - $(JUCE_OBJDIR)/jucer_JucerDocumentEditor_2c581e26.o \ - $(JUCE_OBJDIR)/jucer_PaintRoutineEditor_f6ac0344.o \ - $(JUCE_OBJDIR)/jucer_PaintRoutinePanel_c309a0d7.o \ - $(JUCE_OBJDIR)/jucer_ResourceEditorPanel_a558f2e2.o \ - $(JUCE_OBJDIR)/jucer_TestComponent_db757dc4.o \ + $(JUCE_OBJDIR)/jucer_DocumentEditorComponent_bc853a2f.o \ + $(JUCE_OBJDIR)/jucer_OpenDocumentManager_ba866622.o \ + $(JUCE_OBJDIR)/jucer_SourceCodeEditor_55965985.o \ + $(JUCE_OBJDIR)/jucer_ComponentTypeHandler_d7e70242.o \ + $(JUCE_OBJDIR)/jucer_ButtonDocument_b2cabdec.o \ + $(JUCE_OBJDIR)/jucer_ComponentDocument_1d8c1063.o \ + $(JUCE_OBJDIR)/jucer_ColouredElement_acb45c39.o \ + $(JUCE_OBJDIR)/jucer_PaintElement_db652060.o \ + $(JUCE_OBJDIR)/jucer_PaintElementPath_d1b280a5.o \ + $(JUCE_OBJDIR)/jucer_ComponentLayoutEditor_4fc44b8d.o \ + $(JUCE_OBJDIR)/jucer_ComponentOverlayComponent_5e028963.o \ + $(JUCE_OBJDIR)/jucer_EditingPanelBase_28115dee.o \ + $(JUCE_OBJDIR)/jucer_JucerDocumentEditor_89371a26.o \ + $(JUCE_OBJDIR)/jucer_PaintRoutineEditor_43fd8744.o \ + $(JUCE_OBJDIR)/jucer_PaintRoutinePanel_83779cd7.o \ + $(JUCE_OBJDIR)/jucer_ResourceEditorPanel_237eee2.o \ + $(JUCE_OBJDIR)/jucer_TestComponent_1a4179c4.o \ $(JUCE_OBJDIR)/jucer_BinaryResources_e0f99b46.o \ $(JUCE_OBJDIR)/jucer_ComponentLayout_6ea00129.o \ $(JUCE_OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o \ $(JUCE_OBJDIR)/jucer_JucerDocument_ff8afcc2.o \ $(JUCE_OBJDIR)/jucer_ObjectTypes_4406f01c.o \ $(JUCE_OBJDIR)/jucer_PaintRoutine_e1e891ee.o \ - $(JUCE_OBJDIR)/jucer_DependencyPathPropertyComponent_4d137229.o \ + $(JUCE_OBJDIR)/jucer_LicenseController_9abff0cf.o \ + $(JUCE_OBJDIR)/jucer_CompileEngineClient_aee8c99c.o \ + $(JUCE_OBJDIR)/jucer_CompileEngineServer_5d8914.o \ + $(JUCE_OBJDIR)/jucer_DownloadCompileEngineThread_19bb4bb3.o \ $(JUCE_OBJDIR)/jucer_Module_3f7666a5.o \ $(JUCE_OBJDIR)/jucer_Project_c131864a.o \ - $(JUCE_OBJDIR)/jucer_ProjectExporter_eefe2e5b.o \ - $(JUCE_OBJDIR)/jucer_ProjectSaver_38b16c25.o \ - $(JUCE_OBJDIR)/jucer_ResourceFile_6af120d3.o \ - $(JUCE_OBJDIR)/jucer_CodeHelpers_c317179c.o \ - $(JUCE_OBJDIR)/jucer_FileHelpers_f98ed0ad.o \ - $(JUCE_OBJDIR)/jucer_Icons_9db2f51e.o \ - $(JUCE_OBJDIR)/jucer_JucerTreeViewBase_d043309d.o \ - $(JUCE_OBJDIR)/jucer_MiscUtilities_25b68c82.o \ - $(JUCE_OBJDIR)/jucer_ProjucerLookAndFeel_d6c6b28a.o \ - $(JUCE_OBJDIR)/jucer_SlidingPanelComponent_9aa7a2ab.o \ - $(JUCE_OBJDIR)/jucer_StoredSettings_26078d2c.o \ + $(JUCE_OBJDIR)/jucer_ProjectExporter_cf377b25.o \ + $(JUCE_OBJDIR)/jucer_ProjectSaver_4276639b.o \ + $(JUCE_OBJDIR)/jucer_ResourceFile_74b61849.o \ + $(JUCE_OBJDIR)/jucer_AppearanceSettings_fa5d736e.o \ + $(JUCE_OBJDIR)/jucer_StoredSettings_c7168d2d.o \ + $(JUCE_OBJDIR)/jucer_CodeHelpers_1e797672.o \ + $(JUCE_OBJDIR)/jucer_FileHelpers_54f12f83.o \ + $(JUCE_OBJDIR)/jucer_MiscUtilities_31fc8dd8.o \ + $(JUCE_OBJDIR)/jucer_DependencyPathPropertyComponent_5d68c773.o \ + $(JUCE_OBJDIR)/jucer_Icons_d02d18f1.o \ + $(JUCE_OBJDIR)/jucer_JucerTreeViewBase_9b9f2ff0.o \ + $(JUCE_OBJDIR)/jucer_ProjucerLookAndFeel_3b20291d.o \ + $(JUCE_OBJDIR)/jucer_SlidingPanelComponent_4e7dc07e.o \ $(JUCE_OBJDIR)/jucer_NewFileWizard_fac97f47.o \ $(JUCE_OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o \ $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ @@ -134,11 +134,6 @@ $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : check-pkg-config $(OBJECTS_APP) $(RESOURCES) -$(V_AT)mkdir -p $(JUCE_OUTDIR) $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) -$(JUCE_OBJDIR)/jucer_AppearanceSettings_788d9889.o: ../../Source/Application/jucer_AppearanceSettings.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_AppearanceSettings.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - $(JUCE_OBJDIR)/jucer_AutoUpdater_ca658dc2.o: ../../Source/Application/jucer_AutoUpdater.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_AutoUpdater.cpp" @@ -149,16 +144,6 @@ $(JUCE_OBJDIR)/jucer_CommandLine_f35de107.o: ../../Source/Application/jucer_Comm @echo "Compiling jucer_CommandLine.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o: ../../Source/Application/jucer_DocumentEditorComponent.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_DocumentEditorComponent.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_DownloadCompileEngineThread_8a38703f.o: ../../Source/Application/jucer_DownloadCompileEngineThread.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_DownloadCompileEngineThread.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - $(JUCE_OBJDIR)/jucer_Main_f8488f5b.o: ../../Source/Application/jucer_Main.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_Main.cpp" @@ -169,97 +154,87 @@ $(JUCE_OBJDIR)/jucer_MainWindow_1e163aeb.o: ../../Source/Application/jucer_MainW @echo "Compiling jucer_MainWindow.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_OpenDocumentManager_4c72d210.o: ../../Source/Application/jucer_OpenDocumentManager.cpp +$(JUCE_OBJDIR)/jucer_DocumentEditorComponent_bc853a2f.o: ../../Source/CodeEditor/jucer_DocumentEditorComponent.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_DocumentEditorComponent.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_OpenDocumentManager_ba866622.o: ../../Source/CodeEditor/jucer_OpenDocumentManager.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_OpenDocumentManager.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_LicenseController_9abff0cf.o: ../../Source/Licenses/jucer_LicenseController.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_LicenseController.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/projucer_CompileEngineClient_542e6b2d.o: ../../Source/LiveBuildEngine/projucer_CompileEngineClient.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling projucer_CompileEngineClient.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/projucer_CompileEngineServer_a5a32aa5.o: ../../Source/LiveBuildEngine/projucer_CompileEngineServer.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling projucer_CompileEngineServer.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_SourceCodeEditor_461f5487.o: ../../Source/Code\ Editor/jucer_SourceCodeEditor.cpp +$(JUCE_OBJDIR)/jucer_SourceCodeEditor_55965985.o: ../../Source/CodeEditor/jucer_SourceCodeEditor.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_SourceCodeEditor.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ComponentTypeHandler_6bec6262.o: ../../Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp +$(JUCE_OBJDIR)/jucer_ComponentTypeHandler_d7e70242.o: ../../Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ComponentTypeHandler.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ButtonDocument_56c341cc.o: ../../Source/ComponentEditor/documents/jucer_ButtonDocument.cpp +$(JUCE_OBJDIR)/jucer_ButtonDocument_b2cabdec.o: ../../Source/ComponentEditor/Documents/jucer_ButtonDocument.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ButtonDocument.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ComponentDocument_92868083.o: ../../Source/ComponentEditor/documents/jucer_ComponentDocument.cpp +$(JUCE_OBJDIR)/jucer_ComponentDocument_1d8c1063.o: ../../Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ComponentDocument.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ColouredElement_70cbc839.o: ../../Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp +$(JUCE_OBJDIR)/jucer_ColouredElement_acb45c39.o: ../../Source/ComponentEditor/PaintElements/jucer_ColouredElement.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ColouredElement.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_PaintElement_653460.o: ../../Source/ComponentEditor/paintelements/jucer_PaintElement.cpp +$(JUCE_OBJDIR)/jucer_PaintElement_db652060.o: ../../Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_PaintElement.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_PaintElementPath_908894a5.o: ../../Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp +$(JUCE_OBJDIR)/jucer_PaintElementPath_d1b280a5.o: ../../Source/ComponentEditor/PaintElements/jucer_PaintElementPath.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_PaintElementPath.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ComponentLayoutEditor_aeb44f8d.o: ../../Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp +$(JUCE_OBJDIR)/jucer_ComponentLayoutEditor_4fc44b8d.o: ../../Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ComponentLayoutEditor.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ComponentOverlayComponent_fd508d63.o: ../../Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp +$(JUCE_OBJDIR)/jucer_ComponentOverlayComponent_5e028963.o: ../../Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ComponentOverlayComponent.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_EditingPanelBase_6c2ed9ee.o: ../../Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp +$(JUCE_OBJDIR)/jucer_EditingPanelBase_28115dee.o: ../../Source/ComponentEditor/UI/jucer_EditingPanelBase.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_EditingPanelBase.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_JucerDocumentEditor_2c581e26.o: ../../Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp +$(JUCE_OBJDIR)/jucer_JucerDocumentEditor_89371a26.o: ../../Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_JucerDocumentEditor.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_PaintRoutineEditor_f6ac0344.o: ../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp +$(JUCE_OBJDIR)/jucer_PaintRoutineEditor_43fd8744.o: ../../Source/ComponentEditor/UI/jucer_PaintRoutineEditor.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_PaintRoutineEditor.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_PaintRoutinePanel_c309a0d7.o: ../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp +$(JUCE_OBJDIR)/jucer_PaintRoutinePanel_83779cd7.o: ../../Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_PaintRoutinePanel.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ResourceEditorPanel_a558f2e2.o: ../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp +$(JUCE_OBJDIR)/jucer_ResourceEditorPanel_237eee2.o: ../../Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ResourceEditorPanel.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_TestComponent_db757dc4.o: ../../Source/ComponentEditor/ui/jucer_TestComponent.cpp +$(JUCE_OBJDIR)/jucer_TestComponent_1a4179c4.o: ../../Source/ComponentEditor/UI/jucer_TestComponent.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_TestComponent.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" @@ -294,9 +269,24 @@ $(JUCE_OBJDIR)/jucer_PaintRoutine_e1e891ee.o: ../../Source/ComponentEditor/jucer @echo "Compiling jucer_PaintRoutine.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_DependencyPathPropertyComponent_4d137229.o: ../../Source/Project/jucer_DependencyPathPropertyComponent.cpp +$(JUCE_OBJDIR)/jucer_LicenseController_9abff0cf.o: ../../Source/Licenses/jucer_LicenseController.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_DependencyPathPropertyComponent.cpp" + @echo "Compiling jucer_LicenseController.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_CompileEngineClient_aee8c99c.o: ../../Source/LiveBuildEngine/jucer_CompileEngineClient.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_CompileEngineClient.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_CompileEngineServer_5d8914.o: ../../Source/LiveBuildEngine/jucer_CompileEngineServer.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_CompileEngineServer.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_DownloadCompileEngineThread_19bb4bb3.o: ../../Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_DownloadCompileEngineThread.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" $(JUCE_OBJDIR)/jucer_Module_3f7666a5.o: ../../Source/Project/jucer_Module.cpp @@ -309,61 +299,71 @@ $(JUCE_OBJDIR)/jucer_Project_c131864a.o: ../../Source/Project/jucer_Project.cpp @echo "Compiling jucer_Project.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ProjectExporter_eefe2e5b.o: ../../Source/Project\ Saving/jucer_ProjectExporter.cpp +$(JUCE_OBJDIR)/jucer_ProjectExporter_cf377b25.o: ../../Source/ProjectSaving/jucer_ProjectExporter.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ProjectExporter.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ProjectSaver_38b16c25.o: ../../Source/Project\ Saving/jucer_ProjectSaver.cpp +$(JUCE_OBJDIR)/jucer_ProjectSaver_4276639b.o: ../../Source/ProjectSaving/jucer_ProjectSaver.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ProjectSaver.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ResourceFile_6af120d3.o: ../../Source/Project\ Saving/jucer_ResourceFile.cpp +$(JUCE_OBJDIR)/jucer_ResourceFile_74b61849.o: ../../Source/ProjectSaving/jucer_ResourceFile.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ResourceFile.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_CodeHelpers_c317179c.o: ../../Source/Utility/jucer_CodeHelpers.cpp +$(JUCE_OBJDIR)/jucer_AppearanceSettings_fa5d736e.o: ../../Source/Settings/jucer_AppearanceSettings.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_AppearanceSettings.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_StoredSettings_c7168d2d.o: ../../Source/Settings/jucer_StoredSettings.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_StoredSettings.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_CodeHelpers_1e797672.o: ../../Source/Utility/Helpers/jucer_CodeHelpers.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_CodeHelpers.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_FileHelpers_f98ed0ad.o: ../../Source/Utility/jucer_FileHelpers.cpp +$(JUCE_OBJDIR)/jucer_FileHelpers_54f12f83.o: ../../Source/Utility/Helpers/jucer_FileHelpers.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_FileHelpers.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_Icons_9db2f51e.o: ../../Source/Utility/jucer_Icons.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_Icons.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_JucerTreeViewBase_d043309d.o: ../../Source/Utility/jucer_JucerTreeViewBase.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_JucerTreeViewBase.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_MiscUtilities_25b68c82.o: ../../Source/Utility/jucer_MiscUtilities.cpp +$(JUCE_OBJDIR)/jucer_MiscUtilities_31fc8dd8.o: ../../Source/Utility/Helpers/jucer_MiscUtilities.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_MiscUtilities.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_ProjucerLookAndFeel_d6c6b28a.o: ../../Source/Utility/jucer_ProjucerLookAndFeel.cpp +$(JUCE_OBJDIR)/jucer_DependencyPathPropertyComponent_5d68c773.o: ../../Source/Utility/UI/PropertyComponents/jucer_DependencyPathPropertyComponent.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_DependencyPathPropertyComponent.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_Icons_d02d18f1.o: ../../Source/Utility/UI/jucer_Icons.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_Icons.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_JucerTreeViewBase_9b9f2ff0.o: ../../Source/Utility/UI/jucer_JucerTreeViewBase.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_JucerTreeViewBase.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ProjucerLookAndFeel_3b20291d.o: ../../Source/Utility/UI/jucer_ProjucerLookAndFeel.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_ProjucerLookAndFeel.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_SlidingPanelComponent_9aa7a2ab.o: ../../Source/Utility/jucer_SlidingPanelComponent.cpp +$(JUCE_OBJDIR)/jucer_SlidingPanelComponent_4e7dc07e.o: ../../Source/Utility/UI/jucer_SlidingPanelComponent.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_SlidingPanelComponent.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" -$(JUCE_OBJDIR)/jucer_StoredSettings_26078d2c.o: ../../Source/Utility/jucer_StoredSettings.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_StoredSettings.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - $(JUCE_OBJDIR)/jucer_NewFileWizard_fac97f47.o: ../../Source/Wizards/jucer_NewFileWizard.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling jucer_NewFileWizard.cpp" diff --git a/extras/Projucer/Builds/MacOSX/Info-App.plist b/extras/Projucer/Builds/MacOSX/Info-App.plist index e5c569a0cc..996aad50d4 100644 --- a/extras/Projucer/Builds/MacOSX/Info-App.plist +++ b/extras/Projucer/Builds/MacOSX/Info-App.plist @@ -21,7 +21,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile - Icon.icns + CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName diff --git a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj index e6199c459a..91226b21c7 100644 --- a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj +++ b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj @@ -23,53 +23,52 @@ 11D42F7EC6E6539D79A7F4B1 = {isa = PBXBuildFile; fileRef = E5D6C36496F5BC84D7213BE8; }; B980464FA2761CCD64B1FAD6 = {isa = PBXBuildFile; fileRef = CF6C8BD0DA3D8CD4E99EBADA; }; 2610F357881240ACBF612F48 = {isa = PBXBuildFile; fileRef = 6678E9B3EEACAD47F438B264; }; - 1321E6C1C6170B6C898AD09D = {isa = PBXBuildFile; fileRef = 951128CA33CCDEF570436B1C; }; - 357A6AA6960EF95D92929BEE = {isa = PBXBuildFile; fileRef = 441CFEA771BAA50E187342E9; }; 6DD9DA1677A6CF789CDAB478 = {isa = PBXBuildFile; fileRef = 0D4D508C638BC74943B9976D; }; 954A036F5DDB375DB23FFB3E = {isa = PBXBuildFile; fileRef = 0400CB0E056A1D840304D2DE; }; - 3EB3D569250C4BA4CA9AF578 = {isa = PBXBuildFile; fileRef = C7608A3967D9AB9481848F2B; }; - 636D21BF846031A6A1A7476A = {isa = PBXBuildFile; fileRef = 11EB44786085029106099D01; }; 95B44E6C74B1DED31DBE37EB = {isa = PBXBuildFile; fileRef = 8C52A3DDA62A746AA7A68535; }; AA9D0B8E23F3D87A23DE9F8A = {isa = PBXBuildFile; fileRef = 9069981E414A631B036CC9AC; }; - 244BA1BDA5FAA465EA3F9C6D = {isa = PBXBuildFile; fileRef = 2247EE920DF0610CAF9F4513; }; - 6FD0752A5CADCF60D79FDBB7 = {isa = PBXBuildFile; fileRef = 51CBE59779A36D1B80B26974; }; - 85B5E65F8DD80938BFBDCE61 = {isa = PBXBuildFile; fileRef = A1333F975410DD3DBBE2841F; }; - D805169E01D7F90B01C11769 = {isa = PBXBuildFile; fileRef = 635290DEB1D564927D7A450C; }; - FCE6F604C00039A32649CB69 = {isa = PBXBuildFile; fileRef = 2E680E2C65684A4272AE079A; }; - 9BF773500BA51A8B5C6C7348 = {isa = PBXBuildFile; fileRef = 65C498761CE166072A202AA0; }; - 57B1F32A372143B4D3B1C517 = {isa = PBXBuildFile; fileRef = 3E03B7C7A19E63A724EB79F4; }; - 3DC282564876B1FC88AAA9B3 = {isa = PBXBuildFile; fileRef = 662C76394C5D1B56766FAFD9; }; - C49E1D32A9DCE3D59BC48B1D = {isa = PBXBuildFile; fileRef = 93B419190CCE92ACAB1ED25B; }; - E1268E019B434F6B5E9317DC = {isa = PBXBuildFile; fileRef = 1C216FE9B7A5209C5CCF2517; }; - CE91112DADB97C573C3C674D = {isa = PBXBuildFile; fileRef = 0169ACAA0FAE70CCEEE4F650; }; - A70F0274076C0D44ED71C980 = {isa = PBXBuildFile; fileRef = EF30A74B566A461A171BBF83; }; - BD1E0CBE74DDD2F303978E1F = {isa = PBXBuildFile; fileRef = 4E191CDCE7565DB726CF7065; }; - 8C1CC0E7A772D66635BA482F = {isa = PBXBuildFile; fileRef = 98F42686D9DAC974F2514217; }; - A69BF71FA90E5A66B6EB2E0F = {isa = PBXBuildFile; fileRef = 9C7FA58D223674C4C2AC6595; }; - D68DE111AFBD82F0D44A3B69 = {isa = PBXBuildFile; fileRef = B15E33E7342F6EB4F95C9B1D; }; - EC6A34EC9A9D454BF26AAD32 = {isa = PBXBuildFile; fileRef = 16203C6791259C9718A04C3A; }; - 8AD28823205783E6F676F254 = {isa = PBXBuildFile; fileRef = DF725A596B7BCD7520CC0A9F; }; - 34716A3539FD288C09CBA38A = {isa = PBXBuildFile; fileRef = 921752D9B004A15973DDF56F; }; + 09C4EDDF7F8B6E75EA3CE3A9 = {isa = PBXBuildFile; fileRef = BC3B310D42C489E8B8D93327; }; + 71713DE4716DCEDB45A206E2 = {isa = PBXBuildFile; fileRef = F9111E150CFF155329D44853; }; + 940CE4E081E9E685243C07AA = {isa = PBXBuildFile; fileRef = 332AF94C3275FEA8B878D603; }; + 49EEEA5B74D38F3C5A8794F1 = {isa = PBXBuildFile; fileRef = 8F731F1F98BAB42F1C3B96AA; }; + 6FD9428439B572B558EF64EA = {isa = PBXBuildFile; fileRef = BF301C2E545AEB4AC112C176; }; + 6EAAAAB0C2B2DA259B26D63C = {isa = PBXBuildFile; fileRef = 1DCA18E935A35D29D2D9B6A0; }; + 4C0F95265A230E5A8717A0A9 = {isa = PBXBuildFile; fileRef = D6390A40B3279E0E626C78D3; }; + FFA8B18CDF2D2AA500698A96 = {isa = PBXBuildFile; fileRef = 512D80BE12634967A085A1DC; }; + 7D750EF5FCE1E1A461D435BE = {isa = PBXBuildFile; fileRef = 4AE72953E3B3DF06D3B9BA86; }; + 537ABF1DB09DDBD1542A2B0C = {isa = PBXBuildFile; fileRef = EF25A29A2194FC107B40F65F; }; + 290F2CD930097091B8DB122E = {isa = PBXBuildFile; fileRef = 00E6B87A43453B51850550E1; }; + 4B2F2DAA45060D3F250D0AE4 = {isa = PBXBuildFile; fileRef = 6F02C3B7FEA3B50692A70DE5; }; + BDD30804C9424526A1122A28 = {isa = PBXBuildFile; fileRef = 351AF80A004D766E314AB76D; }; + 37D582DA2227E004BFA237EC = {isa = PBXBuildFile; fileRef = 6E70C1FA80F02D4C310F63AA; }; + 9B8ED9D50406E5D75DEE57F5 = {isa = PBXBuildFile; fileRef = FFE01768CF1C8DBDAA894F76; }; + 89116B0BD882B51C63A84425 = {isa = PBXBuildFile; fileRef = 0EE17BE4154CF1B2EE683894; }; + 63D97E01F2C4C91037CB65BD = {isa = PBXBuildFile; fileRef = 24EB4C2412821B8019D6F754; }; 45A53AF13B0D663050632E8C = {isa = PBXBuildFile; fileRef = 9EF583A6201DBC813C2F63C4; }; C2A85091A28C907A4E1E1687 = {isa = PBXBuildFile; fileRef = 133F1E428260C5ADDF496DF9; }; 83431B7234A78ECFB3C15F63 = {isa = PBXBuildFile; fileRef = 78D0DBC4798FF040FDB90F6D; }; 209FCCC2155A1FCB7E11E20D = {isa = PBXBuildFile; fileRef = 269A454F1FF081DA67FFD578; }; C93569F47B4AC1A8E37992ED = {isa = PBXBuildFile; fileRef = 9D7689451732AF8333402B3A; }; 1B988E139004D8E2850EB656 = {isa = PBXBuildFile; fileRef = C187718F7B9EBA88584B43F3; }; - 3D777382FE212D59BAF871FD = {isa = PBXBuildFile; fileRef = DCBB17488227A2CA7D3D3947; }; + 6FD0752A5CADCF60D79FDBB7 = {isa = PBXBuildFile; fileRef = 51CBE59779A36D1B80B26974; }; + D25EBE02B55DB244BE0D5635 = {isa = PBXBuildFile; fileRef = DE3E6B2614229FAD56D50770; }; + 85E7FCB0516EFF853FA7B380 = {isa = PBXBuildFile; fileRef = D2FE76E4CF003856278343CC; }; + CC6C4D351BA9B473E5F95791 = {isa = PBXBuildFile; fileRef = ADA538034910F52FDD2DC88D; }; 3FCA61C401007B243E2E9035 = {isa = PBXBuildFile; fileRef = F797071D88542C813CF7222A; }; 30B921C38DCEE787B294B746 = {isa = PBXBuildFile; fileRef = BAC43B20E14A340CCF14119C; }; - 1F37544891EC8DBB5E500C1C = {isa = PBXBuildFile; fileRef = F71AF6D2DF3E652F8B51EBAB; }; - 0C5F43C262695A3EB7A9E1C0 = {isa = PBXBuildFile; fileRef = 14A24BB4AB7B81D40EF062E5; }; - 110221CD5578153B528AD2BE = {isa = PBXBuildFile; fileRef = D10D51A0A2D63F38B4D86A60; }; - CD4F7B119CE718BCE78D61F4 = {isa = PBXBuildFile; fileRef = 9B9CAD20E1243B4351B4C8D8; }; - 78CB463DD98A55313A543859 = {isa = PBXBuildFile; fileRef = 1729AEDC34001C31B8CC357C; }; - 1499DF2E85B05AC1BF423773 = {isa = PBXBuildFile; fileRef = CF21D9DB3AEC0A4DCAB36A99; }; - 123810DAF8AF758928916ECE = {isa = PBXBuildFile; fileRef = 47DD50A5A9091F9900E0EAD9; }; - C9F11BA62D6D092A300363F7 = {isa = PBXBuildFile; fileRef = 0F249640243FBD5717F6ADD9; }; - 9EAF9BE59FFE0BD49410B10E = {isa = PBXBuildFile; fileRef = 87414819D9DE343EA28E0AAD; }; - 4A1DB797F1356E85110FF871 = {isa = PBXBuildFile; fileRef = 20FAAE9F3A7B96C2D8C75BB2; }; - F6635694A01FFBF5EF0968DB = {isa = PBXBuildFile; fileRef = 631983AA62673015F8D7453B; }; + 244567D3AE2E417A8CB2B95E = {isa = PBXBuildFile; fileRef = C3BB9F92B02B06D04A73794C; }; + 26D6AEA321E80ABCC3CCCCD1 = {isa = PBXBuildFile; fileRef = 4FF81FC167C924C47BD8C1C9; }; + 4E6DC4778D583C48C3CCD4DC = {isa = PBXBuildFile; fileRef = E13A54A6D3A1895EACE53E51; }; + EE722B47BC36CC8A87E0FB76 = {isa = PBXBuildFile; fileRef = BE618CE21C794BDEE319E328; }; + 2DF375B40A64BB3778F7ABD1 = {isa = PBXBuildFile; fileRef = F5DD97B45B8EA60C1ED0DD80; }; + 8BE478303CDF061B72F219E2 = {isa = PBXBuildFile; fileRef = F2E4998FB2C7221587A79F8B; }; + BF913199032B4CE970E82AA3 = {isa = PBXBuildFile; fileRef = B403AF75EAF361ED74EE476E; }; + 25EF9B3FECB4C9F0F522DCAA = {isa = PBXBuildFile; fileRef = 486E8D02DAD2A0BF54A901C0; }; + 2BEC1197D981951D8A897F01 = {isa = PBXBuildFile; fileRef = D859E9EA11A71BD6E85DC649; }; + D0E26EB54B0087C8BE3D541E = {isa = PBXBuildFile; fileRef = 846B2A670C5A19DE0039E11A; }; + 468548FB21D264DC12321327 = {isa = PBXBuildFile; fileRef = 4D5F0CA8D1273144681A1D48; }; + 6ECB2F11D2F593FACCCF99DB = {isa = PBXBuildFile; fileRef = 0F8C000E5FF4A2DAC1FEF8EB; }; + 95F56FB44C669F93AE77E465 = {isa = PBXBuildFile; fileRef = 0CECD562059DFD7FBFB37E3C; }; 518DD443B6F17A5AFD707263 = {isa = PBXBuildFile; fileRef = A69024A225F2AC31F17B1314; }; B7EBA1A83575F48CD08140B9 = {isa = PBXBuildFile; fileRef = 4B083E951ECB62217C46CB01; }; 3C5267E06A897B0DC0F7EA50 = {isa = PBXBuildFile; fileRef = 472F9A90F685220D730EBF6C; }; @@ -80,308 +79,316 @@ 254A7C08594A152C2C646334 = {isa = PBXBuildFile; fileRef = 1B9B5A37F079FE3B3CF8FAB6; }; F15F0512666FF8CDC0D08905 = {isa = PBXBuildFile; fileRef = 0462692BAA9CD1BE6DFBCC33; }; B18248959DDC44EF4E85320A = {isa = PBXBuildFile; fileRef = AECE3914F5119A3D586A5635; }; - 0075C5208947159AF2802F3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioPluginEditorTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 008C8B2C2328CFBB9375397D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComboBoxHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ComboBoxHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 0169ACAA0FAE70CCEEE4F650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintElementPath.cpp"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp"; sourceTree = "SOURCE_ROOT"; }; - 03D3053EDE47FED1919C6674 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AudioPluginFilterTemplate.h"; path = "../../Source/BinaryData/jucer_AudioPluginFilterTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + 00515BA4EC5A7D4DC078ED37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ValueSourceHelpers.h"; path = "../../Source/Utility/Helpers/jucer_ValueSourceHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 00841B7EDDE9C19890F03267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerTreeViewBase.h"; path = "../../Source/Utility/UI/jucer_JucerTreeViewBase.h"; sourceTree = "SOURCE_ROOT"; }; + 00E6B87A43453B51850550E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentOverlayComponent.cpp"; path = "../../Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 016A6C52B0B93DE29197FF64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AnimatedComponentTemplate.cpp"; path = "../../Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 01A37DF94E98D991FEF43628 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ButtonHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_ButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 023B92AC0340305762412E90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_OpenGLComponentTemplate.cpp"; path = "../../Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; 0400CB0E056A1D840304D2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_CommandLine.cpp"; path = "../../Source/Application/jucer_CommandLine.cpp"; sourceTree = "SOURCE_ROOT"; }; 0462692BAA9CD1BE6DFBCC33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_gui_basics.mm"; path = "../../JuceLibraryCode/include_juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; - 04C1267B2BD11A6ECCCA654C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentBooleanProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h"; sourceTree = "SOURCE_ROOT"; }; - 05076CDF1511A5F8A8E18F1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_Make.h"; path = "../../Source/Project Saving/jucer_ProjectExport_Make.h"; sourceTree = "SOURCE_ROOT"; }; + 0543E83BF7D7D9234C396E82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentUndoableAction.h"; path = "../../Source/ComponentEditor/Components/jucer_ComponentUndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 055636565C2F512E40114582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ViewportHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_ViewportHandler.h"; sourceTree = "SOURCE_ROOT"; }; 05D67B5A8D64947C067C0945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_GUIApp.h"; path = "../../Source/Wizards/jucer_ProjectWizard_GUIApp.h"; sourceTree = "SOURCE_ROOT"; }; - 084C0070BC67BC893B967EF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ToggleButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ToggleButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 0640E34282A97BF73CC8F1EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentListComponent.h"; path = "../../Source/LiveBuildEngine/UI/jucer_ComponentListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 079802C6AEE7646010766FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioPluginFilterTemplate.cpp"; path = "../../Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; 087CB3A961CD3C7434D660A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewProjectWizard.h"; path = "../../Source/Wizards/jucer_NewProjectWizard.h"; sourceTree = "SOURCE_ROOT"; }; + 095AC6DEDB3EE95F8119C40E = {isa = PBXFileReference; lastKnownFileType = file.bat; name = gradlew.bat; path = ../../Source/BinaryData/Gradle/gradlew.bat; sourceTree = "SOURCE_ROOT"; }; 09DE066936CF037E9709ADB1 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Projucer.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - 0B24F292A357ABFD9BCC6D7F = {isa = PBXFileReference; lastKnownFileType = file; name = gradlew; path = ../../Source/BinaryData/gradle/gradlew; sourceTree = "SOURCE_ROOT"; }; - 0C2AD2FC0C196F440C3FF994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DependencyPathPropertyComponent.h"; path = "../../Source/Project/jucer_DependencyPathPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 0C6B1A14D37958E405448B8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ErrorListComponent.h"; path = "../../Source/LiveBuildEngine/projucer_ErrorListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0AE75B0ACD368A4C0FBC2CD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TabbedComponentHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_TabbedComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 0CECD562059DFD7FBFB37E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_SlidingPanelComponent.cpp"; path = "../../Source/Utility/UI/jucer_SlidingPanelComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D4D508C638BC74943B9976D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AutoUpdater.cpp"; path = "../../Source/Application/jucer_AutoUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0DB0A9E30EEDDEA720BC5A03 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_StaticLibrary.svg"; path = "../../Source/BinaryData/wizard_StaticLibrary.svg"; sourceTree = "SOURCE_ROOT"; }; + 0EE17BE4154CF1B2EE683894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceEditorPanel.cpp"; path = "../../Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 0F01067432AC314EAC213C1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_Blank.h"; path = "../../Source/Wizards/jucer_ProjectWizard_Blank.h"; sourceTree = "SOURCE_ROOT"; }; - 0F249640243FBD5717F6ADD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MiscUtilities.cpp"; path = "../../Source/Utility/jucer_MiscUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0FF1C6905150EAAB1AE081A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 1125D1B2AE54AEF2EB3D51C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerDocumentEditor.h"; path = "../../Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 0F8C000E5FF4A2DAC1FEF8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjucerLookAndFeel.cpp"; path = "../../Source/Utility/UI/jucer_ProjucerLookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; 11DC04468BC6023671017EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewFileWizard.h"; path = "../../Source/Wizards/jucer_NewFileWizard.h"; sourceTree = "SOURCE_ROOT"; }; - 11EB44786085029106099D01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DownloadCompileEngineThread.cpp"; path = "../../Source/Application/jucer_DownloadCompileEngineThread.cpp"; sourceTree = "SOURCE_ROOT"; }; - 129F2DE0FEF154F8F8C7A74E = {isa = PBXFileReference; lastKnownFileType = file.jar; name = "gradle-wrapper.jar"; path = "../../Source/BinaryData/gradle/gradle-wrapper.jar"; sourceTree = "SOURCE_ROOT"; }; + 11DEED05110D3D1D02FCFFB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTypeHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_ComponentTypeHandler.h"; sourceTree = "SOURCE_ROOT"; }; 133F1E428260C5ADDF496DF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentLayout.cpp"; path = "../../Source/ComponentEditor/jucer_ComponentLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 14A24BB4AB7B81D40EF062E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectSaver.cpp"; path = "../../Source/Project Saving/jucer_ProjectSaver.cpp"; sourceTree = "SOURCE_ROOT"; }; - 16203C6791259C9718A04C3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutinePanel.cpp"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1729AEDC34001C31B8CC357C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_FileHelpers.cpp"; path = "../../Source/Utility/jucer_FileHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; - 188D03A4247F4BC0539F5C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Colours.h"; path = "../../Source/Utility/jucer_Colours.h"; sourceTree = "SOURCE_ROOT"; }; - 18D9EBA1DAE45EEF81FD5C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainConsoleAppTemplate.cpp"; path = "../../Source/BinaryData/jucer_MainConsoleAppTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1AF7EFBE4961C7B6C834BF54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PresetIDs.h"; path = "../../Source/Utility/jucer_PresetIDs.h"; sourceTree = "SOURCE_ROOT"; }; + 159DE1FEE2099398983CDDF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ErrorList.h"; path = "../../Source/LiveBuildEngine/jucer_ErrorList.h"; sourceTree = "SOURCE_ROOT"; }; + 16751E04B0F3737BDF52CEB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_HeaderComponent.h"; path = "../../Source/Project/UI/jucer_HeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 169DD91232C070C4D6470B31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_IconButton.h"; path = "../../Source/Utility/UI/jucer_IconButton.h"; sourceTree = "SOURCE_ROOT"; }; + 182CB1F96890620A202C6524 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SourceCodeRange.h"; path = "../../Source/LiveBuildEngine/jucer_SourceCodeRange.h"; sourceTree = "SOURCE_ROOT"; }; + 194457D806A26E793584AC0C = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "huckleberry_icon.svg"; path = "../../Source/BinaryData/Icons/huckleberry_icon.svg"; sourceTree = "SOURCE_ROOT"; }; + 1B0F18E1D96F727C062B05FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectContentComponent.cpp"; path = "../../Source/Project/UI/jucer_ProjectContentComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B5BCD4899A9E295786EB642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_OpenDocumentManager.h"; path = "../../Source/CodeEditor/jucer_OpenDocumentManager.h"; sourceTree = "SOURCE_ROOT"; }; 1B9B5A37F079FE3B3CF8FAB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_graphics.mm"; path = "../../JuceLibraryCode/include_juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; - 1C216FE9B7A5209C5CCF2517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintElement.cpp"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1C73D7591E63E8018E279716 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "export_android.svg"; path = "../../Source/BinaryData/export_android.svg"; sourceTree = "SOURCE_ROOT"; }; - 1D3D6A19A60F0B03DE2F1C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementPath.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementPath.h"; sourceTree = "SOURCE_ROOT"; }; - 1D99EA99F946D665FE583414 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_Highlight.svg"; path = "../../Source/BinaryData/wizard_Highlight.svg"; sourceTree = "SOURCE_ROOT"; }; + 1C80C7672975C1FF9AAC4A4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTab.h"; path = "../../Source/Project/UI/Sidebar/jucer_ProjectTab.h"; sourceTree = "SOURCE_ROOT"; }; + 1DCA18E935A35D29D2D9B6A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentDocument.cpp"; path = "../../Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 1DE5BBC777FB64798D823002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_data_structures.mm"; path = "../../JuceLibraryCode/include_juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; - 1F421199C40092BFEE0658C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_RelativePath.h"; path = "../../Source/Utility/jucer_RelativePath.h"; sourceTree = "SOURCE_ROOT"; }; - 1F9BBDFA52513AD34D906D2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_HyperlinkButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 1FA92F8F2B26C6CEC8B1D737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ButtonDocument.h"; path = "../../Source/ComponentEditor/documents/jucer_ButtonDocument.h"; sourceTree = "SOURCE_ROOT"; }; - 20FAAE9F3A7B96C2D8C75BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_SlidingPanelComponent.cpp"; path = "../../Source/Utility/jucer_SlidingPanelComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 203FA6AD7EDDF1F9C338CC2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioComponentTemplate.cpp"; path = "../../Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2072D6BAE744B53B6FBBDDD8 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AudioPlugin.svg"; path = "../../Source/BinaryData/Icons/wizard_AudioPlugin.svg"; sourceTree = "SOURCE_ROOT"; }; 210CD22F25F2C22F9CEEB025 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 21F4833C5B5C17B159B956F3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_events"; path = "../../../../modules/juce_events"; sourceTree = "SOURCE_ROOT"; }; - 223C4209F18A221EB183A056 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AppearanceSettings.h"; path = "../../Source/Application/jucer_AppearanceSettings.h"; sourceTree = "SOURCE_ROOT"; }; - 2247EE920DF0610CAF9F4513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_OpenDocumentManager.cpp"; path = "../../Source/Application/jucer_OpenDocumentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 23A8DE16C0CDB8EED18B008B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CommandIDs.h"; path = "../../Source/Application/jucer_CommandIDs.h"; sourceTree = "SOURCE_ROOT"; }; - 24C34D0578AE6C7A3EA18781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_InlineComponentTemplate.h"; path = "../../Source/BinaryData/jucer_InlineComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; - 263D9041F9B7D6A79DC38CD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentLayoutEditor.h"; path = "../../Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 23D79A22569BEDF63B57DD36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CodeHelpers.h"; path = "../../Source/Utility/Helpers/jucer_CodeHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 245C81599FB53865A74FC65B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ActivityList.h"; path = "../../Source/LiveBuildEngine/jucer_ActivityList.h"; sourceTree = "SOURCE_ROOT"; }; + 24EB4C2412821B8019D6F754 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_TestComponent.cpp"; path = "../../Source/ComponentEditor/UI/jucer_TestComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25BE1265FE6C6EA3473A3A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceFile.h"; path = "../../Source/ProjectSaving/jucer_ResourceFile.h"; sourceTree = "SOURCE_ROOT"; }; + 25EC5A11CA56CAF4468C4D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextWithDefaultPropertyComponent.h"; path = "../../Source/Utility/UI/PropertyComponents/jucer_TextWithDefaultPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 269A454F1FF081DA67FFD578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerDocument.cpp"; path = "../../Source/ComponentEditor/jucer_JucerDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 27A2B025813B7E54E0862642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementUndoableAction.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; - 295A9B126C98FE15F5A8B81E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePropertyComponent.h"; path = "../../Source/ComponentEditor/properties/jucer_FilePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 2C7CDA71ACB5829BC616A353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ComponentListComp.h"; path = "../../Source/LiveBuildEngine/projucer_ComponentListComp.h"; sourceTree = "SOURCE_ROOT"; }; + 28D0199327887FFABF9C3F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_UserSettingsPopup.h"; path = "../../Source/Utility/UI/jucer_UserSettingsPopup.h"; sourceTree = "SOURCE_ROOT"; }; + 2BD9B4556479A8A41740BCAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTemplate.h"; path = "../../Source/BinaryData/Templates/jucer_ComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; 2CD34A70B4032C0426F7AA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_MainWindow.h"; path = "../../Source/Application/jucer_MainWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 2E680E2C65684A4272AE079A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_SourceCodeEditor.cpp"; path = "../../Source/Code Editor/jucer_SourceCodeEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D3715751E901915E416301D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_XCode.h"; path = "../../Source/ProjectSaving/jucer_ProjectExport_XCode.h"; sourceTree = "SOURCE_ROOT"; }; + 2DF5A61F3C497537634773DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ActivityListComponent.h"; path = "../../Source/LiveBuildEngine/UI/jucer_ActivityListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2EEB1C074162F363C6599282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CommandLine.h"; path = "../../Source/Application/jucer_CommandLine.h"; sourceTree = "SOURCE_ROOT"; }; - 301592EBAC0FFF6F5B268E99 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "background_tile.png"; path = "../../Source/BinaryData/background_tile.png"; sourceTree = "SOURCE_ROOT"; }; - 313BC56B30B05119686B1E99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ProjectBuildInfo.h"; path = "../../Source/LiveBuildEngine/projucer_ProjectBuildInfo.h"; sourceTree = "SOURCE_ROOT"; }; - 32C81E19D3D68B9DDF870FE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTab.h"; path = "../../Source/Project/jucer_ProjectTab.h"; sourceTree = "SOURCE_ROOT"; }; - 3514E78B58A08F4C98F54C5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentLayoutPanel.h"; path = "../../Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 358DA8CCDC8FA5B0D62D6CA3 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_Openfile.svg"; path = "../../Source/BinaryData/wizard_Openfile.svg"; sourceTree = "SOURCE_ROOT"; }; - 35A36102EAD2D2620EE99E7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePathPropertyComponent.h"; path = "../../Source/Utility/jucer_FilePathPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 35CB48D497F35BF3F6998F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExporter.h"; path = "../../Source/Project Saving/jucer_ProjectExporter.h"; sourceTree = "SOURCE_ROOT"; }; - 35E6EE1E98DD7050DDFECD9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ContentCompTemplate.h"; path = "../../Source/BinaryData/jucer_ContentCompTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + 2F373F97E30AC1A0BFC1FC61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePropertyComponent.h"; path = "../../Source/ComponentEditor/Properties/jucer_FilePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 308084CBEE9F7D405D72A5E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CompileEngineClient.h"; path = "../../Source/LiveBuildEngine/jucer_CompileEngineClient.h"; sourceTree = "SOURCE_ROOT"; }; + 32C4B61AD995877956B7FA66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_InlineComponentTemplate.h"; path = "../../Source/BinaryData/Templates/jucer_InlineComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + 32ECBC08D903418CA0825870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ContentViewComponents.h"; path = "../../Source/Project/UI/jucer_ContentViewComponents.h"; sourceTree = "SOURCE_ROOT"; }; + 332AF94C3275FEA8B878D603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_SourceCodeEditor.cpp"; path = "../../Source/CodeEditor/jucer_SourceCodeEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33B258726F29360D64FD1451 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerComponentHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_JucerComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 351AF80A004D766E314AB76D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerDocumentEditor.cpp"; path = "../../Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 355379844A5E6A097038C280 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementRectangle.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElementRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 35CAE8930F2885F9322D22D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ItemPreviewComponent.h"; path = "../../Source/CodeEditor/jucer_ItemPreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 35CFCC15CBA46F4513940A2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextButtonHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_TextButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; 364D1A9B113320407A7E57B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; - 375AFDF06A908D89DEC5205F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTree_Base.h"; path = "../../Source/Project/jucer_ProjectTree_Base.h"; sourceTree = "SOURCE_ROOT"; }; - 3A5B5DC92BE6D22CA15B9671 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SnapGridPainter.h"; path = "../../Source/ComponentEditor/ui/jucer_SnapGridPainter.h"; sourceTree = "SOURCE_ROOT"; }; + 36E5FBF64A89D5F2A266A5A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementUndoableAction.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElementUndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 39597BD78897CB711AFA945A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_EditingPanelBase.h"; path = "../../Source/ComponentEditor/UI/jucer_EditingPanelBase.h"; sourceTree = "SOURCE_ROOT"; }; + 3BBFA655E129C2D817EA47C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ErrorListComponent.h"; path = "../../Source/LiveBuildEngine/UI/jucer_ErrorListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3C95FA2AA91EBA19ADDD5C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_Animated.h"; path = "../../Source/Wizards/jucer_ProjectWizard_Animated.h"; sourceTree = "SOURCE_ROOT"; }; - 3E03B7C7A19E63A724EB79F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ButtonDocument.cpp"; path = "../../Source/ComponentEditor/documents/jucer_ButtonDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3F00C034B140193B3754969B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ImageResourceProperty.h"; path = "../../Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h"; sourceTree = "SOURCE_ROOT"; }; + 3D6FD9C0065BF16568EC0AB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SlidingPanelComponent.h"; path = "../../Source/Utility/UI/jucer_SlidingPanelComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3EA27F52A254912218F4DE94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectBuildInfo.h"; path = "../../Source/LiveBuildEngine/jucer_ProjectBuildInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 3F8EC008960DBEB2A5D3C3F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Headers.h"; path = "../../Source/Application/jucer_Headers.h"; sourceTree = "SOURCE_ROOT"; }; 3F9D4C7F6E5779D4E4AE655D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentLayout.h"; path = "../../Source/ComponentEditor/jucer_ComponentLayout.h"; sourceTree = "SOURCE_ROOT"; }; - 400E4C67ABCDDB1D49EBB85E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TabbedComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TabbedComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; 4073A12E196BDDADE211E19F = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "projucer_EULA.txt"; path = "../../Source/BinaryData/projucer_EULA.txt"; sourceTree = "SOURCE_ROOT"; }; + 409C636B96A9AC1D732B96F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComboBoxHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_ComboBoxHandler.h"; sourceTree = "SOURCE_ROOT"; }; 41105E536155E394E54BDD35 = {isa = PBXFileReference; lastKnownFileType = file.xml; name = "colourscheme_dark.xml"; path = "../../Source/BinaryData/colourscheme_dark.xml"; sourceTree = "SOURCE_ROOT"; }; - 41CA95403E264AA7457A61F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementRoundedRectangle.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementRoundedRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 42F4AA3EF0883D506987CA99 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "export_codeBlocks.svg"; path = "../../Source/BinaryData/Icons/export_codeBlocks.svg"; sourceTree = "SOURCE_ROOT"; }; 431D30038CBF67F80E8B3A13 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; - 43C068B8D98821C09492AB29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ActivityListComponent.h"; path = "../../Source/LiveBuildEngine/projucer_ActivityListComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 441CFEA771BAA50E187342E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AppearanceSettings.cpp"; path = "../../Source/Application/jucer_AppearanceSettings.cpp"; sourceTree = "SOURCE_ROOT"; }; - 468BFFBE4DA7835DD40C5FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AnimatedComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_AnimatedComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 46CDD8C3C86FD61741B88A69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LiveBuildTab.h"; path = "../../Source/Project/jucer_LiveBuildTab.h"; sourceTree = "SOURCE_ROOT"; }; + 432EC251A122071809471804 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "juce-logo-with-text.svg"; path = "../../Source/BinaryData/Icons/juce-logo-with-text.svg"; sourceTree = "SOURCE_ROOT"; }; + 444BFB2889D96B38D53F3A8C = {isa = PBXFileReference; lastKnownFileType = file; name = LICENSE; path = ../../Source/BinaryData/Gradle/LICENSE; sourceTree = "SOURCE_ROOT"; }; 471C7B0A8B92320AF0C80839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_StaticLibrary.h"; path = "../../Source/Wizards/jucer_ProjectWizard_StaticLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 472F9A90F685220D730EBF6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; - 47B49049B85EED74D29C9906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTree_File.h"; path = "../../Source/Project/jucer_ProjectTree_File.h"; sourceTree = "SOURCE_ROOT"; }; - 47DD50A5A9091F9900E0EAD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerTreeViewBase.cpp"; path = "../../Source/Utility/jucer_JucerTreeViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4856DA6706D794E2D89DAB63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GlobalSearchPathsWindowComponent.h"; path = "../../Source/Utility/jucer_GlobalSearchPathsWindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 4A035FB6A8D93BF154C08C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_BuildTabStatusComp.h"; path = "../../Source/LiveBuildEngine/projucer_BuildTabStatusComp.h"; sourceTree = "SOURCE_ROOT"; }; - 4A41FD3066D0979DB48691E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_MiscUtilities.h"; path = "../../Source/Utility/jucer_MiscUtilities.h"; sourceTree = "SOURCE_ROOT"; }; + 486E8D02DAD2A0BF54A901C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MiscUtilities.cpp"; path = "../../Source/Utility/Helpers/jucer_MiscUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4974E7808F9B57E9A627F878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FileTreeItems.h"; path = "../../Source/Project/UI/Sidebar/jucer_FileTreeItems.h"; sourceTree = "SOURCE_ROOT"; }; 4A4EBDAD8D098F72CE053235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_AudioPlugin.h"; path = "../../Source/Wizards/jucer_ProjectWizard_AudioPlugin.h"; sourceTree = "SOURCE_ROOT"; }; + 4AE469CD40BDAD634135785E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElement.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElement.h"; sourceTree = "SOURCE_ROOT"; }; + 4AE72953E3B3DF06D3B9BA86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintElementPath.cpp"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElementPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B083E951ECB62217C46CB01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewProjectWizardClasses.cpp"; path = "../../Source/Wizards/jucer_NewProjectWizardClasses.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4C2093BCD3528ACEDC7A2B33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ImageButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ImageButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 4CA0F37C553CB2F45BF61A31 = {isa = PBXFileReference; lastKnownFileType = file.jar; name = "gradle-wrapper.jar"; path = "../../Source/BinaryData/Gradle/gradle-wrapper.jar"; sourceTree = "SOURCE_ROOT"; }; + 4D5F0CA8D1273144681A1D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerTreeViewBase.cpp"; path = "../../Source/Utility/UI/jucer_JucerTreeViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D698BF12BCD6B0896BCDF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AutoUpdater.h"; path = "../../Source/Application/jucer_AutoUpdater.h"; sourceTree = "SOURCE_ROOT"; }; - 4E191CDCE7565DB726CF7065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentOverlayComponent.cpp"; path = "../../Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4E60769DE992CA7FC1A4A486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutineEditor.h"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 4E8FE9B1B8C90FC28D56523B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementEllipse.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h"; sourceTree = "SOURCE_ROOT"; }; - 4F6365A0D2D51337151D85C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTree_Group.h"; path = "../../Source/Project/jucer_ProjectTree_Group.h"; sourceTree = "SOURCE_ROOT"; }; + 4E671236FDBD5AD4699740C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerCommandIDs.h"; path = "../../Source/ComponentEditor/UI/jucer_JucerCommandIDs.h"; sourceTree = "SOURCE_ROOT"; }; 4F687965FBE86EAFDB3ACFEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; + 4FF81FC167C924C47BD8C1C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectSaver.cpp"; path = "../../Source/ProjectSaving/jucer_ProjectSaver.cpp"; sourceTree = "SOURCE_ROOT"; }; 50498FF6EA3901CBD58223B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ObjectTypes.h"; path = "../../Source/ComponentEditor/jucer_ObjectTypes.h"; sourceTree = "SOURCE_ROOT"; }; - 5091B14CC87C6238CF044258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ElementSiblingComponent.h"; path = "../../Source/ComponentEditor/paintelements/jucer_ElementSiblingComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 515FF6E74826E3E3F7273621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Icons.h"; path = "../../Source/Utility/jucer_Icons.h"; sourceTree = "SOURCE_ROOT"; }; + 512D80BE12634967A085A1DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintElement.cpp"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 514F2FAFDBF535AC03FA2E6C = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "background_logo.svg"; path = "../../Source/BinaryData/Icons/background_logo.svg"; sourceTree = "SOURCE_ROOT"; }; + 51BC758EF5D33197CF543E67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DocumentEditorComponent.h"; path = "../../Source/CodeEditor/jucer_DocumentEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 51CBE59779A36D1B80B26974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_LicenseController.cpp"; path = "../../Source/Licenses/jucer_LicenseController.cpp"; sourceTree = "SOURCE_ROOT"; }; - 53151B683E11F420203E61C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewCppFileTemplate.h"; path = "../../Source/BinaryData/jucer_NewCppFileTemplate.h"; sourceTree = "SOURCE_ROOT"; }; 5432B7B9B2CF2EAEC8B66D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_UtilityFunctions.h"; path = "../../Source/ComponentEditor/jucer_UtilityFunctions.h"; sourceTree = "SOURCE_ROOT"; }; - 546593F6EA70EABF708772FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TranslationToolComponent.h"; path = "../../Source/Utility/jucer_TranslationToolComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 553725A0E3A391651ED1731E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FileHelpers.h"; path = "../../Source/Utility/jucer_FileHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 563091B0916AD9AAA36C7DC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_OpenDocumentManager.h"; path = "../../Source/Application/jucer_OpenDocumentManager.h"; sourceTree = "SOURCE_ROOT"; }; - 56C3CA379E90628CCB5BC37C = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "export_visualStudio.svg"; path = "../../Source/BinaryData/export_visualStudio.svg"; sourceTree = "SOURCE_ROOT"; }; - 576A92E1E0D8F453EC0FEB34 = {isa = PBXFileReference; lastKnownFileType = file.bat; name = gradlew.bat; path = ../../Source/BinaryData/gradle/gradlew.bat; sourceTree = "SOURCE_ROOT"; }; - 576D62C0C9C1BA4B7A514721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PositionPropertyBase.h"; path = "../../Source/ComponentEditor/properties/jucer_PositionPropertyBase.h"; sourceTree = "SOURCE_ROOT"; }; + 5524B5C9FC6AEAA670B92AA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentLayoutEditor.h"; path = "../../Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 55DEDCEB35AA1FB54C74B375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_MessageIDs.h"; path = "../../Source/LiveBuildEngine/jucer_MessageIDs.h"; sourceTree = "SOURCE_ROOT"; }; + 56177921580A4855917E0205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AudioPluginEditorTemplate.h"; path = "../../Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + 5783563E39E48ADFC68EB84A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTextProperty.h"; path = "../../Source/ComponentEditor/Properties/jucer_ComponentTextProperty.h"; sourceTree = "SOURCE_ROOT"; }; 58139D8D454051C59E77609B = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = ../../Source/BinaryData/RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 5867DC4E39DF8539B54C0D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_events.mm"; path = "../../JuceLibraryCode/include_juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + 58F1FF52E887887A93E84FC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PresetIDs.h"; path = "../../Source/Utility/Helpers/jucer_PresetIDs.h"; sourceTree = "SOURCE_ROOT"; }; + 59203884BC48D3B7F8DEABA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ContentCompTemplate.h"; path = "../../Source/BinaryData/Templates/jucer_ContentCompTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + 59520B8137E6A2E483074399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_Make.h"; path = "../../Source/ProjectSaving/jucer_ProjectExport_Make.h"; sourceTree = "SOURCE_ROOT"; }; 5A75806B34E4EA6598A6024A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - 5C7636E577B8DBB1D3133022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ActivityList.h"; path = "../../Source/LiveBuildEngine/projucer_ActivityList.h"; sourceTree = "SOURCE_ROOT"; }; - 5D9E7814B713670624F0028F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTypeHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentTypeHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 5F1C141139AA646EABD72145 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "juce-logo-with-text.svg"; path = "../../Source/BinaryData/juce-logo-with-text.svg"; sourceTree = "SOURCE_ROOT"; }; + 5B3532C5F103DAC87B4A5675 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_GUI.svg"; path = "../../Source/BinaryData/Icons/wizard_GUI.svg"; sourceTree = "SOURCE_ROOT"; }; + 5E4EB84A7983AB31366A3490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ModuleTreeItems.h"; path = "../../Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h"; sourceTree = "SOURCE_ROOT"; }; 5F6584B675E30761521A9F42 = {isa = PBXFileReference; lastKnownFileType = file.xml; name = "colourscheme_light.xml"; path = "../../Source/BinaryData/colourscheme_light.xml"; sourceTree = "SOURCE_ROOT"; }; - 61BE37E2B26C25056D9E8FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_NewComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 631983AA62673015F8D7453B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_StoredSettings.cpp"; path = "../../Source/Utility/jucer_StoredSettings.cpp"; sourceTree = "SOURCE_ROOT"; }; - 635290DEB1D564927D7A450C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "projucer_CompileEngineServer.cpp"; path = "../../Source/LiveBuildEngine/projucer_CompileEngineServer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 641B57E5FAE6BEFDB6462921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceEditorPanel.h"; path = "../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 65C498761CE166072A202AA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTypeHandler.cpp"; path = "../../Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; - 65F4749184C84C2FDBB4C305 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioPluginFilterTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 662C76394C5D1B56766FAFD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentDocument.cpp"; path = "../../Source/ComponentEditor/documents/jucer_ComponentDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 62922B3C0620368D1799A653 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_OpenGL.svg"; path = "../../Source/BinaryData/Icons/wizard_OpenGL.svg"; sourceTree = "SOURCE_ROOT"; }; + 630DC5EAA31D3EE60B2D989F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GenericComponentHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_GenericComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 6574A50A8997799705B23465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioPluginEditorTemplate.cpp"; path = "../../Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65FAD7F6DF65A72B741C2913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutinePanel.h"; path = "../../Source/ComponentEditor/UI/jucer_PaintRoutinePanel.h"; sourceTree = "SOURCE_ROOT"; }; 6678E9B3EEACAD47F438B264 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 66B49F08C5EC3E4974825FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutine.h"; path = "../../Source/ComponentEditor/jucer_PaintRoutine.h"; sourceTree = "SOURCE_ROOT"; }; - 66DEA1923FE5B9A614C7E9DC = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "huckleberry_icon.svg"; path = "../../Source/BinaryData/huckleberry_icon.svg"; sourceTree = "SOURCE_ROOT"; }; + 68C1949F56295D5871C1F223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LiveBuildTab.h"; path = "../../Source/Project/UI/Sidebar/jucer_LiveBuildTab.h"; sourceTree = "SOURCE_ROOT"; }; + 68F41A216E7454E7442AB1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeItemTypes.h"; path = "../../Source/Project/UI/Sidebar/jucer_TreeItemTypes.h"; sourceTree = "SOURCE_ROOT"; }; 69555CEFC6ED613AA3949298 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_data_structures"; path = "../../../../modules/juce_data_structures"; sourceTree = "SOURCE_ROOT"; }; - 6A337C69A928E3CE79C55457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentChoiceProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h"; sourceTree = "SOURCE_ROOT"; }; + 69B478C992FA0B8C885946A6 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "export_linux.svg"; path = "../../Source/BinaryData/Icons/export_linux.svg"; sourceTree = "SOURCE_ROOT"; }; 6AC88EFC247C225CC5C11A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_BinaryResources.h"; path = "../../Source/ComponentEditor/jucer_BinaryResources.h"; sourceTree = "SOURCE_ROOT"; }; - 6DA8A2AEF943230FF7DB510B = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "export_linux.svg"; path = "../../Source/BinaryData/export_linux.svg"; sourceTree = "SOURCE_ROOT"; }; 6E6140969908E7619F858740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CommonHeaders.h"; path = "../../Source/Application/jucer_CommonHeaders.h"; sourceTree = "SOURCE_ROOT"; }; - 6E7353DFEA8825B515049ABB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_Android.h"; path = "../../Source/Project Saving/jucer_ProjectExport_Android.h"; sourceTree = "SOURCE_ROOT"; }; + 6E70C1FA80F02D4C310F63AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutineEditor.cpp"; path = "../../Source/ComponentEditor/UI/jucer_PaintRoutineEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F02C3B7FEA3B50692A70DE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_EditingPanelBase.cpp"; path = "../../Source/ComponentEditor/UI/jucer_EditingPanelBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6FD8DBC0FF42C87D8BEE2452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TranslationHelpers.h"; path = "../../Source/Utility/Helpers/jucer_TranslationHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 7031E8CB6D4D84BD980A0BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementImage.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElementImage.h"; sourceTree = "SOURCE_ROOT"; }; + 705DE88C5C4CC6C871E951B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GroupComponentHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_GroupComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; 714267352CE5C4357ADBC231 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StartPageComponent.h"; path = "../../Source/Wizards/jucer_StartPageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 719B56C8587863D7AE9B69C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_RelativePositionedRectangle.h"; path = "../../Source/ComponentEditor/UI/jucer_RelativePositionedRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 7211101FFA28400ADBB1D47A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Module.h"; path = "../../Source/Project/jucer_Module.h"; sourceTree = "SOURCE_ROOT"; }; - 7256D1C79741E66E2C002EE2 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_DLL.svg"; path = "../../Source/BinaryData/wizard_DLL.svg"; sourceTree = "SOURCE_ROOT"; }; 728FE25157E9874D50BBECB2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - 73B9F17FE55A02C2BB87E008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_OpenGLComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_OpenGLComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 786BAF436828865F45314440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElement.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElement.h"; sourceTree = "SOURCE_ROOT"; }; - 78CA0E0F336229E2E2F111B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SourceCodeEditor.h"; path = "../../Source/Code Editor/jucer_SourceCodeEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 73DE14CEAD25D3445457013E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SliderHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_SliderHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 75BE2887C6F324B818D80A21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SnapGridPainter.h"; path = "../../Source/ComponentEditor/UI/jucer_SnapGridPainter.h"; sourceTree = "SOURCE_ROOT"; }; + 7687A1374C60A025BDBE98DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PointComponent.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_PointComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 77EA01E7D04BF889930BFF54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementRoundedRectangle.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElementRoundedRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 78D0DBC4798FF040FDB90F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_GeneratedCode.cpp"; path = "../../Source/ComponentEditor/jucer_GeneratedCode.cpp"; sourceTree = "SOURCE_ROOT"; }; 790F6302B9A0620F23F8A6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LicenseThread.h"; path = "../../Source/Licenses/jucer_LicenseThread.h"; sourceTree = "SOURCE_ROOT"; }; - 79E58813D1B414AF49DD9598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LiveBuildCodeEditor.h"; path = "../../Source/Code Editor/jucer_LiveBuildCodeEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 7A3E96D22F1C9EB4C739834F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PointComponent.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PointComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7AB7640968FAAC73072FBD10 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_gui_basics"; path = "../../../../modules/juce_gui_basics"; sourceTree = "SOURCE_ROOT"; }; 7B3F7ECF6DBF8C8EE5C2CB86 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; - 7B4E33B1E04139F359FB484B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ConfigTree_Exporter.h"; path = "../../Source/Project/jucer_ConfigTree_Exporter.h"; sourceTree = "SOURCE_ROOT"; }; - 7B6E461262D8822132135F56 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AnimatedApp.svg"; path = "../../Source/BinaryData/wizard_AnimatedApp.svg"; sourceTree = "SOURCE_ROOT"; }; 7CA44FF0BA319517C6E39651 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Application.cpp"; path = "../../Source/Application/jucer_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7F29F77B1C00A9704E6D0859 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_UTF8Component.h"; path = "../../Source/Utility/jucer_UTF8Component.h"; sourceTree = "SOURCE_ROOT"; }; - 8090981F07A76E465DAAADF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ValueSourceHelpers.h"; path = "../../Source/Utility/jucer_ValueSourceHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 7E2013F425E231C6D865DDD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentChoiceProperty.h"; path = "../../Source/ComponentEditor/Properties/jucer_ComponentChoiceProperty.h"; sourceTree = "SOURCE_ROOT"; }; + 7F0A5319912991615FC57945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColourPropertyComponent.h"; path = "../../Source/ComponentEditor/Properties/jucer_ColourPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 807049CA2D5B6DE18EA078F2 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "export_android.svg"; path = "../../Source/BinaryData/Icons/export_android.svg"; sourceTree = "SOURCE_ROOT"; }; 80D62B907248523E6943298B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - 8138A55052E9FC27284B74DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FontPropertyComponent.h"; path = "../../Source/ComponentEditor/properties/jucer_FontPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 820291543BF93243B718F0EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerTreeViewBase.h"; path = "../../Source/Utility/jucer_JucerTreeViewBase.h"; sourceTree = "SOURCE_ROOT"; }; + 8336A43CE1C3C26D7C7B53D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewComponentTemplate.cpp"; path = "../../Source/BinaryData/Templates/jucer_NewComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; 842427CFE565F3FCE5B99174 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; - 86E468DE6556BB2AD76A3D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectContentComponent.cpp"; path = "../../Source/Project/jucer_ProjectContentComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 86E8A40E5A83781A8478454D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_Window.cpp"; path = "../../Source/BinaryData/jucer_MainTemplate_Window.cpp"; sourceTree = "SOURCE_ROOT"; }; + 846B2A670C5A19DE0039E11A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Icons.cpp"; path = "../../Source/Utility/UI/jucer_Icons.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85A5E3E71BED93B9A3E07681 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PositionPropertyBase.h"; path = "../../Source/ComponentEditor/Properties/jucer_PositionPropertyBase.h"; sourceTree = "SOURCE_ROOT"; }; + 861E52D9AFECADF079BB1F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ExporterTreeItems.h"; path = "../../Source/Project/UI/Sidebar/jucer_ExporterTreeItems.h"; sourceTree = "SOURCE_ROOT"; }; + 868B459E02F0877EBE3D56F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextEditorHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_TextEditorHandler.h"; sourceTree = "SOURCE_ROOT"; }; 8702F43110E4CCA5E5F827F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; - 87414819D9DE343EA28E0AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjucerLookAndFeel.cpp"; path = "../../Source/Utility/jucer_ProjucerLookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A82061A978B03745485C3AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LiveBuildCodeEditor.h"; path = "../../Source/CodeEditor/jucer_LiveBuildCodeEditor.h"; sourceTree = "SOURCE_ROOT"; }; 8A825FDDC00DD253F44D2C3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_AudioApp.h"; path = "../../Source/Wizards/jucer_ProjectWizard_AudioApp.h"; sourceTree = "SOURCE_ROOT"; }; 8BD8E9DA627D6EF9BA10FB9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewProjectWizardComponent.h"; path = "../../Source/Wizards/jucer_NewProjectWizardComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8C281F2F8EA3AD614ADF7955 = {isa = PBXFileReference; lastKnownFileType = text.html; name = offlinepage.html; path = ../../Source/BinaryData/offlinepage.html; sourceTree = "SOURCE_ROOT"; }; 8C52A3DDA62A746AA7A68535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Main.cpp"; path = "../../Source/Application/jucer_Main.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8C67B567CF362A163D24B3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TranslationHelpers.h"; path = "../../Source/Utility/jucer_TranslationHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 8DBD2FBBC7B523D1F8AF1E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_HeaderComponent.h"; path = "../../Source/Project/jucer_HeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8D178CAEE6D89DE33233313F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ElementSiblingComponent.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_ElementSiblingComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8D9A9A373E4621F7CBFCCCEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ContentCompTemplate.cpp"; path = "../../Source/BinaryData/Templates/jucer_ContentCompTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DBB36126CD144A8364F1F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExporter.h"; path = "../../Source/ProjectSaving/jucer_ProjectExporter.h"; sourceTree = "SOURCE_ROOT"; }; + 8DFE6D8AFB8057790041300B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ToggleButtonHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_ToggleButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; 8F30A53C7FE4BC65171FB3E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerDocument.h"; path = "../../Source/ComponentEditor/jucer_JucerDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 8F4D281E98808204E2846A7D = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "export_xcode.svg"; path = "../../Source/BinaryData/Icons/export_xcode.svg"; sourceTree = "SOURCE_ROOT"; }; + 8F67F3C0492EAFEBDBBC12DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewCppFileTemplate.cpp"; path = "../../Source/BinaryData/Templates/jucer_NewCppFileTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F685EFEFD6EE399058DE842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DownloadCompileEngineThread.h"; path = "../../Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.h"; sourceTree = "SOURCE_ROOT"; }; + 8F731F1F98BAB42F1C3B96AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTypeHandler.cpp"; path = "../../Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; 8F7BE18698ADCEF51CDE4A5C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; - 8F8BF1A7130D858E0A239F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ConfigTree_Base.h"; path = "../../Source/Project/jucer_ConfigTree_Base.h"; sourceTree = "SOURCE_ROOT"; }; + 8FEF6F5EA676B824C021EB6F = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AnimatedApp.svg"; path = "../../Source/BinaryData/Icons/wizard_AnimatedApp.svg"; sourceTree = "SOURCE_ROOT"; }; + 8FF26BF72A522FBEAAFDDF54 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AudioApp.svg"; path = "../../Source/BinaryData/Icons/wizard_AudioApp.svg"; sourceTree = "SOURCE_ROOT"; }; 9069981E414A631B036CC9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainWindow.cpp"; path = "../../Source/Application/jucer_MainWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 90E05EF7005D9C0712FA7662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_DiagnosticMessage.h"; path = "../../Source/LiveBuildEngine/projucer_DiagnosticMessage.h"; sourceTree = "SOURCE_ROOT"; }; - 914ADDB50ED7365F08BA91F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CodeHelpers.h"; path = "../../Source/Utility/jucer_CodeHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 921752D9B004A15973DDF56F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_TestComponent.cpp"; path = "../../Source/ComponentEditor/ui/jucer_TestComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 92F91DC29B64AD85B1F508BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GenericComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_GenericComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 934C3778397D89F8C535E417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ApplicationUsageDataWindowComponent.h"; path = "../../Source/Utility/jucer_ApplicationUsageDataWindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 93B419190CCE92ACAB1ED25B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ColouredElement.cpp"; path = "../../Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - 951128CA33CCDEF570436B1C = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = "SOURCE_ROOT"; }; - 963E0740B7B4D59EF2D16740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTemplate.h"; path = "../../Source/BinaryData/jucer_ComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; - 9683B04CA3BD7F73E8236FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ContentCompTemplate.cpp"; path = "../../Source/BinaryData/jucer_ContentCompTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 974B862C51DA9A16CBBB3A29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_XCode.h"; path = "../../Source/Project Saving/jucer_ProjectExport_XCode.h"; sourceTree = "SOURCE_ROOT"; }; - 97E75A598791645465FEDCE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_EditingPanelBase.h"; path = "../../Source/ComponentEditor/ui/jucer_EditingPanelBase.h"; sourceTree = "SOURCE_ROOT"; }; + 92926A4D3CC4BB2A9D35EB0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_UTF8WindowComponent.h"; path = "../../Source/Application/Windows/jucer_UTF8WindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 92A66A8BD87F98EB6B4FB6D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectContentComponent.h"; path = "../../Source/Project/UI/jucer_ProjectContentComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 95EAB6EC9B724538B93910D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TabComponents.h"; path = "../../Source/Project/UI/Sidebar/jucer_TabComponents.h"; sourceTree = "SOURCE_ROOT"; }; + 97A847B59EE04483E8850E4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_SimpleWindow.cpp"; path = "../../Source/BinaryData/Templates/jucer_MainTemplate_SimpleWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 983CFBA01CA8811F30FA7F4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_MiscUtilities.h"; path = "../../Source/Utility/Helpers/jucer_MiscUtilities.h"; sourceTree = "SOURCE_ROOT"; }; 98E6D61BFF7D85F0E00F0FBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LicenseWebview.h"; path = "../../Source/Licenses/jucer_LicenseWebview.h"; sourceTree = "SOURCE_ROOT"; }; - 98F42686D9DAC974F2514217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_EditingPanelBase.cpp"; path = "../../Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 996E472B82A75531875A5E38 = {isa = PBXFileReference; lastKnownFileType = file; name = LICENSE; path = ../../Source/BinaryData/gradle/LICENSE; sourceTree = "SOURCE_ROOT"; }; + 9914F905BFCFBE5F76619670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColouredElement.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_ColouredElement.h"; sourceTree = "SOURCE_ROOT"; }; 9992E6950C64322A11E39ADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_DLL.h"; path = "../../Source/Wizards/jucer_ProjectWizard_DLL.h"; sourceTree = "SOURCE_ROOT"; }; - 9B9CAD20E1243B4351B4C8D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_CodeHelpers.cpp"; path = "../../Source/Utility/jucer_CodeHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9BC8AE609A07657CEF587548 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StoredSettings.h"; path = "../../Source/Utility/jucer_StoredSettings.h"; sourceTree = "SOURCE_ROOT"; }; - 9C04F9680F82BF279D528688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectSaver.h"; path = "../../Source/Project Saving/jucer_ProjectSaver.h"; sourceTree = "SOURCE_ROOT"; }; - 9C51394634F102DEBBE6C9EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementText.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementText.h"; sourceTree = "SOURCE_ROOT"; }; - 9C7FA58D223674C4C2AC6595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerDocumentEditor.cpp"; path = "../../Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9C803826E5E3FDB1B37660D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentDocument.h"; path = "../../Source/ComponentEditor/documents/jucer_ComponentDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 9B6FD3FEDB6D91AD0A80EF97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ImageResourceProperty.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_ImageResourceProperty.h"; sourceTree = "SOURCE_ROOT"; }; + 9BDF2D6255C1CB2CFF376186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentOverlayComponent.h"; path = "../../Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9D7689451732AF8333402B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ObjectTypes.cpp"; path = "../../Source/ComponentEditor/jucer_ObjectTypes.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9EA541503DBADC5FFDEB0282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeItemTypes.h"; path = "../../Source/Project/jucer_TreeItemTypes.h"; sourceTree = "SOURCE_ROOT"; }; + 9E2B1506AC3FDB7863766D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewInlineComponentTemplate.h"; path = "../../Source/BinaryData/Templates/jucer_NewInlineComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + 9E62EC342665C27BA01AFC1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentNameProperty.h"; path = "../../Source/ComponentEditor/Components/jucer_ComponentNameProperty.h"; sourceTree = "SOURCE_ROOT"; }; + 9EB33734D0DBD0370AB1247B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColourPropertyComponent.h"; path = "../../Source/Utility/UI/PropertyComponents/jucer_ColourPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9EE3141E20C9CE3EA182FA04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectSaver.h"; path = "../../Source/ProjectSaving/jucer_ProjectSaver.h"; sourceTree = "SOURCE_ROOT"; }; 9EF583A6201DBC813C2F63C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_BinaryResources.cpp"; path = "../../Source/ComponentEditor/jucer_BinaryResources.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F01BA9942D038EA8B5289A8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; - 9F41F3338BF00D0FC74C6390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TestComponent.h"; path = "../../Source/ComponentEditor/ui/jucer_TestComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 9F75811FE7B5F8D1321BEC69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ConfigTree_Modules.h"; path = "../../Source/Project/jucer_ConfigTree_Modules.h"; sourceTree = "SOURCE_ROOT"; }; + 9F2D3E5FC10F7C3270908E97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ButtonDocument.h"; path = "../../Source/ComponentEditor/Documents/jucer_ButtonDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 9F959ECF8CD9B7314AE604A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LabelHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_LabelHandler.h"; sourceTree = "SOURCE_ROOT"; }; A085174413736ACC8D7D42A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_openGL.h"; path = "../../Source/Wizards/jucer_ProjectWizard_openGL.h"; sourceTree = "SOURCE_ROOT"; }; - A0951828C3BF47FA7E1E52F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ViewportHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ViewportHandler.h"; sourceTree = "SOURCE_ROOT"; }; - A1333F975410DD3DBBE2841F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "projucer_CompileEngineClient.cpp"; path = "../../Source/LiveBuildEngine/projucer_CompileEngineClient.cpp"; sourceTree = "SOURCE_ROOT"; }; - A32FE0EBE29FABE58E664E67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AboutWindowComponent.h"; path = "../../Source/Utility/jucer_AboutWindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A0BBBFBA13A1308B3CD725D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentLayoutPanel.h"; path = "../../Source/ComponentEditor/UI/jucer_ComponentLayoutPanel.h"; sourceTree = "SOURCE_ROOT"; }; + A160AEF56553A658E6EA6A8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_Window.cpp"; path = "../../Source/BinaryData/Templates/jucer_MainTemplate_Window.cpp"; sourceTree = "SOURCE_ROOT"; }; + A22F64D1E4BD4B8FA366DAAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeViewHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_TreeViewHandler.h"; sourceTree = "SOURCE_ROOT"; }; A44A774EFC020D3D046A9249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_Console.h"; path = "../../Source/Wizards/jucer_ProjectWizard_Console.h"; sourceTree = "SOURCE_ROOT"; }; - A4D275622A4B115AABE190A4 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_OpenGL.svg"; path = "../../Source/BinaryData/wizard_OpenGL.svg"; sourceTree = "SOURCE_ROOT"; }; + A49503B646A7BD2BEEFC5CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_HyperlinkButtonHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_HyperlinkButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; + A509BC22854D50E4C786EB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FileGroupInformationComponent.h"; path = "../../Source/Project/UI/jucer_FileGroupInformationComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A66F17E7472E5C19AFE98E46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainConsoleAppTemplate.cpp"; path = "../../Source/BinaryData/Templates/jucer_MainConsoleAppTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; A69024A225F2AC31F17B1314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewFileWizard.cpp"; path = "../../Source/Wizards/jucer_NewFileWizard.cpp"; sourceTree = "SOURCE_ROOT"; }; - A973D33C0CE829AD293E035B = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "projucer_login_bg.svg"; path = "../../Source/BinaryData/projucer_login_bg.svg"; sourceTree = "SOURCE_ROOT"; }; + A6C4AE13FB409DE414094CFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_RelativePath.h"; path = "../../Source/Utility/Helpers/jucer_RelativePath.h"; sourceTree = "SOURCE_ROOT"; }; + A978DFE87D9BB5EFE5B3DAAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CompileEngineDLL.h"; path = "../../Source/LiveBuildEngine/jucer_CompileEngineDLL.h"; sourceTree = "SOURCE_ROOT"; }; + A9954DC7F876A7006743ACB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DiagnosticMessage.h"; path = "../../Source/LiveBuildEngine/jucer_DiagnosticMessage.h"; sourceTree = "SOURCE_ROOT"; }; AA1C44E89D792DDC4867B2C8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_cryptography"; path = "../../../../modules/juce_cryptography"; sourceTree = "SOURCE_ROOT"; }; - AA8EED79F095953D2B5923B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentColourProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentColourProperty.h"; sourceTree = "SOURCE_ROOT"; }; - AE1BC6DCCFC1A18E2ACE23F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_NoWindow.cpp"; path = "../../Source/BinaryData/jucer_MainTemplate_NoWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + ADA538034910F52FDD2DC88D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DownloadCompileEngineThread.cpp"; path = "../../Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + ADD6A3CF5D7DE55E57E8E38B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CppHelpers.h"; path = "../../Source/LiveBuildEngine/jucer_CppHelpers.h"; sourceTree = "SOURCE_ROOT"; }; AECE3914F5119A3D586A5635 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_gui_extra.mm"; path = "../../JuceLibraryCode/include_juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; - AF57278F8F46D86B4EBA449E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_CompileEngineServer.h"; path = "../../Source/LiveBuildEngine/projucer_CompileEngineServer.h"; sourceTree = "SOURCE_ROOT"; }; - AFEBD8423B07599B1DE175A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ModulesPanel.h"; path = "../../Source/Project/jucer_ModulesPanel.h"; sourceTree = "SOURCE_ROOT"; }; - AFF72BA2B130F3F9AC029080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AudioPluginEditorTemplate.h"; path = "../../Source/BinaryData/jucer_AudioPluginEditorTemplate.h"; sourceTree = "SOURCE_ROOT"; }; - B00F60201606F195058BB575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColourPropertyComponent.h"; path = "../../Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B06C7C053DB0660CDA8B5C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutinePanel.h"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h"; sourceTree = "SOURCE_ROOT"; }; - B0D2198D1261755918CD454D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SVGPathDataComponent.h"; path = "../../Source/Utility/jucer_SVGPathDataComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B15E33E7342F6EB4F95C9B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutineEditor.cpp"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - B1963F0D8C0046E54FD9E023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColouredElement.h"; path = "../../Source/ComponentEditor/paintelements/jucer_ColouredElement.h"; sourceTree = "SOURCE_ROOT"; }; - B3FA8ADA3F66D5EE0C0E5CBE = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "export_xcode.svg"; path = "../../Source/BinaryData/export_xcode.svg"; sourceTree = "SOURCE_ROOT"; }; - B483D960309FAFC193F9CDA2 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "juce_icon.png"; path = "../../Source/BinaryData/juce_icon.png"; sourceTree = "SOURCE_ROOT"; }; - B5CB69026BC4E8F439355CDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_SourceCodeRange.h"; path = "../../Source/LiveBuildEngine/projucer_SourceCodeRange.h"; sourceTree = "SOURCE_ROOT"; }; + AEFE3BA0C31EC78A5767A10E = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_DLL.svg"; path = "../../Source/BinaryData/Icons/wizard_DLL.svg"; sourceTree = "SOURCE_ROOT"; }; + B1C2F8ED14BF914CD1882708 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_Openfile.svg"; path = "../../Source/BinaryData/Icons/wizard_Openfile.svg"; sourceTree = "SOURCE_ROOT"; }; + B24E3F34C3C4EE54A60C35CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LiveCodeBuilderDLL.h"; path = "../../Source/LiveBuildEngine/jucer_LiveCodeBuilderDLL.h"; sourceTree = "SOURCE_ROOT"; }; + B2CB95B3F44C3CC5735051A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JustificationProperty.h"; path = "../../Source/ComponentEditor/Properties/jucer_JustificationProperty.h"; sourceTree = "SOURCE_ROOT"; }; + B3528C08B84CBC950252EA69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ModulesInformationComponent.h"; path = "../../Source/Project/UI/jucer_ModulesInformationComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B403AF75EAF361ED74EE476E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_FileHelpers.cpp"; path = "../../Source/Utility/Helpers/jucer_FileHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; B6F2905330EA5C560D527209 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_graphics"; path = "../../../../modules/juce_graphics"; sourceTree = "SOURCE_ROOT"; }; - B7307A82D9EB1EDBA91EE43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DownloadCompileEngineThread.h"; path = "../../Source/Application/jucer_DownloadCompileEngineThread.h"; sourceTree = "SOURCE_ROOT"; }; - B73B25AD624B88B29EA0589C = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "export_codeBlocks.svg"; path = "../../Source/BinaryData/export_codeBlocks.svg"; sourceTree = "SOURCE_ROOT"; }; - B741170E45D74F30B7D5CDDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentNameProperty.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentNameProperty.h"; sourceTree = "SOURCE_ROOT"; }; B8385E9A644BD3CD94876448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectType.h"; path = "../../Source/Project/jucer_ProjectType.h"; sourceTree = "SOURCE_ROOT"; }; + B83C9BD89F31EA9E5E12A3C6 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "juce_icon.png"; path = "../../Source/BinaryData/Icons/juce_icon.png"; sourceTree = "SOURCE_ROOT"; }; + B83DAADA1A871F21582FFB23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ApplicationUsageDataWindowComponent.h"; path = "../../Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B97D60D2531CFD0D8555BA5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementText.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElementText.h"; sourceTree = "SOURCE_ROOT"; }; + B9B130F596953116393138DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SourceCodeEditor.h"; path = "../../Source/CodeEditor/jucer_SourceCodeEditor.h"; sourceTree = "SOURCE_ROOT"; }; BA159A3B7D129771F5C15EA3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_core"; path = "../../../../modules/juce_core"; sourceTree = "SOURCE_ROOT"; }; + BA186B51EE4884CD8E3F2741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CompileEngineServer.h"; path = "../../Source/LiveBuildEngine/jucer_CompileEngineServer.h"; sourceTree = "SOURCE_ROOT"; }; BAC43B20E14A340CCF14119C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Project.cpp"; path = "../../Source/Project/jucer_Project.cpp"; sourceTree = "SOURCE_ROOT"; }; BB187CD608EB6368B29EC335 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LicenseController.h"; path = "../../Source/Licenses/jucer_LicenseController.h"; sourceTree = "SOURCE_ROOT"; }; - BB9C1E6E54A16F795908C469 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "background_logo.svg"; path = "../../Source/BinaryData/background_logo.svg"; sourceTree = "SOURCE_ROOT"; }; - BCB819DDDD2AC13632CA502F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjucerLookAndFeel.h"; path = "../../Source/Utility/jucer_ProjucerLookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; - BCCFDFB2C02C4AA436C0ECF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SliderHandler.h"; path = "../../Source/ComponentEditor/components/jucer_SliderHandler.h"; sourceTree = "SOURCE_ROOT"; }; - BD2BC2395BF27FD40259F14F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ErrorList.h"; path = "../../Source/LiveBuildEngine/projucer_ErrorList.h"; sourceTree = "SOURCE_ROOT"; }; + BC3B310D42C489E8B8D93327 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DocumentEditorComponent.cpp"; path = "../../Source/CodeEditor/jucer_DocumentEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC623CC67AC58297BF6B4C70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TestComponent.h"; path = "../../Source/ComponentEditor/UI/jucer_TestComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BCB6C87E3992930674E54D16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementGroup.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.h"; sourceTree = "SOURCE_ROOT"; }; + BDF6AFC5F88581AE395F1DC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceEditorPanel.h"; path = "../../Source/ComponentEditor/UI/jucer_ResourceEditorPanel.h"; sourceTree = "SOURCE_ROOT"; }; + BE618CE21C794BDEE319E328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AppearanceSettings.cpp"; path = "../../Source/Settings/jucer_AppearanceSettings.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF301C2E545AEB4AC112C176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ButtonDocument.cpp"; path = "../../Source/ComponentEditor/Documents/jucer_ButtonDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; BF3CEF080FA013E2778DCE90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Project.h"; path = "../../Source/Project/jucer_Project.h"; sourceTree = "SOURCE_ROOT"; }; - C00793A0D4A59BDADC62EEF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_CompileEngineClient.h"; path = "../../Source/LiveBuildEngine/projucer_CompileEngineClient.h"; sourceTree = "SOURCE_ROOT"; }; - C094F3B6A65A79A6DF87C9C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementGroup.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementGroup.h"; sourceTree = "SOURCE_ROOT"; }; C09BBB58CA45B66D693E8C31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TemplateThumbnailsComponent.h"; path = "../../Source/Wizards/jucer_TemplateThumbnailsComponent.h"; sourceTree = "SOURCE_ROOT"; }; - C15220EDA1A8315DA3255E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_EditorColourSchemeWindowComponent.h"; path = "../../Source/Utility/jucer_EditorColourSchemeWindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; C187718F7B9EBA88584B43F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutine.cpp"; path = "../../Source/ComponentEditor/jucer_PaintRoutine.cpp"; sourceTree = "SOURCE_ROOT"; }; - C22791DB75870C4F102AA8A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SlidingPanelComponent.h"; path = "../../Source/Utility/jucer_SlidingPanelComponent.h"; sourceTree = "SOURCE_ROOT"; }; C2990A8D054BC230E7C637C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewProjectWizardClasses.h"; path = "../../Source/Wizards/jucer_NewProjectWizardClasses.h"; sourceTree = "SOURCE_ROOT"; }; - C63233C27ED46CECF10EC7C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_MessageIDs.h"; path = "../../Source/LiveBuildEngine/projucer_MessageIDs.h"; sourceTree = "SOURCE_ROOT"; }; - C714153DB8056CAC5BC69FAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ClassDatabase.h"; path = "../../Source/LiveBuildEngine/projucer_ClassDatabase.h"; sourceTree = "SOURCE_ROOT"; }; - C7608A3967D9AB9481848F2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DocumentEditorComponent.cpp"; path = "../../Source/Application/jucer_DocumentEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - C7B47372A9D5970E3D9A5400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GroupInformationComponent.h"; path = "../../Source/Project/jucer_GroupInformationComponent.h"; sourceTree = "SOURCE_ROOT"; }; - C8A229ACD244F402C57286CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_MSVC.h"; path = "../../Source/Project Saving/jucer_ProjectExport_MSVC.h"; sourceTree = "SOURCE_ROOT"; }; - C9616830BB2474066AC8C910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceFile.h"; path = "../../Source/Project Saving/jucer_ResourceFile.h"; sourceTree = "SOURCE_ROOT"; }; - CB147AFB52BD5FC0816C0EEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_LiveCodeBuilderDLL.h"; path = "../../Source/LiveBuildEngine/projucer_LiveCodeBuilderDLL.h"; sourceTree = "SOURCE_ROOT"; }; - CCEF7B4C6667DDE5D32FD219 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_CompileEngineDLL.h"; path = "../../Source/LiveBuildEngine/projucer_CompileEngineDLL.h"; sourceTree = "SOURCE_ROOT"; }; - CEF0436C145DA86ACE2CA5E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ClientServerMessages.h"; path = "../../Source/LiveBuildEngine/projucer_ClientServerMessages.h"; sourceTree = "SOURCE_ROOT"; }; - CF21D9DB3AEC0A4DCAB36A99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Icons.cpp"; path = "../../Source/Utility/jucer_Icons.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3BB9F92B02B06D04A73794C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectExporter.cpp"; path = "../../Source/ProjectSaving/jucer_ProjectExporter.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3E04CD5A93A45154894E624 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Colours.h"; path = "../../Source/Utility/Helpers/jucer_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + C402C21DFAC1F8BF121144F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FillType.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + C59E624F099CC785F27429EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Icons.h"; path = "../../Source/Utility/UI/jucer_Icons.h"; sourceTree = "SOURCE_ROOT"; }; + C7245390C6C44E89F7526CFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewComponentTemplate.h"; path = "../../Source/BinaryData/Templates/jucer_NewComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + C736264708F3F68BA745BA29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FloatingToolWindow.h"; path = "../../Source/Application/Windows/jucer_FloatingToolWindow.h"; sourceTree = "SOURCE_ROOT"; }; + CC1C5F8E5DE34223FEC59673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AudioPluginFilterTemplate.h"; path = "../../Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + CC3F520C282FC0A568F7BAEA = {isa = PBXFileReference; lastKnownFileType = file; name = gradlew; path = ../../Source/BinaryData/Gradle/gradlew; sourceTree = "SOURCE_ROOT"; }; + CCD62DB0A19A985A4B9D7F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_Android.h"; path = "../../Source/ProjectSaving/jucer_ProjectExport_Android.h"; sourceTree = "SOURCE_ROOT"; }; + CCEA34A55813C7C4E58254F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_BuildTabStatusComponent.h"; path = "../../Source/LiveBuildEngine/UI/jucer_BuildTabStatusComponent.h"; sourceTree = "SOURCE_ROOT"; }; CF6C8BD0DA3D8CD4E99EBADA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - CF8011B3C67B609032974DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewCppFileTemplate.cpp"; path = "../../Source/BinaryData/jucer_NewCppFileTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; D00F311BFC3C2625C457CB9B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + D045BD5943BD38F2720FF5F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FontPropertyComponent.h"; path = "../../Source/ComponentEditor/Properties/jucer_FontPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; D05BD91B6105827B010E1C20 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_gui_extra"; path = "../../../../modules/juce_gui_extra"; sourceTree = "SOURCE_ROOT"; }; - D0D8B580D0689FFF4B9B823B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StrokeType.h"; path = "../../Source/ComponentEditor/paintelements/jucer_StrokeType.h"; sourceTree = "SOURCE_ROOT"; }; - D10D51A0A2D63F38B4D86A60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceFile.cpp"; path = "../../Source/Project Saving/jucer_ResourceFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + D1739728A79A2062418B8EF0 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_StaticLibrary.svg"; path = "../../Source/BinaryData/Icons/wizard_StaticLibrary.svg"; sourceTree = "SOURCE_ROOT"; }; D1F9B0E9F5D54FE48BEB46EA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - D374DC78AAC02504576AA9B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GroupComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_GroupComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; - D4444EC6342A2A7BC4F7BC46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTextProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentTextProperty.h"; sourceTree = "SOURCE_ROOT"; }; - D526C38D581425949BA0E4AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePreviewComponent.h"; path = "../../Source/Application/jucer_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D251114072E67CA86D9913D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ClassDatabase.h"; path = "../../Source/LiveBuildEngine/jucer_ClassDatabase.h"; sourceTree = "SOURCE_ROOT"; }; + D2FE76E4CF003856278343CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_CompileEngineServer.cpp"; path = "../../Source/LiveBuildEngine/jucer_CompileEngineServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + D588BA6A0C62DE1F18D5C2EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GlobalSearchPathsWindowComponent.h"; path = "../../Source/Application/Windows/jucer_GlobalSearchPathsWindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D6390A40B3279E0E626C78D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ColouredElement.cpp"; path = "../../Source/ComponentEditor/PaintElements/jucer_ColouredElement.cpp"; sourceTree = "SOURCE_ROOT"; }; D766BB9D8C32B5560F0493F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_cryptography.mm"; path = "../../JuceLibraryCode/include_juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; - D87FC8F6834E9DC9C8E88B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JustificationProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_JustificationProperty.h"; sourceTree = "SOURCE_ROOT"; }; - D92A6E9404A30EED32DCE4ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_RelativePositionedRectangle.h"; path = "../../Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + D859E9EA11A71BD6E85DC649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DependencyPathPropertyComponent.cpp"; path = "../../Source/Utility/UI/PropertyComponents/jucer_DependencyPathPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D91E7F8FEF9290195D56782C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_EditorColourSchemeWindowComponent.h"; path = "../../Source/Application/Windows/jucer_EditorColourSchemeWindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D93E2F2468003DD333371F06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StrokeType.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_StrokeType.h"; sourceTree = "SOURCE_ROOT"; }; DA345D5B9DABD049F90DC96F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GeneratedCode.h"; path = "../../Source/ComponentEditor/jucer_GeneratedCode.h"; sourceTree = "SOURCE_ROOT"; }; - DAF84A553D264705FA6EB6FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeViewHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TreeViewHandler.h"; sourceTree = "SOURCE_ROOT"; }; + DA4D0CC5149F7C0FBDAF34A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementPath.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElementPath.h"; sourceTree = "SOURCE_ROOT"; }; DB9C8E35DF815B803CB4A9CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_core.mm"; path = "../../JuceLibraryCode/include_juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; - DBE0CDE1B017190ABBFF557C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_CodeBlocks.h"; path = "../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h"; sourceTree = "SOURCE_ROOT"; }; - DC922C6A65D260C18E888E49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_ComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - DCBB17488227A2CA7D3D3947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DependencyPathPropertyComponent.cpp"; path = "../../Source/Project/jucer_DependencyPathPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - DF725A596B7BCD7520CC0A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceEditorPanel.cpp"; path = "../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - DF78EF6242D82F912534A277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColourPropertyComponent.h"; path = "../../Source/Utility/jucer_ColourPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - E0F9CA57E44F7F7E7E217E47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentUndoableAction.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentUndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; - E1D8CCD9F4ACBE1EC1D5BEA0 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AudioApp.svg"; path = "../../Source/BinaryData/wizard_AudioApp.svg"; sourceTree = "SOURCE_ROOT"; }; - E2374E15D65425C4101237E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewComponentTemplate.h"; path = "../../Source/BinaryData/jucer_NewComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + DDC382008FFD9F9E0B2B0EDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SVGPathDataWindowComponent.h"; path = "../../Source/Application/Windows/jucer_SVGPathDataWindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + DE3E6B2614229FAD56D50770 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_CompileEngineClient.cpp"; path = "../../Source/LiveBuildEngine/jucer_CompileEngineClient.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE4A987B2D5529990A6AA9D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AboutWindowComponent.h"; path = "../../Source/Application/Windows/jucer_AboutWindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + DFBEB8E086832AEB0FBEADF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StoredSettings.h"; path = "../../Source/Settings/jucer_StoredSettings.h"; sourceTree = "SOURCE_ROOT"; }; + E111A336FE13C033EAA0A1D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewCppFileTemplate.h"; path = "../../Source/BinaryData/Templates/jucer_NewCppFileTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + E13A54A6D3A1895EACE53E51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceFile.cpp"; path = "../../Source/ProjectSaving/jucer_ResourceFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + E1535CDF4258E7D4AB70B5E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ClientServerMessages.h"; path = "../../Source/LiveBuildEngine/jucer_ClientServerMessages.h"; sourceTree = "SOURCE_ROOT"; }; + E1577F8617C75B91D7399812 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ImageButtonHandler.h"; path = "../../Source/ComponentEditor/Components/jucer_ImageButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; + E186BC01A1B1529937A46485 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FileHelpers.h"; path = "../../Source/Utility/Helpers/jucer_FileHelpers.h"; sourceTree = "SOURCE_ROOT"; }; E266DE67FF319D56F63193A6 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; - E382C78A1D837DD98916E86A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FloatingToolWindow.h"; path = "../../Source/Utility/jucer_FloatingToolWindow.h"; sourceTree = "SOURCE_ROOT"; }; - E3B56C5718D87CA0EFCB2662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - E4BB22E27C5AA4B666F265BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TextButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; - E4BD4C43370651B49F75855B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_SimpleWindow.cpp"; path = "../../Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2B668E2A65AEE8F07B406C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AppearanceSettings.h"; path = "../../Source/Settings/jucer_AppearanceSettings.h"; sourceTree = "SOURCE_ROOT"; }; + E367FC2BDAF5EBA48D767FBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePathPropertyComponent.h"; path = "../../Source/Utility/UI/PropertyComponents/jucer_FilePathPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E3BADF21095BC23DE2CB454F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTreeItemBase.h"; path = "../../Source/Project/UI/Sidebar/jucer_ProjectTreeItemBase.h"; sourceTree = "SOURCE_ROOT"; }; + E468FDB5504C5D9315B2D04F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentDocument.h"; path = "../../Source/ComponentEditor/Documents/jucer_ComponentDocument.h"; sourceTree = "SOURCE_ROOT"; }; E5D6C36496F5BC84D7213BE8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - E60E28D1B7491047DEA236AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectContentComponent.h"; path = "../../Source/Project/jucer_ProjectContentComponent.h"; sourceTree = "SOURCE_ROOT"; }; - E65A820D34BF39478B7C5925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DocumentEditorComponent.h"; path = "../../Source/Application/jucer_DocumentEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; E96597BBC6A98255B51B94DC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; E983E6DDE3318B872EBE347F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; - EB71BA07D6F667E69721E577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GradientPointComponent.h"; path = "../../Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EAC1731150A7F79D59BAA0B6 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "export_visualStudio.svg"; path = "../../Source/BinaryData/Icons/export_visualStudio.svg"; sourceTree = "SOURCE_ROOT"; }; + ED5EAC91D8A0A1911BE9F482 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_ConsoleApp.svg"; path = "../../Source/BinaryData/Icons/wizard_ConsoleApp.svg"; sourceTree = "SOURCE_ROOT"; }; + ED69863B3D591FB3F0CA50E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutineEditor.h"; path = "../../Source/ComponentEditor/UI/jucer_PaintRoutineEditor.h"; sourceTree = "SOURCE_ROOT"; }; EE690110171E1648FF2118B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Application.h"; path = "../../Source/Application/jucer_Application.h"; sourceTree = "SOURCE_ROOT"; }; - EF30A74B566A461A171BBF83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentLayoutEditor.cpp"; path = "../../Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - EFA8CF715611D845AB284500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_JucerComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; - F03E2BDD36E6F4F53AB767A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Headers.h"; path = "../../Source/jucer_Headers.h"; sourceTree = "SOURCE_ROOT"; }; - F18AE75F1831D13FF53A8CCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementRectangle.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - F4B63624DBF543082235F821 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_GUI.svg"; path = "../../Source/BinaryData/wizard_GUI.svg"; sourceTree = "SOURCE_ROOT"; }; - F5885B5AAF46864D562D5B83 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AudioPlugin.svg"; path = "../../Source/BinaryData/wizard_AudioPlugin.svg"; sourceTree = "SOURCE_ROOT"; }; - F59077841FC17DD07060A2A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextEditorHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TextEditorHandler.h"; sourceTree = "SOURCE_ROOT"; }; - F6D3F208B6EE2A50CE1F0A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerCommandIDs.h"; path = "../../Source/ComponentEditor/ui/jucer_JucerCommandIDs.h"; sourceTree = "SOURCE_ROOT"; }; - F71AF6D2DF3E652F8B51EBAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectExporter.cpp"; path = "../../Source/Project Saving/jucer_ProjectExporter.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF25A29A2194FC107B40F65F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentLayoutEditor.cpp"; path = "../../Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFF38AE74E7267CCC47E8AD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerDocumentEditor.h"; path = "../../Source/ComponentEditor/UI/jucer_JucerDocumentEditor.h"; sourceTree = "SOURCE_ROOT"; }; + F073B54B36D845915CD6D2C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementEllipse.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_PaintElementEllipse.h"; sourceTree = "SOURCE_ROOT"; }; + F159C1B99ACF1D91E12D978E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_NoWindow.cpp"; path = "../../Source/BinaryData/Templates/jucer_MainTemplate_NoWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + F2E4998FB2C7221587A79F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_CodeHelpers.cpp"; path = "../../Source/Utility/Helpers/jucer_CodeHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3CC8F26ECCDA6DCD8A284D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GradientPointComponent.h"; path = "../../Source/ComponentEditor/PaintElements/jucer_GradientPointComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F4FD9BD16ED2700F45A68C4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentBooleanProperty.h"; path = "../../Source/ComponentEditor/Properties/jucer_ComponentBooleanProperty.h"; sourceTree = "SOURCE_ROOT"; }; + F5DD97B45B8EA60C1ED0DD80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_StoredSettings.cpp"; path = "../../Source/Settings/jucer_StoredSettings.cpp"; sourceTree = "SOURCE_ROOT"; }; F797071D88542C813CF7222A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Module.cpp"; path = "../../Source/Project/jucer_Module.cpp"; sourceTree = "SOURCE_ROOT"; }; - F7CAB5BC15EE351949D3F2C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewInlineComponentTemplate.h"; path = "../../Source/BinaryData/jucer_NewInlineComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; - FA04E39EE7E83D445AF9E406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FillType.h"; path = "../../Source/ComponentEditor/paintelements/jucer_FillType.h"; sourceTree = "SOURCE_ROOT"; }; - FA70084EC51835082E67D261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_CppHelpers.h"; path = "../../Source/LiveBuildEngine/projucer_CppHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - FB61FEC24C6C031EB0455B0A = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_ConsoleApp.svg"; path = "../../Source/BinaryData/wizard_ConsoleApp.svg"; sourceTree = "SOURCE_ROOT"; }; - FBBDD70D47163D341B2F0A8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentOverlayComponent.h"; path = "../../Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.h"; sourceTree = "SOURCE_ROOT"; }; - FF11D6B512FDC5D887E06F66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementImage.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementImage.h"; sourceTree = "SOURCE_ROOT"; }; - FF94FF5C4BEC605E56149EFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LabelHandler.h"; path = "../../Source/ComponentEditor/components/jucer_LabelHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 48618F36B2E3C15A7B0F63AC = {isa = PBXGroup; children = ( - 441CFEA771BAA50E187342E9, - 223C4209F18A221EB183A056, + F7C74E934C954F6F1A3BE4F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TranslationToolWindowComponent.h"; path = "../../Source/Application/Windows/jucer_TranslationToolWindowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F8A38C0C7C45F2DB6A5FB812 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_Highlight.svg"; path = "../../Source/BinaryData/Icons/wizard_Highlight.svg"; sourceTree = "SOURCE_ROOT"; }; + F8F94093A0963D86BD27A95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DependencyPathPropertyComponent.h"; path = "../../Source/Utility/UI/PropertyComponents/jucer_DependencyPathPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F9111E150CFF155329D44853 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_OpenDocumentManager.cpp"; path = "../../Source/CodeEditor/jucer_OpenDocumentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA790C59A304579F660F112F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_CodeBlocks.h"; path = "../../Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h"; sourceTree = "SOURCE_ROOT"; }; + FB80347407261BF6CCEFDE91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTemplate.cpp"; path = "../../Source/BinaryData/Templates/jucer_ComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCEBE24EA79A13713D7CBF26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentColourProperty.h"; path = "../../Source/ComponentEditor/Properties/jucer_ComponentColourProperty.h"; sourceTree = "SOURCE_ROOT"; }; + FE20FE5805A02A4843048200 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjucerLookAndFeel.h"; path = "../../Source/Utility/UI/jucer_ProjucerLookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + FF68231DE2B395461009116C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_MSVC.h"; path = "../../Source/ProjectSaving/jucer_ProjectExport_MSVC.h"; sourceTree = "SOURCE_ROOT"; }; + FFE01768CF1C8DBDAA894F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutinePanel.cpp"; path = "../../Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + EB1D55A76652399EB81CC1F0 = {isa = PBXGroup; children = ( + DE4A987B2D5529990A6AA9D4, + B83DAADA1A871F21582FFB23, + D91E7F8FEF9290195D56782C, + C736264708F3F68BA745BA29, + D588BA6A0C62DE1F18D5C2EA, + DDC382008FFD9F9E0B2B0EDD, + F7C74E934C954F6F1A3BE4F9, + 92926A4D3CC4BB2A9D35EB0B, ); name = Windows; sourceTree = ""; }; + BC67FD952A6F210A11A1ECB8 = {isa = PBXGroup; children = ( + EB1D55A76652399EB81CC1F0, 7CA44FF0BA319517C6E39651, EE690110171E1648FF2118B8, 0D4D508C638BC74943B9976D, @@ -390,128 +397,157 @@ 0400CB0E056A1D840304D2DE, 2EEB1C074162F363C6599282, 6E6140969908E7619F858740, - C7608A3967D9AB9481848F2B, - E65A820D34BF39478B7C5925, - 11EB44786085029106099D01, - B7307A82D9EB1EDBA91EE43D, - D526C38D581425949BA0E4AC, - F03E2BDD36E6F4F53AB767A8, + 3F8EC008960DBEB2A5D3C3F4, 8C52A3DDA62A746AA7A68535, 9069981E414A631B036CC9AC, - 2CD34A70B4032C0426F7AA10, - 2247EE920DF0610CAF9F4513, - 563091B0916AD9AAA36C7DC5, ); name = Application; sourceTree = ""; }; - DD016058D39CAFA2C86BAF40 = {isa = PBXGroup; children = ( - 51CBE59779A36D1B80B26974, - BB187CD608EB6368B29EC335, - 790F6302B9A0620F23F8A6C1, - 98E6D61BFF7D85F0E00F0FBF, ); name = Licenses; sourceTree = ""; }; - 82B98DB2654A087911E8157F = {isa = PBXGroup; children = ( - 5C7636E577B8DBB1D3133022, - 43C068B8D98821C09492AB29, - 4A035FB6A8D93BF154C08C3F, - C714153DB8056CAC5BC69FAF, - CEF0436C145DA86ACE2CA5E3, - A1333F975410DD3DBBE2841F, - C00793A0D4A59BDADC62EEF7, - CCEF7B4C6667DDE5D32FD219, - 635290DEB1D564927D7A450C, - AF57278F8F46D86B4EBA449E, - 2C7CDA71ACB5829BC616A353, - FA70084EC51835082E67D261, - 90E05EF7005D9C0712FA7662, - BD2BC2395BF27FD40259F14F, - 0C6B1A14D37958E405448B8D, - CB147AFB52BD5FC0816C0EEE, - C63233C27ED46CECF10EC7C3, - 313BC56B30B05119686B1E99, - B5CB69026BC4E8F439355CDC, ); name = LiveBuildEngine; sourceTree = ""; }; - 142DEF17A4C953926833D7F8 = {isa = PBXGroup; children = ( - 79E58813D1B414AF49DD9598, - 2E680E2C65684A4272AE079A, - 78CA0E0F336229E2E2F111B0, ); name = "Code Editor"; sourceTree = ""; }; - 6CE6335290CF9C26FBE93D7C = {isa = PBXGroup; children = ( - 0FF1C6905150EAAB1AE081A7, - 008C8B2C2328CFBB9375397D, - B741170E45D74F30B7D5CDDF, - 65C498761CE166072A202AA0, - 5D9E7814B713670624F0028F, - E0F9CA57E44F7F7E7E217E47, - 92F91DC29B64AD85B1F508BD, - D374DC78AAC02504576AA9B3, - 1F9BBDFA52513AD34D906D2A, - 4C2093BCD3528ACEDC7A2B33, - EFA8CF715611D845AB284500, - FF94FF5C4BEC605E56149EFC, - BCCFDFB2C02C4AA436C0ECF8, - 400E4C67ABCDDB1D49EBB85E, - E4BB22E27C5AA4B666F265BD, - F59077841FC17DD07060A2A9, - 084C0070BC67BC893B967EF1, - DAF84A553D264705FA6EB6FF, - A0951828C3BF47FA7E1E52F8, ); name = components; sourceTree = ""; }; - 7CF8A12404899178DC6EBF9C = {isa = PBXGroup; children = ( - 3E03B7C7A19E63A724EB79F4, - 1FA92F8F2B26C6CEC8B1D737, - 662C76394C5D1B56766FAFD9, - 9C803826E5E3FDB1B37660D5, ); name = documents; sourceTree = ""; }; - 105940C80EB9807392E04AB9 = {isa = PBXGroup; children = ( - 93B419190CCE92ACAB1ED25B, - B1963F0D8C0046E54FD9E023, - 5091B14CC87C6238CF044258, - FA04E39EE7E83D445AF9E406, - EB71BA07D6F667E69721E577, - 3F00C034B140193B3754969B, - 1C216FE9B7A5209C5CCF2517, - 786BAF436828865F45314440, - 4E8FE9B1B8C90FC28D56523B, - C094F3B6A65A79A6DF87C9C2, - FF11D6B512FDC5D887E06F66, - 0169ACAA0FAE70CCEEE4F650, - 1D3D6A19A60F0B03DE2F1C14, - F18AE75F1831D13FF53A8CCC, - 41CA95403E264AA7457A61F4, - 9C51394634F102DEBBE6C9EB, - 27A2B025813B7E54E0862642, - 7A3E96D22F1C9EB4C739834F, - D0D8B580D0689FFF4B9B823B, ); name = paintelements; sourceTree = ""; }; - BD7D64D86872DEDFCAF1CC39 = {isa = PBXGroup; children = ( - B00F60201606F195058BB575, - 04C1267B2BD11A6ECCCA654C, - 6A337C69A928E3CE79C55457, - AA8EED79F095953D2B5923B8, - D4444EC6342A2A7BC4F7BC46, - 295A9B126C98FE15F5A8B81E, - 8138A55052E9FC27284B74DD, - D87FC8F6834E9DC9C8E88B94, - 576D62C0C9C1BA4B7A514721, ); name = properties; sourceTree = ""; }; - 976B9E06EE94AA45594FEAF6 = {isa = PBXGroup; children = ( - EF30A74B566A461A171BBF83, - 263D9041F9B7D6A79DC38CD6, - 3514E78B58A08F4C98F54C5A, - 4E191CDCE7565DB726CF7065, - FBBDD70D47163D341B2F0A8D, - 98F42686D9DAC974F2514217, - 97E75A598791645465FEDCE1, - F6D3F208B6EE2A50CE1F0A18, - 9C7FA58D223674C4C2AC6595, - 1125D1B2AE54AEF2EB3D51C0, - B15E33E7342F6EB4F95C9B1D, - 4E60769DE992CA7FC1A4A486, - 16203C6791259C9718A04C3A, - B06C7C053DB0660CDA8B5C2C, - D92A6E9404A30EED32DCE4ED, - DF725A596B7BCD7520CC0A9F, - 641B57E5FAE6BEFDB6462921, - 3A5B5DC92BE6D22CA15B9671, - 921752D9B004A15973DDF56F, - 9F41F3338BF00D0FC74C6390, ); name = ui; sourceTree = ""; }; - 78FDC751FE3D97F79839DBC6 = {isa = PBXGroup; children = ( - 6CE6335290CF9C26FBE93D7C, - 7CF8A12404899178DC6EBF9C, - 105940C80EB9807392E04AB9, - BD7D64D86872DEDFCAF1CC39, - 976B9E06EE94AA45594FEAF6, + 2CD34A70B4032C0426F7AA10, ); name = Application; sourceTree = ""; }; + 6409721EDF7BFD7E0456CF67 = {isa = PBXGroup; children = ( + 4CA0F37C553CB2F45BF61A31, + CC3F520C282FC0A568F7BAEA, + 095AC6DEDB3EE95F8119C40E, + 444BFB2889D96B38D53F3A8C, ); name = Gradle; sourceTree = ""; }; + F0F189518721D46C0F94FD56 = {isa = PBXGroup; children = ( + 514F2FAFDBF535AC03FA2E6C, + 807049CA2D5B6DE18EA078F2, + 42F4AA3EF0883D506987CA99, + 69B478C992FA0B8C885946A6, + EAC1731150A7F79D59BAA0B6, + 8F4D281E98808204E2846A7D, + 194457D806A26E793584AC0C, + 432EC251A122071809471804, + B83C9BD89F31EA9E5E12A3C6, + 8FEF6F5EA676B824C021EB6F, + 8FF26BF72A522FBEAAFDDF54, + 2072D6BAE744B53B6FBBDDD8, + ED5EAC91D8A0A1911BE9F482, + AEFE3BA0C31EC78A5767A10E, + 5B3532C5F103DAC87B4A5675, + F8A38C0C7C45F2DB6A5FB812, + B1C2F8ED14BF914CD1882708, + 62922B3C0620368D1799A653, + D1739728A79A2062418B8EF0, ); name = Icons; sourceTree = ""; }; + E59ABA0D11CBAAD77179E9C6 = {isa = PBXGroup; children = ( + 016A6C52B0B93DE29197FF64, + 203FA6AD7EDDF1F9C338CC2A, + 6574A50A8997799705B23465, + 56177921580A4855917E0205, + 079802C6AEE7646010766FE8, + CC1C5F8E5DE34223FEC59673, + FB80347407261BF6CCEFDE91, + 2BD9B4556479A8A41740BCAE, + 8D9A9A373E4621F7CBFCCCEF, + 59203884BC48D3B7F8DEABA8, + 32C4B61AD995877956B7FA66, + A66F17E7472E5C19AFE98E46, + F159C1B99ACF1D91E12D978E, + 97A847B59EE04483E8850E4B, + A160AEF56553A658E6EA6A8E, + 8336A43CE1C3C26D7C7B53D8, + C7245390C6C44E89F7526CFC, + 8F67F3C0492EAFEBDBBC12DB, + E111A336FE13C033EAA0A1D1, + 9E2B1506AC3FDB7863766D59, + 023B92AC0340305762412E90, ); name = Templates; sourceTree = ""; }; + A9399733CAA07BDAB958242C = {isa = PBXGroup; children = ( + 6409721EDF7BFD7E0456CF67, + F0F189518721D46C0F94FD56, + E59ABA0D11CBAAD77179E9C6, + 41105E536155E394E54BDD35, + 5F6584B675E30761521A9F42, + 8C281F2F8EA3AD614ADF7955, + 4073A12E196BDDADE211E19F, + 58139D8D454051C59E77609B, ); name = BinaryData; sourceTree = ""; }; + F1B44F007A02A0FAE4DC8D79 = {isa = PBXGroup; children = ( + BC3B310D42C489E8B8D93327, + 51BC758EF5D33197CF543E67, + 35CAE8930F2885F9322D22D5, + 8A82061A978B03745485C3AC, + F9111E150CFF155329D44853, + 1B5BCD4899A9E295786EB642, + 332AF94C3275FEA8B878D603, + B9B130F596953116393138DC, ); name = CodeEditor; sourceTree = ""; }; + 2A1D5A24E950E00CDF969502 = {isa = PBXGroup; children = ( + 01A37DF94E98D991FEF43628, + 409C636B96A9AC1D732B96F8, + 9E62EC342665C27BA01AFC1A, + 8F731F1F98BAB42F1C3B96AA, + 11DEED05110D3D1D02FCFFB6, + 0543E83BF7D7D9234C396E82, + 630DC5EAA31D3EE60B2D989F, + 705DE88C5C4CC6C871E951B1, + A49503B646A7BD2BEEFC5CBD, + E1577F8617C75B91D7399812, + 33B258726F29360D64FD1451, + 9F959ECF8CD9B7314AE604A9, + 73DE14CEAD25D3445457013E, + 0AE75B0ACD368A4C0FBC2CD0, + 35CFCC15CBA46F4513940A2A, + 868B459E02F0877EBE3D56F1, + 8DFE6D8AFB8057790041300B, + A22F64D1E4BD4B8FA366DAAD, + 055636565C2F512E40114582, ); name = Components; sourceTree = ""; }; + 18139A4BCB7C14043C72B9E1 = {isa = PBXGroup; children = ( + BF301C2E545AEB4AC112C176, + 9F2D3E5FC10F7C3270908E97, + 1DCA18E935A35D29D2D9B6A0, + E468FDB5504C5D9315B2D04F, ); name = Documents; sourceTree = ""; }; + 497FD8DD8175790E4885736B = {isa = PBXGroup; children = ( + D6390A40B3279E0E626C78D3, + 9914F905BFCFBE5F76619670, + 8D178CAEE6D89DE33233313F, + C402C21DFAC1F8BF121144F1, + F3CC8F26ECCDA6DCD8A284D2, + 9B6FD3FEDB6D91AD0A80EF97, + 512D80BE12634967A085A1DC, + 4AE469CD40BDAD634135785E, + F073B54B36D845915CD6D2C1, + BCB6C87E3992930674E54D16, + 7031E8CB6D4D84BD980A0BD0, + 4AE72953E3B3DF06D3B9BA86, + DA4D0CC5149F7C0FBDAF34A2, + 355379844A5E6A097038C280, + 77EA01E7D04BF889930BFF54, + B97D60D2531CFD0D8555BA5C, + 36E5FBF64A89D5F2A266A5A7, + 7687A1374C60A025BDBE98DE, + D93E2F2468003DD333371F06, ); name = PaintElements; sourceTree = ""; }; + 172E2F5D29A894D0BA9231A9 = {isa = PBXGroup; children = ( + 7F0A5319912991615FC57945, + F4FD9BD16ED2700F45A68C4F, + 7E2013F425E231C6D865DDD0, + FCEBE24EA79A13713D7CBF26, + 5783563E39E48ADFC68EB84A, + 2F373F97E30AC1A0BFC1FC61, + D045BD5943BD38F2720FF5F0, + B2CB95B3F44C3CC5735051A3, + 85A5E3E71BED93B9A3E07681, ); name = Properties; sourceTree = ""; }; + 0565E54C3060E29ED38B65AB = {isa = PBXGroup; children = ( + EF25A29A2194FC107B40F65F, + 5524B5C9FC6AEAA670B92AA9, + A0BBBFBA13A1308B3CD725D5, + 00E6B87A43453B51850550E1, + 9BDF2D6255C1CB2CFF376186, + 6F02C3B7FEA3B50692A70DE5, + 39597BD78897CB711AFA945A, + 4E671236FDBD5AD4699740C6, + 351AF80A004D766E314AB76D, + EFF38AE74E7267CCC47E8AD1, + 6E70C1FA80F02D4C310F63AA, + ED69863B3D591FB3F0CA50E4, + FFE01768CF1C8DBDAA894F76, + 65FAD7F6DF65A72B741C2913, + 719B56C8587863D7AE9B69C6, + 0EE17BE4154CF1B2EE683894, + BDF6AFC5F88581AE395F1DC9, + 75BE2887C6F324B818D80A21, + 24EB4C2412821B8019D6F754, + BC623CC67AC58297BF6B4C70, ); name = UI; sourceTree = ""; }; + F6BD840F9A06F2DA891E2CB8 = {isa = PBXGroup; children = ( + 2A1D5A24E950E00CDF969502, + 18139A4BCB7C14043C72B9E1, + 497FD8DD8175790E4885736B, + 172E2F5D29A894D0BA9231A9, + 0565E54C3060E29ED38B65AB, 9EF583A6201DBC813C2F63C4, 6AC88EFC247C225CC5C11A43, 133F1E428260C5ADDF496DF9, @@ -525,73 +561,110 @@ C187718F7B9EBA88584B43F3, 66B49F08C5EC3E4974825FF8, 5432B7B9B2CF2EAEC8B66D5C, ); name = ComponentEditor; sourceTree = ""; }; - 524339C1BD702C610F2A7DAB = {isa = PBXGroup; children = ( - 8F8BF1A7130D858E0A239F9E, - 7B4E33B1E04139F359FB484B, - 9F75811FE7B5F8D1321BEC69, - DCBB17488227A2CA7D3D3947, - 0C2AD2FC0C196F440C3FF994, - C7B47372A9D5970E3D9A5400, - 8DBD2FBBC7B523D1F8AF1E54, - 46CDD8C3C86FD61741B88A69, + 144B649D98AE8316058B8281 = {isa = PBXGroup; children = ( + 51CBE59779A36D1B80B26974, + BB187CD608EB6368B29EC335, + 790F6302B9A0620F23F8A6C1, + 98E6D61BFF7D85F0E00F0FBF, ); name = Licenses; sourceTree = ""; }; + 9014CA5F3B8D23E883D6975E = {isa = PBXGroup; children = ( + 2DF5A61F3C497537634773DF, + CCEA34A55813C7C4E58254F5, + 0640E34282A97BF73CC8F1EB, + 3BBFA655E129C2D817EA47C9, ); name = UI; sourceTree = ""; }; + 20B39D53B7DAAB53C7533532 = {isa = PBXGroup; children = ( + 9014CA5F3B8D23E883D6975E, + 245C81599FB53865A74FC65B, + D251114072E67CA86D9913D6, + E1535CDF4258E7D4AB70B5E5, + DE3E6B2614229FAD56D50770, + 308084CBEE9F7D405D72A5E1, + A978DFE87D9BB5EFE5B3DAAC, + D2FE76E4CF003856278343CC, + BA186B51EE4884CD8E3F2741, + ADD6A3CF5D7DE55E57E8E38B, + A9954DC7F876A7006743ACB6, + ADA538034910F52FDD2DC88D, + 8F685EFEFD6EE399058DE842, + 159DE1FEE2099398983CDDF0, + B24E3F34C3C4EE54A60C35CC, + 55DEDCEB35AA1FB54C74B375, + 3EA27F52A254912218F4DE94, + 182CB1F96890620A202C6524, ); name = LiveBuildEngine; sourceTree = ""; }; + 236D186F5A6536C59D6E751C = {isa = PBXGroup; children = ( + 861E52D9AFECADF079BB1F2C, + 4974E7808F9B57E9A627F878, + 68C1949F56295D5871C1F223, + 5E4EB84A7983AB31366A3490, + 1C80C7672975C1FF9AAC4A4F, + E3BADF21095BC23DE2CB454F, + 95EAB6EC9B724538B93910D4, + 68F41A216E7454E7442AB1F4, ); name = Sidebar; sourceTree = ""; }; + EBC037ECAAC8156B8B19DC69 = {isa = PBXGroup; children = ( + 236D186F5A6536C59D6E751C, + 32ECBC08D903418CA0825870, + A509BC22854D50E4C786EB32, + 16751E04B0F3737BDF52CEB4, + B3528C08B84CBC950252EA69, + 1B0F18E1D96F727C062B05FA, + 92A66A8BD87F98EB6B4FB6D0, ); name = UI; sourceTree = ""; }; + 89E9055A179B4C2019B4E1AE = {isa = PBXGroup; children = ( + EBC037ECAAC8156B8B19DC69, F797071D88542C813CF7222A, 7211101FFA28400ADBB1D47A, - AFEBD8423B07599B1DE175A3, BAC43B20E14A340CCF14119C, BF3CEF080FA013E2778DCE90, - 86E468DE6556BB2AD76A3D80, - E60E28D1B7491047DEA236AE, - 32C81E19D3D68B9DDF870FE9, - 375AFDF06A908D89DEC5205F, - 47B49049B85EED74D29C9906, - 4F6365A0D2D51337151D85C3, - B8385E9A644BD3CD94876448, - 9EA541503DBADC5FFDEB0282, ); name = Project; sourceTree = ""; }; - EB15E4BA49763AC74CE29FDE = {isa = PBXGroup; children = ( - 6E7353DFEA8825B515049ABB, - DBE0CDE1B017190ABBFF557C, - 05076CDF1511A5F8A8E18F1D, - C8A229ACD244F402C57286CD, - 974B862C51DA9A16CBBB3A29, - F71AF6D2DF3E652F8B51EBAB, - 35CB48D497F35BF3F6998F5D, - 14A24BB4AB7B81D40EF062E5, - 9C04F9680F82BF279D528688, - D10D51A0A2D63F38B4D86A60, - C9616830BB2474066AC8C910, ); name = "Project Saving"; sourceTree = ""; }; - 6580E53C420AA794542CC8D7 = {isa = PBXGroup; children = ( - A32FE0EBE29FABE58E664E67, - 934C3778397D89F8C535E417, - 9B9CAD20E1243B4351B4C8D8, - 914ADDB50ED7365F08BA91F9, - DF78EF6242D82F912534A277, - 188D03A4247F4BC0539F5C49, - C15220EDA1A8315DA3255E87, - 1729AEDC34001C31B8CC357C, - 553725A0E3A391651ED1731E, - 35A36102EAD2D2620EE99E7E, - E382C78A1D837DD98916E86A, - 4856DA6706D794E2D89DAB63, - CF21D9DB3AEC0A4DCAB36A99, - 515FF6E74826E3E3F7273621, - 47DD50A5A9091F9900E0EAD9, - 820291543BF93243B718F0EE, - 0F249640243FBD5717F6ADD9, - 4A41FD3066D0979DB48691E5, - 1AF7EFBE4961C7B6C834BF54, - 87414819D9DE343EA28E0AAD, - BCB819DDDD2AC13632CA502F, - 1F421199C40092BFEE0658C2, - 20FAAE9F3A7B96C2D8C75BB2, - C22791DB75870C4F102AA8A3, - 631983AA62673015F8D7453B, - 9BC8AE609A07657CEF587548, - B0D2198D1261755918CD454D, - 8C67B567CF362A163D24B3B1, - 546593F6EA70EABF708772FE, - 7F29F77B1C00A9704E6D0859, - 8090981F07A76E465DAAADF4, ); name = Utility; sourceTree = ""; }; - C5A691BE7288ADA68DC8D39A = {isa = PBXGroup; children = ( + B8385E9A644BD3CD94876448, ); name = Project; sourceTree = ""; }; + 4DCC5D64BBE8DE85360A3D57 = {isa = PBXGroup; children = ( + CCD62DB0A19A985A4B9D7F32, + FA790C59A304579F660F112F, + 59520B8137E6A2E483074399, + FF68231DE2B395461009116C, + 2D3715751E901915E416301D, + C3BB9F92B02B06D04A73794C, + 8DBB36126CD144A8364F1F19, + 4FF81FC167C924C47BD8C1C9, + 9EE3141E20C9CE3EA182FA04, + E13A54A6D3A1895EACE53E51, + 25BE1265FE6C6EA3473A3A0A, ); name = ProjectSaving; sourceTree = ""; }; + EC535A977A1A114BC5DAE7B3 = {isa = PBXGroup; children = ( + BE618CE21C794BDEE319E328, + E2B668E2A65AEE8F07B406C8, + F5DD97B45B8EA60C1ED0DD80, + DFBEB8E086832AEB0FBEADF0, ); name = Settings; sourceTree = ""; }; + AA2CBF47682AE479C1A387BE = {isa = PBXGroup; children = ( + F2E4998FB2C7221587A79F8B, + 23D79A22569BEDF63B57DD36, + C3E04CD5A93A45154894E624, + B403AF75EAF361ED74EE476E, + E186BC01A1B1529937A46485, + 486E8D02DAD2A0BF54A901C0, + 983CFBA01CA8811F30FA7F4C, + 58F1FF52E887887A93E84FC2, + A6C4AE13FB409DE414094CFA, + 6FD8DBC0FF42C87D8BEE2452, + 00515BA4EC5A7D4DC078ED37, ); name = Helpers; sourceTree = ""; }; + 15F56361B9CF3E0BE705E64D = {isa = PBXGroup; children = ( + 9EB33734D0DBD0370AB1247B, + D859E9EA11A71BD6E85DC649, + F8F94093A0963D86BD27A95D, + E367FC2BDAF5EBA48D767FBB, + 25EC5A11CA56CAF4468C4D9C, ); name = PropertyComponents; sourceTree = ""; }; + DD068F16F341D15E150CE6F1 = {isa = PBXGroup; children = ( + 15F56361B9CF3E0BE705E64D, + 169DD91232C070C4D6470B31, + 846B2A670C5A19DE0039E11A, + C59E624F099CC785F27429EB, + 4D5F0CA8D1273144681A1D48, + 00841B7EDDE9C19890F03267, + 0F8C000E5FF4A2DAC1FEF8EB, + FE20FE5805A02A4843048200, + 0CECD562059DFD7FBFB37E3C, + 3D6FD9C0065BF16568EC0AB7, + 28D0199327887FFABF9C3F20, ); name = UI; sourceTree = ""; }; + 2B1F885AA027E1A76A1C32E3 = {isa = PBXGroup; children = ( + AA2CBF47682AE479C1A387BE, + DD068F16F341D15E150CE6F1, ); name = Utility; sourceTree = ""; }; + 73BAA89A783BBDD79AA27964 = {isa = PBXGroup; children = ( A69024A225F2AC31F17B1314, 11DC04468BC6023671017EBF, 087CB3A961CD3C7434D660A4, @@ -609,73 +682,18 @@ 471C7B0A8B92320AF0C80839, 714267352CE5C4357ADBC231, C09BBB58CA45B66D693E8C31, ); name = Wizards; sourceTree = ""; }; - 645F98392B3C8E92EE64B533 = {isa = PBXGroup; children = ( - 129F2DE0FEF154F8F8C7A74E, - 0B24F292A357ABFD9BCC6D7F, - 576A92E1E0D8F453EC0FEB34, - 996E472B82A75531875A5E38, ); name = gradle; sourceTree = ""; }; - C76CE0579AC77DF56E755836 = {isa = PBXGroup; children = ( - 468BFFBE4DA7835DD40C5FE8, - E3B56C5718D87CA0EFCB2662, - 0075C5208947159AF2802F3B, - AFF72BA2B130F3F9AC029080, - 65F4749184C84C2FDBB4C305, - 03D3053EDE47FED1919C6674, - DC922C6A65D260C18E888E49, - 963E0740B7B4D59EF2D16740, - 9683B04CA3BD7F73E8236FE2, - 35E6EE1E98DD7050DDFECD9B, - 24C34D0578AE6C7A3EA18781, - 18D9EBA1DAE45EEF81FD5C8F, - AE1BC6DCCFC1A18E2ACE23F1, - E4BD4C43370651B49F75855B, - 86E8A40E5A83781A8478454D, - 61BE37E2B26C25056D9E8FE2, - E2374E15D65425C4101237E2, - CF8011B3C67B609032974DA5, - 53151B683E11F420203E61C2, - F7CAB5BC15EE351949D3F2C3, - 73B9F17FE55A02C2BB87E008, ); name = templates; sourceTree = ""; }; - 63EE1C3AC218E509130AF2BA = {isa = PBXGroup; children = ( - 645F98392B3C8E92EE64B533, - C76CE0579AC77DF56E755836, - BB9C1E6E54A16F795908C469, - 301592EBAC0FFF6F5B268E99, - 41105E536155E394E54BDD35, - 5F6584B675E30761521A9F42, - 1C73D7591E63E8018E279716, - B73B25AD624B88B29EA0589C, - 6DA8A2AEF943230FF7DB510B, - 56C3CA379E90628CCB5BC37C, - B3FA8ADA3F66D5EE0C0E5CBE, - 66DEA1923FE5B9A614C7E9DC, - 5F1C141139AA646EABD72145, - B483D960309FAFC193F9CDA2, - 8C281F2F8EA3AD614ADF7955, - 4073A12E196BDDADE211E19F, - A973D33C0CE829AD293E035B, - 58139D8D454051C59E77609B, - 7B6E461262D8822132135F56, - E1D8CCD9F4ACBE1EC1D5BEA0, - F5885B5AAF46864D562D5B83, - FB61FEC24C6C031EB0455B0A, - 7256D1C79741E66E2C002EE2, - F4B63624DBF543082235F821, - 1D99EA99F946D665FE583414, - 358DA8CCDC8FA5B0D62D6CA3, - A4D275622A4B115AABE190A4, - 0DB0A9E30EEDDEA720BC5A03, ); name = BinaryData; sourceTree = ""; }; D3109994DA6AD871BE85C4E2 = {isa = PBXGroup; children = ( - 48618F36B2E3C15A7B0F63AC, - DD016058D39CAFA2C86BAF40, - 82B98DB2654A087911E8157F, - 142DEF17A4C953926833D7F8, - 78FDC751FE3D97F79839DBC6, - 524339C1BD702C610F2A7DAB, - EB15E4BA49763AC74CE29FDE, - 6580E53C420AA794542CC8D7, - C5A691BE7288ADA68DC8D39A, - 63EE1C3AC218E509130AF2BA, ); name = Projucer; sourceTree = ""; }; + BC67FD952A6F210A11A1ECB8, + A9399733CAA07BDAB958242C, + F1B44F007A02A0FAE4DC8D79, + F6BD840F9A06F2DA891E2CB8, + 144B649D98AE8316058B8281, + 20B39D53B7DAAB53C7533532, + 89E9055A179B4C2019B4E1AE, + 4DCC5D64BBE8DE85360A3D57, + EC535A977A1A114BC5DAE7B3, + 2B1F885AA027E1A76A1C32E3, + 73BAA89A783BBDD79AA27964, ); name = Projucer; sourceTree = ""; }; 8A24D1B6925535A868974986 = {isa = PBXGroup; children = ( BA159A3B7D129771F5C15EA3, AA1C44E89D792DDC4867B2C8, @@ -698,8 +716,7 @@ 364D1A9B113320407A7E57B9, ); name = "Juce Library Code"; sourceTree = ""; }; 8180B5894A78501084B8F133 = {isa = PBXGroup; children = ( E266DE67FF319D56F63193A6, - 6678E9B3EEACAD47F438B264, - 951128CA33CCDEF570436B1C, ); name = Resources; sourceTree = ""; }; + 6678E9B3EEACAD47F438B264, ); name = Resources; sourceTree = ""; }; 0FFEF043CA89142B18C79ABE = {isa = PBXGroup; children = ( 80D62B907248523E6943298B, 5A75806B34E4EA6598A6024A, @@ -874,55 +891,54 @@ 0CC6C439D038EDA0D7F10DF0, 0BC15DC2E5FE5ECFFB398D49, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; C262D0F297DDE25326F5AC81 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2610F357881240ACBF612F48, - 1321E6C1C6170B6C898AD09D, ); runOnlyForDeploymentPostprocessing = 0; }; + 2610F357881240ACBF612F48, ); runOnlyForDeploymentPostprocessing = 0; }; 5CB869A8DA78BE6FA2757034 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 357A6AA6960EF95D92929BEE, 6DD9DA1677A6CF789CDAB478, 954A036F5DDB375DB23FFB3E, - 3EB3D569250C4BA4CA9AF578, - 636D21BF846031A6A1A7476A, 95B44E6C74B1DED31DBE37EB, AA9D0B8E23F3D87A23DE9F8A, - 244BA1BDA5FAA465EA3F9C6D, - 6FD0752A5CADCF60D79FDBB7, - 85B5E65F8DD80938BFBDCE61, - D805169E01D7F90B01C11769, - FCE6F604C00039A32649CB69, - 9BF773500BA51A8B5C6C7348, - 57B1F32A372143B4D3B1C517, - 3DC282564876B1FC88AAA9B3, - C49E1D32A9DCE3D59BC48B1D, - E1268E019B434F6B5E9317DC, - CE91112DADB97C573C3C674D, - A70F0274076C0D44ED71C980, - BD1E0CBE74DDD2F303978E1F, - 8C1CC0E7A772D66635BA482F, - A69BF71FA90E5A66B6EB2E0F, - D68DE111AFBD82F0D44A3B69, - EC6A34EC9A9D454BF26AAD32, - 8AD28823205783E6F676F254, - 34716A3539FD288C09CBA38A, + 09C4EDDF7F8B6E75EA3CE3A9, + 71713DE4716DCEDB45A206E2, + 940CE4E081E9E685243C07AA, + 49EEEA5B74D38F3C5A8794F1, + 6FD9428439B572B558EF64EA, + 6EAAAAB0C2B2DA259B26D63C, + 4C0F95265A230E5A8717A0A9, + FFA8B18CDF2D2AA500698A96, + 7D750EF5FCE1E1A461D435BE, + 537ABF1DB09DDBD1542A2B0C, + 290F2CD930097091B8DB122E, + 4B2F2DAA45060D3F250D0AE4, + BDD30804C9424526A1122A28, + 37D582DA2227E004BFA237EC, + 9B8ED9D50406E5D75DEE57F5, + 89116B0BD882B51C63A84425, + 63D97E01F2C4C91037CB65BD, 45A53AF13B0D663050632E8C, C2A85091A28C907A4E1E1687, 83431B7234A78ECFB3C15F63, 209FCCC2155A1FCB7E11E20D, C93569F47B4AC1A8E37992ED, 1B988E139004D8E2850EB656, - 3D777382FE212D59BAF871FD, + 6FD0752A5CADCF60D79FDBB7, + D25EBE02B55DB244BE0D5635, + 85E7FCB0516EFF853FA7B380, + CC6C4D351BA9B473E5F95791, 3FCA61C401007B243E2E9035, 30B921C38DCEE787B294B746, - 1F37544891EC8DBB5E500C1C, - 0C5F43C262695A3EB7A9E1C0, - 110221CD5578153B528AD2BE, - CD4F7B119CE718BCE78D61F4, - 78CB463DD98A55313A543859, - 1499DF2E85B05AC1BF423773, - 123810DAF8AF758928916ECE, - C9F11BA62D6D092A300363F7, - 9EAF9BE59FFE0BD49410B10E, - 4A1DB797F1356E85110FF871, - F6635694A01FFBF5EF0968DB, + 244567D3AE2E417A8CB2B95E, + 26D6AEA321E80ABCC3CCCCD1, + 4E6DC4778D583C48C3CCD4DC, + EE722B47BC36CC8A87E0FB76, + 2DF375B40A64BB3778F7ABD1, + 8BE478303CDF061B72F219E2, + BF913199032B4CE970E82AA3, + 25EF9B3FECB4C9F0F522DCAA, + 2BEC1197D981951D8A897F01, + D0E26EB54B0087C8BE3D541E, + 468548FB21D264DC12321327, + 6ECB2F11D2F593FACCCF99DB, + 95F56FB44C669F93AE77E465, 518DD443B6F17A5AFD707263, B7EBA1A83575F48CD08140B9, 3C5267E06A897B0DC0F7EA50, diff --git a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj index 5398caf988..8341a236b7 100644 --- a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj @@ -101,6 +101,7 @@ true $(IntDir)\Projucer.bsc + @@ -143,101 +144,102 @@ true $(IntDir)\Projucer.bsc + - true - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + - + + + + + + true + - - true - - - - - - - - - - - - + + + + + + + + + + + + + - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1385,97 +1387,91 @@ - + + + + + + + + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1483,54 +1479,71 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1546,14 +1559,6 @@ - - - - - - - - @@ -1947,39 +1952,36 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - diff --git a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters index 89edf17b85..2fe5d3e590 100644 --- a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters @@ -2,41 +2,77 @@ + + {DC7E18A5-E854-3D99-627F-AAA88246B712} + {4F8BCD36-CE20-D951-FB82-2CCEDD0C5898} - - {E5D23B90-895E-EB0B-AC18-C7EBB25546AE} + + {CCBE7B90-B600-DF59-8641-D4FD8FA0C88B} - - {0A3B9446-F50B-3D4E-230F-7ED493541A07} + + {3A77FAA0-7E92-6D59-9C5F-BAAA2BF82833} - - {5405FC41-BFE2-A51C-0AE7-96B19E9AFBCF} + + {D8DD148A-AB2B-B485-520B-8924DA606099} - - {0560E4F4-F24D-870A-444C-9BC16D918768} + + {FE290DF2-C600-4159-D484-7F48DB498EBE} - - {D2D3D7D7-2F4C-85E4-1C43-9D4F9E558BF4} + + {DE3E40F0-B495-2AC0-52AF-AA073FFE8E4C} - - {AA9D8157-1521-DB4F-B8EB-B7EF407D9FAD} + + {A61A4546-CC78-CCFD-CC99-D5CD03650B08} - - {5208559E-5151-522B-610E-4A7D10D0709F} + + {485EE240-BE7D-E5FD-07C2-760B7401D5F3} - - {ACB81B1C-458D-6018-E92B-663C616374C1} + + {35957741-E3A5-47F8-86DC-FDE691866C74} + + + {16DF510D-120E-D924-C478-E1E82643ED83} + + + {3207865A-047C-278E-870A-BC204B74ECB3} {5F21E507-E5E8-0A74-F1AE-874BB67C26CC} + + {E5D23B90-895E-EB0B-AC18-C7EBB25546AE} + + + {E880260F-D9FB-64B6-244B-6F06B70FE9EE} + + + {0A3B9446-F50B-3D4E-230F-7ED493541A07} + + + {A0A94AE6-B447-151A-D0DA-FAE9B5410EBF} + + + {D2E33EF7-EDDC-06BA-9343-EF957E30A158} + {BBF7BD20-FB7D-59E5-D1DD-3E6F1455CA02} - - {9F94CAA6-D93A-E34C-3744-8DB22A7D65DD} + + {C4676327-23FA-ED8F-1881-BC5E53840936} + + + {FAD9788E-4FE6-172B-0E32-913C0C8FC2FB} + + + {A353D068-8C43-A573-8460-59B6BA167F83} + + + {ACCBC32A-58D5-1EC6-FC4D-B3B32CB6588E} + + + {A90A32B8-1A07-8900-6E90-EC981F56EC9D} {F77CA057-8DE4-E076-7EB6-D2646794864B} @@ -44,15 +80,6 @@ {4BBA3556-B2A1-3008-8BE1-F82DE6666552} - - {661FA330-2192-FAA3-E7B2-FAF8EBB783C6} - - - {DD0D745A-044A-A337-0DBA-0816C2E7C767} - - - {FE290DF2-C600-4159-D484-7F48DB498EBE} - {7DBEF27C-2AFE-DA02-1DBF-E80FAAC99EA7} @@ -268,9 +295,6 @@ - - Projucer\Application - Projucer\Application @@ -280,74 +304,101 @@ Projucer\Application - - Projucer\Application - - - Projucer\Application - Projucer\Application Projucer\Application - - Projucer\Application + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\Code Editor + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\components + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\documents + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\documents + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\paintelements + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\paintelements + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\paintelements + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\ui + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\ui + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\ui + + Projucer\CodeEditor - - Projucer\ComponentEditor\ui + + Projucer\CodeEditor - - Projucer\ComponentEditor\ui + + Projucer\CodeEditor - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\Documents - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\Documents + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI Projucer\ComponentEditor @@ -367,8 +418,20 @@ Projucer\ComponentEditor - - Projucer\Project + + Projucer\Licenses + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\Project\UI Projucer\Project @@ -376,41 +439,44 @@ Projucer\Project - - Projucer\Project + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\Settings - - Projucer\Utility + + Projucer\Settings - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI + + + Projucer\Utility\UI Projucer\Wizards @@ -418,45 +484,6 @@ Projucer\Wizards - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - Juce Modules\juce_core\containers @@ -1701,8 +1728,29 @@ - - Projucer\Application + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows Projucer\Application @@ -1719,260 +1767,221 @@ Projucer\Application - - Projucer\Application - - - Projucer\Application - - - Projucer\Application - - + Projucer\Application Projucer\Application - - Projucer\Application + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\Code Editor + + Projucer\ComponentEditor\Components - - Projucer\Code Editor + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Documents - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Documents - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\documents + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\documents + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\UI Projucer\ComponentEditor @@ -1995,149 +2004,200 @@ Projucer\ComponentEditor - - Projucer\Project + + Projucer\Licenses - - Projucer\Project + + Projucer\Licenses - - Projucer\Project + + Projucer\Licenses - - Projucer\Project + + Projucer\LiveBuildEngine\UI - - Projucer\Project + + Projucer\LiveBuildEngine\UI - - Projucer\Project + + Projucer\LiveBuildEngine\UI - - Projucer\Project + + Projucer\LiveBuildEngine\UI + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI Projucer\Project - - Projucer\Project - Projucer\Project - - Projucer\Project - - - Projucer\Project - - - Projucer\Project - - - Projucer\Project - - - Projucer\Project - Projucer\Project - - Projucer\Project + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\Settings - - Projucer\Utility + + Projucer\Settings - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility - - - Projucer\Utility - - - Projucer\Utility - - - Projucer\Utility - - - Projucer\Utility + + Projucer\Utility\UI Projucer\Wizards @@ -2184,30 +2244,6 @@ Projucer\Wizards - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - Juce Modules\juce_core\containers @@ -3383,23 +3419,74 @@ - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData + + Projucer\BinaryData\Icons - - Projucer\BinaryData + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons Projucer\BinaryData @@ -3407,81 +3494,21 @@ Projucer\BinaryData - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - Projucer\BinaryData Projucer\BinaryData - - Projucer\BinaryData - Projucer\BinaryData - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - Juce Modules\juce_graphics\image_formats\jpglib Juce Modules\juce_graphics\image_formats\pnglib - - Juce Library Code - diff --git a/extras/Projucer/Builds/VisualStudio2013/resources.rc b/extras/Projucer/Builds/VisualStudio2013/resources.rc index 09499a2f88..c88cbde3cf 100644 --- a/extras/Projucer/Builds/VisualStudio2013/resources.rc +++ b/extras/Projucer/Builds/VisualStudio2013/resources.rc @@ -28,6 +28,3 @@ BEGIN END #endif - -IDI_ICON1 ICON DISCARDABLE "icon.ico" -IDI_ICON2 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj index 0bc3af50d4..938147607a 100644 --- a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj @@ -101,6 +101,7 @@ true $(IntDir)\Projucer.bsc + @@ -143,101 +144,102 @@ true $(IntDir)\Projucer.bsc + - true - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + - + + + + + + true + - - true - - - - - - - - - - - - + + + + + + + + + + + + + - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1385,97 +1387,91 @@ - + + + + + + + + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1483,54 +1479,71 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1546,14 +1559,6 @@ - - - - - - - - @@ -1947,39 +1952,36 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - diff --git a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters index 7f87f24c46..02ffbfd20e 100644 --- a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters @@ -2,41 +2,77 @@ + + {DC7E18A5-E854-3D99-627F-AAA88246B712} + {4F8BCD36-CE20-D951-FB82-2CCEDD0C5898} - - {E5D23B90-895E-EB0B-AC18-C7EBB25546AE} + + {CCBE7B90-B600-DF59-8641-D4FD8FA0C88B} - - {0A3B9446-F50B-3D4E-230F-7ED493541A07} + + {3A77FAA0-7E92-6D59-9C5F-BAAA2BF82833} - - {5405FC41-BFE2-A51C-0AE7-96B19E9AFBCF} + + {D8DD148A-AB2B-B485-520B-8924DA606099} - - {0560E4F4-F24D-870A-444C-9BC16D918768} + + {FE290DF2-C600-4159-D484-7F48DB498EBE} - - {D2D3D7D7-2F4C-85E4-1C43-9D4F9E558BF4} + + {DE3E40F0-B495-2AC0-52AF-AA073FFE8E4C} - - {AA9D8157-1521-DB4F-B8EB-B7EF407D9FAD} + + {A61A4546-CC78-CCFD-CC99-D5CD03650B08} - - {5208559E-5151-522B-610E-4A7D10D0709F} + + {485EE240-BE7D-E5FD-07C2-760B7401D5F3} - - {ACB81B1C-458D-6018-E92B-663C616374C1} + + {35957741-E3A5-47F8-86DC-FDE691866C74} + + + {16DF510D-120E-D924-C478-E1E82643ED83} + + + {3207865A-047C-278E-870A-BC204B74ECB3} {5F21E507-E5E8-0A74-F1AE-874BB67C26CC} + + {E5D23B90-895E-EB0B-AC18-C7EBB25546AE} + + + {E880260F-D9FB-64B6-244B-6F06B70FE9EE} + + + {0A3B9446-F50B-3D4E-230F-7ED493541A07} + + + {A0A94AE6-B447-151A-D0DA-FAE9B5410EBF} + + + {D2E33EF7-EDDC-06BA-9343-EF957E30A158} + {BBF7BD20-FB7D-59E5-D1DD-3E6F1455CA02} - - {9F94CAA6-D93A-E34C-3744-8DB22A7D65DD} + + {C4676327-23FA-ED8F-1881-BC5E53840936} + + + {FAD9788E-4FE6-172B-0E32-913C0C8FC2FB} + + + {A353D068-8C43-A573-8460-59B6BA167F83} + + + {ACCBC32A-58D5-1EC6-FC4D-B3B32CB6588E} + + + {A90A32B8-1A07-8900-6E90-EC981F56EC9D} {F77CA057-8DE4-E076-7EB6-D2646794864B} @@ -44,15 +80,6 @@ {4BBA3556-B2A1-3008-8BE1-F82DE6666552} - - {661FA330-2192-FAA3-E7B2-FAF8EBB783C6} - - - {DD0D745A-044A-A337-0DBA-0816C2E7C767} - - - {FE290DF2-C600-4159-D484-7F48DB498EBE} - {7DBEF27C-2AFE-DA02-1DBF-E80FAAC99EA7} @@ -268,9 +295,6 @@ - - Projucer\Application - Projucer\Application @@ -280,74 +304,101 @@ Projucer\Application - - Projucer\Application - - - Projucer\Application - Projucer\Application Projucer\Application - - Projucer\Application + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\Code Editor + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\components + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\documents + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\documents + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\paintelements + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\paintelements + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\paintelements + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\ui + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\ui + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\ui + + Projucer\CodeEditor - - Projucer\ComponentEditor\ui + + Projucer\CodeEditor - - Projucer\ComponentEditor\ui + + Projucer\CodeEditor - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\Documents - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\Documents + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI Projucer\ComponentEditor @@ -367,8 +418,20 @@ Projucer\ComponentEditor - - Projucer\Project + + Projucer\Licenses + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\Project\UI Projucer\Project @@ -376,41 +439,44 @@ Projucer\Project - - Projucer\Project + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\Settings - - Projucer\Utility + + Projucer\Settings - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI + + + Projucer\Utility\UI Projucer\Wizards @@ -418,45 +484,6 @@ Projucer\Wizards - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - Juce Modules\juce_core\containers @@ -1701,8 +1728,29 @@ - - Projucer\Application + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows Projucer\Application @@ -1719,260 +1767,221 @@ Projucer\Application - - Projucer\Application - - - Projucer\Application - - - Projucer\Application - - + Projucer\Application Projucer\Application - - Projucer\Application + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\Code Editor + + Projucer\ComponentEditor\Components - - Projucer\Code Editor + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Documents - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Documents - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\documents + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\documents + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\UI Projucer\ComponentEditor @@ -1995,149 +2004,200 @@ Projucer\ComponentEditor - - Projucer\Project + + Projucer\Licenses - - Projucer\Project + + Projucer\Licenses - - Projucer\Project + + Projucer\Licenses - - Projucer\Project + + Projucer\LiveBuildEngine\UI - - Projucer\Project + + Projucer\LiveBuildEngine\UI - - Projucer\Project + + Projucer\LiveBuildEngine\UI - - Projucer\Project + + Projucer\LiveBuildEngine\UI + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI Projucer\Project - - Projucer\Project - Projucer\Project - - Projucer\Project - - - Projucer\Project - - - Projucer\Project - - - Projucer\Project - - - Projucer\Project - Projucer\Project - - Projucer\Project + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\Settings - - Projucer\Utility + + Projucer\Settings - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility - - - Projucer\Utility - - - Projucer\Utility - - - Projucer\Utility - - - Projucer\Utility + + Projucer\Utility\UI Projucer\Wizards @@ -2184,30 +2244,6 @@ Projucer\Wizards - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - Juce Modules\juce_core\containers @@ -3383,23 +3419,74 @@ - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData + + Projucer\BinaryData\Icons - - Projucer\BinaryData + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons Projucer\BinaryData @@ -3407,81 +3494,21 @@ Projucer\BinaryData - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - Projucer\BinaryData Projucer\BinaryData - - Projucer\BinaryData - Projucer\BinaryData - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - Juce Modules\juce_graphics\image_formats\jpglib Juce Modules\juce_graphics\image_formats\pnglib - - Juce Library Code - diff --git a/extras/Projucer/Builds/VisualStudio2015/resources.rc b/extras/Projucer/Builds/VisualStudio2015/resources.rc index 09499a2f88..c88cbde3cf 100644 --- a/extras/Projucer/Builds/VisualStudio2015/resources.rc +++ b/extras/Projucer/Builds/VisualStudio2015/resources.rc @@ -28,6 +28,3 @@ BEGIN END #endif - -IDI_ICON1 ICON DISCARDABLE "icon.ico" -IDI_ICON2 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj index 4016040ec2..236d325480 100644 --- a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj @@ -101,6 +101,7 @@ true $(IntDir)\Projucer.bsc + @@ -143,101 +144,102 @@ true $(IntDir)\Projucer.bsc + - true - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + - + + + + + + true + - - true - - - - - - - - - - - - + + + + + + + + + + + + + - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1385,97 +1387,91 @@ - + + + + + + + + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1483,54 +1479,71 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1546,14 +1559,6 @@ - - - - - - - - @@ -1947,39 +1952,36 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters index 7966e2a7ce..5f7bd32640 100644 --- a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters @@ -2,41 +2,77 @@ + + {DC7E18A5-E854-3D99-627F-AAA88246B712} + {4F8BCD36-CE20-D951-FB82-2CCEDD0C5898} - - {E5D23B90-895E-EB0B-AC18-C7EBB25546AE} + + {CCBE7B90-B600-DF59-8641-D4FD8FA0C88B} - - {0A3B9446-F50B-3D4E-230F-7ED493541A07} + + {3A77FAA0-7E92-6D59-9C5F-BAAA2BF82833} - - {5405FC41-BFE2-A51C-0AE7-96B19E9AFBCF} + + {D8DD148A-AB2B-B485-520B-8924DA606099} - - {0560E4F4-F24D-870A-444C-9BC16D918768} + + {FE290DF2-C600-4159-D484-7F48DB498EBE} - - {D2D3D7D7-2F4C-85E4-1C43-9D4F9E558BF4} + + {DE3E40F0-B495-2AC0-52AF-AA073FFE8E4C} - - {AA9D8157-1521-DB4F-B8EB-B7EF407D9FAD} + + {A61A4546-CC78-CCFD-CC99-D5CD03650B08} - - {5208559E-5151-522B-610E-4A7D10D0709F} + + {485EE240-BE7D-E5FD-07C2-760B7401D5F3} - - {ACB81B1C-458D-6018-E92B-663C616374C1} + + {35957741-E3A5-47F8-86DC-FDE691866C74} + + + {16DF510D-120E-D924-C478-E1E82643ED83} + + + {3207865A-047C-278E-870A-BC204B74ECB3} {5F21E507-E5E8-0A74-F1AE-874BB67C26CC} + + {E5D23B90-895E-EB0B-AC18-C7EBB25546AE} + + + {E880260F-D9FB-64B6-244B-6F06B70FE9EE} + + + {0A3B9446-F50B-3D4E-230F-7ED493541A07} + + + {A0A94AE6-B447-151A-D0DA-FAE9B5410EBF} + + + {D2E33EF7-EDDC-06BA-9343-EF957E30A158} + {BBF7BD20-FB7D-59E5-D1DD-3E6F1455CA02} - - {9F94CAA6-D93A-E34C-3744-8DB22A7D65DD} + + {C4676327-23FA-ED8F-1881-BC5E53840936} + + + {FAD9788E-4FE6-172B-0E32-913C0C8FC2FB} + + + {A353D068-8C43-A573-8460-59B6BA167F83} + + + {ACCBC32A-58D5-1EC6-FC4D-B3B32CB6588E} + + + {A90A32B8-1A07-8900-6E90-EC981F56EC9D} {F77CA057-8DE4-E076-7EB6-D2646794864B} @@ -44,15 +80,6 @@ {4BBA3556-B2A1-3008-8BE1-F82DE6666552} - - {661FA330-2192-FAA3-E7B2-FAF8EBB783C6} - - - {DD0D745A-044A-A337-0DBA-0816C2E7C767} - - - {FE290DF2-C600-4159-D484-7F48DB498EBE} - {7DBEF27C-2AFE-DA02-1DBF-E80FAAC99EA7} @@ -268,9 +295,6 @@ - - Projucer\Application - Projucer\Application @@ -280,74 +304,101 @@ Projucer\Application - - Projucer\Application - - - Projucer\Application - Projucer\Application Projucer\Application - - Projucer\Application + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\Code Editor + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\components + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\documents + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\documents + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\paintelements + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\paintelements + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\paintelements + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\ui + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\ui + + Projucer\BinaryData\Templates - - Projucer\ComponentEditor\ui + + Projucer\CodeEditor - - Projucer\ComponentEditor\ui + + Projucer\CodeEditor - - Projucer\ComponentEditor\ui + + Projucer\CodeEditor - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\Documents - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\Documents + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI Projucer\ComponentEditor @@ -367,8 +418,20 @@ Projucer\ComponentEditor - - Projucer\Project + + Projucer\Licenses + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\Project\UI Projucer\Project @@ -376,41 +439,44 @@ Projucer\Project - - Projucer\Project + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\Settings - - Projucer\Utility + + Projucer\Settings - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI + + + Projucer\Utility\UI Projucer\Wizards @@ -418,45 +484,6 @@ Projucer\Wizards - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - Juce Modules\juce_core\containers @@ -1701,8 +1728,29 @@ - - Projucer\Application + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows Projucer\Application @@ -1719,260 +1767,221 @@ Projucer\Application - - Projucer\Application - - - Projucer\Application - - - Projucer\Application - - + Projucer\Application Projucer\Application - - Projucer\Application + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\Licenses + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\BinaryData\Templates - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\CodeEditor - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\LiveBuildEngine + + Projucer\ComponentEditor\Components - - Projucer\Code Editor + + Projucer\ComponentEditor\Components - - Projucer\Code Editor + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Components - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Documents - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\Documents - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\components + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\documents + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\documents + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\PaintElements - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\Properties - - Projucer\ComponentEditor\paintelements + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\properties + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\UI - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui - - - Projucer\ComponentEditor\ui + + Projucer\ComponentEditor\UI Projucer\ComponentEditor @@ -1995,149 +2004,200 @@ Projucer\ComponentEditor - - Projucer\Project + + Projucer\Licenses - - Projucer\Project + + Projucer\Licenses - - Projucer\Project + + Projucer\Licenses - - Projucer\Project + + Projucer\LiveBuildEngine\UI - - Projucer\Project + + Projucer\LiveBuildEngine\UI - - Projucer\Project + + Projucer\LiveBuildEngine\UI - - Projucer\Project + + Projucer\LiveBuildEngine\UI + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI Projucer\Project - - Projucer\Project - Projucer\Project - - Projucer\Project - - - Projucer\Project - - - Projucer\Project - - - Projucer\Project - - - Projucer\Project - Projucer\Project - - Projucer\Project + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\ProjectSaving - - Projucer\Project Saving + + Projucer\Settings - - Projucer\Utility + + Projucer\Settings - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\Helpers - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI\PropertyComponents - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility + + Projucer\Utility\UI - - Projucer\Utility - - - Projucer\Utility - - - Projucer\Utility - - - Projucer\Utility - - - Projucer\Utility + + Projucer\Utility\UI Projucer\Wizards @@ -2184,30 +2244,6 @@ Projucer\Wizards - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - - - Projucer\BinaryData\templates - Juce Modules\juce_core\containers @@ -3383,23 +3419,74 @@ - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData\gradle + + Projucer\BinaryData\Gradle - - Projucer\BinaryData + + Projucer\BinaryData\Icons - - Projucer\BinaryData + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons Projucer\BinaryData @@ -3407,81 +3494,21 @@ Projucer\BinaryData - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - Projucer\BinaryData Projucer\BinaryData - - Projucer\BinaryData - Projucer\BinaryData - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - - - Projucer\BinaryData - Juce Modules\juce_graphics\image_formats\jpglib Juce Modules\juce_graphics\image_formats\pnglib - - Juce Library Code - diff --git a/extras/Projucer/Builds/VisualStudio2017/resources.rc b/extras/Projucer/Builds/VisualStudio2017/resources.rc index 09499a2f88..c88cbde3cf 100644 --- a/extras/Projucer/Builds/VisualStudio2017/resources.rc +++ b/extras/Projucer/Builds/VisualStudio2017/resources.rc @@ -28,6 +28,3 @@ BEGIN END #endif - -IDI_ICON1 ICON DISCARDABLE "icon.ico" -IDI_ICON2 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.cpp b/extras/Projucer/JuceLibraryCode/BinaryData.cpp index 543a94bc05..7e84416e26 100644 --- a/extras/Projucer/JuceLibraryCode/BinaryData.cpp +++ b/extras/Projucer/JuceLibraryCode/BinaryData.cpp @@ -1229,1350 +1229,8 @@ static const unsigned char temp_binary_data_3[] = const char* LICENSE = (const char*) temp_binary_data_3; -//================== jucer_AnimatedComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_4[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -" This component lives inside our window, and this is where you should put all\r\n" -" your controls and content.\r\n" -"*/\r\n" -"class MainContentComponent : public AnimatedAppComponent\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" MainContentComponent()\r\n" -" {\r\n" -" setSize (800, 600);\r\n" -" setFramesPerSecond (60);\r\n" -" }\r\n" -"\r\n" -" ~MainContentComponent()\r\n" -" {\r\n" -" }\r\n" -"\r\n" -" void update() override\r\n" -" {\r\n" -" // This function is called at the frequency specified by the setFramesPerSecond() call\r\n" -" // in the constructor. You can use it to update counters, animate values, etc.\r\n" -" }\r\n" -"\r\n" -" void paint (Graphics& g) override\r\n" -" {\r\n" -" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" -" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));\r\n" -"\r\n" -" // You can add your drawing code here!\r\n" -" }\r\n" -"\r\n" -" void resized() override\r\n" -" {\r\n" -" // This is called when the MainContentComponent is resized.\r\n" -" // If you add any child components, this is where you should\r\n" -" // update their positions.\r\n" -" }\r\n" -"\r\n" -"\r\n" -"private:\r\n" -" //==============================================================================\r\n" -"\r\n" -" // Your private member variables go here...\r\n" -"\r\n" -"\r\n" -"\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"// (This function is called by the app startup code to create our main component)\r\n" -"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n"; - -const char* jucer_AnimatedComponentTemplate_cpp = (const char*) temp_binary_data_4; - -//================== jucer_AudioComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_5[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -" This component lives inside our window, and this is where you should put all\r\n" -" your controls and content.\r\n" -"*/\r\n" -"class MainContentComponent : public AudioAppComponent\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" MainContentComponent()\r\n" -" {\r\n" -" setSize (800, 600);\r\n" -"\r\n" -" // specify the number of input and output channels that we want to open\r\n" -" setAudioChannels (2, 2);\r\n" -" }\r\n" -"\r\n" -" ~MainContentComponent()\r\n" -" {\r\n" -" shutdownAudio();\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override\r\n" -" {\r\n" -" // This function will be called when the audio device is started, or when\r\n" -" // its settings (i.e. sample rate, block size, etc) are changed.\r\n" -"\r\n" -" // You can use this function to initialise any resources you might need,\r\n" -" // but be careful - it will be called on the audio thread, not the GUI thread.\r\n" -"\r\n" -" // For more details, see the help for AudioProcessor::prepareToPlay()\r\n" -" }\r\n" -"\r\n" -" void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override\r\n" -" {\r\n" -" // Your audio-processing code goes here!\r\n" -"\r\n" -" // For more details, see the help for AudioProcessor::getNextAudioBlock()\r\n" -"\r\n" -" // Right now we are not producing any data, in which case we need to clear the buffer\r\n" -" // (to prevent the output of random noise)\r\n" -" bufferToFill.clearActiveBufferRegion();\r\n" -" }\r\n" -"\r\n" -" void releaseResources() override\r\n" -" {\r\n" -" // This will be called when the audio device stops, or when it is being\r\n" -" // restarted due to a setting change.\r\n" -"\r\n" -" // For more details, see the help for AudioProcessor::releaseResources()\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void paint (Graphics& g) override\r\n" -" {\r\n" -" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" -" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));\r\n" -"\r\n" -" // You can add your drawing code here!\r\n" -" }\r\n" -"\r\n" -" void resized() override\r\n" -" {\r\n" -" // This is called when the MainContentComponent is resized.\r\n" -" // If you add any child components, this is where you should\r\n" -" // update their positions.\r\n" -" }\r\n" -"\r\n" -"\r\n" -"private:\r\n" -" //==============================================================================\r\n" -"\r\n" -" // Your private member variables go here...\r\n" -"\r\n" -"\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"// (This function is called by the app startup code to create our main component)\r\n" -"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n"; - -const char* jucer_AudioComponentTemplate_cpp = (const char*) temp_binary_data_5; - -//================== jucer_AudioPluginEditorTemplate.cpp ================== -static const unsigned char temp_binary_data_6[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" It contains the basic framework code for a JUCE plugin editor.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"EDITORCPPHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"EDITORCLASSNAME::EDITORCLASSNAME (FILTERCLASSNAME& p)\r\n" -" : AudioProcessorEditor (&p), processor (p)\r\n" -"{\r\n" -" // Make sure that before the constructor has finished, you've set the\r\n" -" // editor's size to whatever you need it to be.\r\n" -" setSize (400, 300);\r\n" -"}\r\n" -"\r\n" -"EDITORCLASSNAME::~EDITORCLASSNAME()\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"void EDITORCLASSNAME::paint (Graphics& g)\r\n" -"{\r\n" -" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" -" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));\r\n" -"\r\n" -" g.setColour (Colours::white);\r\n" -" g.setFont (15.0f);\r\n" -" g.drawFittedText (\"Hello World!\", getLocalBounds(), Justification::centred, 1);\r\n" -"}\r\n" -"\r\n" -"void EDITORCLASSNAME::resized()\r\n" -"{\r\n" -" // This is generally where you'll want to lay out the positions of any\r\n" -" // subcomponents in your editor..\r\n" -"}\r\n"; - -const char* jucer_AudioPluginEditorTemplate_cpp = (const char*) temp_binary_data_6; - -//================== jucer_AudioPluginEditorTemplate.h ================== -static const unsigned char temp_binary_data_7[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" It contains the basic framework code for a JUCE plugin editor.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#pragma once\r\n" -"\r\n" -"EDITORHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"/**\r\n" -"*/\r\n" -"class EDITORCLASSNAME : public AudioProcessorEditor\r\n" -"{\r\n" -"public:\r\n" -" EDITORCLASSNAME (FILTERCLASSNAME&);\r\n" -" ~EDITORCLASSNAME();\r\n" -"\r\n" -" //==============================================================================\r\n" -" void paint (Graphics&) override;\r\n" -" void resized() override;\r\n" -"\r\n" -"private:\r\n" -" // This reference is provided as a quick way for your editor to\r\n" -" // access the processor object that created it.\r\n" -" FILTERCLASSNAME& processor;\r\n" -"\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EDITORCLASSNAME)\r\n" -"};\r\n"; - -const char* jucer_AudioPluginEditorTemplate_h = (const char*) temp_binary_data_7; - -//================== jucer_AudioPluginFilterTemplate.cpp ================== -static const unsigned char temp_binary_data_8[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" It contains the basic framework code for a JUCE plugin processor.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"FILTERHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"FILTERCLASSNAME::FILTERCLASSNAME()\r\n" -"#ifndef JucePlugin_PreferredChannelConfigurations\r\n" -" : AudioProcessor (BusesProperties()\r\n" -" #if ! JucePlugin_IsMidiEffect\r\n" -" #if ! JucePlugin_IsSynth\r\n" -" .withInput (\"Input\", AudioChannelSet::stereo(), true)\r\n" -" #endif\r\n" -" .withOutput (\"Output\", AudioChannelSet::stereo(), true)\r\n" -" #endif\r\n" -" )\r\n" -"#endif\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"FILTERCLASSNAME::~FILTERCLASSNAME()\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"const String FILTERCLASSNAME::getName() const\r\n" -"{\r\n" -" return JucePlugin_Name;\r\n" -"}\r\n" -"\r\n" -"bool FILTERCLASSNAME::acceptsMidi() const\r\n" -"{\r\n" -" #if JucePlugin_WantsMidiInput\r\n" -" return true;\r\n" -" #else\r\n" -" return false;\r\n" -" #endif\r\n" -"}\r\n" -"\r\n" -"bool FILTERCLASSNAME::producesMidi() const\r\n" -"{\r\n" -" #if JucePlugin_ProducesMidiOutput\r\n" -" return true;\r\n" -" #else\r\n" -" return false;\r\n" -" #endif\r\n" -"}\r\n" -"\r\n" -"bool FILTERCLASSNAME::isMidiEffect() const\r\n" -"{\r\n" -" #if JucePlugin_IsMidiEffect\r\n" -" return true;\r\n" -" #else\r\n" -" return false;\r\n" -" #endif\r\n" -"}\r\n" -"\r\n" -"double FILTERCLASSNAME::getTailLengthSeconds() const\r\n" -"{\r\n" -" return 0.0;\r\n" -"}\r\n" -"\r\n" -"int FILTERCLASSNAME::getNumPrograms()\r\n" -"{\r\n" -" return 1; // NB: some hosts don't cope very well if you tell them there are 0 programs,\r\n" -" // so this should be at least 1, even if you're not really implementing programs.\r\n" -"}\r\n" -"\r\n" -"int FILTERCLASSNAME::getCurrentProgram()\r\n" -"{\r\n" -" return 0;\r\n" -"}\r\n" -"\r\n" -"void FILTERCLASSNAME::setCurrentProgram (int index)\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"const String FILTERCLASSNAME::getProgramName (int index)\r\n" -"{\r\n" -" return {};\r\n" -"}\r\n" -"\r\n" -"void FILTERCLASSNAME::changeProgramName (int index, const String& newName)\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"void FILTERCLASSNAME::prepareToPlay (double sampleRate, int samplesPerBlock)\r\n" -"{\r\n" -" // Use this method as the place to do any pre-playback\r\n" -" // initialisation that you need..\r\n" -"}\r\n" -"\r\n" -"void FILTERCLASSNAME::releaseResources()\r\n" -"{\r\n" -" // When playback stops, you can use this as an opportunity to free up any\r\n" -" // spare memory, etc.\r\n" -"}\r\n" -"\r\n" -"#ifndef JucePlugin_PreferredChannelConfigurations\r\n" -"bool FILTERCLASSNAME::isBusesLayoutSupported (const BusesLayout& layouts) const\r\n" -"{\r\n" -" #if JucePlugin_IsMidiEffect\r\n" -" ignoreUnused (layouts);\r\n" -" return true;\r\n" -" #else\r\n" -" // This is the place where you check if the layout is supported.\r\n" -" // In this template code we only support mono or stereo.\r\n" -" if (layouts.getMainOutputChannelSet() != AudioChannelSet::mono()\r\n" -" && layouts.getMainOutputChannelSet() != AudioChannelSet::stereo())\r\n" -" return false;\r\n" -"\r\n" -" // This checks if the input layout matches the output layout\r\n" -" #if ! JucePlugin_IsSynth\r\n" -" if (layouts.getMainOutputChannelSet() != layouts.getMainInputChannelSet())\r\n" -" return false;\r\n" -" #endif\r\n" -"\r\n" -" return true;\r\n" -" #endif\r\n" -"}\r\n" -"#endif\r\n" -"\r\n" -"void FILTERCLASSNAME::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages)\r\n" -"{\r\n" -" ScopedNoDenormals noDenormals;\r\n" -" const int totalNumInputChannels = getTotalNumInputChannels();\r\n" -" const int totalNumOutputChannels = getTotalNumOutputChannels();\r\n" -"\r\n" -" // In case we have more outputs than inputs, this code clears any output\r\n" -" // channels that didn't contain input data, (because these aren't\r\n" -" // guaranteed to be empty - they may contain garbage).\r\n" -" // This is here to avoid people getting screaming feedback\r\n" -" // when they first compile a plugin, but obviously you don't need to keep\r\n" -" // this code if your algorithm always overwrites all the output channels.\r\n" -" for (int i = totalNumInputChannels; i < totalNumOutputChannels; ++i)\r\n" -" buffer.clear (i, 0, buffer.getNumSamples());\r\n" -"\r\n" -" // This is the place where you'd normally do the guts of your plugin's\r\n" -" // audio processing...\r\n" -" for (int channel = 0; channel < totalNumInputChannels; ++channel)\r\n" -" {\r\n" -" float* channelData = buffer.getWritePointer (channel);\r\n" -"\r\n" -" // ..do something to the data...\r\n" -" }\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"bool FILTERCLASSNAME::hasEditor() const\r\n" -"{\r\n" -" return true; // (change this to false if you choose to not supply an editor)\r\n" -"}\r\n" -"\r\n" -"AudioProcessorEditor* FILTERCLASSNAME::createEditor()\r\n" -"{\r\n" -" return new EDITORCLASSNAME (*this);\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"void FILTERCLASSNAME::getStateInformation (MemoryBlock& destData)\r\n" -"{\r\n" -" // You should use this method to store your parameters in the memory block.\r\n" -" // You could do that either as raw data, or use the XML or ValueTree classes\r\n" -" // as intermediaries to make it easy to save and load complex data.\r\n" -"}\r\n" -"\r\n" -"void FILTERCLASSNAME::setStateInformation (const void* data, int sizeInBytes)\r\n" -"{\r\n" -" // You should use this method to restore your parameters from this memory block,\r\n" -" // whose contents will have been created by the getStateInformation() call.\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"// This creates new instances of the plugin..\r\n" -"AudioProcessor* JUCE_CALLTYPE createPluginFilter()\r\n" -"{\r\n" -" return new FILTERCLASSNAME();\r\n" -"}\r\n"; - -const char* jucer_AudioPluginFilterTemplate_cpp = (const char*) temp_binary_data_8; - -//================== jucer_AudioPluginFilterTemplate.h ================== -static const unsigned char temp_binary_data_9[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" It contains the basic framework code for a JUCE plugin processor.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#pragma once\r\n" -"\r\n" -"APPHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"/**\r\n" -"*/\r\n" -"class FILTERCLASSNAME : public AudioProcessor\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" FILTERCLASSNAME();\r\n" -" ~FILTERCLASSNAME();\r\n" -"\r\n" -" //==============================================================================\r\n" -" void prepareToPlay (double sampleRate, int samplesPerBlock) override;\r\n" -" void releaseResources() override;\r\n" -"\r\n" -" #ifndef JucePlugin_PreferredChannelConfigurations\r\n" -" bool isBusesLayoutSupported (const BusesLayout& layouts) const override;\r\n" -" #endif\r\n" -"\r\n" -" void processBlock (AudioSampleBuffer&, MidiBuffer&) override;\r\n" -"\r\n" -" //==============================================================================\r\n" -" AudioProcessorEditor* createEditor() override;\r\n" -" bool hasEditor() const override;\r\n" -"\r\n" -" //==============================================================================\r\n" -" const String getName() const override;\r\n" -"\r\n" -" bool acceptsMidi() const override;\r\n" -" bool producesMidi() const override;\r\n" -" bool isMidiEffect () const override;\r\n" -" double getTailLengthSeconds() const override;\r\n" -"\r\n" -" //==============================================================================\r\n" -" int getNumPrograms() override;\r\n" -" int getCurrentProgram() override;\r\n" -" void setCurrentProgram (int index) override;\r\n" -" const String getProgramName (int index) override;\r\n" -" void changeProgramName (int index, const String& newName) override;\r\n" -"\r\n" -" //==============================================================================\r\n" -" void getStateInformation (MemoryBlock& destData) override;\r\n" -" void setStateInformation (const void* data, int sizeInBytes) override;\r\n" -"\r\n" -"private:\r\n" -" //==============================================================================\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FILTERCLASSNAME)\r\n" -"};\r\n"; - -const char* jucer_AudioPluginFilterTemplate_h = (const char*) temp_binary_data_9; - -//================== jucer_ComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_10[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This is an automatically generated GUI class created by the Projucer!\r\n" -"\r\n" -" Be careful when adding custom code to these files, as only the code within\r\n" -" the \"//[xyz]\" and \"//[/xyz]\" sections will be retained when the file is loaded\r\n" -" and re-saved.\r\n" -"\r\n" -" Created with Projucer version: %%version%%\r\n" -"\r\n" -" ------------------------------------------------------------------------------\r\n" -"\r\n" -" The Projucer is part of the JUCE library - \"Jules' Utility Class Extensions\"\r\n" -" Copyright (c) 2015 - ROLI Ltd.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"//[Headers] You can add your own extra header files here...\r\n" -"//[/Headers]\r\n" -"\r\n" -"%%includeFilesCPP%%\r\n" -"\r\n" -"//[MiscUserDefs] You can add your own user definitions and misc code here...\r\n" -"//[/MiscUserDefs]\r\n" -"\r\n" -"//==============================================================================\r\n" -"%%className%%::%%className%% (%%constructorParams%%)\r\n" -"%%initialisers%%{\r\n" -" //[Constructor_pre] You can add your own custom stuff here..\r\n" -" //[/Constructor_pre]\r\n" -"\r\n" -" %%constructor%%\r\n" -"\r\n" -" //[Constructor] You can add your own custom stuff here..\r\n" -" //[/Constructor]\r\n" -"}\r\n" -"\r\n" -"%%className%%::~%%className%%()\r\n" -"{\r\n" -" //[Destructor_pre]. You can add your own custom destruction code here..\r\n" -" //[/Destructor_pre]\r\n" -"\r\n" -" %%destructor%%\r\n" -"\r\n" -" //[Destructor]. You can add your own custom destruction code here..\r\n" -" //[/Destructor]\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"%%methodDefinitions%%\r\n" -"\r\n" -"//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...\r\n" -"//[/MiscUserCode]\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"#if 0\r\n" -"/* -- Projucer information section --\r\n" -"\r\n" -" This is where the Projucer stores the metadata that describe this GUI layout, so\r\n" -" make changes in here at your peril!\r\n" -"\r\n" -"BEGIN_JUCER_METADATA\r\n" -"\r\n" -"%%metadata%%\r\n" -"END_JUCER_METADATA\r\n" -"*/\r\n" -"#endif\r\n" -"\r\n" -"%%staticMemberDefinitions%%\r\n" -"//[EndFile] You can add extra defines here...\r\n" -"//[/EndFile]\r\n"; - -const char* jucer_ComponentTemplate_cpp = (const char*) temp_binary_data_10; - -//================== jucer_ComponentTemplate.h ================== -static const unsigned char temp_binary_data_11[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This is an automatically generated GUI class created by the Projucer!\r\n" -"\r\n" -" Be careful when adding custom code to these files, as only the code within\r\n" -" the \"//[xyz]\" and \"//[/xyz]\" sections will be retained when the file is loaded\r\n" -" and re-saved.\r\n" -"\r\n" -" Created with Projucer version: %%version%%\r\n" -"\r\n" -" ------------------------------------------------------------------------------\r\n" -"\r\n" -" The Projucer is part of the JUCE library - \"Jules' Utility Class Extensions\"\r\n" -" Copyright (c) 2015 - ROLI Ltd.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#pragma once\r\n" -"\r\n" -"//[Headers] -- You can add your own extra header files here --\r\n" -"%%includeJUCEHeader%%\r\n" -"//[/Headers]\r\n" -"\r\n" -"%%includeFilesH%%\r\n" -"\r\n" -"//==============================================================================\r\n" -"/**\r\n" -" //[Comments]\r\n" -" An auto-generated component, created by the Projucer.\r\n" -"\r\n" -" Describe your class and how it works here!\r\n" -" //[/Comments]\r\n" -"*/\r\n" -"%%classDeclaration%%\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" %%className%% (%%constructorParams%%);\r\n" -" ~%%className%%();\r\n" -"\r\n" -" //==============================================================================\r\n" -" //[UserMethods] -- You can add your own custom methods in this section.\r\n" -" //[/UserMethods]\r\n" -"\r\n" -" %%publicMemberDeclarations%%\r\n" -"\r\n" -"private:\r\n" -" //[UserVariables] -- You can add your own custom variables in this section.\r\n" -" //[/UserVariables]\r\n" -"\r\n" -" //==============================================================================\r\n" -" %%privateMemberDeclarations%%\r\n" -"\r\n" -" //==============================================================================\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%className%%)\r\n" -"};\r\n" -"\r\n" -"//[EndFile] You can add extra defines here...\r\n" -"//[/EndFile]\r\n"; - -const char* jucer_ComponentTemplate_h = (const char*) temp_binary_data_11; - -//================== jucer_ContentCompTemplate.cpp ================== -static const unsigned char temp_binary_data_12[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"INCLUDE_CORRESPONDING_HEADER\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"CONTENTCOMPCLASS::CONTENTCOMPCLASS()\r\n" -"{\r\n" -" setSize (600, 400);\r\n" -"}\r\n" -"\r\n" -"CONTENTCOMPCLASS::~CONTENTCOMPCLASS()\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"void CONTENTCOMPCLASS::paint (Graphics& g)\r\n" -"{\r\n" -" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" -" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));\r\n" -"\r\n" -" g.setFont (Font (16.0f));\r\n" -" g.setColour (Colours::white);\r\n" -" g.drawText (\"Hello World!\", getLocalBounds(), Justification::centred, true);\r\n" -"}\r\n" -"\r\n" -"void CONTENTCOMPCLASS::resized()\r\n" -"{\r\n" -" // This is called when the CONTENTCOMPCLASS is resized.\r\n" -" // If you add any child components, this is where you should\r\n" -" // update their positions.\r\n" -"}\r\n"; - -const char* jucer_ContentCompTemplate_cpp = (const char*) temp_binary_data_12; - -//================== jucer_ContentCompTemplate.h ================== -static const unsigned char temp_binary_data_13[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#pragma once\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -" This component lives inside our window, and this is where you should put all\r\n" -" your controls and content.\r\n" -"*/\r\n" -"class CONTENTCOMPCLASS : public Component\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" CONTENTCOMPCLASS();\r\n" -" ~CONTENTCOMPCLASS();\r\n" -"\r\n" -" void paint (Graphics&) override;\r\n" -" void resized() override;\r\n" -"\r\n" -"private:\r\n" -" //==============================================================================\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS)\r\n" -"};\r\n"; - -const char* jucer_ContentCompTemplate_h = (const char*) temp_binary_data_13; - -//================== jucer_InlineComponentTemplate.h ================== -static const unsigned char temp_binary_data_14[] = -"//==============================================================================\r\n" -"class COMPONENTCLASS : public Component\r\n" -"{\r\n" -"public:\r\n" -" COMPONENTCLASS()\r\n" -" {\r\n" -" // In your constructor, you should add any child components, and\r\n" -" // initialise any special settings that your component needs.\r\n" -"\r\n" -" }\r\n" -"\r\n" -" ~COMPONENTCLASS()\r\n" -" {\r\n" -" }\r\n" -"\r\n" -" void paint (Graphics& g) override\r\n" -" {\r\n" -" // You should replace everything in this method with your own drawing code..\r\n" -"\r\n" -" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); // clear the background\r\n" -"\r\n" -" g.setColour (Colours::grey);\r\n" -" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" -"\r\n" -" g.setColour (Colours::white);\r\n" -" g.setFont (14.0f);\r\n" -" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" -" Justification::centred, true); // draw some placeholder text\r\n" -" }\r\n" -"\r\n" -" void resized() override\r\n" -" {\r\n" -" // This method is where you should set the bounds of any child\r\n" -" // components that your component contains..\r\n" -"\r\n" -" }\r\n" -"\r\n" -"private:\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" -"};\r\n"; - -const char* jucer_InlineComponentTemplate_h = (const char*) temp_binary_data_14; - -//================== jucer_MainConsoleAppTemplate.cpp ================== -static const unsigned char temp_binary_data_15[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" It contains the basic startup code for a Juce application.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"APPHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"int main (int argc, char* argv[])\r\n" -"{\r\n" -"\r\n" -" // ..your code goes here!\r\n" -"\r\n" -"\r\n" -" return 0;\r\n" -"}\r\n"; - -const char* jucer_MainConsoleAppTemplate_cpp = (const char*) temp_binary_data_15; - -//================== jucer_MainTemplate_NoWindow.cpp ================== -static const unsigned char temp_binary_data_16[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" It contains the basic startup code for a Juce application.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"APPHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"class APPCLASSNAME : public JUCEApplication\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" APPCLASSNAME() {}\r\n" -"\r\n" -" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" -" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" -" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void initialise (const String& commandLine) override\r\n" -" {\r\n" -" // Add your application's initialisation code here..\r\n" -" }\r\n" -"\r\n" -" void shutdown() override\r\n" -" {\r\n" -" // Add your application's shutdown code here..\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void systemRequestedQuit() override\r\n" -" {\r\n" -" // This is called when the app is being asked to quit: you can ignore this\r\n" -" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" -" quit();\r\n" -" }\r\n" -"\r\n" -" void anotherInstanceStarted (const String& commandLine) override\r\n" -" {\r\n" -" // When another instance of the app is launched while this one is running,\r\n" -" // this method is invoked, and the commandLine parameter tells you what\r\n" -" // the other instance's command-line arguments were.\r\n" -" }\r\n" -"};\r\n" -"\r\n" -"//==============================================================================\r\n" -"// This macro generates the main() routine that launches the app.\r\n" -"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; - -const char* jucer_MainTemplate_NoWindow_cpp = (const char*) temp_binary_data_16; - -//================== jucer_MainTemplate_SimpleWindow.cpp ================== -static const unsigned char temp_binary_data_17[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" It contains the basic startup code for a Juce application.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"APPHEADERS\r\n" -"\r\n" -"Component* createMainContentComponent();\r\n" -"\r\n" -"//==============================================================================\r\n" -"class APPCLASSNAME : public JUCEApplication\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" APPCLASSNAME() {}\r\n" -"\r\n" -" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" -" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" -" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void initialise (const String& commandLine) override\r\n" -" {\r\n" -" // This method is where you should put your application's initialisation code..\r\n" -"\r\n" -" mainWindow = new MainWindow (getApplicationName());\r\n" -" }\r\n" -"\r\n" -" void shutdown() override\r\n" -" {\r\n" -" // Add your application's shutdown code here..\r\n" -"\r\n" -" mainWindow = nullptr; // (deletes our window)\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void systemRequestedQuit() override\r\n" -" {\r\n" -" // This is called when the app is being asked to quit: you can ignore this\r\n" -" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" -" quit();\r\n" -" }\r\n" -"\r\n" -" void anotherInstanceStarted (const String& commandLine) override\r\n" -" {\r\n" -" // When another instance of the app is launched while this one is running,\r\n" -" // this method is invoked, and the commandLine parameter tells you what\r\n" -" // the other instance's command-line arguments were.\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" /*\r\n" -" This class implements the desktop window that contains an instance of\r\n" -" our CONTENTCOMPCLASS class.\r\n" -" */\r\n" -" class MainWindow : public DocumentWindow\r\n" -" {\r\n" -" public:\r\n" -" MainWindow (String name) : DocumentWindow (name,\r\n" -" Desktop::getInstance().getDefaultLookAndFeel()\r\n" -" .findColour (ResizableWindow::backgroundColourId),\r\n" -" DocumentWindow::allButtons)\r\n" -" {\r\n" -" setUsingNativeTitleBar (true);\r\n" -" setContentOwned (createMainContentComponent(), true);\r\n" -" setResizable (true, true);\r\n" -"\r\n" -" centreWithSize (getWidth(), getHeight());\r\n" -" setVisible (true);\r\n" -" }\r\n" -"\r\n" -" void closeButtonPressed() override\r\n" -" {\r\n" -" // This is called when the user tries to close this window. Here, we'll just\r\n" -" // ask the app to quit when this happens, but you can change this to do\r\n" -" // whatever you need.\r\n" -" JUCEApplication::getInstance()->systemRequestedQuit();\r\n" -" }\r\n" -"\r\n" -" /* Note: Be careful if you override any DocumentWindow methods - the base\r\n" -" class uses a lot of them, so by overriding you might break its functionality.\r\n" -" It's best to do all your work in your content component instead, but if\r\n" -" you really have to override any DocumentWindow methods, make sure your\r\n" -" subclass also calls the superclass's method.\r\n" -" */\r\n" -"\r\n" -" private:\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r\n" -" };\r\n" -"\r\n" -"private:\r\n" -" ScopedPointer mainWindow;\r\n" -"};\r\n" -"\r\n" -"//==============================================================================\r\n" -"// This macro generates the main() routine that launches the app.\r\n" -"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; - -const char* jucer_MainTemplate_SimpleWindow_cpp = (const char*) temp_binary_data_17; - -//================== jucer_MainTemplate_Window.cpp ================== -static const unsigned char temp_binary_data_18[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" It contains the basic startup code for a Juce application.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"APPHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"class APPCLASSNAME : public JUCEApplication\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" APPCLASSNAME() {}\r\n" -"\r\n" -" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" -" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" -" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void initialise (const String& commandLine) override\r\n" -" {\r\n" -" // This method is where you should put your application's initialisation code..\r\n" -"\r\n" -" mainWindow = new MainWindow (getApplicationName());\r\n" -" }\r\n" -"\r\n" -" void shutdown() override\r\n" -" {\r\n" -" // Add your application's shutdown code here..\r\n" -"\r\n" -" mainWindow = nullptr; // (deletes our window)\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void systemRequestedQuit() override\r\n" -" {\r\n" -" // This is called when the app is being asked to quit: you can ignore this\r\n" -" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" -" quit();\r\n" -" }\r\n" -"\r\n" -" void anotherInstanceStarted (const String& commandLine) override\r\n" -" {\r\n" -" // When another instance of the app is launched while this one is running,\r\n" -" // this method is invoked, and the commandLine parameter tells you what\r\n" -" // the other instance's command-line arguments were.\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" /*\r\n" -" This class implements the desktop window that contains an instance of\r\n" -" our CONTENTCOMPCLASS class.\r\n" -" */\r\n" -" class MainWindow : public DocumentWindow\r\n" -" {\r\n" -" public:\r\n" -" MainWindow (String name) : DocumentWindow (name,\r\n" -" Desktop::getInstance().getDefaultLookAndFeel()\r\n" -" .findColour (ResizableWindow::backgroundColourId),\r\n" -" DocumentWindow::allButtons)\r\n" -" {\r\n" -" setUsingNativeTitleBar (true);\r\n" -" setContentOwned (new CONTENTCOMPCLASS(), true);\r\n" -"\r\n" -" centreWithSize (getWidth(), getHeight());\r\n" -" setVisible (true);\r\n" -" }\r\n" -"\r\n" -" void closeButtonPressed() override\r\n" -" {\r\n" -" // This is called when the user tries to close this window. Here, we'll just\r\n" -" // ask the app to quit when this happens, but you can change this to do\r\n" -" // whatever you need.\r\n" -" JUCEApplication::getInstance()->systemRequestedQuit();\r\n" -" }\r\n" -"\r\n" -" /* Note: Be careful if you override any DocumentWindow methods - the base\r\n" -" class uses a lot of them, so by overriding you might break its functionality.\r\n" -" It's best to do all your work in your content component instead, but if\r\n" -" you really have to override any DocumentWindow methods, make sure your\r\n" -" subclass also calls the superclass's method.\r\n" -" */\r\n" -"\r\n" -" private:\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r\n" -" };\r\n" -"\r\n" -"private:\r\n" -" ScopedPointer mainWindow;\r\n" -"};\r\n" -"\r\n" -"//==============================================================================\r\n" -"// This macro generates the main() routine that launches the app.\r\n" -"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; - -const char* jucer_MainTemplate_Window_cpp = (const char*) temp_binary_data_18; - -//================== jucer_NewComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_19[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" FILENAME\r\n" -" Created: DATE\r\n" -" Author: AUTHOR\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"INCLUDE_CORRESPONDING_HEADER\r\n" -"\r\n" -"//==============================================================================\r\n" -"COMPONENTCLASS::COMPONENTCLASS()\r\n" -"{\r\n" -" // In your constructor, you should add any child components, and\r\n" -" // initialise any special settings that your component needs.\r\n" -"\r\n" -"}\r\n" -"\r\n" -"COMPONENTCLASS::~COMPONENTCLASS()\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"void COMPONENTCLASS::paint (Graphics& g)\r\n" -"{\r\n" -" /* This demo code just fills the component's background and\r\n" -" draws some placeholder text to get you started.\r\n" -"\r\n" -" You should replace everything in this method with your own\r\n" -" drawing code..\r\n" -" */\r\n" -"\r\n" -" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); // clear the background\r\n" -"\r\n" -" g.setColour (Colours::grey);\r\n" -" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" -"\r\n" -" g.setColour (Colours::white);\r\n" -" g.setFont (14.0f);\r\n" -" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" -" Justification::centred, true); // draw some placeholder text\r\n" -"}\r\n" -"\r\n" -"void COMPONENTCLASS::resized()\r\n" -"{\r\n" -" // This method is where you should set the bounds of any child\r\n" -" // components that your component contains..\r\n" -"\r\n" -"}\r\n"; - -const char* jucer_NewComponentTemplate_cpp = (const char*) temp_binary_data_19; - -//================== jucer_NewComponentTemplate.h ================== -static const unsigned char temp_binary_data_20[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" FILENAME\r\n" -" Created: DATE\r\n" -" Author: AUTHOR\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#pragma once\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -"*/\r\n" -"class COMPONENTCLASS : public Component\r\n" -"{\r\n" -"public:\r\n" -" COMPONENTCLASS();\r\n" -" ~COMPONENTCLASS();\r\n" -"\r\n" -" void paint (Graphics&) override;\r\n" -" void resized() override;\r\n" -"\r\n" -"private:\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" -"};\r\n"; - -const char* jucer_NewComponentTemplate_h = (const char*) temp_binary_data_20; - -//================== jucer_NewCppFileTemplate.cpp ================== -static const unsigned char temp_binary_data_21[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" FILENAME\r\n" -" Created: DATE\r\n" -" Author: AUTHOR\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"INCLUDE_CORRESPONDING_HEADER\r\n"; - -const char* jucer_NewCppFileTemplate_cpp = (const char*) temp_binary_data_21; - -//================== jucer_NewCppFileTemplate.h ================== -static const unsigned char temp_binary_data_22[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" FILENAME\r\n" -" Created: DATE\r\n" -" Author: AUTHOR\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#pragma once\r\n"; - -const char* jucer_NewCppFileTemplate_h = (const char*) temp_binary_data_22; - -//================== jucer_NewInlineComponentTemplate.h ================== -static const unsigned char temp_binary_data_23[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" FILENAME\r\n" -" Created: DATE\r\n" -" Author: AUTHOR\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#pragma once\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -"*/\r\n" -"class COMPONENTCLASS : public Component\r\n" -"{\r\n" -"public:\r\n" -" COMPONENTCLASS()\r\n" -" {\r\n" -" // In your constructor, you should add any child components, and\r\n" -" // initialise any special settings that your component needs.\r\n" -"\r\n" -" }\r\n" -"\r\n" -" ~COMPONENTCLASS()\r\n" -" {\r\n" -" }\r\n" -"\r\n" -" void paint (Graphics& g) override\r\n" -" {\r\n" -" /* This demo code just fills the component's background and\r\n" -" draws some placeholder text to get you started.\r\n" -"\r\n" -" You should replace everything in this method with your own\r\n" -" drawing code..\r\n" -" */\r\n" -"\r\n" -" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); // clear the background\r\n" -"\r\n" -" g.setColour (Colours::grey);\r\n" -" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" -"\r\n" -" g.setColour (Colours::white);\r\n" -" g.setFont (14.0f);\r\n" -" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" -" Justification::centred, true); // draw some placeholder text\r\n" -" }\r\n" -"\r\n" -" void resized() override\r\n" -" {\r\n" -" // This method is where you should set the bounds of any child\r\n" -" // components that your component contains..\r\n" -"\r\n" -" }\r\n" -"\r\n" -"private:\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" -"};\r\n"; - -const char* jucer_NewInlineComponentTemplate_h = (const char*) temp_binary_data_23; - -//================== jucer_OpenGLComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_24[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -" This component lives inside our window, and this is where you should put all\r\n" -" your controls and content.\r\n" -"*/\r\n" -"class MainContentComponent : public OpenGLAppComponent\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" MainContentComponent()\r\n" -" {\r\n" -" setSize (800, 600);\r\n" -" }\r\n" -"\r\n" -" ~MainContentComponent()\r\n" -" {\r\n" -" shutdownOpenGL();\r\n" -" }\r\n" -"\r\n" -" void initialise() override\r\n" -" {\r\n" -" }\r\n" -"\r\n" -" void shutdown() override\r\n" -" {\r\n" -" }\r\n" -"\r\n" -" void render() override\r\n" -" {\r\n" -" OpenGLHelpers::clear (Colours::black);\r\n" -"\r\n" -" }\r\n" -"\r\n" -" void paint (Graphics& g) override\r\n" -" {\r\n" -" // You can add your component specific drawing code here!\r\n" -" // This will draw over the top of the openGL background.\r\n" -" }\r\n" -"\r\n" -" void resized() override\r\n" -" {\r\n" -" // This is called when the MainContentComponent is resized.\r\n" -" // If you add any child components, this is where you should\r\n" -" // update their positions.\r\n" -" }\r\n" -"\r\n" -"\r\n" -"private:\r\n" -" //==============================================================================\r\n" -"\r\n" -" // private member variables\r\n" -"\r\n" -"\r\n" -"\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"// (This function is called by the app startup code to create our main component)\r\n" -"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n"; - -const char* jucer_OpenGLComponentTemplate_cpp = (const char*) temp_binary_data_24; - //================== background_logo.svg ================== -static const unsigned char temp_binary_data_25[] = +static const unsigned char temp_binary_data_4[] = "\r\n" "\r\n" @@ -2611,73 +1269,10 @@ static const unsigned char temp_binary_data_25[] = "\r\n" "\r\n"; -const char* background_logo_svg = (const char*) temp_binary_data_25; - -//================== background_tile.png ================== -static const unsigned char temp_binary_data_26[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,7,0,0,0,7,8,6,0,0,0,196,82,87,211,0,0,0,94,73,68,65,84,120,218,85,141,73,14,0,33,8,4,253,137,226,18,19,245,234,255,127,70,75,155,232,56,135,10,132,94,112,33,4,37,222,123,205,57,107,74,105,239,196,137, -8,72,239,29,99,12,204,57,209,90,227,237,19,45,113,161,209,12,234,172,18,49,70,88,229,134,34,103,173,245,159,60,134,82,10,238,79,166,223,106,238,91,100,229,73,191,80,92,47,179,68,223,148,158,98,226,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; - -const char* background_tile_png = (const char*) temp_binary_data_26; - -//================== colourscheme_dark.xml ================== -static const unsigned char temp_binary_data_27[] = -"\r\n" -"\r\n" -"\r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -"\r\n"; - -const char* colourscheme_dark_xml = (const char*) temp_binary_data_27; - -//================== colourscheme_light.xml ================== -static const unsigned char temp_binary_data_28[] = -"\r\n" -"\r\n" -"\r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -"\r\n"; - -const char* colourscheme_light_xml = (const char*) temp_binary_data_28; +const char* background_logo_svg = (const char*) temp_binary_data_4; //================== export_android.svg ================== -static const unsigned char temp_binary_data_29[] = +static const unsigned char temp_binary_data_5[] = "\n" "\n" " \n" @@ -2708,10 +1303,10 @@ static const unsigned char temp_binary_data_29[] = " \n" ""; -const char* export_android_svg = (const char*) temp_binary_data_29; +const char* export_android_svg = (const char*) temp_binary_data_5; //================== export_codeBlocks.svg ================== -static const unsigned char temp_binary_data_30[] = +static const unsigned char temp_binary_data_6[] = "\n" "\n" " \n" @@ -2733,10 +1328,10 @@ static const unsigned char temp_binary_data_30[] = " \n" ""; -const char* export_codeBlocks_svg = (const char*) temp_binary_data_30; +const char* export_codeBlocks_svg = (const char*) temp_binary_data_6; //================== export_linux.svg ================== -static const unsigned char temp_binary_data_31[] = +static const unsigned char temp_binary_data_7[] = "\n" "\n" " \n" @@ -2886,10 +1481,10 @@ static const unsigned char temp_binary_data_31[] = " \n" ""; -const char* export_linux_svg = (const char*) temp_binary_data_31; +const char* export_linux_svg = (const char*) temp_binary_data_7; //================== export_visualStudio.svg ================== -static const unsigned char temp_binary_data_32[] = +static const unsigned char temp_binary_data_8[] = "\n" "\n" " \n" @@ -2913,10 +1508,10 @@ static const unsigned char temp_binary_data_32[] = " \n" ""; -const char* export_visualStudio_svg = (const char*) temp_binary_data_32; +const char* export_visualStudio_svg = (const char*) temp_binary_data_8; //================== export_xcode.svg ================== -static const unsigned char temp_binary_data_33[] = +static const unsigned char temp_binary_data_9[] = "\n" "\n" " \n" @@ -2988,10 +1583,10 @@ static const unsigned char temp_binary_data_33[] = " \n" ""; -const char* export_xcode_svg = (const char*) temp_binary_data_33; +const char* export_xcode_svg = (const char*) temp_binary_data_9; //================== huckleberry_icon.svg ================== -static const unsigned char temp_binary_data_34[] = +static const unsigned char temp_binary_data_10[] = "\n" "\n" "\n"; -const char* huckleberry_icon_svg = (const char*) temp_binary_data_34; +const char* huckleberry_icon_svg = (const char*) temp_binary_data_10; //================== juce-logo-with-text.svg ================== -static const unsigned char temp_binary_data_35[] = +static const unsigned char temp_binary_data_11[] = "\n" "\n" "\n"; -const char* jucelogowithtext_svg = (const char*) temp_binary_data_35; +const char* jucelogowithtext_svg = (const char*) temp_binary_data_11; //================== juce_icon.png ================== -static const unsigned char temp_binary_data_36[] = +static const unsigned char temp_binary_data_12[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,0,0,0,2,0,8,6,0,0,0,244,120,212,250,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,40,105,84,88,116,88,77,76,58, 99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,120, 58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,54,55,32,55,57,46,49,53,55, @@ -3841,331 +2436,10 @@ static const unsigned char temp_binary_data_36[] = 0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,128,191,246,33,192,0,100,235,173,153,70,62,64, 37,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; -const char* juce_icon_png = (const char*) temp_binary_data_36; - -//================== offlinepage.html ================== -static const unsigned char temp_binary_data_37[] = -"\n" -" \n" -" \n" -" \n" -" \n" -" \n" -"
\n" -"

No internet connection

\n" -"\n" -"

You appear to be offline. An internet connection is required to login to the Projucer.

\n" -"

If you want to use JUCE under the GPL without signing-in, you can enable the pre-processor macro JUCER_ENABLE_GPL_MODE=1 and recompile the Projucer yourself.

\n" -"\n" -" Try again\n" -"
\n" -" \n" -""; - -const char* offlinepage_html = (const char*) temp_binary_data_37; - -//================== projucer_EULA.txt ================== -static const unsigned char temp_binary_data_38[] = -"\r\n" -"IMPORTANT NOTICE: PLEASE READ CAREFULLY BEFORE INSTALLING THE SOFTWARE:\r\n" -"\r\n" -"This license agreement (License) is a legal agreement between you (Licensee or you) and Raw Material Software Limited (Licensor, us or we) for:\r\n" -"\r\n" -"- The Projucer software and the associated media and, save where expressly specified through subsequent license terms notified to you in writing, any and all new releases, derivatives of and updates thereto supplied by us to you for a period of one (" -"1) month from the date of your installation of the software (the Software);\r\n" -"\r\n" -"- printed materials and online and electronic documentation (Documentation). \r\n" -"\r\n" -"The Software is comprised of numerous components that may be licensed under separate license terms. The Software is a collective work of the Licensor and we license the use of the Software and Documentation to you on the basis of this License and any" -" applicable license terms for any third party software components which make up the Software. Where you deal with a copy of any software component independent from the Software, you must remove all our trade marks, trade dress and logos from that cop" -"y. \r\n" -"\r\n" -"We do not sell the Software or Documentation to you. We and/or our licensors remain the owners of the Software and Documentation at all times. If you are accepting the terms of this License on behalf of a company or other legal entity, you represent " -"and warrant that you have the authority to bind that company or other legal entity to the terms of this License and, in such event, \"you\" and \"Licensee\" will refer to that company or other legal entity.\r\n" -"\r\n" -"The Software may be downloaded from the Licensor website - www.juce.com - (the \"Website\").\r\n" -"\r\n" -"OPERATING SYSTEM REQUIREMENTS: The Software requires a Windows or MAC OS X operating system.\r\n" -"\r\n" -"IMPORTANT NOTICE TO ALL USERS: \r\n" -"\r\n" -"- BY CLICKING ON THE \"ACCEPT\" BUTTON BELOW YOU AGREE TO THE TERMS OF THIS LICENCE WHICH WILL BIND YOU AND YOUR EMPLOYEES. \r\n" -"\r\n" -"- IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, WE WILL NOT LICENSE THE SOFTWARE AND DOCUMENTATION TO YOU AND YOU MUST DISCONTINUE THE INSTALLATION PROCESS.\r\n" -"\r\n" -"\r\n" -"You should print a copy of this License for future reference.\r\n" -"\r\n" -"1. Grant and scope of license\r\n" -"\r\n" -"1.1. In consideration of you agreeing to abide by the terms of this License the Licensor hereby grants to you a non-exclusive, non-transferable license to use the Software and the Documentation on the terms of this License.\r\n" -"\r\n" -"1.2. You may: \r\n" -" (a) install and use the Software for your internal business purposes on one central processing unit (CPU) per single user license granted through this License;\r\n" -" (b) provided it is used on only one computer at any one time, transfer the Software from one computer to another;\r\n" -" (c) provided you comply with the provisions in clause 2, make a single copy of the Software for back-up purposes, provided that you reproduce on it all copyright and other proprietary notices that are on the original copy of the Software;\r\n" -" (d) receive and use any free supplementary software code or update of the Software incorporating \"patches\", corrections of errors and software updates as may be provided by the Licensor from time to time;\r\n" -" (e) use any Documentation in support of the use permitted under condition 1.2 and make a single copy of the Documentation as is reasonably necessary for its lawful use.\r\n" -" \r\n" -"2. Restrictions\r\n" -" Except as expressly set out in this License or as permitted by any local law, you undertake: \r\n" -" (a) not, in whole or in part, to copy the Software or Documentation except where such copying is incidental to normal use of the Software or where it is necessary for the purpose of back-up or operational security;\r\n" -" (b) not to rent, lease, sub-license, loan, translate, merge, adapt, vary or modify the Software or Documentation;\r\n" -" (c) not to make alterations to, or modifications of, the whole or any part of the Software nor permit the Software or any part of it to be combined with, or become incorporated in, any other programs;\r\n" -" (d) not to disassemble, de-compile, reverse engineer or create derivative works based on the whole or any part of the Software nor attempt to do any such things except to the extent that (by virtue of section 296A of the Copyright, Designs and Pat" -"ents Act 1988) such actions cannot be prohibited because they are essential for the purpose of achieving inter-operability of the Software with another software program, and provided that the information obtained by you during such activities:\r\n" -" (i) is used only for the purpose of achieving inter-operability of the Software with another software program;\r\n" -" (ii) is not disclosed or communicated without the Licensor's prior written consent to any third party to whom it is not necessary to disclose or communicate it; and\r\n" -" (iii) is not used to create any software which is substantially similar to the Software;\r\n" -" (e) to keep all copies of the Software secure and to maintain accurate and up-to-date records of the number and locations of all copies of the Software;\r\n" -" (f) not to provide, or otherwise make available, the Software in any form, in whole or in part (including, but not limited to, program listings, object and source program listings, object code and source code) to any person other than your employe" -"es without prior written consent from us;\r\n" -" (g) to comply with all applicable technology control or export laws and regulations.\r\n" -" (h) to supervise and control use of the Software and ensure that the Software is used by your employees and representatives in accordance with the terms of this License;\r\n" -" (i) not to charge or otherwise deal in the Software or any part or interest therein except as expressly provided herein;\r\n" -" (j) not to use the Software for any illegal or immoral purposes;\r\n" -" (k) not otherwise use, copy, transfer or distribute the Software or part of it, except as expressly permitted by this License, in any manner which is inconsistent with this License.\r\n" -"\r\n" -"3. Fee\r\n" -"\r\n" -"3.1. You may install and use a limited version of the Software (Demo Mode).\r\n" -"\r\n" -"3.2. Where you have purchased the JUCE 4 software on or after 1 November 2015 you shall be entitled to use the Software for free subject to your continued payment of the JUCE 4 software license fee and the JUCE 4 license terms.\r\n" -"\r\n" -"3.3. Save as set out above, your right to use the Software shall be subject to payment of the Projucer Software license fee. \r\n" -"\r\n" -"3.4. Where you have purchased a perpetual license you agree to pay the license fee as notified to you on the Website at the time you purchase the License. \r\n" -"\r\n" -"3.5. Where you have purchased an educational license the fee shall be the fee as notified to you on the Website at the time you purchase the License and shall be payable for each academic year from the first day of the first full calendar month after" -" the grant of the License and thereafter on the anniversary of that initial payment date. \r\n" -"\r\n" -"4. Intellectual property rights\r\n" -"\r\n" -"4.1. You acknowledge that all intellectual property rights in the Software and the Documentation and all copies thereof throughout the world belong to us, that rights in the Software are licensed (not sold) to you, and that you have no rights in, or " -"to, the Software or the Documentation other than the right to use them in accordance with the terms of this License.\r\n" -"\r\n" -"4.2. You acknowledge that you have no right to have access to the Software in source code form or in unlocked coding or with comments.\r\n" -"\r\n" -"4.3. The Software may contain certain third party licensed materials and our licensors may act to protect their rights in the event of any violation of this License.\r\n" -"\r\n" -"5. Limited warranty\r\n" -"\r\n" -"5.1. We warrant that, save as already set out above in relation to component parts of the Software, we own the Software and have the right to convey this License.\r\n" -"\r\n" -"5.2. We shall have no obligation to provide support and maintenance services to you. You may participate in our online support forum in accordance with our forum policies in place from time to time. \r\n" -"\r\n" -"5.3. We do not warrant that your use of the Software will be uninterrupted or error free. \r\n" -"\r\n" -"6. Limitation of liability \r\n" -"\r\n" -"6.1. You acknowledge that the Software has not been developed to meet your individual requirements, and that it is therefore your responsibility to ensure that the facilities and functions of the Software as described in the Documentation meet your r" -"equirements.\r\n" -"\r\n" -"6.2. Without prejudice to clause 5.4 below, you acknowledge that the Software is not designed or intended for use with on-line control equipment in hazardous environments requiring fail safe performance, such as in the operation of nuclear facilities" -", aircraft navigation, communication, or control systems, direct life support machines, weapons systems, or other uses in which failure of the Software could lead directly to death, personal injury or severe physical or environmental damage. \r\n" -"\r\n" -"6.3. Neither the Licensor nor its parent company, subsidiaries or employees shall in any circumstances whatsoever be liable to you, whether in contract, tort (including negligence), breach of statutory duty, or otherwise, arising under or in connecti" -"on with this License for any indirect, consequential or special loss or damage, including but not limited to, for:\r\n" -" (a) loss of profits, sales, business, or revenue;\r\n" -" (b) business interruption;\r\n" -" (c) loss of anticipated savings;\r\n" -" (d) loss or corruption of data or information;\r\n" -" (e) loss of business opportunity, goodwill or reputation; \r\n" -" (f) any indirect or consequential loss or damage; or\r\n" -" (g) any computer failure or malfunction, corruption to or loss of data or files, or any and all other commercial damage or loss. \r\n" -"\r\n" -"6.4. Nothing in this License shall limit or exclude our liability for:\r\n" -" (a) death or personal injury resulting from our negligence;\r\n" -" (b) fraud or fraudulent misrepresentation;\r\n" -" (c) any other liability that cannot be excluded or limited by English law.\r\n" -"\r\n" -"6.5. This License sets out the full extent of our obligations and liabilities in respect of the supply of the Software and Documentation. Except as expressly stated in this License, there are no conditions, warranties, representations or other terms," -" express or implied, that are binding on us. Any condition, warranty, representation or other term concerning the supply of the Software and Documentation which might otherwise be implied into, or incorporated in, this License whether by statute, co" -"mmon law or otherwise, is excluded to the fullest extent permitted by law.\r\n" -"\r\n" -"6.6. Subject to clause 5.2 and 5.3, our maximum aggregate liability under or in connection with this License whether in contract, tort (including negligence) or otherwise, shall in all circumstances be limited to a sum equal to $49. \r\n" -"\r\n" -"6.7. You agree to indemnify, defend and hold us and our licensors, partners, affiliates, contractors, officers, directors, employees and agents harmless from any claims, costs and expenses (including legal expenses) arising directly or indirectly fro" -"m your use, handling or operation of the Software otherwise than in accordance with this Agreement.\r\n" -"\r\n" -"6.8. This clause 5 shall survive and shall not be rendered ineffective by the termination or expiry of this agreement for whatever reason. \r\n" -"\r\n" -"7. Termination\r\n" -"\r\n" -"7.1. We may terminate this License immediately by written notice to you if you commit a material or persistent breach of this License which you fail to remedy (if remediable) within 14 days after the service of written notice requiring you to do so. " -"\r\n" -"\r\n" -"7.2. Upon termination for any reason:\r\n" -" (a) all rights granted to you under this License shall cease;\r\n" -" (b) you must cease all activities authorised by this License;\r\n" -" (c) you must immediately delete or remove the Software from all computer equipment in your possession and immediately destroy or return to us (at our option) all copies of the Software then in your possession, custody or control and, in the case o" -"f destruction, certify to us that you have done so.\r\n" -"\r\n" -"8. Communications between us\r\n" -"\r\n" -"8.1. If you wish to contact us in writing, or if any condition in this License requires you to give us notice in writing, you can send this to us by e-mail or by pre-paid post to us at support@juce.com. We will confirm receipt of this by contacting y" -"ou in writing, normally by e-mail. \r\n" -"\r\n" -"8.2. If we have to contact you or give you notice in writing, we will do so by e-mail or by pre-paid post to the address you provide to us in your order for the Software.\r\n" -"\r\n" -"9. Data\r\n" -"\r\n" -"9.1. We may collect and process information about your use of or Software through the Software, some of which may amount to your personal data. Personal data will be collected and processed in accordance with our Privacy Policy which can be reviewed " -"at https://www.juce.com/privacy-policy. \r\n" -"\r\n" -"10. Other important terms\r\n" -"\r\n" -"10.1. We may transfer our rights and obligations under this License to another organisation, but this will not affect your rights or our obligations under this License. \r\n" -"\r\n" -"10.2. You may only transfer your rights or your obligations under this License to another person if we agree in writing.\r\n" -"\r\n" -"10.3. This License and any document expressly referred to in it constitutes the entire agreement between you and us. You acknowledge that you have not relied on any statement, promise or representation made or given by or on behalf of us which is not" -" set out in this License or any document expressly referred to in it.\r\n" -"\r\n" -"10.4. If we fail to insist that you perform any of your obligations under this License, or if we do not enforce our rights against you, or if we delay in doing so, that will not mean that we have waived our rights against you and will not mean that y" -"ou do not have to comply with those obligations. If we do waive a default by you, we will only do so in writing, and that will not mean that we will automatically waive any later default by you. \r\n" -"\r\n" -"10.5. Each of the conditions of this License operates separately. If any court or competent authority decides that any of them are unlawful or unenforceable, the remaining conditions will remain in full force and effect. \r\n" -"\r\n" -"10.6. Please note that this License, its subject matter and its formation, are governed by English law. You and we both agree to that the courts of England and Wales will have exclusive jurisdiction. \r\n"; - -const char* projucer_EULA_txt = (const char*) temp_binary_data_38; - -//================== projucer_login_bg.svg ================== -static const unsigned char temp_binary_data_39[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n"; - -const char* projucer_login_bg_svg = (const char*) temp_binary_data_39; - -//================== RecentFilesMenuTemplate.nib ================== -static const unsigned char temp_binary_data_40[] = -{ 98,112,108,105,115,116,48,48,212,0,1,0,2,0,3,0,4,0,5,0,6,1,53,1,54,88,36,118,101,114,115,105,111,110,88,36,111,98,106,101,99,116,115,89,36,97,114,99,104,105,118,101,114,84,36,116,111,112,18,0,1,134,160,175,16,74,0,7,0,8,0,31,0,35,0,36,0,42,0,46,0,50, -0,53,0,57,0,74,0,77,0,78,0,86,0,87,0,97,0,112,0,113,0,114,0,119,0,120,0,121,0,124,0,128,0,129,0,132,0,143,0,144,0,145,0,149,0,153,0,162,0,163,0,164,0,169,0,173,0,180,0,181,0,182,0,185,0,192,0,193,0,200,0,201,0,208,0,209,0,216,0,217,0,224,0,225,0,226, -0,229,0,230,0,232,0,249,1,11,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,47,1,50,85,36,110,117,108,108,219,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0, -29,95,16,16,78,83,86,105,115,105,98,108,101,87,105,110,100,111,119,115,93,78,83,79,98,106,101,99,116,115,75,101,121,115,86,78,83,82,111,111,116,92,78,83,79,105,100,115,86,97,108,117,101,115,86,36,99,108,97,115,115,90,78,83,79,105,100,115,75,101,121,115, -93,78,83,67,111,110,110,101,99,116,105,111,110,115,95,16,15,78,83,79,98,106,101,99,116,115,86,97,108,117,101,115,95,16,25,78,83,65,99,99,101,115,115,105,98,105,108,105,116,121,67,111,110,110,101,99,116,111,114,115,95,16,23,78,83,65,99,99,101,115,115, -105,98,105,108,105,116,121,79,105,100,115,75,101,121,115,95,16,25,78,83,65,99,99,101,115,115,105,98,105,108,105,116,121,79,105,100,115,86,97,108,117,101,115,128,5,128,9,128,2,128,55,128,73,128,54,128,7,128,53,128,71,128,72,128,72,210,0,13,0,32,0,33,0, -34,91,78,83,67,108,97,115,115,78,97,109,101,128,4,128,3,93,78,83,65,112,112,108,105,99,97,116,105,111,110,210,0,37,0,38,0,39,0,40,90,36,99,108,97,115,115,110,97,109,101,88,36,99,108,97,115,115,101,115,94,78,83,67,117,115,116,111,109,79,98,106,101,99, -116,162,0,39,0,41,88,78,83,79,98,106,101,99,116,210,0,13,0,43,0,44,0,45,90,78,83,46,111,98,106,101,99,116,115,128,6,160,210,0,37,0,38,0,47,0,48,92,78,83,77,117,116,97,98,108,101,83,101,116,163,0,47,0,49,0,41,85,78,83,83,101,116,210,0,13,0,43,0,51,0,52, -128,8,160,210,0,37,0,38,0,54,0,55,94,78,83,77,117,116,97,98,108,101,65,114,114,97,121,163,0,54,0,56,0,41,87,78,83,65,114,114,97,121,210,0,13,0,43,0,58,0,59,128,52,174,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,128,10,128,12, -128,45,128,15,128,39,128,25,128,28,128,30,128,33,128,35,128,43,128,41,128,47,128,50,210,0,13,0,32,0,33,0,76,128,4,128,11,93,78,83,65,112,112,108,105,99,97,116,105,111,110,212,0,79,0,13,0,80,0,81,0,82,0,83,0,84,0,85,91,78,83,77,101,110,117,73,116,101, -109,115,86,78,83,78,97,109,101,87,78,83,84,105,116,108,101,128,14,128,38,128,49,128,13,89,65,77,97,105,110,77,101,110,117,210,0,13,0,43,0,51,0,89,128,8,167,0,63,0,65,0,64,0,71,0,70,0,62,0,72,128,15,128,25,128,39,128,41,128,43,128,45,128,47,216,0,98,0, -99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,111,95,16,17,78,83,75,101,121,69,113,117,105,118,77,111,100,77,97,115,107,86,78,83,77,101,110,117,89,78,83,79,110,73,109,97,103,101,90,78,83,75,101,121,69,113,117,105,118, -93,78,83,77,110,101,109,111,110,105,99,76,111,99,92,78,83,77,105,120,101,100,73,109,97,103,101,18,0,16,0,0,128,12,128,18,128,24,128,17,18,127,255,255,255,128,22,128,16,91,100,101,108,109,101,65,112,112,75,105,116,80,211,0,13,0,115,0,32,0,116,0,117,0, -118,94,78,83,82,101,115,111,117,114,99,101,78,97,109,101,128,21,128,20,128,19,87,78,83,73,109,97,103,101,95,16,15,78,83,77,101,110,117,67,104,101,99,107,109,97,114,107,210,0,37,0,38,0,122,0,123,95,16,16,78,83,67,117,115,116,111,109,82,101,115,111,117, -114,99,101,162,0,122,0,41,211,0,13,0,115,0,32,0,116,0,126,0,118,128,21,128,23,128,19,95,16,16,78,83,77,101,110,117,77,105,120,101,100,83,116,97,116,101,210,0,37,0,38,0,130,0,131,90,78,83,77,101,110,117,73,116,101,109,162,0,130,0,41,218,0,133,0,98,0,134, -0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,135,0,104,0,66,0,61,0,106,0,107,0,108,0,109,0,110,0,142,88,78,83,65,99,116,105,111,110,89,78,83,83,117,98,109,101,110,117,128,27,128,28,128,12,128,18,128,24,128,17,128,22,128,26,84,70,105,108,101,94,115,117,98, -109,101,110,117,65,99,116,105,111,110,58,211,0,79,0,13,0,81,0,146,0,83,0,142,128,29,128,38,128,26,210,0,13,0,43,0,51,0,151,128,8,161,0,67,128,30,218,0,133,0,98,0,134,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,154,0,104,0,68,0,66,0,106,0,107,0,108,0,109, -0,110,0,161,128,32,128,33,128,28,128,18,128,24,128,17,128,22,128,31,91,79,112,101,110,32,82,101,99,101,110,116,94,115,117,98,109,101,110,117,65,99,116,105,111,110,58,212,0,79,0,13,0,80,0,81,0,165,0,83,0,167,0,161,128,34,128,38,128,37,128,31,210,0,13, -0,43,0,51,0,171,128,8,161,0,69,128,35,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,68,0,106,0,107,0,108,0,109,0,110,0,179,128,33,128,18,128,24,128,17,128,22,128,36,90,67,108,101,97,114,32,77,101,110,117,95,16,22,95,78,83,82,101,99,101,110, -116,68,111,99,117,109,101,110,116,115,77,101,110,117,210,0,37,0,38,0,183,0,184,86,78,83,77,101,110,117,162,0,183,0,41,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,191,128,12,128,18,128,24,128,17,128,22,128, -40,84,69,100,105,116,215,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,61,0,106,0,107,0,108,0,109,0,110,0,199,128,12,128,18,128,24,128,17,128,22,128,42,86,70,111,114,109,97,116,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0, -109,0,110,0,207,128,12,128,18,128,24,128,17,128,22,128,44,84,86,105,101,119,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,215,128,12,128,18,128,24,128,17,128,22,128,46,86,87,105,110,100,111,119,215,0,99,0, -100,0,13,0,101,0,102,0,103,0,81,0,61,0,106,0,107,0,108,0,109,0,110,0,223,128,12,128,18,128,24,128,17,128,22,128,48,84,72,101,108,112,91,95,78,83,77,97,105,110,77,101,110,117,210,0,13,0,32,0,33,0,228,128,4,128,51,93,78,83,70,111,110,116,77,97,110,97,103, -101,114,210,0,37,0,38,0,56,0,231,162,0,56,0,41,210,0,13,0,43,0,58,0,234,128,52,174,0,22,0,22,0,61,0,61,0,61,0,61,0,65,0,66,0,67,0,68,0,61,0,61,0,61,0,22,128,2,128,2,128,12,128,12,128,12,128,12,128,25,128,28,128,30,128,33,128,12,128,12,128,12,128,2,210, -0,13,0,43,0,58,0,251,128,52,175,16,15,0,22,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,128,2,128,10,128,12,128,45,128,15,128,39,128,25,128,28,128,30,128,33,128,35,128,43,128,41,128,47,128,50,210,0,13,0,43,0,58,1,13,128,52,175, -16,15,1,14,1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,128,56,128,57,128,58,128,59,128,60,128,61,128,62,128,63,128,64,128,65,128,66,128,67,128,68,128,69,128,70,17,2,22,17,2,23,17,2,24,17,2,25,17,2,26,17,2,27,17,2,28,17,2,29, -17,2,30,17,2,31,17,2,32,17,2,33,17,2,34,17,2,35,17,2,36,210,0,13,0,43,0,51,1,46,128,8,160,210,0,13,0,43,0,58,1,49,128,52,160,210,0,37,0,38,1,51,1,52,94,78,83,73,66,79,98,106,101,99,116,68,97,116,97,162,1,51,0,41,95,16,15,78,83,75,101,121,101,100,65,114, -99,104,105,118,101,114,209,1,55,1,56,93,73,66,46,111,98,106,101,99,116,100,97,116,97,128,1,0,8,0,25,0,34,0,43,0,53,0,58,0,63,0,214,0,220,1,9,1,28,1,42,1,49,1,62,1,69,1,80,1,94,1,112,1,140,1,166,1,194,1,196,1,198,1,200,1,202,1,204,1,206,1,208,1,210,1, -212,1,214,1,216,1,225,1,237,1,239,1,241,1,255,2,8,2,19,2,28,2,43,2,48,2,57,2,66,2,77,2,79,2,80,2,89,2,102,2,109,2,115,2,124,2,126,2,127,2,136,2,151,2,158,2,166,2,175,2,177,2,206,2,208,2,210,2,212,2,214,2,216,2,218,2,220,2,222,2,224,2,226,2,228,2,230, -2,232,2,234,2,243,2,245,2,247,3,5,3,22,3,34,3,41,3,49,3,51,3,53,3,55,3,57,3,67,3,76,3,78,3,93,3,95,3,97,3,99,3,101,3,103,3,105,3,107,3,140,3,160,3,167,3,177,3,188,3,202,3,215,3,220,3,222,3,224,3,226,3,228,3,233,3,235,3,237,3,249,3,250,4,7,4,22,4,24,4, -26,4,28,4,36,4,54,4,63,4,82,4,87,4,100,4,102,4,104,4,106,4,125,4,134,4,145,4,150,4,191,4,200,4,210,4,212,4,214,4,216,4,218,4,220,4,222,4,224,4,226,4,231,4,246,5,3,5,5,5,7,5,9,5,18,5,20,5,23,5,25,5,66,5,68,5,70,5,72,5,74,5,76,5,78,5,80,5,82,5,94,5,109, -5,126,5,128,5,130,5,132,5,134,5,143,5,145,5,148,5,150,5,183,5,185,5,187,5,189,5,191,5,193,5,195,5,206,5,231,5,240,5,247,5,252,6,29,6,31,6,33,6,35,6,37,6,39,6,41,6,46,6,75,6,77,6,79,6,81,6,83,6,85,6,87,6,94,6,127,6,129,6,131,6,133,6,135,6,137,6,139,6, -144,6,177,6,179,6,181,6,183,6,185,6,187,6,189,6,196,6,225,6,227,6,229,6,231,6,233,6,235,6,237,6,242,6,254,7,7,7,9,7,11,7,25,7,34,7,39,7,48,7,50,7,79,7,81,7,83,7,85,7,87,7,89,7,91,7,93,7,95,7,97,7,99,7,101,7,103,7,105,7,107,7,116,7,118,7,151,7,153,7,155, -7,157,7,159,7,161,7,163,7,165,7,167,7,169,7,171,7,173,7,175,7,177,7,179,7,181,7,190,7,192,7,225,7,227,7,229,7,231,7,233,7,235,7,237,7,239,7,241,7,243,7,245,7,247,7,249,7,251,7,253,7,255,8,2,8,5,8,8,8,11,8,14,8,17,8,20,8,23,8,26,8,29,8,32,8,35,8,38,8, -41,8,44,8,53,8,55,8,56,8,65,8,67,8,68,8,77,8,92,8,97,8,115,8,120,8,134,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,136,0,0 }; - -const char* RecentFilesMenuTemplate_nib = (const char*) temp_binary_data_40; +const char* juce_icon_png = (const char*) temp_binary_data_12; //================== wizard_AnimatedApp.svg ================== -static const unsigned char temp_binary_data_41[] = +static const unsigned char temp_binary_data_13[] = "\n" "\n" "\n" @@ -4342,10 +2616,10 @@ static const unsigned char temp_binary_data_41[] = " id=\"line44\"\n" " style=\"stroke:#a45c94;stroke-opacity:0.94117647\" />"; -const char* wizard_AnimatedApp_svg = (const char*) temp_binary_data_41; +const char* wizard_AnimatedApp_svg = (const char*) temp_binary_data_13; //================== wizard_AudioApp.svg ================== -static const unsigned char temp_binary_data_42[] = +static const unsigned char temp_binary_data_14[] = "\n" "\n" "\n" @@ -5099,10 +3373,10 @@ static const unsigned char temp_binary_data_42[] = " id=\"line131\"\n" " style=\"stroke:#a45c94;stroke-opacity:1\" />"; -const char* wizard_AudioApp_svg = (const char*) temp_binary_data_42; +const char* wizard_AudioApp_svg = (const char*) temp_binary_data_14; //================== wizard_AudioPlugin.svg ================== -static const unsigned char temp_binary_data_43[] = +static const unsigned char temp_binary_data_15[] = "\n" "\n" "\n" @@ -5958,10 +4232,10 @@ static const unsigned char temp_binary_data_43[] = " id=\"circle175\"\n" " style=\"stroke:#a45c94;stroke-opacity:1;fill:#a45c94;fill-opacity:1\" />"; -const char* wizard_AudioPlugin_svg = (const char*) temp_binary_data_43; +const char* wizard_AudioPlugin_svg = (const char*) temp_binary_data_15; //================== wizard_ConsoleApp.svg ================== -static const unsigned char temp_binary_data_44[] = +static const unsigned char temp_binary_data_16[] = "\n" "\n" "\n" @@ -6048,10 +4322,10 @@ static const unsigned char temp_binary_data_44[] = " id=\"path19\"\n" " style=\"stroke:#a45c94;stroke-opacity:1;fill:#a45c94;fill-opacity:1\" />"; -const char* wizard_ConsoleApp_svg = (const char*) temp_binary_data_44; +const char* wizard_ConsoleApp_svg = (const char*) temp_binary_data_16; //================== wizard_DLL.svg ================== -static const unsigned char temp_binary_data_45[] = +static const unsigned char temp_binary_data_17[] = "\n" "\n" "\n" @@ -6322,10 +4596,10 @@ static const unsigned char temp_binary_data_45[] = " id=\"path54\"\n" " style=\"stroke:#a45c94;stroke-opacity:1\" />"; -const char* wizard_DLL_svg = (const char*) temp_binary_data_45; +const char* wizard_DLL_svg = (const char*) temp_binary_data_17; //================== wizard_GUI.svg ================== -static const unsigned char temp_binary_data_46[] = +static const unsigned char temp_binary_data_18[] = "\n" "\n" "\n" @@ -6495,10 +4769,10 @@ static const unsigned char temp_binary_data_46[] = " id=\"path47\"\n" " style=\"stroke:#a45c94;stroke-opacity:1\" />"; -const char* wizard_GUI_svg = (const char*) temp_binary_data_46; +const char* wizard_GUI_svg = (const char*) temp_binary_data_18; //================== wizard_Highlight.svg ================== -static const unsigned char temp_binary_data_47[] = +static const unsigned char temp_binary_data_19[] = "\n" "\n" "\n" @@ -6548,10 +4822,10 @@ static const unsigned char temp_binary_data_47[] = " id=\"path3\"\n" " style=\"fill:#a45c94;fill-opacity:1\" />"; -const char* wizard_Highlight_svg = (const char*) temp_binary_data_47; +const char* wizard_Highlight_svg = (const char*) temp_binary_data_19; //================== wizard_Openfile.svg ================== -static const unsigned char temp_binary_data_48[] = +static const unsigned char temp_binary_data_20[] = "\n" "\n" "\n" @@ -6603,10 +4877,10 @@ static const unsigned char temp_binary_data_48[] = " id=\"path3\"\n" " style=\"stroke:#a45c94;stroke-opacity:1\" />"; -const char* wizard_Openfile_svg = (const char*) temp_binary_data_48; +const char* wizard_Openfile_svg = (const char*) temp_binary_data_20; //================== wizard_OpenGL.svg ================== -static const unsigned char temp_binary_data_49[] = +static const unsigned char temp_binary_data_21[] = "\n" "\n" "\n" @@ -6734,10 +5008,10 @@ static const unsigned char temp_binary_data_49[] = " id=\"path23\"\n" " style=\"stroke:#a45c94;stroke-opacity:1\" />"; -const char* wizard_OpenGL_svg = (const char*) temp_binary_data_49; +const char* wizard_OpenGL_svg = (const char*) temp_binary_data_21; //================== wizard_StaticLibrary.svg ================== -static const unsigned char temp_binary_data_50[] = +static const unsigned char temp_binary_data_22[] = "\n" "\n" "\n" @@ -7008,7 +5282,1659 @@ static const unsigned char temp_binary_data_50[] = " id=\"path54\"\n" " style=\"stroke:#a45c94;stroke-opacity:1\" />"; -const char* wizard_StaticLibrary_svg = (const char*) temp_binary_data_50; +const char* wizard_StaticLibrary_svg = (const char*) temp_binary_data_22; + +//================== jucer_AnimatedComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_23[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +" This component lives inside our window, and this is where you should put all\r\n" +" your controls and content.\r\n" +"*/\r\n" +"class MainContentComponent : public AnimatedAppComponent\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" MainContentComponent()\r\n" +" {\r\n" +" setSize (800, 600);\r\n" +" setFramesPerSecond (60);\r\n" +" }\r\n" +"\r\n" +" ~MainContentComponent()\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void update() override\r\n" +" {\r\n" +" // This function is called at the frequency specified by the setFramesPerSecond() call\r\n" +" // in the constructor. You can use it to update counters, animate values, etc.\r\n" +" }\r\n" +"\r\n" +" void paint (Graphics& g) override\r\n" +" {\r\n" +" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" +" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));\r\n" +"\r\n" +" // You can add your drawing code here!\r\n" +" }\r\n" +"\r\n" +" void resized() override\r\n" +" {\r\n" +" // This is called when the MainContentComponent is resized.\r\n" +" // If you add any child components, this is where you should\r\n" +" // update their positions.\r\n" +" }\r\n" +"\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +"\r\n" +" // Your private member variables go here...\r\n" +"\r\n" +"\r\n" +"\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"// (This function is called by the app startup code to create our main component)\r\n" +"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n"; + +const char* jucer_AnimatedComponentTemplate_cpp = (const char*) temp_binary_data_23; + +//================== jucer_AudioComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_24[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +" This component lives inside our window, and this is where you should put all\r\n" +" your controls and content.\r\n" +"*/\r\n" +"class MainContentComponent : public AudioAppComponent\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" MainContentComponent()\r\n" +" {\r\n" +" setSize (800, 600);\r\n" +"\r\n" +" // specify the number of input and output channels that we want to open\r\n" +" setAudioChannels (2, 2);\r\n" +" }\r\n" +"\r\n" +" ~MainContentComponent()\r\n" +" {\r\n" +" shutdownAudio();\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override\r\n" +" {\r\n" +" // This function will be called when the audio device is started, or when\r\n" +" // its settings (i.e. sample rate, block size, etc) are changed.\r\n" +"\r\n" +" // You can use this function to initialise any resources you might need,\r\n" +" // but be careful - it will be called on the audio thread, not the GUI thread.\r\n" +"\r\n" +" // For more details, see the help for AudioProcessor::prepareToPlay()\r\n" +" }\r\n" +"\r\n" +" void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override\r\n" +" {\r\n" +" // Your audio-processing code goes here!\r\n" +"\r\n" +" // For more details, see the help for AudioProcessor::getNextAudioBlock()\r\n" +"\r\n" +" // Right now we are not producing any data, in which case we need to clear the buffer\r\n" +" // (to prevent the output of random noise)\r\n" +" bufferToFill.clearActiveBufferRegion();\r\n" +" }\r\n" +"\r\n" +" void releaseResources() override\r\n" +" {\r\n" +" // This will be called when the audio device stops, or when it is being\r\n" +" // restarted due to a setting change.\r\n" +"\r\n" +" // For more details, see the help for AudioProcessor::releaseResources()\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void paint (Graphics& g) override\r\n" +" {\r\n" +" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" +" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));\r\n" +"\r\n" +" // You can add your drawing code here!\r\n" +" }\r\n" +"\r\n" +" void resized() override\r\n" +" {\r\n" +" // This is called when the MainContentComponent is resized.\r\n" +" // If you add any child components, this is where you should\r\n" +" // update their positions.\r\n" +" }\r\n" +"\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +"\r\n" +" // Your private member variables go here...\r\n" +"\r\n" +"\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"// (This function is called by the app startup code to create our main component)\r\n" +"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n"; + +const char* jucer_AudioComponentTemplate_cpp = (const char*) temp_binary_data_24; + +//================== jucer_AudioPluginEditorTemplate.cpp ================== +static const unsigned char temp_binary_data_25[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic framework code for a JUCE plugin editor.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"EDITORCPPHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"EDITORCLASSNAME::EDITORCLASSNAME (FILTERCLASSNAME& p)\r\n" +" : AudioProcessorEditor (&p), processor (p)\r\n" +"{\r\n" +" // Make sure that before the constructor has finished, you've set the\r\n" +" // editor's size to whatever you need it to be.\r\n" +" setSize (400, 300);\r\n" +"}\r\n" +"\r\n" +"EDITORCLASSNAME::~EDITORCLASSNAME()\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"void EDITORCLASSNAME::paint (Graphics& g)\r\n" +"{\r\n" +" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" +" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));\r\n" +"\r\n" +" g.setColour (Colours::white);\r\n" +" g.setFont (15.0f);\r\n" +" g.drawFittedText (\"Hello World!\", getLocalBounds(), Justification::centred, 1);\r\n" +"}\r\n" +"\r\n" +"void EDITORCLASSNAME::resized()\r\n" +"{\r\n" +" // This is generally where you'll want to lay out the positions of any\r\n" +" // subcomponents in your editor..\r\n" +"}\r\n"; + +const char* jucer_AudioPluginEditorTemplate_cpp = (const char*) temp_binary_data_25; + +//================== jucer_AudioPluginEditorTemplate.h ================== +static const unsigned char temp_binary_data_26[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic framework code for a JUCE plugin editor.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#pragma once\r\n" +"\r\n" +"EDITORHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"/**\r\n" +"*/\r\n" +"class EDITORCLASSNAME : public AudioProcessorEditor\r\n" +"{\r\n" +"public:\r\n" +" EDITORCLASSNAME (FILTERCLASSNAME&);\r\n" +" ~EDITORCLASSNAME();\r\n" +"\r\n" +" //==============================================================================\r\n" +" void paint (Graphics&) override;\r\n" +" void resized() override;\r\n" +"\r\n" +"private:\r\n" +" // This reference is provided as a quick way for your editor to\r\n" +" // access the processor object that created it.\r\n" +" FILTERCLASSNAME& processor;\r\n" +"\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EDITORCLASSNAME)\r\n" +"};\r\n"; + +const char* jucer_AudioPluginEditorTemplate_h = (const char*) temp_binary_data_26; + +//================== jucer_AudioPluginFilterTemplate.cpp ================== +static const unsigned char temp_binary_data_27[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic framework code for a JUCE plugin processor.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"FILTERHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"FILTERCLASSNAME::FILTERCLASSNAME()\r\n" +"#ifndef JucePlugin_PreferredChannelConfigurations\r\n" +" : AudioProcessor (BusesProperties()\r\n" +" #if ! JucePlugin_IsMidiEffect\r\n" +" #if ! JucePlugin_IsSynth\r\n" +" .withInput (\"Input\", AudioChannelSet::stereo(), true)\r\n" +" #endif\r\n" +" .withOutput (\"Output\", AudioChannelSet::stereo(), true)\r\n" +" #endif\r\n" +" )\r\n" +"#endif\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"FILTERCLASSNAME::~FILTERCLASSNAME()\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"const String FILTERCLASSNAME::getName() const\r\n" +"{\r\n" +" return JucePlugin_Name;\r\n" +"}\r\n" +"\r\n" +"bool FILTERCLASSNAME::acceptsMidi() const\r\n" +"{\r\n" +" #if JucePlugin_WantsMidiInput\r\n" +" return true;\r\n" +" #else\r\n" +" return false;\r\n" +" #endif\r\n" +"}\r\n" +"\r\n" +"bool FILTERCLASSNAME::producesMidi() const\r\n" +"{\r\n" +" #if JucePlugin_ProducesMidiOutput\r\n" +" return true;\r\n" +" #else\r\n" +" return false;\r\n" +" #endif\r\n" +"}\r\n" +"\r\n" +"bool FILTERCLASSNAME::isMidiEffect() const\r\n" +"{\r\n" +" #if JucePlugin_IsMidiEffect\r\n" +" return true;\r\n" +" #else\r\n" +" return false;\r\n" +" #endif\r\n" +"}\r\n" +"\r\n" +"double FILTERCLASSNAME::getTailLengthSeconds() const\r\n" +"{\r\n" +" return 0.0;\r\n" +"}\r\n" +"\r\n" +"int FILTERCLASSNAME::getNumPrograms()\r\n" +"{\r\n" +" return 1; // NB: some hosts don't cope very well if you tell them there are 0 programs,\r\n" +" // so this should be at least 1, even if you're not really implementing programs.\r\n" +"}\r\n" +"\r\n" +"int FILTERCLASSNAME::getCurrentProgram()\r\n" +"{\r\n" +" return 0;\r\n" +"}\r\n" +"\r\n" +"void FILTERCLASSNAME::setCurrentProgram (int index)\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"const String FILTERCLASSNAME::getProgramName (int index)\r\n" +"{\r\n" +" return {};\r\n" +"}\r\n" +"\r\n" +"void FILTERCLASSNAME::changeProgramName (int index, const String& newName)\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"void FILTERCLASSNAME::prepareToPlay (double sampleRate, int samplesPerBlock)\r\n" +"{\r\n" +" // Use this method as the place to do any pre-playback\r\n" +" // initialisation that you need..\r\n" +"}\r\n" +"\r\n" +"void FILTERCLASSNAME::releaseResources()\r\n" +"{\r\n" +" // When playback stops, you can use this as an opportunity to free up any\r\n" +" // spare memory, etc.\r\n" +"}\r\n" +"\r\n" +"#ifndef JucePlugin_PreferredChannelConfigurations\r\n" +"bool FILTERCLASSNAME::isBusesLayoutSupported (const BusesLayout& layouts) const\r\n" +"{\r\n" +" #if JucePlugin_IsMidiEffect\r\n" +" ignoreUnused (layouts);\r\n" +" return true;\r\n" +" #else\r\n" +" // This is the place where you check if the layout is supported.\r\n" +" // In this template code we only support mono or stereo.\r\n" +" if (layouts.getMainOutputChannelSet() != AudioChannelSet::mono()\r\n" +" && layouts.getMainOutputChannelSet() != AudioChannelSet::stereo())\r\n" +" return false;\r\n" +"\r\n" +" // This checks if the input layout matches the output layout\r\n" +" #if ! JucePlugin_IsSynth\r\n" +" if (layouts.getMainOutputChannelSet() != layouts.getMainInputChannelSet())\r\n" +" return false;\r\n" +" #endif\r\n" +"\r\n" +" return true;\r\n" +" #endif\r\n" +"}\r\n" +"#endif\r\n" +"\r\n" +"void FILTERCLASSNAME::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages)\r\n" +"{\r\n" +" ScopedNoDenormals noDenormals;\r\n" +" const int totalNumInputChannels = getTotalNumInputChannels();\r\n" +" const int totalNumOutputChannels = getTotalNumOutputChannels();\r\n" +"\r\n" +" // In case we have more outputs than inputs, this code clears any output\r\n" +" // channels that didn't contain input data, (because these aren't\r\n" +" // guaranteed to be empty - they may contain garbage).\r\n" +" // This is here to avoid people getting screaming feedback\r\n" +" // when they first compile a plugin, but obviously you don't need to keep\r\n" +" // this code if your algorithm always overwrites all the output channels.\r\n" +" for (int i = totalNumInputChannels; i < totalNumOutputChannels; ++i)\r\n" +" buffer.clear (i, 0, buffer.getNumSamples());\r\n" +"\r\n" +" // This is the place where you'd normally do the guts of your plugin's\r\n" +" // audio processing...\r\n" +" for (int channel = 0; channel < totalNumInputChannels; ++channel)\r\n" +" {\r\n" +" float* channelData = buffer.getWritePointer (channel);\r\n" +"\r\n" +" // ..do something to the data...\r\n" +" }\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"bool FILTERCLASSNAME::hasEditor() const\r\n" +"{\r\n" +" return true; // (change this to false if you choose to not supply an editor)\r\n" +"}\r\n" +"\r\n" +"AudioProcessorEditor* FILTERCLASSNAME::createEditor()\r\n" +"{\r\n" +" return new EDITORCLASSNAME (*this);\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"void FILTERCLASSNAME::getStateInformation (MemoryBlock& destData)\r\n" +"{\r\n" +" // You should use this method to store your parameters in the memory block.\r\n" +" // You could do that either as raw data, or use the XML or ValueTree classes\r\n" +" // as intermediaries to make it easy to save and load complex data.\r\n" +"}\r\n" +"\r\n" +"void FILTERCLASSNAME::setStateInformation (const void* data, int sizeInBytes)\r\n" +"{\r\n" +" // You should use this method to restore your parameters from this memory block,\r\n" +" // whose contents will have been created by the getStateInformation() call.\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"// This creates new instances of the plugin..\r\n" +"AudioProcessor* JUCE_CALLTYPE createPluginFilter()\r\n" +"{\r\n" +" return new FILTERCLASSNAME();\r\n" +"}\r\n"; + +const char* jucer_AudioPluginFilterTemplate_cpp = (const char*) temp_binary_data_27; + +//================== jucer_AudioPluginFilterTemplate.h ================== +static const unsigned char temp_binary_data_28[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic framework code for a JUCE plugin processor.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#pragma once\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"/**\r\n" +"*/\r\n" +"class FILTERCLASSNAME : public AudioProcessor\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" FILTERCLASSNAME();\r\n" +" ~FILTERCLASSNAME();\r\n" +"\r\n" +" //==============================================================================\r\n" +" void prepareToPlay (double sampleRate, int samplesPerBlock) override;\r\n" +" void releaseResources() override;\r\n" +"\r\n" +" #ifndef JucePlugin_PreferredChannelConfigurations\r\n" +" bool isBusesLayoutSupported (const BusesLayout& layouts) const override;\r\n" +" #endif\r\n" +"\r\n" +" void processBlock (AudioSampleBuffer&, MidiBuffer&) override;\r\n" +"\r\n" +" //==============================================================================\r\n" +" AudioProcessorEditor* createEditor() override;\r\n" +" bool hasEditor() const override;\r\n" +"\r\n" +" //==============================================================================\r\n" +" const String getName() const override;\r\n" +"\r\n" +" bool acceptsMidi() const override;\r\n" +" bool producesMidi() const override;\r\n" +" bool isMidiEffect () const override;\r\n" +" double getTailLengthSeconds() const override;\r\n" +"\r\n" +" //==============================================================================\r\n" +" int getNumPrograms() override;\r\n" +" int getCurrentProgram() override;\r\n" +" void setCurrentProgram (int index) override;\r\n" +" const String getProgramName (int index) override;\r\n" +" void changeProgramName (int index, const String& newName) override;\r\n" +"\r\n" +" //==============================================================================\r\n" +" void getStateInformation (MemoryBlock& destData) override;\r\n" +" void setStateInformation (const void* data, int sizeInBytes) override;\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FILTERCLASSNAME)\r\n" +"};\r\n"; + +const char* jucer_AudioPluginFilterTemplate_h = (const char*) temp_binary_data_28; + +//================== jucer_ComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_29[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This is an automatically generated GUI class created by the Projucer!\r\n" +"\r\n" +" Be careful when adding custom code to these files, as only the code within\r\n" +" the \"//[xyz]\" and \"//[/xyz]\" sections will be retained when the file is loaded\r\n" +" and re-saved.\r\n" +"\r\n" +" Created with Projucer version: %%version%%\r\n" +"\r\n" +" ------------------------------------------------------------------------------\r\n" +"\r\n" +" The Projucer is part of the JUCE library - \"Jules' Utility Class Extensions\"\r\n" +" Copyright (c) 2015 - ROLI Ltd.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"//[Headers] You can add your own extra header files here...\r\n" +"//[/Headers]\r\n" +"\r\n" +"%%includeFilesCPP%%\r\n" +"\r\n" +"//[MiscUserDefs] You can add your own user definitions and misc code here...\r\n" +"//[/MiscUserDefs]\r\n" +"\r\n" +"//==============================================================================\r\n" +"%%className%%::%%className%% (%%constructorParams%%)\r\n" +"%%initialisers%%{\r\n" +" //[Constructor_pre] You can add your own custom stuff here..\r\n" +" //[/Constructor_pre]\r\n" +"\r\n" +" %%constructor%%\r\n" +"\r\n" +" //[Constructor] You can add your own custom stuff here..\r\n" +" //[/Constructor]\r\n" +"}\r\n" +"\r\n" +"%%className%%::~%%className%%()\r\n" +"{\r\n" +" //[Destructor_pre]. You can add your own custom destruction code here..\r\n" +" //[/Destructor_pre]\r\n" +"\r\n" +" %%destructor%%\r\n" +"\r\n" +" //[Destructor]. You can add your own custom destruction code here..\r\n" +" //[/Destructor]\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"%%methodDefinitions%%\r\n" +"\r\n" +"//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...\r\n" +"//[/MiscUserCode]\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"#if 0\r\n" +"/* -- Projucer information section --\r\n" +"\r\n" +" This is where the Projucer stores the metadata that describe this GUI layout, so\r\n" +" make changes in here at your peril!\r\n" +"\r\n" +"BEGIN_JUCER_METADATA\r\n" +"\r\n" +"%%metadata%%\r\n" +"END_JUCER_METADATA\r\n" +"*/\r\n" +"#endif\r\n" +"\r\n" +"%%staticMemberDefinitions%%\r\n" +"//[EndFile] You can add extra defines here...\r\n" +"//[/EndFile]\r\n"; + +const char* jucer_ComponentTemplate_cpp = (const char*) temp_binary_data_29; + +//================== jucer_ComponentTemplate.h ================== +static const unsigned char temp_binary_data_30[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This is an automatically generated GUI class created by the Projucer!\r\n" +"\r\n" +" Be careful when adding custom code to these files, as only the code within\r\n" +" the \"//[xyz]\" and \"//[/xyz]\" sections will be retained when the file is loaded\r\n" +" and re-saved.\r\n" +"\r\n" +" Created with Projucer version: %%version%%\r\n" +"\r\n" +" ------------------------------------------------------------------------------\r\n" +"\r\n" +" The Projucer is part of the JUCE library - \"Jules' Utility Class Extensions\"\r\n" +" Copyright (c) 2015 - ROLI Ltd.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#pragma once\r\n" +"\r\n" +"//[Headers] -- You can add your own extra header files here --\r\n" +"%%includeJUCEHeader%%\r\n" +"//[/Headers]\r\n" +"\r\n" +"%%includeFilesH%%\r\n" +"\r\n" +"//==============================================================================\r\n" +"/**\r\n" +" //[Comments]\r\n" +" An auto-generated component, created by the Projucer.\r\n" +"\r\n" +" Describe your class and how it works here!\r\n" +" //[/Comments]\r\n" +"*/\r\n" +"%%classDeclaration%%\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" %%className%% (%%constructorParams%%);\r\n" +" ~%%className%%();\r\n" +"\r\n" +" //==============================================================================\r\n" +" //[UserMethods] -- You can add your own custom methods in this section.\r\n" +" //[/UserMethods]\r\n" +"\r\n" +" %%publicMemberDeclarations%%\r\n" +"\r\n" +"private:\r\n" +" //[UserVariables] -- You can add your own custom variables in this section.\r\n" +" //[/UserVariables]\r\n" +"\r\n" +" //==============================================================================\r\n" +" %%privateMemberDeclarations%%\r\n" +"\r\n" +" //==============================================================================\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%className%%)\r\n" +"};\r\n" +"\r\n" +"//[EndFile] You can add extra defines here...\r\n" +"//[/EndFile]\r\n"; + +const char* jucer_ComponentTemplate_h = (const char*) temp_binary_data_30; + +//================== jucer_ContentCompTemplate.cpp ================== +static const unsigned char temp_binary_data_31[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"INCLUDE_CORRESPONDING_HEADER\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"CONTENTCOMPCLASS::CONTENTCOMPCLASS()\r\n" +"{\r\n" +" setSize (600, 400);\r\n" +"}\r\n" +"\r\n" +"CONTENTCOMPCLASS::~CONTENTCOMPCLASS()\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"void CONTENTCOMPCLASS::paint (Graphics& g)\r\n" +"{\r\n" +" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" +" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));\r\n" +"\r\n" +" g.setFont (Font (16.0f));\r\n" +" g.setColour (Colours::white);\r\n" +" g.drawText (\"Hello World!\", getLocalBounds(), Justification::centred, true);\r\n" +"}\r\n" +"\r\n" +"void CONTENTCOMPCLASS::resized()\r\n" +"{\r\n" +" // This is called when the CONTENTCOMPCLASS is resized.\r\n" +" // If you add any child components, this is where you should\r\n" +" // update their positions.\r\n" +"}\r\n"; + +const char* jucer_ContentCompTemplate_cpp = (const char*) temp_binary_data_31; + +//================== jucer_ContentCompTemplate.h ================== +static const unsigned char temp_binary_data_32[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#pragma once\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +" This component lives inside our window, and this is where you should put all\r\n" +" your controls and content.\r\n" +"*/\r\n" +"class CONTENTCOMPCLASS : public Component\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" CONTENTCOMPCLASS();\r\n" +" ~CONTENTCOMPCLASS();\r\n" +"\r\n" +" void paint (Graphics&) override;\r\n" +" void resized() override;\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS)\r\n" +"};\r\n"; + +const char* jucer_ContentCompTemplate_h = (const char*) temp_binary_data_32; + +//================== jucer_InlineComponentTemplate.h ================== +static const unsigned char temp_binary_data_33[] = +"//==============================================================================\r\n" +"class COMPONENTCLASS : public Component\r\n" +"{\r\n" +"public:\r\n" +" COMPONENTCLASS()\r\n" +" {\r\n" +" // In your constructor, you should add any child components, and\r\n" +" // initialise any special settings that your component needs.\r\n" +"\r\n" +" }\r\n" +"\r\n" +" ~COMPONENTCLASS()\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void paint (Graphics& g) override\r\n" +" {\r\n" +" // You should replace everything in this method with your own drawing code..\r\n" +"\r\n" +" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); // clear the background\r\n" +"\r\n" +" g.setColour (Colours::grey);\r\n" +" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" +"\r\n" +" g.setColour (Colours::white);\r\n" +" g.setFont (14.0f);\r\n" +" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" +" Justification::centred, true); // draw some placeholder text\r\n" +" }\r\n" +"\r\n" +" void resized() override\r\n" +" {\r\n" +" // This method is where you should set the bounds of any child\r\n" +" // components that your component contains..\r\n" +"\r\n" +" }\r\n" +"\r\n" +"private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" +"};\r\n"; + +const char* jucer_InlineComponentTemplate_h = (const char*) temp_binary_data_33; + +//================== jucer_MainConsoleAppTemplate.cpp ================== +static const unsigned char temp_binary_data_34[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic startup code for a Juce application.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"int main (int argc, char* argv[])\r\n" +"{\r\n" +"\r\n" +" // ..your code goes here!\r\n" +"\r\n" +"\r\n" +" return 0;\r\n" +"}\r\n"; + +const char* jucer_MainConsoleAppTemplate_cpp = (const char*) temp_binary_data_34; + +//================== jucer_MainTemplate_NoWindow.cpp ================== +static const unsigned char temp_binary_data_35[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic startup code for a Juce application.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"class APPCLASSNAME : public JUCEApplication\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" APPCLASSNAME() {}\r\n" +"\r\n" +" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" +" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" +" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void initialise (const String& commandLine) override\r\n" +" {\r\n" +" // Add your application's initialisation code here..\r\n" +" }\r\n" +"\r\n" +" void shutdown() override\r\n" +" {\r\n" +" // Add your application's shutdown code here..\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void systemRequestedQuit() override\r\n" +" {\r\n" +" // This is called when the app is being asked to quit: you can ignore this\r\n" +" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" +" quit();\r\n" +" }\r\n" +"\r\n" +" void anotherInstanceStarted (const String& commandLine) override\r\n" +" {\r\n" +" // When another instance of the app is launched while this one is running,\r\n" +" // this method is invoked, and the commandLine parameter tells you what\r\n" +" // the other instance's command-line arguments were.\r\n" +" }\r\n" +"};\r\n" +"\r\n" +"//==============================================================================\r\n" +"// This macro generates the main() routine that launches the app.\r\n" +"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; + +const char* jucer_MainTemplate_NoWindow_cpp = (const char*) temp_binary_data_35; + +//================== jucer_MainTemplate_SimpleWindow.cpp ================== +static const unsigned char temp_binary_data_36[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic startup code for a Juce application.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"Component* createMainContentComponent();\r\n" +"\r\n" +"//==============================================================================\r\n" +"class APPCLASSNAME : public JUCEApplication\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" APPCLASSNAME() {}\r\n" +"\r\n" +" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" +" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" +" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void initialise (const String& commandLine) override\r\n" +" {\r\n" +" // This method is where you should put your application's initialisation code..\r\n" +"\r\n" +" mainWindow = new MainWindow (getApplicationName());\r\n" +" }\r\n" +"\r\n" +" void shutdown() override\r\n" +" {\r\n" +" // Add your application's shutdown code here..\r\n" +"\r\n" +" mainWindow = nullptr; // (deletes our window)\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void systemRequestedQuit() override\r\n" +" {\r\n" +" // This is called when the app is being asked to quit: you can ignore this\r\n" +" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" +" quit();\r\n" +" }\r\n" +"\r\n" +" void anotherInstanceStarted (const String& commandLine) override\r\n" +" {\r\n" +" // When another instance of the app is launched while this one is running,\r\n" +" // this method is invoked, and the commandLine parameter tells you what\r\n" +" // the other instance's command-line arguments were.\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" /*\r\n" +" This class implements the desktop window that contains an instance of\r\n" +" our CONTENTCOMPCLASS class.\r\n" +" */\r\n" +" class MainWindow : public DocumentWindow\r\n" +" {\r\n" +" public:\r\n" +" MainWindow (String name) : DocumentWindow (name,\r\n" +" Desktop::getInstance().getDefaultLookAndFeel()\r\n" +" .findColour (ResizableWindow::backgroundColourId),\r\n" +" DocumentWindow::allButtons)\r\n" +" {\r\n" +" setUsingNativeTitleBar (true);\r\n" +" setContentOwned (createMainContentComponent(), true);\r\n" +" setResizable (true, true);\r\n" +"\r\n" +" centreWithSize (getWidth(), getHeight());\r\n" +" setVisible (true);\r\n" +" }\r\n" +"\r\n" +" void closeButtonPressed() override\r\n" +" {\r\n" +" // This is called when the user tries to close this window. Here, we'll just\r\n" +" // ask the app to quit when this happens, but you can change this to do\r\n" +" // whatever you need.\r\n" +" JUCEApplication::getInstance()->systemRequestedQuit();\r\n" +" }\r\n" +"\r\n" +" /* Note: Be careful if you override any DocumentWindow methods - the base\r\n" +" class uses a lot of them, so by overriding you might break its functionality.\r\n" +" It's best to do all your work in your content component instead, but if\r\n" +" you really have to override any DocumentWindow methods, make sure your\r\n" +" subclass also calls the superclass's method.\r\n" +" */\r\n" +"\r\n" +" private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r\n" +" };\r\n" +"\r\n" +"private:\r\n" +" ScopedPointer mainWindow;\r\n" +"};\r\n" +"\r\n" +"//==============================================================================\r\n" +"// This macro generates the main() routine that launches the app.\r\n" +"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; + +const char* jucer_MainTemplate_SimpleWindow_cpp = (const char*) temp_binary_data_36; + +//================== jucer_MainTemplate_Window.cpp ================== +static const unsigned char temp_binary_data_37[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic startup code for a Juce application.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"class APPCLASSNAME : public JUCEApplication\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" APPCLASSNAME() {}\r\n" +"\r\n" +" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" +" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" +" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void initialise (const String& commandLine) override\r\n" +" {\r\n" +" // This method is where you should put your application's initialisation code..\r\n" +"\r\n" +" mainWindow = new MainWindow (getApplicationName());\r\n" +" }\r\n" +"\r\n" +" void shutdown() override\r\n" +" {\r\n" +" // Add your application's shutdown code here..\r\n" +"\r\n" +" mainWindow = nullptr; // (deletes our window)\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void systemRequestedQuit() override\r\n" +" {\r\n" +" // This is called when the app is being asked to quit: you can ignore this\r\n" +" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" +" quit();\r\n" +" }\r\n" +"\r\n" +" void anotherInstanceStarted (const String& commandLine) override\r\n" +" {\r\n" +" // When another instance of the app is launched while this one is running,\r\n" +" // this method is invoked, and the commandLine parameter tells you what\r\n" +" // the other instance's command-line arguments were.\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" /*\r\n" +" This class implements the desktop window that contains an instance of\r\n" +" our CONTENTCOMPCLASS class.\r\n" +" */\r\n" +" class MainWindow : public DocumentWindow\r\n" +" {\r\n" +" public:\r\n" +" MainWindow (String name) : DocumentWindow (name,\r\n" +" Desktop::getInstance().getDefaultLookAndFeel()\r\n" +" .findColour (ResizableWindow::backgroundColourId),\r\n" +" DocumentWindow::allButtons)\r\n" +" {\r\n" +" setUsingNativeTitleBar (true);\r\n" +" setContentOwned (new CONTENTCOMPCLASS(), true);\r\n" +"\r\n" +" centreWithSize (getWidth(), getHeight());\r\n" +" setVisible (true);\r\n" +" }\r\n" +"\r\n" +" void closeButtonPressed() override\r\n" +" {\r\n" +" // This is called when the user tries to close this window. Here, we'll just\r\n" +" // ask the app to quit when this happens, but you can change this to do\r\n" +" // whatever you need.\r\n" +" JUCEApplication::getInstance()->systemRequestedQuit();\r\n" +" }\r\n" +"\r\n" +" /* Note: Be careful if you override any DocumentWindow methods - the base\r\n" +" class uses a lot of them, so by overriding you might break its functionality.\r\n" +" It's best to do all your work in your content component instead, but if\r\n" +" you really have to override any DocumentWindow methods, make sure your\r\n" +" subclass also calls the superclass's method.\r\n" +" */\r\n" +"\r\n" +" private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r\n" +" };\r\n" +"\r\n" +"private:\r\n" +" ScopedPointer mainWindow;\r\n" +"};\r\n" +"\r\n" +"//==============================================================================\r\n" +"// This macro generates the main() routine that launches the app.\r\n" +"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; + +const char* jucer_MainTemplate_Window_cpp = (const char*) temp_binary_data_37; + +//================== jucer_NewComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_38[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" FILENAME\r\n" +" Created: DATE\r\n" +" Author: AUTHOR\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"INCLUDE_CORRESPONDING_HEADER\r\n" +"\r\n" +"//==============================================================================\r\n" +"COMPONENTCLASS::COMPONENTCLASS()\r\n" +"{\r\n" +" // In your constructor, you should add any child components, and\r\n" +" // initialise any special settings that your component needs.\r\n" +"\r\n" +"}\r\n" +"\r\n" +"COMPONENTCLASS::~COMPONENTCLASS()\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"void COMPONENTCLASS::paint (Graphics& g)\r\n" +"{\r\n" +" /* This demo code just fills the component's background and\r\n" +" draws some placeholder text to get you started.\r\n" +"\r\n" +" You should replace everything in this method with your own\r\n" +" drawing code..\r\n" +" */\r\n" +"\r\n" +" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); // clear the background\r\n" +"\r\n" +" g.setColour (Colours::grey);\r\n" +" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" +"\r\n" +" g.setColour (Colours::white);\r\n" +" g.setFont (14.0f);\r\n" +" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" +" Justification::centred, true); // draw some placeholder text\r\n" +"}\r\n" +"\r\n" +"void COMPONENTCLASS::resized()\r\n" +"{\r\n" +" // This method is where you should set the bounds of any child\r\n" +" // components that your component contains..\r\n" +"\r\n" +"}\r\n"; + +const char* jucer_NewComponentTemplate_cpp = (const char*) temp_binary_data_38; + +//================== jucer_NewComponentTemplate.h ================== +static const unsigned char temp_binary_data_39[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" FILENAME\r\n" +" Created: DATE\r\n" +" Author: AUTHOR\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#pragma once\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +"*/\r\n" +"class COMPONENTCLASS : public Component\r\n" +"{\r\n" +"public:\r\n" +" COMPONENTCLASS();\r\n" +" ~COMPONENTCLASS();\r\n" +"\r\n" +" void paint (Graphics&) override;\r\n" +" void resized() override;\r\n" +"\r\n" +"private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" +"};\r\n"; + +const char* jucer_NewComponentTemplate_h = (const char*) temp_binary_data_39; + +//================== jucer_NewCppFileTemplate.cpp ================== +static const unsigned char temp_binary_data_40[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" FILENAME\r\n" +" Created: DATE\r\n" +" Author: AUTHOR\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"INCLUDE_CORRESPONDING_HEADER\r\n"; + +const char* jucer_NewCppFileTemplate_cpp = (const char*) temp_binary_data_40; + +//================== jucer_NewCppFileTemplate.h ================== +static const unsigned char temp_binary_data_41[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" FILENAME\r\n" +" Created: DATE\r\n" +" Author: AUTHOR\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#pragma once\r\n"; + +const char* jucer_NewCppFileTemplate_h = (const char*) temp_binary_data_41; + +//================== jucer_NewInlineComponentTemplate.h ================== +static const unsigned char temp_binary_data_42[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" FILENAME\r\n" +" Created: DATE\r\n" +" Author: AUTHOR\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#pragma once\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +"*/\r\n" +"class COMPONENTCLASS : public Component\r\n" +"{\r\n" +"public:\r\n" +" COMPONENTCLASS()\r\n" +" {\r\n" +" // In your constructor, you should add any child components, and\r\n" +" // initialise any special settings that your component needs.\r\n" +"\r\n" +" }\r\n" +"\r\n" +" ~COMPONENTCLASS()\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void paint (Graphics& g) override\r\n" +" {\r\n" +" /* This demo code just fills the component's background and\r\n" +" draws some placeholder text to get you started.\r\n" +"\r\n" +" You should replace everything in this method with your own\r\n" +" drawing code..\r\n" +" */\r\n" +"\r\n" +" g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); // clear the background\r\n" +"\r\n" +" g.setColour (Colours::grey);\r\n" +" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" +"\r\n" +" g.setColour (Colours::white);\r\n" +" g.setFont (14.0f);\r\n" +" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" +" Justification::centred, true); // draw some placeholder text\r\n" +" }\r\n" +"\r\n" +" void resized() override\r\n" +" {\r\n" +" // This method is where you should set the bounds of any child\r\n" +" // components that your component contains..\r\n" +"\r\n" +" }\r\n" +"\r\n" +"private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" +"};\r\n"; + +const char* jucer_NewInlineComponentTemplate_h = (const char*) temp_binary_data_42; + +//================== jucer_OpenGLComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_43[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +" This component lives inside our window, and this is where you should put all\r\n" +" your controls and content.\r\n" +"*/\r\n" +"class MainContentComponent : public OpenGLAppComponent\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" MainContentComponent()\r\n" +" {\r\n" +" setSize (800, 600);\r\n" +" }\r\n" +"\r\n" +" ~MainContentComponent()\r\n" +" {\r\n" +" shutdownOpenGL();\r\n" +" }\r\n" +"\r\n" +" void initialise() override\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void shutdown() override\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void render() override\r\n" +" {\r\n" +" OpenGLHelpers::clear (Colours::black);\r\n" +"\r\n" +" }\r\n" +"\r\n" +" void paint (Graphics& g) override\r\n" +" {\r\n" +" // You can add your component specific drawing code here!\r\n" +" // This will draw over the top of the openGL background.\r\n" +" }\r\n" +"\r\n" +" void resized() override\r\n" +" {\r\n" +" // This is called when the MainContentComponent is resized.\r\n" +" // If you add any child components, this is where you should\r\n" +" // update their positions.\r\n" +" }\r\n" +"\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +"\r\n" +" // private member variables\r\n" +"\r\n" +"\r\n" +"\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"// (This function is called by the app startup code to create our main component)\r\n" +"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n"; + +const char* jucer_OpenGLComponentTemplate_cpp = (const char*) temp_binary_data_43; + +//================== colourscheme_dark.xml ================== +static const unsigned char temp_binary_data_44[] = +"\r\n" +"\r\n" +"\r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +"\r\n"; + +const char* colourscheme_dark_xml = (const char*) temp_binary_data_44; + +//================== colourscheme_light.xml ================== +static const unsigned char temp_binary_data_45[] = +"\r\n" +"\r\n" +"\r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +"\r\n"; + +const char* colourscheme_light_xml = (const char*) temp_binary_data_45; + +//================== offlinepage.html ================== +static const unsigned char temp_binary_data_46[] = +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"
\n" +"

No internet connection

\n" +"\n" +"

You appear to be offline. An internet connection is required to login to the Projucer.

\n" +"

If you want to use JUCE under the GPL without signing-in, you can enable the pre-processor macro JUCER_ENABLE_GPL_MODE=1 and recompile the Projucer yourself.

\n" +"\n" +" Try again\n" +"
\n" +" \n" +""; + +const char* offlinepage_html = (const char*) temp_binary_data_46; + +//================== projucer_EULA.txt ================== +static const unsigned char temp_binary_data_47[] = +"\r\n" +"IMPORTANT NOTICE: PLEASE READ CAREFULLY BEFORE INSTALLING THE SOFTWARE:\r\n" +"\r\n" +"This license agreement (License) is a legal agreement between you (Licensee or you) and Raw Material Software Limited (Licensor, us or we) for:\r\n" +"\r\n" +"- The Projucer software and the associated media and, save where expressly specified through subsequent license terms notified to you in writing, any and all new releases, derivatives of and updates thereto supplied by us to you for a period of one (" +"1) month from the date of your installation of the software (the Software);\r\n" +"\r\n" +"- printed materials and online and electronic documentation (Documentation). \r\n" +"\r\n" +"The Software is comprised of numerous components that may be licensed under separate license terms. The Software is a collective work of the Licensor and we license the use of the Software and Documentation to you on the basis of this License and any" +" applicable license terms for any third party software components which make up the Software. Where you deal with a copy of any software component independent from the Software, you must remove all our trade marks, trade dress and logos from that cop" +"y. \r\n" +"\r\n" +"We do not sell the Software or Documentation to you. We and/or our licensors remain the owners of the Software and Documentation at all times. If you are accepting the terms of this License on behalf of a company or other legal entity, you represent " +"and warrant that you have the authority to bind that company or other legal entity to the terms of this License and, in such event, \"you\" and \"Licensee\" will refer to that company or other legal entity.\r\n" +"\r\n" +"The Software may be downloaded from the Licensor website - www.juce.com - (the \"Website\").\r\n" +"\r\n" +"OPERATING SYSTEM REQUIREMENTS: The Software requires a Windows or MAC OS X operating system.\r\n" +"\r\n" +"IMPORTANT NOTICE TO ALL USERS: \r\n" +"\r\n" +"- BY CLICKING ON THE \"ACCEPT\" BUTTON BELOW YOU AGREE TO THE TERMS OF THIS LICENCE WHICH WILL BIND YOU AND YOUR EMPLOYEES. \r\n" +"\r\n" +"- IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, WE WILL NOT LICENSE THE SOFTWARE AND DOCUMENTATION TO YOU AND YOU MUST DISCONTINUE THE INSTALLATION PROCESS.\r\n" +"\r\n" +"\r\n" +"You should print a copy of this License for future reference.\r\n" +"\r\n" +"1. Grant and scope of license\r\n" +"\r\n" +"1.1. In consideration of you agreeing to abide by the terms of this License the Licensor hereby grants to you a non-exclusive, non-transferable license to use the Software and the Documentation on the terms of this License.\r\n" +"\r\n" +"1.2. You may: \r\n" +" (a) install and use the Software for your internal business purposes on one central processing unit (CPU) per single user license granted through this License;\r\n" +" (b) provided it is used on only one computer at any one time, transfer the Software from one computer to another;\r\n" +" (c) provided you comply with the provisions in clause 2, make a single copy of the Software for back-up purposes, provided that you reproduce on it all copyright and other proprietary notices that are on the original copy of the Software;\r\n" +" (d) receive and use any free supplementary software code or update of the Software incorporating \"patches\", corrections of errors and software updates as may be provided by the Licensor from time to time;\r\n" +" (e) use any Documentation in support of the use permitted under condition 1.2 and make a single copy of the Documentation as is reasonably necessary for its lawful use.\r\n" +" \r\n" +"2. Restrictions\r\n" +" Except as expressly set out in this License or as permitted by any local law, you undertake: \r\n" +" (a) not, in whole or in part, to copy the Software or Documentation except where such copying is incidental to normal use of the Software or where it is necessary for the purpose of back-up or operational security;\r\n" +" (b) not to rent, lease, sub-license, loan, translate, merge, adapt, vary or modify the Software or Documentation;\r\n" +" (c) not to make alterations to, or modifications of, the whole or any part of the Software nor permit the Software or any part of it to be combined with, or become incorporated in, any other programs;\r\n" +" (d) not to disassemble, de-compile, reverse engineer or create derivative works based on the whole or any part of the Software nor attempt to do any such things except to the extent that (by virtue of section 296A of the Copyright, Designs and Pat" +"ents Act 1988) such actions cannot be prohibited because they are essential for the purpose of achieving inter-operability of the Software with another software program, and provided that the information obtained by you during such activities:\r\n" +" (i) is used only for the purpose of achieving inter-operability of the Software with another software program;\r\n" +" (ii) is not disclosed or communicated without the Licensor's prior written consent to any third party to whom it is not necessary to disclose or communicate it; and\r\n" +" (iii) is not used to create any software which is substantially similar to the Software;\r\n" +" (e) to keep all copies of the Software secure and to maintain accurate and up-to-date records of the number and locations of all copies of the Software;\r\n" +" (f) not to provide, or otherwise make available, the Software in any form, in whole or in part (including, but not limited to, program listings, object and source program listings, object code and source code) to any person other than your employe" +"es without prior written consent from us;\r\n" +" (g) to comply with all applicable technology control or export laws and regulations.\r\n" +" (h) to supervise and control use of the Software and ensure that the Software is used by your employees and representatives in accordance with the terms of this License;\r\n" +" (i) not to charge or otherwise deal in the Software or any part or interest therein except as expressly provided herein;\r\n" +" (j) not to use the Software for any illegal or immoral purposes;\r\n" +" (k) not otherwise use, copy, transfer or distribute the Software or part of it, except as expressly permitted by this License, in any manner which is inconsistent with this License.\r\n" +"\r\n" +"3. Fee\r\n" +"\r\n" +"3.1. You may install and use a limited version of the Software (Demo Mode).\r\n" +"\r\n" +"3.2. Where you have purchased the JUCE 4 software on or after 1 November 2015 you shall be entitled to use the Software for free subject to your continued payment of the JUCE 4 software license fee and the JUCE 4 license terms.\r\n" +"\r\n" +"3.3. Save as set out above, your right to use the Software shall be subject to payment of the Projucer Software license fee. \r\n" +"\r\n" +"3.4. Where you have purchased a perpetual license you agree to pay the license fee as notified to you on the Website at the time you purchase the License. \r\n" +"\r\n" +"3.5. Where you have purchased an educational license the fee shall be the fee as notified to you on the Website at the time you purchase the License and shall be payable for each academic year from the first day of the first full calendar month after" +" the grant of the License and thereafter on the anniversary of that initial payment date. \r\n" +"\r\n" +"4. Intellectual property rights\r\n" +"\r\n" +"4.1. You acknowledge that all intellectual property rights in the Software and the Documentation and all copies thereof throughout the world belong to us, that rights in the Software are licensed (not sold) to you, and that you have no rights in, or " +"to, the Software or the Documentation other than the right to use them in accordance with the terms of this License.\r\n" +"\r\n" +"4.2. You acknowledge that you have no right to have access to the Software in source code form or in unlocked coding or with comments.\r\n" +"\r\n" +"4.3. The Software may contain certain third party licensed materials and our licensors may act to protect their rights in the event of any violation of this License.\r\n" +"\r\n" +"5. Limited warranty\r\n" +"\r\n" +"5.1. We warrant that, save as already set out above in relation to component parts of the Software, we own the Software and have the right to convey this License.\r\n" +"\r\n" +"5.2. We shall have no obligation to provide support and maintenance services to you. You may participate in our online support forum in accordance with our forum policies in place from time to time. \r\n" +"\r\n" +"5.3. We do not warrant that your use of the Software will be uninterrupted or error free. \r\n" +"\r\n" +"6. Limitation of liability \r\n" +"\r\n" +"6.1. You acknowledge that the Software has not been developed to meet your individual requirements, and that it is therefore your responsibility to ensure that the facilities and functions of the Software as described in the Documentation meet your r" +"equirements.\r\n" +"\r\n" +"6.2. Without prejudice to clause 5.4 below, you acknowledge that the Software is not designed or intended for use with on-line control equipment in hazardous environments requiring fail safe performance, such as in the operation of nuclear facilities" +", aircraft navigation, communication, or control systems, direct life support machines, weapons systems, or other uses in which failure of the Software could lead directly to death, personal injury or severe physical or environmental damage. \r\n" +"\r\n" +"6.3. Neither the Licensor nor its parent company, subsidiaries or employees shall in any circumstances whatsoever be liable to you, whether in contract, tort (including negligence), breach of statutory duty, or otherwise, arising under or in connecti" +"on with this License for any indirect, consequential or special loss or damage, including but not limited to, for:\r\n" +" (a) loss of profits, sales, business, or revenue;\r\n" +" (b) business interruption;\r\n" +" (c) loss of anticipated savings;\r\n" +" (d) loss or corruption of data or information;\r\n" +" (e) loss of business opportunity, goodwill or reputation; \r\n" +" (f) any indirect or consequential loss or damage; or\r\n" +" (g) any computer failure or malfunction, corruption to or loss of data or files, or any and all other commercial damage or loss. \r\n" +"\r\n" +"6.4. Nothing in this License shall limit or exclude our liability for:\r\n" +" (a) death or personal injury resulting from our negligence;\r\n" +" (b) fraud or fraudulent misrepresentation;\r\n" +" (c) any other liability that cannot be excluded or limited by English law.\r\n" +"\r\n" +"6.5. This License sets out the full extent of our obligations and liabilities in respect of the supply of the Software and Documentation. Except as expressly stated in this License, there are no conditions, warranties, representations or other terms," +" express or implied, that are binding on us. Any condition, warranty, representation or other term concerning the supply of the Software and Documentation which might otherwise be implied into, or incorporated in, this License whether by statute, co" +"mmon law or otherwise, is excluded to the fullest extent permitted by law.\r\n" +"\r\n" +"6.6. Subject to clause 5.2 and 5.3, our maximum aggregate liability under or in connection with this License whether in contract, tort (including negligence) or otherwise, shall in all circumstances be limited to a sum equal to $49. \r\n" +"\r\n" +"6.7. You agree to indemnify, defend and hold us and our licensors, partners, affiliates, contractors, officers, directors, employees and agents harmless from any claims, costs and expenses (including legal expenses) arising directly or indirectly fro" +"m your use, handling or operation of the Software otherwise than in accordance with this Agreement.\r\n" +"\r\n" +"6.8. This clause 5 shall survive and shall not be rendered ineffective by the termination or expiry of this agreement for whatever reason. \r\n" +"\r\n" +"7. Termination\r\n" +"\r\n" +"7.1. We may terminate this License immediately by written notice to you if you commit a material or persistent breach of this License which you fail to remedy (if remediable) within 14 days after the service of written notice requiring you to do so. " +"\r\n" +"\r\n" +"7.2. Upon termination for any reason:\r\n" +" (a) all rights granted to you under this License shall cease;\r\n" +" (b) you must cease all activities authorised by this License;\r\n" +" (c) you must immediately delete or remove the Software from all computer equipment in your possession and immediately destroy or return to us (at our option) all copies of the Software then in your possession, custody or control and, in the case o" +"f destruction, certify to us that you have done so.\r\n" +"\r\n" +"8. Communications between us\r\n" +"\r\n" +"8.1. If you wish to contact us in writing, or if any condition in this License requires you to give us notice in writing, you can send this to us by e-mail or by pre-paid post to us at support@juce.com. We will confirm receipt of this by contacting y" +"ou in writing, normally by e-mail. \r\n" +"\r\n" +"8.2. If we have to contact you or give you notice in writing, we will do so by e-mail or by pre-paid post to the address you provide to us in your order for the Software.\r\n" +"\r\n" +"9. Data\r\n" +"\r\n" +"9.1. We may collect and process information about your use of or Software through the Software, some of which may amount to your personal data. Personal data will be collected and processed in accordance with our Privacy Policy which can be reviewed " +"at https://www.juce.com/privacy-policy. \r\n" +"\r\n" +"10. Other important terms\r\n" +"\r\n" +"10.1. We may transfer our rights and obligations under this License to another organisation, but this will not affect your rights or our obligations under this License. \r\n" +"\r\n" +"10.2. You may only transfer your rights or your obligations under this License to another person if we agree in writing.\r\n" +"\r\n" +"10.3. This License and any document expressly referred to in it constitutes the entire agreement between you and us. You acknowledge that you have not relied on any statement, promise or representation made or given by or on behalf of us which is not" +" set out in this License or any document expressly referred to in it.\r\n" +"\r\n" +"10.4. If we fail to insist that you perform any of your obligations under this License, or if we do not enforce our rights against you, or if we delay in doing so, that will not mean that we have waived our rights against you and will not mean that y" +"ou do not have to comply with those obligations. If we do waive a default by you, we will only do so in writing, and that will not mean that we will automatically waive any later default by you. \r\n" +"\r\n" +"10.5. Each of the conditions of this License operates separately. If any court or competent authority decides that any of them are unlawful or unenforceable, the remaining conditions will remain in full force and effect. \r\n" +"\r\n" +"10.6. Please note that this License, its subject matter and its formation, are governed by English law. You and we both agree to that the courts of England and Wales will have exclusive jurisdiction. \r\n"; + +const char* projucer_EULA_txt = (const char*) temp_binary_data_47; + +//================== RecentFilesMenuTemplate.nib ================== +static const unsigned char temp_binary_data_48[] = +{ 98,112,108,105,115,116,48,48,212,0,1,0,2,0,3,0,4,0,5,0,6,1,53,1,54,88,36,118,101,114,115,105,111,110,88,36,111,98,106,101,99,116,115,89,36,97,114,99,104,105,118,101,114,84,36,116,111,112,18,0,1,134,160,175,16,74,0,7,0,8,0,31,0,35,0,36,0,42,0,46,0,50, +0,53,0,57,0,74,0,77,0,78,0,86,0,87,0,97,0,112,0,113,0,114,0,119,0,120,0,121,0,124,0,128,0,129,0,132,0,143,0,144,0,145,0,149,0,153,0,162,0,163,0,164,0,169,0,173,0,180,0,181,0,182,0,185,0,192,0,193,0,200,0,201,0,208,0,209,0,216,0,217,0,224,0,225,0,226, +0,229,0,230,0,232,0,249,1,11,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,47,1,50,85,36,110,117,108,108,219,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0, +29,95,16,16,78,83,86,105,115,105,98,108,101,87,105,110,100,111,119,115,93,78,83,79,98,106,101,99,116,115,75,101,121,115,86,78,83,82,111,111,116,92,78,83,79,105,100,115,86,97,108,117,101,115,86,36,99,108,97,115,115,90,78,83,79,105,100,115,75,101,121,115, +93,78,83,67,111,110,110,101,99,116,105,111,110,115,95,16,15,78,83,79,98,106,101,99,116,115,86,97,108,117,101,115,95,16,25,78,83,65,99,99,101,115,115,105,98,105,108,105,116,121,67,111,110,110,101,99,116,111,114,115,95,16,23,78,83,65,99,99,101,115,115, +105,98,105,108,105,116,121,79,105,100,115,75,101,121,115,95,16,25,78,83,65,99,99,101,115,115,105,98,105,108,105,116,121,79,105,100,115,86,97,108,117,101,115,128,5,128,9,128,2,128,55,128,73,128,54,128,7,128,53,128,71,128,72,128,72,210,0,13,0,32,0,33,0, +34,91,78,83,67,108,97,115,115,78,97,109,101,128,4,128,3,93,78,83,65,112,112,108,105,99,97,116,105,111,110,210,0,37,0,38,0,39,0,40,90,36,99,108,97,115,115,110,97,109,101,88,36,99,108,97,115,115,101,115,94,78,83,67,117,115,116,111,109,79,98,106,101,99, +116,162,0,39,0,41,88,78,83,79,98,106,101,99,116,210,0,13,0,43,0,44,0,45,90,78,83,46,111,98,106,101,99,116,115,128,6,160,210,0,37,0,38,0,47,0,48,92,78,83,77,117,116,97,98,108,101,83,101,116,163,0,47,0,49,0,41,85,78,83,83,101,116,210,0,13,0,43,0,51,0,52, +128,8,160,210,0,37,0,38,0,54,0,55,94,78,83,77,117,116,97,98,108,101,65,114,114,97,121,163,0,54,0,56,0,41,87,78,83,65,114,114,97,121,210,0,13,0,43,0,58,0,59,128,52,174,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,128,10,128,12, +128,45,128,15,128,39,128,25,128,28,128,30,128,33,128,35,128,43,128,41,128,47,128,50,210,0,13,0,32,0,33,0,76,128,4,128,11,93,78,83,65,112,112,108,105,99,97,116,105,111,110,212,0,79,0,13,0,80,0,81,0,82,0,83,0,84,0,85,91,78,83,77,101,110,117,73,116,101, +109,115,86,78,83,78,97,109,101,87,78,83,84,105,116,108,101,128,14,128,38,128,49,128,13,89,65,77,97,105,110,77,101,110,117,210,0,13,0,43,0,51,0,89,128,8,167,0,63,0,65,0,64,0,71,0,70,0,62,0,72,128,15,128,25,128,39,128,41,128,43,128,45,128,47,216,0,98,0, +99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,111,95,16,17,78,83,75,101,121,69,113,117,105,118,77,111,100,77,97,115,107,86,78,83,77,101,110,117,89,78,83,79,110,73,109,97,103,101,90,78,83,75,101,121,69,113,117,105,118, +93,78,83,77,110,101,109,111,110,105,99,76,111,99,92,78,83,77,105,120,101,100,73,109,97,103,101,18,0,16,0,0,128,12,128,18,128,24,128,17,18,127,255,255,255,128,22,128,16,91,100,101,108,109,101,65,112,112,75,105,116,80,211,0,13,0,115,0,32,0,116,0,117,0, +118,94,78,83,82,101,115,111,117,114,99,101,78,97,109,101,128,21,128,20,128,19,87,78,83,73,109,97,103,101,95,16,15,78,83,77,101,110,117,67,104,101,99,107,109,97,114,107,210,0,37,0,38,0,122,0,123,95,16,16,78,83,67,117,115,116,111,109,82,101,115,111,117, +114,99,101,162,0,122,0,41,211,0,13,0,115,0,32,0,116,0,126,0,118,128,21,128,23,128,19,95,16,16,78,83,77,101,110,117,77,105,120,101,100,83,116,97,116,101,210,0,37,0,38,0,130,0,131,90,78,83,77,101,110,117,73,116,101,109,162,0,130,0,41,218,0,133,0,98,0,134, +0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,135,0,104,0,66,0,61,0,106,0,107,0,108,0,109,0,110,0,142,88,78,83,65,99,116,105,111,110,89,78,83,83,117,98,109,101,110,117,128,27,128,28,128,12,128,18,128,24,128,17,128,22,128,26,84,70,105,108,101,94,115,117,98, +109,101,110,117,65,99,116,105,111,110,58,211,0,79,0,13,0,81,0,146,0,83,0,142,128,29,128,38,128,26,210,0,13,0,43,0,51,0,151,128,8,161,0,67,128,30,218,0,133,0,98,0,134,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,154,0,104,0,68,0,66,0,106,0,107,0,108,0,109, +0,110,0,161,128,32,128,33,128,28,128,18,128,24,128,17,128,22,128,31,91,79,112,101,110,32,82,101,99,101,110,116,94,115,117,98,109,101,110,117,65,99,116,105,111,110,58,212,0,79,0,13,0,80,0,81,0,165,0,83,0,167,0,161,128,34,128,38,128,37,128,31,210,0,13, +0,43,0,51,0,171,128,8,161,0,69,128,35,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,68,0,106,0,107,0,108,0,109,0,110,0,179,128,33,128,18,128,24,128,17,128,22,128,36,90,67,108,101,97,114,32,77,101,110,117,95,16,22,95,78,83,82,101,99,101,110, +116,68,111,99,117,109,101,110,116,115,77,101,110,117,210,0,37,0,38,0,183,0,184,86,78,83,77,101,110,117,162,0,183,0,41,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,191,128,12,128,18,128,24,128,17,128,22,128, +40,84,69,100,105,116,215,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,61,0,106,0,107,0,108,0,109,0,110,0,199,128,12,128,18,128,24,128,17,128,22,128,42,86,70,111,114,109,97,116,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0, +109,0,110,0,207,128,12,128,18,128,24,128,17,128,22,128,44,84,86,105,101,119,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,215,128,12,128,18,128,24,128,17,128,22,128,46,86,87,105,110,100,111,119,215,0,99,0, +100,0,13,0,101,0,102,0,103,0,81,0,61,0,106,0,107,0,108,0,109,0,110,0,223,128,12,128,18,128,24,128,17,128,22,128,48,84,72,101,108,112,91,95,78,83,77,97,105,110,77,101,110,117,210,0,13,0,32,0,33,0,228,128,4,128,51,93,78,83,70,111,110,116,77,97,110,97,103, +101,114,210,0,37,0,38,0,56,0,231,162,0,56,0,41,210,0,13,0,43,0,58,0,234,128,52,174,0,22,0,22,0,61,0,61,0,61,0,61,0,65,0,66,0,67,0,68,0,61,0,61,0,61,0,22,128,2,128,2,128,12,128,12,128,12,128,12,128,25,128,28,128,30,128,33,128,12,128,12,128,12,128,2,210, +0,13,0,43,0,58,0,251,128,52,175,16,15,0,22,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,128,2,128,10,128,12,128,45,128,15,128,39,128,25,128,28,128,30,128,33,128,35,128,43,128,41,128,47,128,50,210,0,13,0,43,0,58,1,13,128,52,175, +16,15,1,14,1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,128,56,128,57,128,58,128,59,128,60,128,61,128,62,128,63,128,64,128,65,128,66,128,67,128,68,128,69,128,70,17,2,22,17,2,23,17,2,24,17,2,25,17,2,26,17,2,27,17,2,28,17,2,29, +17,2,30,17,2,31,17,2,32,17,2,33,17,2,34,17,2,35,17,2,36,210,0,13,0,43,0,51,1,46,128,8,160,210,0,13,0,43,0,58,1,49,128,52,160,210,0,37,0,38,1,51,1,52,94,78,83,73,66,79,98,106,101,99,116,68,97,116,97,162,1,51,0,41,95,16,15,78,83,75,101,121,101,100,65,114, +99,104,105,118,101,114,209,1,55,1,56,93,73,66,46,111,98,106,101,99,116,100,97,116,97,128,1,0,8,0,25,0,34,0,43,0,53,0,58,0,63,0,214,0,220,1,9,1,28,1,42,1,49,1,62,1,69,1,80,1,94,1,112,1,140,1,166,1,194,1,196,1,198,1,200,1,202,1,204,1,206,1,208,1,210,1, +212,1,214,1,216,1,225,1,237,1,239,1,241,1,255,2,8,2,19,2,28,2,43,2,48,2,57,2,66,2,77,2,79,2,80,2,89,2,102,2,109,2,115,2,124,2,126,2,127,2,136,2,151,2,158,2,166,2,175,2,177,2,206,2,208,2,210,2,212,2,214,2,216,2,218,2,220,2,222,2,224,2,226,2,228,2,230, +2,232,2,234,2,243,2,245,2,247,3,5,3,22,3,34,3,41,3,49,3,51,3,53,3,55,3,57,3,67,3,76,3,78,3,93,3,95,3,97,3,99,3,101,3,103,3,105,3,107,3,140,3,160,3,167,3,177,3,188,3,202,3,215,3,220,3,222,3,224,3,226,3,228,3,233,3,235,3,237,3,249,3,250,4,7,4,22,4,24,4, +26,4,28,4,36,4,54,4,63,4,82,4,87,4,100,4,102,4,104,4,106,4,125,4,134,4,145,4,150,4,191,4,200,4,210,4,212,4,214,4,216,4,218,4,220,4,222,4,224,4,226,4,231,4,246,5,3,5,5,5,7,5,9,5,18,5,20,5,23,5,25,5,66,5,68,5,70,5,72,5,74,5,76,5,78,5,80,5,82,5,94,5,109, +5,126,5,128,5,130,5,132,5,134,5,143,5,145,5,148,5,150,5,183,5,185,5,187,5,189,5,191,5,193,5,195,5,206,5,231,5,240,5,247,5,252,6,29,6,31,6,33,6,35,6,37,6,39,6,41,6,46,6,75,6,77,6,79,6,81,6,83,6,85,6,87,6,94,6,127,6,129,6,131,6,133,6,135,6,137,6,139,6, +144,6,177,6,179,6,181,6,183,6,185,6,187,6,189,6,196,6,225,6,227,6,229,6,231,6,233,6,235,6,237,6,242,6,254,7,7,7,9,7,11,7,25,7,34,7,39,7,48,7,50,7,79,7,81,7,83,7,85,7,87,7,89,7,91,7,93,7,95,7,97,7,99,7,101,7,103,7,105,7,107,7,116,7,118,7,151,7,153,7,155, +7,157,7,159,7,161,7,163,7,165,7,167,7,169,7,171,7,173,7,175,7,177,7,179,7,181,7,190,7,192,7,225,7,227,7,229,7,231,7,233,7,235,7,237,7,239,7,241,7,243,7,245,7,247,7,249,7,251,7,253,7,255,8,2,8,5,8,8,8,11,8,14,8,17,8,20,8,23,8,26,8,29,8,32,8,35,8,38,8, +41,8,44,8,53,8,55,8,56,8,65,8,67,8,68,8,77,8,92,8,97,8,115,8,120,8,134,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,136,0,0 }; + +const char* RecentFilesMenuTemplate_nib = (const char*) temp_binary_data_48; const char* getNamedResource (const char*, int&) throw(); @@ -7025,6 +6951,25 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw case 0x10b04d10: numBytes = 4971; return gradlew; case 0x76cff066: numBytes = 2404; return gradlew_bat; case 0x34bc1021: numBytes = 11325; return LICENSE; + case 0x406db5c1: numBytes = 3117; return background_logo_svg; + case 0xbe17d889: numBytes = 3586; return export_android_svg; + case 0x83f049e3: numBytes = 1726; return export_codeBlocks_svg; + case 0x96d2a1ce: numBytes = 28184; return export_linux_svg; + case 0x2505bd06: numBytes = 1706; return export_visualStudio_svg; + case 0x3198e2bf: numBytes = 12295; return export_xcode_svg; + case 0x0cd37295: numBytes = 3375; return huckleberry_icon_svg; + case 0x80b17530: numBytes = 5312; return jucelogowithtext_svg; + case 0x154a7275: numBytes = 45854; return juce_icon_png; + case 0x1f3b6d2f: numBytes = 5978; return wizard_AnimatedApp_svg; + case 0x60296d04: numBytes = 17791; return wizard_AudioApp_svg; + case 0x1115ccda: numBytes = 21296; return wizard_AudioPlugin_svg; + case 0x1d65d363: numBytes = 3249; return wizard_ConsoleApp_svg; + case 0xba5a4595: numBytes = 7503; return wizard_DLL_svg; + case 0x683e4e6c: numBytes = 6528; return wizard_GUI_svg; + case 0x2e6bf065: numBytes = 1798; return wizard_Highlight_svg; + case 0x52a8dfdf: numBytes = 1859; return wizard_Openfile_svg; + case 0x58e2ae48: numBytes = 4551; return wizard_OpenGL_svg; + case 0xb1da6f9e: numBytes = 7488; return wizard_StaticLibrary_svg; case 0x6cf2645e: numBytes = 1887; return jucer_AnimatedComponentTemplate_cpp; case 0xafccbd3f: numBytes = 3141; return jucer_AudioComponentTemplate_cpp; case 0x27c5a93a: numBytes = 1310; return jucer_AudioPluginEditorTemplate_cpp; @@ -7046,32 +6991,11 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw case 0x0842c43c: numBytes = 246; return jucer_NewCppFileTemplate_h; case 0x36e634a1: numBytes = 1635; return jucer_NewInlineComponentTemplate_h; case 0x7fbac252: numBytes = 1716; return jucer_OpenGLComponentTemplate_cpp; - case 0x406db5c1: numBytes = 3117; return background_logo_svg; - case 0x4a0cfd09: numBytes = 151; return background_tile_png; case 0x763d39dc: numBytes = 1050; return colourscheme_dark_xml; case 0xe8b08520: numBytes = 1050; return colourscheme_light_xml; - case 0xbe17d889: numBytes = 3586; return export_android_svg; - case 0x83f049e3: numBytes = 1726; return export_codeBlocks_svg; - case 0x96d2a1ce: numBytes = 28184; return export_linux_svg; - case 0x2505bd06: numBytes = 1706; return export_visualStudio_svg; - case 0x3198e2bf: numBytes = 12295; return export_xcode_svg; - case 0x0cd37295: numBytes = 3375; return huckleberry_icon_svg; - case 0x80b17530: numBytes = 5312; return jucelogowithtext_svg; - case 0x154a7275: numBytes = 45854; return juce_icon_png; case 0xf11580d8: numBytes = 1155; return offlinepage_html; case 0xd6bb7d1d: numBytes = 14394; return projucer_EULA_txt; - case 0xb7422947: numBytes = 5046; return projucer_login_bg_svg; case 0xa41e649d: numBytes = 2842; return RecentFilesMenuTemplate_nib; - case 0x1f3b6d2f: numBytes = 5978; return wizard_AnimatedApp_svg; - case 0x60296d04: numBytes = 17791; return wizard_AudioApp_svg; - case 0x1115ccda: numBytes = 21296; return wizard_AudioPlugin_svg; - case 0x1d65d363: numBytes = 3249; return wizard_ConsoleApp_svg; - case 0xba5a4595: numBytes = 7503; return wizard_DLL_svg; - case 0x683e4e6c: numBytes = 6528; return wizard_GUI_svg; - case 0x2e6bf065: numBytes = 1798; return wizard_Highlight_svg; - case 0x52a8dfdf: numBytes = 1859; return wizard_Openfile_svg; - case 0x58e2ae48: numBytes = 4551; return wizard_OpenGL_svg; - case 0xb1da6f9e: numBytes = 7488; return wizard_StaticLibrary_svg; default: break; } @@ -7085,6 +7009,25 @@ const char* namedResourceList[] = "gradlew", "gradlew_bat", "LICENSE", + "background_logo_svg", + "export_android_svg", + "export_codeBlocks_svg", + "export_linux_svg", + "export_visualStudio_svg", + "export_xcode_svg", + "huckleberry_icon_svg", + "jucelogowithtext_svg", + "juce_icon_png", + "wizard_AnimatedApp_svg", + "wizard_AudioApp_svg", + "wizard_AudioPlugin_svg", + "wizard_ConsoleApp_svg", + "wizard_DLL_svg", + "wizard_GUI_svg", + "wizard_Highlight_svg", + "wizard_Openfile_svg", + "wizard_OpenGL_svg", + "wizard_StaticLibrary_svg", "jucer_AnimatedComponentTemplate_cpp", "jucer_AudioComponentTemplate_cpp", "jucer_AudioPluginEditorTemplate_cpp", @@ -7106,32 +7049,11 @@ const char* namedResourceList[] = "jucer_NewCppFileTemplate_h", "jucer_NewInlineComponentTemplate_h", "jucer_OpenGLComponentTemplate_cpp", - "background_logo_svg", - "background_tile_png", "colourscheme_dark_xml", "colourscheme_light_xml", - "export_android_svg", - "export_codeBlocks_svg", - "export_linux_svg", - "export_visualStudio_svg", - "export_xcode_svg", - "huckleberry_icon_svg", - "jucelogowithtext_svg", - "juce_icon_png", "offlinepage_html", "projucer_EULA_txt", - "projucer_login_bg_svg", - "RecentFilesMenuTemplate_nib", - "wizard_AnimatedApp_svg", - "wizard_AudioApp_svg", - "wizard_AudioPlugin_svg", - "wizard_ConsoleApp_svg", - "wizard_DLL_svg", - "wizard_GUI_svg", - "wizard_Highlight_svg", - "wizard_Openfile_svg", - "wizard_OpenGL_svg", - "wizard_StaticLibrary_svg" + "RecentFilesMenuTemplate_nib" }; } diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.h b/extras/Projucer/JuceLibraryCode/BinaryData.h index 798ca25825..d119f6ca0b 100644 --- a/extras/Projucer/JuceLibraryCode/BinaryData.h +++ b/extras/Projucer/JuceLibraryCode/BinaryData.h @@ -20,6 +20,63 @@ namespace BinaryData extern const char* LICENSE; const int LICENSESize = 11325; + extern const char* background_logo_svg; + const int background_logo_svgSize = 3117; + + extern const char* export_android_svg; + const int export_android_svgSize = 3586; + + extern const char* export_codeBlocks_svg; + const int export_codeBlocks_svgSize = 1726; + + extern const char* export_linux_svg; + const int export_linux_svgSize = 28184; + + extern const char* export_visualStudio_svg; + const int export_visualStudio_svgSize = 1706; + + extern const char* export_xcode_svg; + const int export_xcode_svgSize = 12295; + + extern const char* huckleberry_icon_svg; + const int huckleberry_icon_svgSize = 3375; + + extern const char* jucelogowithtext_svg; + const int jucelogowithtext_svgSize = 5312; + + extern const char* juce_icon_png; + const int juce_icon_pngSize = 45854; + + extern const char* wizard_AnimatedApp_svg; + const int wizard_AnimatedApp_svgSize = 5978; + + extern const char* wizard_AudioApp_svg; + const int wizard_AudioApp_svgSize = 17791; + + extern const char* wizard_AudioPlugin_svg; + const int wizard_AudioPlugin_svgSize = 21296; + + extern const char* wizard_ConsoleApp_svg; + const int wizard_ConsoleApp_svgSize = 3249; + + extern const char* wizard_DLL_svg; + const int wizard_DLL_svgSize = 7503; + + extern const char* wizard_GUI_svg; + const int wizard_GUI_svgSize = 6528; + + extern const char* wizard_Highlight_svg; + const int wizard_Highlight_svgSize = 1798; + + extern const char* wizard_Openfile_svg; + const int wizard_Openfile_svgSize = 1859; + + extern const char* wizard_OpenGL_svg; + const int wizard_OpenGL_svgSize = 4551; + + extern const char* wizard_StaticLibrary_svg; + const int wizard_StaticLibrary_svgSize = 7488; + extern const char* jucer_AnimatedComponentTemplate_cpp; const int jucer_AnimatedComponentTemplate_cppSize = 1887; @@ -83,89 +140,26 @@ namespace BinaryData extern const char* jucer_OpenGLComponentTemplate_cpp; const int jucer_OpenGLComponentTemplate_cppSize = 1716; - extern const char* background_logo_svg; - const int background_logo_svgSize = 3117; - - extern const char* background_tile_png; - const int background_tile_pngSize = 151; - extern const char* colourscheme_dark_xml; const int colourscheme_dark_xmlSize = 1050; extern const char* colourscheme_light_xml; const int colourscheme_light_xmlSize = 1050; - extern const char* export_android_svg; - const int export_android_svgSize = 3586; - - extern const char* export_codeBlocks_svg; - const int export_codeBlocks_svgSize = 1726; - - extern const char* export_linux_svg; - const int export_linux_svgSize = 28184; - - extern const char* export_visualStudio_svg; - const int export_visualStudio_svgSize = 1706; - - extern const char* export_xcode_svg; - const int export_xcode_svgSize = 12295; - - extern const char* huckleberry_icon_svg; - const int huckleberry_icon_svgSize = 3375; - - extern const char* jucelogowithtext_svg; - const int jucelogowithtext_svgSize = 5312; - - extern const char* juce_icon_png; - const int juce_icon_pngSize = 45854; - extern const char* offlinepage_html; const int offlinepage_htmlSize = 1155; extern const char* projucer_EULA_txt; const int projucer_EULA_txtSize = 14394; - extern const char* projucer_login_bg_svg; - const int projucer_login_bg_svgSize = 5046; - extern const char* RecentFilesMenuTemplate_nib; const int RecentFilesMenuTemplate_nibSize = 2842; - extern const char* wizard_AnimatedApp_svg; - const int wizard_AnimatedApp_svgSize = 5978; - - extern const char* wizard_AudioApp_svg; - const int wizard_AudioApp_svgSize = 17791; - - extern const char* wizard_AudioPlugin_svg; - const int wizard_AudioPlugin_svgSize = 21296; - - extern const char* wizard_ConsoleApp_svg; - const int wizard_ConsoleApp_svgSize = 3249; - - extern const char* wizard_DLL_svg; - const int wizard_DLL_svgSize = 7503; - - extern const char* wizard_GUI_svg; - const int wizard_GUI_svgSize = 6528; - - extern const char* wizard_Highlight_svg; - const int wizard_Highlight_svgSize = 1798; - - extern const char* wizard_Openfile_svg; - const int wizard_Openfile_svgSize = 1859; - - extern const char* wizard_OpenGL_svg; - const int wizard_OpenGL_svgSize = 4551; - - extern const char* wizard_StaticLibrary_svg; - const int wizard_StaticLibrary_svgSize = 7488; - // Points to the start of a list of resource names. extern const char* namedResourceList[]; // Number of elements in the namedResourceList array. - const int namedResourceListSize = 51; + const int namedResourceListSize = 49; // If you provide the name of one of the binary resource variables above, this function will // return the corresponding data and its size (or a null pointer if the name isn't found). diff --git a/extras/Projucer/Projucer.jucer b/extras/Projucer/Projucer.jucer index 58b5ef5c51..f512d25022 100644 --- a/extras/Projucer/Projucer.jucer +++ b/extras/Projucer/Projucer.jucer @@ -106,551 +106,571 @@ - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + - - - - - - - - + - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pathPropertyComponents; ComboBox osSelector; - ConfigTreeItemTypes::InfoButton info; + InfoButton info; void comboBoxChanged (ComboBox*) override { diff --git a/extras/Projucer/Source/Utility/jucer_SVGPathDataComponent.h b/extras/Projucer/Source/Application/Windows/jucer_SVGPathDataWindowComponent.h similarity index 94% rename from extras/Projucer/Source/Utility/jucer_SVGPathDataComponent.h rename to extras/Projucer/Source/Application/Windows/jucer_SVGPathDataWindowComponent.h index 2229374ec8..00278bf77e 100644 --- a/extras/Projucer/Source/Utility/jucer_SVGPathDataComponent.h +++ b/extras/Projucer/Source/Application/Windows/jucer_SVGPathDataWindowComponent.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class SVGPathDataComponent : public Component, private TextEditor::Listener { diff --git a/extras/Projucer/Source/Utility/jucer_TranslationToolComponent.h b/extras/Projucer/Source/Application/Windows/jucer_TranslationToolWindowComponent.h similarity index 95% rename from extras/Projucer/Source/Utility/jucer_TranslationToolComponent.h rename to extras/Projucer/Source/Application/Windows/jucer_TranslationToolWindowComponent.h index 354f56d7a2..62766fb7ea 100644 --- a/extras/Projucer/Source/Utility/jucer_TranslationToolComponent.h +++ b/extras/Projucer/Source/Application/Windows/jucer_TranslationToolWindowComponent.h @@ -24,10 +24,9 @@ ============================================================================== */ -#ifndef JUCER_TRANSLATIONTOOLCOMPONENT_H_INCLUDED -#define JUCER_TRANSLATIONTOOLCOMPONENT_H_INCLUDED +#pragma once -#include "jucer_TranslationHelpers.h" +#include "../../Utility/Helpers/jucer_TranslationHelpers.h" //============================================================================== class TranslationToolComponent : public Component, @@ -198,6 +197,3 @@ private: editorPre.selectAll(); } }; - - -#endif // JUCER_TRANSLATIONTOOLCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/Utility/jucer_UTF8Component.h b/extras/Projucer/Source/Application/Windows/jucer_UTF8WindowComponent.h similarity index 93% rename from extras/Projucer/Source/Utility/jucer_UTF8Component.h rename to extras/Projucer/Source/Application/Windows/jucer_UTF8WindowComponent.h index 8dc6391041..556bd49fc3 100644 --- a/extras/Projucer/Source/Utility/jucer_UTF8Component.h +++ b/extras/Projucer/Source/Application/Windows/jucer_UTF8WindowComponent.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class UTF8Component : public Component, private TextEditor::Listener { diff --git a/extras/Projucer/Source/Application/jucer_Application.h b/extras/Projucer/Source/Application/jucer_Application.h index 6a1407af80..9caa074838 100644 --- a/extras/Projucer/Source/Application/jucer_Application.h +++ b/extras/Projucer/Source/Application/jucer_Application.h @@ -29,8 +29,8 @@ #include "jucer_MainWindow.h" #include "../Project/jucer_Module.h" #include "jucer_AutoUpdater.h" -#include "../Code Editor/jucer_SourceCodeEditor.h" -#include "../Utility/jucer_ProjucerLookAndFeel.h" +#include "../CodeEditor/jucer_SourceCodeEditor.h" +#include "../Utility/UI/jucer_ProjucerLookAndFeel.h" #include "../Licenses/jucer_LicenseController.h" struct ChildProcessCache; diff --git a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp index c0f77fb75e..7da50a1265 100644 --- a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp +++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp @@ -24,7 +24,7 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "jucer_Application.h" #include "jucer_AutoUpdater.h" diff --git a/extras/Projucer/Source/Application/jucer_CommandIDs.h b/extras/Projucer/Source/Application/jucer_CommandIDs.h index 175ac31701..ce26fe241f 100644 --- a/extras/Projucer/Source/Application/jucer_CommandIDs.h +++ b/extras/Projucer/Source/Application/jucer_CommandIDs.h @@ -24,6 +24,8 @@ ============================================================================== */ +#pragma once + /** A namespace to hold all the possible command IDs. */ diff --git a/extras/Projucer/Source/Application/jucer_CommandLine.cpp b/extras/Projucer/Source/Application/jucer_CommandLine.cpp index d42dad9cb4..9d608709b6 100644 --- a/extras/Projucer/Source/Application/jucer_CommandLine.cpp +++ b/extras/Projucer/Source/Application/jucer_CommandLine.cpp @@ -24,10 +24,9 @@ ============================================================================== */ -#include "../jucer_Headers.h" -#include "../Project/jucer_Project.h" +#include "jucer_Headers.h" #include "../Project/jucer_Module.h" -#include "../Utility/jucer_TranslationHelpers.h" +#include "../Utility/Helpers/jucer_TranslationHelpers.h" #include "jucer_CommandLine.h" diff --git a/extras/Projucer/Source/Application/jucer_CommandLine.h b/extras/Projucer/Source/Application/jucer_CommandLine.h index fc3f545802..31042f5cc9 100644 --- a/extras/Projucer/Source/Application/jucer_CommandLine.h +++ b/extras/Projucer/Source/Application/jucer_CommandLine.h @@ -26,7 +26,6 @@ #pragma once - int performCommandLine (const String& commandLine); enum { commandLineNotPerformed = 0x72346231 }; diff --git a/extras/Projucer/Source/Application/jucer_CommonHeaders.h b/extras/Projucer/Source/Application/jucer_CommonHeaders.h index 1d81cc607e..a74f655f30 100644 --- a/extras/Projucer/Source/Application/jucer_CommonHeaders.h +++ b/extras/Projucer/Source/Application/jucer_CommonHeaders.h @@ -26,6 +26,7 @@ #pragma once + //============================================================================== struct TargetOS { @@ -54,14 +55,14 @@ struct TargetOS typedef TargetOS::OS DependencyPathOS; //============================================================================== -#include "../Utility/jucer_StoredSettings.h" -#include "../Utility/jucer_Icons.h" -#include "../Utility/jucer_MiscUtilities.h" -#include "../Utility/jucer_CodeHelpers.h" -#include "../Utility/jucer_FileHelpers.h" -#include "../Utility/jucer_RelativePath.h" -#include "../Utility/jucer_ValueSourceHelpers.h" -#include "../Utility/jucer_PresetIDs.h" +#include "../Settings/jucer_StoredSettings.h" +#include "../Utility/UI/jucer_Icons.h" +#include "../Utility/Helpers/jucer_MiscUtilities.h" +#include "../Utility/Helpers/jucer_CodeHelpers.h" +#include "../Utility/Helpers/jucer_FileHelpers.h" +#include "../Utility/Helpers/jucer_RelativePath.h" +#include "../Utility/Helpers/jucer_ValueSourceHelpers.h" +#include "../Utility/Helpers/jucer_PresetIDs.h" #include "jucer_CommandIDs.h" //============================================================================== diff --git a/extras/Projucer/Source/jucer_Headers.h b/extras/Projucer/Source/Application/jucer_Headers.h similarity index 92% rename from extras/Projucer/Source/jucer_Headers.h rename to extras/Projucer/Source/Application/jucer_Headers.h index 8c9fdf05b0..048a9aa3e7 100644 --- a/extras/Projucer/Source/jucer_Headers.h +++ b/extras/Projucer/Source/Application/jucer_Headers.h @@ -27,7 +27,7 @@ #pragma once #include "../JuceLibraryCode/JuceHeader.h" -#include "Application/jucer_CommonHeaders.h" +#include "jucer_CommonHeaders.h" #if JUCE_DEBUG #define RUN_CLANG_IN_CHILD_PROCESS 1 diff --git a/extras/Projucer/Source/Application/jucer_Main.cpp b/extras/Projucer/Source/Application/jucer_Main.cpp index d858fed6c7..79f0d4de87 100644 --- a/extras/Projucer/Source/Application/jucer_Main.cpp +++ b/extras/Projucer/Source/Application/jucer_Main.cpp @@ -24,45 +24,45 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "jucer_Headers.h" #include "jucer_Application.h" -#include "jucer_OpenDocumentManager.h" -#include "../Code Editor/jucer_SourceCodeEditor.h" -#include "../Utility/jucer_FilePathPropertyComponent.h" -#include "../Project/jucer_TreeItemTypes.h" -#include "../Utility/jucer_UTF8Component.h" -#include "../Utility/jucer_SVGPathDataComponent.h" -#include "../Utility/jucer_AboutWindowComponent.h" -#include "../Utility/jucer_ApplicationUsageDataWindowComponent.h" -#include "../Utility/jucer_EditorColourSchemeWindowComponent.h" -#include "../Utility/jucer_GlobalSearchPathsWindowComponent.h" -#include "../Utility/jucer_FloatingToolWindow.h" +#include "../CodeEditor/jucer_OpenDocumentManager.h" +#include "../CodeEditor/jucer_SourceCodeEditor.h" +#include "../Utility/UI/PropertyComponents/jucer_FilePathPropertyComponent.h" +#include "../Project/UI/Sidebar/jucer_TreeItemTypes.h" +#include "Windows/jucer_UTF8WindowComponent.h" +#include "Windows/jucer_SVGPathDataWindowComponent.h" +#include "Windows/jucer_AboutWindowComponent.h" +#include "Windows/jucer_ApplicationUsageDataWindowComponent.h" +#include "Windows/jucer_EditorColourSchemeWindowComponent.h" +#include "Windows/jucer_GlobalSearchPathsWindowComponent.h" +#include "Windows/jucer_FloatingToolWindow.h" -#include "../LiveBuildEngine/projucer_MessageIDs.h" -#include "../LiveBuildEngine/projucer_CppHelpers.h" -#include "../LiveBuildEngine/projucer_SourceCodeRange.h" -#include "../LiveBuildEngine/projucer_ClassDatabase.h" -#include "../LiveBuildEngine/projucer_DiagnosticMessage.h" +#include "../LiveBuildEngine/jucer_MessageIDs.h" +#include "../LiveBuildEngine/jucer_CppHelpers.h" +#include "../LiveBuildEngine/jucer_SourceCodeRange.h" +#include "../LiveBuildEngine/jucer_ClassDatabase.h" +#include "../LiveBuildEngine/jucer_DiagnosticMessage.h" -#include "../LiveBuildEngine/projucer_CompileEngineDLL.h" -#include "../LiveBuildEngine/projucer_CompileEngineClient.h" -#include "../LiveBuildEngine/projucer_ActivityListComponent.h" -#include "../LiveBuildEngine/projucer_BuildTabStatusComp.h" -#include "../LiveBuildEngine/projucer_ComponentListComp.h" -#include "../LiveBuildEngine/projucer_CompileEngineServer.h" +#include "../LiveBuildEngine/jucer_CompileEngineDLL.h" +#include "../LiveBuildEngine/jucer_CompileEngineClient.h" +#include "../LiveBuildEngine/UI/jucer_ActivityListComponent.h" +#include "../LiveBuildEngine/UI/jucer_BuildTabStatusComponent.h" +#include "../LiveBuildEngine/UI/jucer_ComponentListComponent.h" +#include "../LiveBuildEngine/jucer_CompileEngineServer.h" juce_ImplementSingleton (CompileEngineDLL); struct ProjucerAppClasses { - #include "../Code Editor/jucer_LiveBuildCodeEditor.h" - #include "../LiveBuildEngine/projucer_ErrorListComponent.h" + #include "../CodeEditor/jucer_LiveBuildCodeEditor.h" + #include "../LiveBuildEngine/UI/jucer_ErrorListComponent.h" }; #include "jucer_CommandLine.h" -#include "../Project/jucer_ProjectContentComponent.cpp" +#include "../Project/UI/jucer_ProjectContentComponent.cpp" #include "jucer_Application.cpp" diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.cpp b/extras/Projucer/Source/Application/jucer_MainWindow.cpp index 0c135cddd7..5c0e85b494 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.cpp +++ b/extras/Projucer/Source/Application/jucer_MainWindow.cpp @@ -24,13 +24,11 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "jucer_Application.h" #include "jucer_MainWindow.h" -#include "jucer_OpenDocumentManager.h" -#include "../Code Editor/jucer_SourceCodeEditor.h" #include "../Wizards/jucer_NewProjectWizardClasses.h" -#include "../Utility/jucer_JucerTreeViewBase.h" +#include "../Utility/UI/jucer_JucerTreeViewBase.h" //============================================================================== diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.h b/extras/Projucer/Source/Application/jucer_MainWindow.h index b9e82830fb..e01e8ec4bf 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.h +++ b/extras/Projucer/Source/Application/jucer_MainWindow.h @@ -26,8 +26,7 @@ #pragma once -#include "../Project/jucer_ProjectContentComponent.h" - +#include "../Project/UI/jucer_ProjectContentComponent.h" //============================================================================== /** diff --git a/extras/Projucer/Source/BinaryData/background_logo.svg b/extras/Projucer/Source/BinaryData/Icons/background_logo.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/background_logo.svg rename to extras/Projucer/Source/BinaryData/Icons/background_logo.svg diff --git a/extras/Projucer/Source/BinaryData/export_android.svg b/extras/Projucer/Source/BinaryData/Icons/export_android.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/export_android.svg rename to extras/Projucer/Source/BinaryData/Icons/export_android.svg diff --git a/extras/Projucer/Source/BinaryData/export_codeBlocks.svg b/extras/Projucer/Source/BinaryData/Icons/export_codeBlocks.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/export_codeBlocks.svg rename to extras/Projucer/Source/BinaryData/Icons/export_codeBlocks.svg diff --git a/extras/Projucer/Source/BinaryData/export_linux.svg b/extras/Projucer/Source/BinaryData/Icons/export_linux.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/export_linux.svg rename to extras/Projucer/Source/BinaryData/Icons/export_linux.svg diff --git a/extras/Projucer/Source/BinaryData/export_visualStudio.svg b/extras/Projucer/Source/BinaryData/Icons/export_visualStudio.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/export_visualStudio.svg rename to extras/Projucer/Source/BinaryData/Icons/export_visualStudio.svg diff --git a/extras/Projucer/Source/BinaryData/export_xcode.svg b/extras/Projucer/Source/BinaryData/Icons/export_xcode.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/export_xcode.svg rename to extras/Projucer/Source/BinaryData/Icons/export_xcode.svg diff --git a/extras/Projucer/Source/BinaryData/huckleberry_icon.svg b/extras/Projucer/Source/BinaryData/Icons/huckleberry_icon.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/huckleberry_icon.svg rename to extras/Projucer/Source/BinaryData/Icons/huckleberry_icon.svg diff --git a/extras/Projucer/Source/BinaryData/juce-logo-with-text.svg b/extras/Projucer/Source/BinaryData/Icons/juce-logo-with-text.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/juce-logo-with-text.svg rename to extras/Projucer/Source/BinaryData/Icons/juce-logo-with-text.svg diff --git a/extras/Projucer/Source/BinaryData/juce_icon.png b/extras/Projucer/Source/BinaryData/Icons/juce_icon.png similarity index 100% rename from extras/Projucer/Source/BinaryData/juce_icon.png rename to extras/Projucer/Source/BinaryData/Icons/juce_icon.png diff --git a/extras/Projucer/Source/BinaryData/wizard_AnimatedApp.svg b/extras/Projucer/Source/BinaryData/Icons/wizard_AnimatedApp.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/wizard_AnimatedApp.svg rename to extras/Projucer/Source/BinaryData/Icons/wizard_AnimatedApp.svg diff --git a/extras/Projucer/Source/BinaryData/wizard_AudioApp.svg b/extras/Projucer/Source/BinaryData/Icons/wizard_AudioApp.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/wizard_AudioApp.svg rename to extras/Projucer/Source/BinaryData/Icons/wizard_AudioApp.svg diff --git a/extras/Projucer/Source/BinaryData/wizard_AudioPlugin.svg b/extras/Projucer/Source/BinaryData/Icons/wizard_AudioPlugin.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/wizard_AudioPlugin.svg rename to extras/Projucer/Source/BinaryData/Icons/wizard_AudioPlugin.svg diff --git a/extras/Projucer/Source/BinaryData/wizard_ConsoleApp.svg b/extras/Projucer/Source/BinaryData/Icons/wizard_ConsoleApp.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/wizard_ConsoleApp.svg rename to extras/Projucer/Source/BinaryData/Icons/wizard_ConsoleApp.svg diff --git a/extras/Projucer/Source/BinaryData/wizard_DLL.svg b/extras/Projucer/Source/BinaryData/Icons/wizard_DLL.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/wizard_DLL.svg rename to extras/Projucer/Source/BinaryData/Icons/wizard_DLL.svg diff --git a/extras/Projucer/Source/BinaryData/wizard_GUI.svg b/extras/Projucer/Source/BinaryData/Icons/wizard_GUI.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/wizard_GUI.svg rename to extras/Projucer/Source/BinaryData/Icons/wizard_GUI.svg diff --git a/extras/Projucer/Source/BinaryData/wizard_Highlight.svg b/extras/Projucer/Source/BinaryData/Icons/wizard_Highlight.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/wizard_Highlight.svg rename to extras/Projucer/Source/BinaryData/Icons/wizard_Highlight.svg diff --git a/extras/Projucer/Source/BinaryData/wizard_OpenGL.svg b/extras/Projucer/Source/BinaryData/Icons/wizard_OpenGL.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/wizard_OpenGL.svg rename to extras/Projucer/Source/BinaryData/Icons/wizard_OpenGL.svg diff --git a/extras/Projucer/Source/BinaryData/wizard_Openfile.svg b/extras/Projucer/Source/BinaryData/Icons/wizard_Openfile.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/wizard_Openfile.svg rename to extras/Projucer/Source/BinaryData/Icons/wizard_Openfile.svg diff --git a/extras/Projucer/Source/BinaryData/wizard_StaticLibrary.svg b/extras/Projucer/Source/BinaryData/Icons/wizard_StaticLibrary.svg similarity index 100% rename from extras/Projucer/Source/BinaryData/wizard_StaticLibrary.svg rename to extras/Projucer/Source/BinaryData/Icons/wizard_StaticLibrary.svg diff --git a/extras/Projucer/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h b/extras/Projucer/Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.h similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h rename to extras/Projucer/Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.h diff --git a/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h b/extras/Projucer/Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.h similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h rename to extras/Projucer/Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.h diff --git a/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_ComponentTemplate.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_ComponentTemplate.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.h b/extras/Projucer/Source/BinaryData/Templates/jucer_ComponentTemplate.h similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.h rename to extras/Projucer/Source/BinaryData/Templates/jucer_ComponentTemplate.h diff --git a/extras/Projucer/Source/BinaryData/jucer_ContentCompTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_ContentCompTemplate.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_ContentCompTemplate.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_ContentCompTemplate.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_ContentCompTemplate.h b/extras/Projucer/Source/BinaryData/Templates/jucer_ContentCompTemplate.h similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_ContentCompTemplate.h rename to extras/Projucer/Source/BinaryData/Templates/jucer_ContentCompTemplate.h diff --git a/extras/Projucer/Source/BinaryData/jucer_InlineComponentTemplate.h b/extras/Projucer/Source/BinaryData/Templates/jucer_InlineComponentTemplate.h similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_InlineComponentTemplate.h rename to extras/Projucer/Source/BinaryData/Templates/jucer_InlineComponentTemplate.h diff --git a/extras/Projucer/Source/BinaryData/jucer_MainConsoleAppTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_MainConsoleAppTemplate.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_MainConsoleAppTemplate.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_MainConsoleAppTemplate.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_MainTemplate_NoWindow.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_MainTemplate_NoWindow.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_MainTemplate_SimpleWindow.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_MainTemplate_SimpleWindow.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_MainTemplate_Window.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_MainTemplate_Window.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_MainTemplate_Window.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_MainTemplate_Window.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_NewComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_NewComponentTemplate.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_NewComponentTemplate.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_NewComponentTemplate.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_NewComponentTemplate.h b/extras/Projucer/Source/BinaryData/Templates/jucer_NewComponentTemplate.h similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_NewComponentTemplate.h rename to extras/Projucer/Source/BinaryData/Templates/jucer_NewComponentTemplate.h diff --git a/extras/Projucer/Source/BinaryData/jucer_NewCppFileTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_NewCppFileTemplate.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_NewCppFileTemplate.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_NewCppFileTemplate.cpp diff --git a/extras/Projucer/Source/BinaryData/jucer_NewCppFileTemplate.h b/extras/Projucer/Source/BinaryData/Templates/jucer_NewCppFileTemplate.h similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_NewCppFileTemplate.h rename to extras/Projucer/Source/BinaryData/Templates/jucer_NewCppFileTemplate.h diff --git a/extras/Projucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h b/extras/Projucer/Source/BinaryData/Templates/jucer_NewInlineComponentTemplate.h similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h rename to extras/Projucer/Source/BinaryData/Templates/jucer_NewInlineComponentTemplate.h diff --git a/extras/Projucer/Source/BinaryData/jucer_OpenGLComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.cpp similarity index 100% rename from extras/Projucer/Source/BinaryData/jucer_OpenGLComponentTemplate.cpp rename to extras/Projucer/Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.cpp diff --git a/extras/Projucer/Source/BinaryData/background_tile.png b/extras/Projucer/Source/BinaryData/background_tile.png deleted file mode 100644 index d6fe624cbe8c41a6c3b155136faa4a1fe4329933..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgH%{Hks#)<;AGSZ-sRW7hdFfwMNL$ zE#hgLQu^Aj^KIIKxZe3MyPx$gI_0V7{(u<$%`W$+%u9L%w28sf)z4*}Q$iB}DtS0D diff --git a/extras/Projucer/Source/BinaryData/projucer_login_bg.svg b/extras/Projucer/Source/BinaryData/projucer_login_bg.svg deleted file mode 100644 index 4e58a31984..0000000000 --- a/extras/Projucer/Source/BinaryData/projucer_login_bg.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/Projucer/Source/Application/jucer_DocumentEditorComponent.cpp b/extras/Projucer/Source/CodeEditor/jucer_DocumentEditorComponent.cpp similarity index 92% rename from extras/Projucer/Source/Application/jucer_DocumentEditorComponent.cpp rename to extras/Projucer/Source/CodeEditor/jucer_DocumentEditorComponent.cpp index 05da769ca1..1629e7b526 100644 --- a/extras/Projucer/Source/Application/jucer_DocumentEditorComponent.cpp +++ b/extras/Projucer/Source/CodeEditor/jucer_DocumentEditorComponent.cpp @@ -24,9 +24,8 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "jucer_DocumentEditorComponent.h" -#include "../Project/jucer_ProjectContentComponent.h" #include "../Application/jucer_Application.h" diff --git a/extras/Projucer/Source/Application/jucer_DocumentEditorComponent.h b/extras/Projucer/Source/CodeEditor/jucer_DocumentEditorComponent.h similarity index 96% rename from extras/Projucer/Source/Application/jucer_DocumentEditorComponent.h rename to extras/Projucer/Source/CodeEditor/jucer_DocumentEditorComponent.h index 5d8c51f753..3d5af0457a 100644 --- a/extras/Projucer/Source/Application/jucer_DocumentEditorComponent.h +++ b/extras/Projucer/Source/CodeEditor/jucer_DocumentEditorComponent.h @@ -28,10 +28,7 @@ #include "jucer_OpenDocumentManager.h" - //============================================================================== -/** -*/ class DocumentEditorComponent : public Component, public OpenDocumentManager::DocumentCloseListener { diff --git a/extras/Projucer/Source/Application/jucer_FilePreviewComponent.h b/extras/Projucer/Source/CodeEditor/jucer_ItemPreviewComponent.h similarity index 95% rename from extras/Projucer/Source/Application/jucer_FilePreviewComponent.h rename to extras/Projucer/Source/CodeEditor/jucer_ItemPreviewComponent.h index f1aa03b211..5a49ed4ab7 100644 --- a/extras/Projucer/Source/Application/jucer_FilePreviewComponent.h +++ b/extras/Projucer/Source/CodeEditor/jucer_ItemPreviewComponent.h @@ -26,12 +26,8 @@ #pragma once -#include "../Utility/jucer_ProjucerLookAndFeel.h" - //============================================================================== -/** -*/ class ItemPreviewComponent : public Component { public: diff --git a/extras/Projucer/Source/Code Editor/jucer_LiveBuildCodeEditor.h b/extras/Projucer/Source/CodeEditor/jucer_LiveBuildCodeEditor.h similarity index 96% rename from extras/Projucer/Source/Code Editor/jucer_LiveBuildCodeEditor.h rename to extras/Projucer/Source/CodeEditor/jucer_LiveBuildCodeEditor.h index 36a3baf853..cfd9d438e5 100644 --- a/extras/Projucer/Source/Code Editor/jucer_LiveBuildCodeEditor.h +++ b/extras/Projucer/Source/CodeEditor/jucer_LiveBuildCodeEditor.h @@ -24,9 +24,11 @@ ============================================================================== */ +#pragma once + class LiveBuildCodeEditorDocument; - +//============================================================================== class LiveBuildCodeEditor : public CppCodeEditorComponent, private Timer { diff --git a/extras/Projucer/Source/Application/jucer_OpenDocumentManager.cpp b/extras/Projucer/Source/CodeEditor/jucer_OpenDocumentManager.cpp similarity index 95% rename from extras/Projucer/Source/Application/jucer_OpenDocumentManager.cpp rename to extras/Projucer/Source/CodeEditor/jucer_OpenDocumentManager.cpp index 3464c22679..214195c850 100644 --- a/extras/Projucer/Source/Application/jucer_OpenDocumentManager.cpp +++ b/extras/Projucer/Source/CodeEditor/jucer_OpenDocumentManager.cpp @@ -24,11 +24,10 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "jucer_OpenDocumentManager.h" -#include "jucer_FilePreviewComponent.h" -#include "../Code Editor/jucer_SourceCodeEditor.h" -#include "jucer_Application.h" +#include "../CodeEditor/jucer_ItemPreviewComponent.h" +#include "../Application/jucer_Application.h" //============================================================================== diff --git a/extras/Projucer/Source/Application/jucer_OpenDocumentManager.h b/extras/Projucer/Source/CodeEditor/jucer_OpenDocumentManager.h similarity index 97% rename from extras/Projucer/Source/Application/jucer_OpenDocumentManager.h rename to extras/Projucer/Source/CodeEditor/jucer_OpenDocumentManager.h index 807478f01c..1b9c0f6ba8 100644 --- a/extras/Projucer/Source/Application/jucer_OpenDocumentManager.h +++ b/extras/Projucer/Source/CodeEditor/jucer_OpenDocumentManager.h @@ -29,8 +29,6 @@ #include "../Project/jucer_Project.h" //============================================================================== -/** -*/ class OpenDocumentManager { public: diff --git a/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp b/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.cpp similarity index 96% rename from extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp rename to extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.cpp index 1454f146bb..e1b0d0eb51 100644 --- a/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp +++ b/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.cpp @@ -24,11 +24,9 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "jucer_SourceCodeEditor.h" #include "../Application/jucer_Application.h" -#include "../Application/jucer_OpenDocumentManager.h" - //============================================================================== SourceCodeDocument::SourceCodeDocument (Project* p, const File& f) diff --git a/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.h b/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.h similarity index 96% rename from extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.h rename to extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.h index f42eb72351..7fb1769255 100644 --- a/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.h +++ b/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.h @@ -26,9 +26,7 @@ #pragma once -#include "../Project/jucer_Project.h" -#include "../Application/jucer_DocumentEditorComponent.h" - +#include "jucer_DocumentEditorComponent.h" //============================================================================== class SourceCodeDocument : public OpenDocumentManager::Document diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ButtonHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_ButtonHandler.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/components/jucer_ButtonHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_ButtonHandler.h index 841af4c797..dbe58df233 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ButtonHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_ButtonHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class ButtonHandler : public ComponentTypeHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComboBoxHandler.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_ComboBoxHandler.h index 251d2bc841..9c86cd47bf 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComboBoxHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class ComboBoxHandler : public ComponentTypeHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentNameProperty.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentNameProperty.h similarity index 95% rename from extras/Projucer/Source/ComponentEditor/components/jucer_ComponentNameProperty.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentNameProperty.h index 5f67413c89..e9c17275af 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentNameProperty.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentNameProperty.h @@ -28,8 +28,7 @@ #include "jucer_ComponentTypeHandler.h" #include "jucer_ComponentUndoableAction.h" -#include "../properties/jucer_ComponentTextProperty.h" - +#include "../Properties/jucer_ComponentTextProperty.h" //============================================================================== class ComponentNameProperty : public ComponentTextProperty diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp similarity index 96% rename from extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp rename to extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp index 755d9846bd..d30c7939b5 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp @@ -24,16 +24,16 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "../../Application/jucer_Application.h" #include "../jucer_ObjectTypes.h" #include "../jucer_UtilityFunctions.h" -#include "../ui/jucer_JucerCommandIDs.h" -#include "../ui/jucer_ComponentOverlayComponent.h" +#include "../UI/jucer_JucerCommandIDs.h" +#include "../UI/jucer_ComponentOverlayComponent.h" #include "jucer_ComponentNameProperty.h" -#include "../properties/jucer_PositionPropertyBase.h" -#include "../properties/jucer_ComponentColourProperty.h" -#include "../ui/jucer_TestComponent.h" +#include "../Properties/jucer_PositionPropertyBase.h" +#include "../Properties/jucer_ComponentColourProperty.h" +#include "../UI/jucer_TestComponent.h" static String getTypeInfoName (const std::type_info& info) { diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentTypeHandler.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentTypeHandler.h index b20c014fd4..ace10a8670 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentTypeHandler.h @@ -29,8 +29,7 @@ class ComponentOverlayComponent; class ComponentLayout; #include "../jucer_GeneratedCode.h" -#include "../ui/jucer_RelativePositionedRectangle.h" - +#include "../UI/jucer_RelativePositionedRectangle.h" //============================================================================== /** diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentUndoableAction.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentUndoableAction.h similarity index 94% rename from extras/Projucer/Source/ComponentEditor/components/jucer_ComponentUndoableAction.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentUndoableAction.h index ea7a620cd5..b718f3bb69 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentUndoableAction.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentUndoableAction.h @@ -26,8 +26,7 @@ #pragma once -#include "../ui/jucer_JucerDocumentEditor.h" - +#include "../UI/jucer_JucerDocumentEditor.h" //============================================================================== template diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_GenericComponentHandler.h similarity index 95% rename from extras/Projucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_GenericComponentHandler.h index b70f36884c..d8bc322b4b 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_GenericComponentHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class GenericComponent : public Component { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_GroupComponentHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_GroupComponentHandler.h similarity index 95% rename from extras/Projucer/Source/ComponentEditor/components/jucer_GroupComponentHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_GroupComponentHandler.h index 8707dc0760..bc43b112a9 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_GroupComponentHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_GroupComponentHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class GroupComponentHandler : public ComponentTypeHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_HyperlinkButtonHandler.h similarity index 95% rename from extras/Projucer/Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_HyperlinkButtonHandler.h index ebb12cf408..603b830f76 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_HyperlinkButtonHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class HyperlinkButtonHandler : public ButtonHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ImageButtonHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_ImageButtonHandler.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/components/jucer_ImageButtonHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_ImageButtonHandler.h index 2bf4e6dcc0..7220377b3f 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ImageButtonHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_ImageButtonHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class ImageButtonHandler : public ButtonHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_JucerComponentHandler.h similarity index 94% rename from extras/Projucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_JucerComponentHandler.h index 5cba5dd633..9a5827bdae 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_JucerComponentHandler.h @@ -26,12 +26,11 @@ #pragma once -#include "../ui/jucer_TestComponent.h" -#include "../properties/jucer_FilePropertyComponent.h" -#include "../properties/jucer_ComponentTextProperty.h" +#include "../UI/jucer_TestComponent.h" +#include "../Properties/jucer_FilePropertyComponent.h" +#include "../Properties/jucer_ComponentTextProperty.h" #include "jucer_ComponentUndoableAction.h" -#include "../../Project/jucer_ProjectContentComponent.h" - +#include "../../Project/UI/jucer_ProjectContentComponent.h" //============================================================================== class JucerComponentHandler : public ComponentTypeHandler diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_LabelHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_LabelHandler.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/components/jucer_LabelHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_LabelHandler.h index 87a8b165de..2bfc6bde3f 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_LabelHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_LabelHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class LabelHandler : public ComponentTypeHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_SliderHandler.h similarity index 97% rename from extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_SliderHandler.h index 45ae623675..d206f143c3 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_SliderHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== static const Slider::SliderStyle sliderStyleTypes[] = { Slider::LinearHorizontal, diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_TabbedComponentHandler.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_TabbedComponentHandler.h index b7fb0bdbd1..542345e719 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_TabbedComponentHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class TabbedComponentHandler : public ComponentTypeHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_TextButtonHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_TextButtonHandler.h similarity index 93% rename from extras/Projucer/Source/ComponentEditor/components/jucer_TextButtonHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_TextButtonHandler.h index 5349d4f50d..ca2d38a2a1 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_TextButtonHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_TextButtonHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class TextButtonHandler : public ButtonHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_TextEditorHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_TextEditorHandler.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/components/jucer_TextEditorHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_TextEditorHandler.h index 446ca831ac..550d0d85f0 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_TextEditorHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_TextEditorHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class TextEditorHandler : public ComponentTypeHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ToggleButtonHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_ToggleButtonHandler.h similarity index 94% rename from extras/Projucer/Source/ComponentEditor/components/jucer_ToggleButtonHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_ToggleButtonHandler.h index 29460c1eab..8332ae4012 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ToggleButtonHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_ToggleButtonHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class ToggleButtonHandler : public ButtonHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_TreeViewHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_TreeViewHandler.h similarity index 95% rename from extras/Projucer/Source/ComponentEditor/components/jucer_TreeViewHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_TreeViewHandler.h index f4890b2aa7..4bf5b6f0c2 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_TreeViewHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_TreeViewHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class TreeViewHandler : public ComponentTypeHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ViewportHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_ViewportHandler.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/components/jucer_ViewportHandler.h rename to extras/Projucer/Source/ComponentEditor/Components/jucer_ViewportHandler.h index 3ad3fa7e9c..e955de6f03 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ViewportHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_ViewportHandler.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class ViewportHandler : public ComponentTypeHandler { public: diff --git a/extras/Projucer/Source/ComponentEditor/documents/jucer_ButtonDocument.cpp b/extras/Projucer/Source/ComponentEditor/Documents/jucer_ButtonDocument.cpp similarity index 96% rename from extras/Projucer/Source/ComponentEditor/documents/jucer_ButtonDocument.cpp rename to extras/Projucer/Source/ComponentEditor/Documents/jucer_ButtonDocument.cpp index 2351805a74..b06c7c81c5 100644 --- a/extras/Projucer/Source/ComponentEditor/documents/jucer_ButtonDocument.cpp +++ b/extras/Projucer/Source/ComponentEditor/Documents/jucer_ButtonDocument.cpp @@ -24,7 +24,7 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "jucer_ButtonDocument.h" #include "../jucer_UtilityFunctions.h" diff --git a/extras/Projucer/Source/ComponentEditor/documents/jucer_ButtonDocument.h b/extras/Projucer/Source/ComponentEditor/Documents/jucer_ButtonDocument.h similarity index 97% rename from extras/Projucer/Source/ComponentEditor/documents/jucer_ButtonDocument.h rename to extras/Projucer/Source/ComponentEditor/Documents/jucer_ButtonDocument.h index a2a1931628..3c4014d0e9 100644 --- a/extras/Projucer/Source/ComponentEditor/documents/jucer_ButtonDocument.h +++ b/extras/Projucer/Source/ComponentEditor/Documents/jucer_ButtonDocument.h @@ -28,7 +28,6 @@ #include "../jucer_JucerDocument.h" - //============================================================================== class ButtonDocument : public JucerDocument { diff --git a/extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp b/extras/Projucer/Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp similarity index 95% rename from extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp rename to extras/Projucer/Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp index 47637c718a..75416d597f 100644 --- a/extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp +++ b/extras/Projucer/Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp @@ -24,7 +24,7 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "jucer_ComponentDocument.h" diff --git a/extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.h b/extras/Projucer/Source/ComponentEditor/Documents/jucer_ComponentDocument.h similarity index 97% rename from extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.h rename to extras/Projucer/Source/ComponentEditor/Documents/jucer_ComponentDocument.h index f7a74665d1..1b133ba240 100644 --- a/extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.h +++ b/extras/Projucer/Source/ComponentEditor/Documents/jucer_ComponentDocument.h @@ -28,7 +28,6 @@ #include "../jucer_JucerDocument.h" - //============================================================================== class ComponentDocument : public JucerDocument { diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ColouredElement.cpp similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ColouredElement.cpp index bc59eb7ad6..a6a33f54df 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ColouredElement.cpp @@ -24,11 +24,11 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "jucer_ColouredElement.h" #include "jucer_GradientPointComponent.h" -#include "../properties/jucer_PositionPropertyBase.h" -#include "../properties/jucer_ColourPropertyComponent.h" +#include "../Properties/jucer_PositionPropertyBase.h" +#include "../Properties/jucer_ColourPropertyComponent.h" #include "jucer_PaintElementUndoableAction.h" #include "jucer_PaintElementPath.h" #include "jucer_ImageResourceProperty.h" diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ColouredElement.h similarity index 97% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ColouredElement.h index 3fb01d1226..73ab6f4c82 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ColouredElement.h @@ -30,7 +30,6 @@ #include "../jucer_JucerDocument.h" #include "jucer_StrokeType.h" - //============================================================================== /** Base class for paint elements that have a fill colour and stroke. diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ElementSiblingComponent.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ElementSiblingComponent.h similarity index 100% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_ElementSiblingComponent.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ElementSiblingComponent.h diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_FillType.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_FillType.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_FillType.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_FillType.h index 8c539e39b7..24b5971e4c 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_FillType.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_FillType.h @@ -28,7 +28,7 @@ #include "../jucer_JucerDocument.h" #include "../jucer_UtilityFunctions.h" -#include "../../Project Saving/jucer_ResourceFile.h" +#include "../../ProjectSaving/jucer_ResourceFile.h" //============================================================================== class JucerFillType diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_GradientPointComponent.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_GradientPointComponent.h index 77dc2fa25d..fad08316a0 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_GradientPointComponent.h @@ -29,7 +29,6 @@ #include "jucer_PointComponent.h" #include "jucer_ColouredElement.h" - //============================================================================== class GradientPointComponent : public PointComponent { diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ImageResourceProperty.h similarity index 95% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ImageResourceProperty.h index 653cdaaa45..f75881d650 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ImageResourceProperty.h @@ -26,7 +26,7 @@ #pragma once -#include "../../Project Saving/jucer_ResourceFile.h" +#include "../../ProjectSaving/jucer_ResourceFile.h" //============================================================================== /** diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp index 082b0ca395..a4b8c99f4d 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp @@ -24,13 +24,13 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "../../Application/jucer_Application.h" #include "../jucer_PaintRoutine.h" #include "../jucer_UtilityFunctions.h" -#include "../ui/jucer_JucerCommandIDs.h" -#include "../ui/jucer_PaintRoutineEditor.h" -#include "../properties/jucer_PositionPropertyBase.h" +#include "../UI/jucer_JucerCommandIDs.h" +#include "../UI/jucer_PaintRoutineEditor.h" +#include "../Properties/jucer_PositionPropertyBase.h" #include "jucer_ElementSiblingComponent.h" #include "jucer_PaintElementUndoableAction.h" diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.h index c2c25d28ae..6f28988230 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.h @@ -27,13 +27,12 @@ #pragma once #include "../jucer_GeneratedCode.h" -#include "../ui/jucer_RelativePositionedRectangle.h" +#include "../UI/jucer_RelativePositionedRectangle.h" class FillType; class PaintRoutine; class JucerDocument; class ElementSiblingComponent; - //============================================================================== /** Base class for objects that can be used in a PaintRoutine. diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementEllipse.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementEllipse.h index e3a8d231d9..016d5365d4 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementEllipse.h @@ -28,7 +28,6 @@ #include "jucer_ColouredElement.h" - //============================================================================== class PaintElementEllipse : public ColouredElement { diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementGroup.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.h similarity index 97% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementGroup.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.h index 03aed722fc..636270c0ab 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementGroup.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.h @@ -29,7 +29,6 @@ #include "jucer_PaintElement.h" #include "../jucer_ObjectTypes.h" - //============================================================================== class PaintElementGroup : public PaintElement { diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementImage.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementImage.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementImage.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementImage.h index 5e67db372c..fe93da0377 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementImage.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementImage.h @@ -27,11 +27,10 @@ #pragma once #include "../jucer_PaintRoutine.h" -#include "../properties/jucer_FilePropertyComponent.h" +#include "../Properties/jucer_FilePropertyComponent.h" #include "jucer_ImageResourceProperty.h" #include "jucer_PaintElementUndoableAction.h" - //============================================================================== class PaintElementImage : public PaintElement { diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementPath.cpp similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementPath.cpp index 916cfdcd80..f6adf7fcd9 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementPath.cpp @@ -24,9 +24,9 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "jucer_PaintElementPath.h" -#include "../properties/jucer_PositionPropertyBase.h" +#include "../Properties/jucer_PositionPropertyBase.h" #include "jucer_PaintElementUndoableAction.h" #include "../jucer_UtilityFunctions.h" diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementPath.h similarity index 97% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementPath.h index dd740dff6c..fc1f6da5ce 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementPath.h @@ -31,7 +31,6 @@ class PathPointComponent; class PaintElementPath; - //============================================================================== class PathPoint { diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementRectangle.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementRectangle.h index 5a42f56181..5dafb3a499 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementRectangle.h @@ -28,7 +28,6 @@ #include "jucer_ColouredElement.h" - //============================================================================== class PaintElementRectangle : public ColouredElement { diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementRoundedRectangle.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementRoundedRectangle.h similarity index 100% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementRoundedRectangle.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementRoundedRectangle.h diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementText.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementText.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementText.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementText.h index e99ac84861..15d5b67235 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementText.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementText.h @@ -1,673 +1,672 @@ -/* - ============================================================================== - - This file is part of the JUCE library. - Copyright (c) 2017 - ROLI Ltd. - - JUCE is an open source library subject to commercial or open-source - licensing. - - By using JUCE, you agree to the terms of both the JUCE 5 End-User License - Agreement and JUCE 5 Privacy Policy (both updated and effective as of the - 27th April 2017). - - End User License Agreement: www.juce.com/juce-5-licence - Privacy Policy: www.juce.com/juce-5-privacy-policy - - Or: You may also use this code under the terms of the GPL v3 (see - www.gnu.org/licenses). - - JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER - EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE - DISCLAIMED. - - ============================================================================== -*/ - -#pragma once - -#include "jucer_ColouredElement.h" -#include "../properties/jucer_FontPropertyComponent.h" -#include "../properties/jucer_JustificationProperty.h" - - -//============================================================================== -class PaintElementText : public ColouredElement -{ -public: - PaintElementText (PaintRoutine* pr) - : ColouredElement (pr, "Text", false, false), - text ("Your text goes here"), - font (15.0f), - typefaceName (FontPropertyComponent::getDefaultFont()), - justification (Justification::centred) - { - fillType.colour = Colours::black; - position.rect.setWidth (200); - position.rect.setHeight (30); - } - - //============================================================================== - void draw (Graphics& g, const ComponentLayout* layout, const Rectangle& parentArea) override - { - fillType.setFillType (g, getDocument(), parentArea); - - font = FontPropertyComponent::applyNameToFont (typefaceName, font); - g.setFont (font); - - g.drawText (replaceStringTranslations (text, owner->getDocument()), - position.getRectangle (parentArea, layout), justification, true); - } - - static String replaceStringTranslations (String s, JucerDocument* document) - { - s = s.replace ("%%getName()%%", document->getComponentName()); - s = s.replace ("%%getButtonText()%%", document->getComponentName()); - return s; - } - - void getEditableProperties (Array& props, bool multipleSelected) override - { - ColouredElement::getEditableProperties (props, multipleSelected); - - if (multipleSelected) - return; - - props.add (new TextProperty (this)); - props.add (new FontNameProperty (this)); - props.add (new FontStyleProperty (this)); - props.add (new FontSizeProperty (this)); - props.add (new FontKerningProperty (this)); - props.add (new TextJustificationProperty (this)); - props.add (new TextToPathProperty (this)); - } - - void fillInGeneratedCode (GeneratedCode& code, String& paintMethodCode) override - { - if (! fillType.isInvisible()) - { - String x, y, w, h, r; - positionToCode (position, code.document->getComponentLayout(), x, y, w, h); - r << "{\n" - << " int x = " << x << ", y = " << y << ", width = " << w << ", height = " << h << ";\n" - << " String text (" << quotedString (text, code.shouldUseTransMacro()) << ");\n" - << " " << fillType.generateVariablesCode ("fill") - << " //[UserPaintCustomArguments] Customize the painting arguments here..\n" - << customPaintCode - << " //[/UserPaintCustomArguments]\n" - << " "; - fillType.fillInGeneratedCode ("fill", position, code, r); - r << " g.setFont (" << FontPropertyComponent::getCompleteFontCode (font, typefaceName) << ");\n" - << " g.drawText (text, x, y, width, height,\n" - << " " << CodeHelpers::justificationToCode (justification) << ", true);\n" - << "}\n\n"; - - paintMethodCode += r; - } - } - - void applyCustomPaintSnippets (StringArray& snippets) override - { - customPaintCode.clear(); - - if (! snippets.isEmpty() && ! fillType.isInvisible()) - { - customPaintCode = snippets[0]; - snippets.remove (0); - } - } - - static const char* getTagName() noexcept { return "TEXT"; } - - XmlElement* createXml() const override - { - XmlElement* e = new XmlElement (getTagName()); - position.applyToXml (*e); - addColourAttributes (e); - e->setAttribute ("text", text); - e->setAttribute ("fontname", typefaceName); - e->setAttribute ("fontsize", roundToInt (font.getHeight() * 100.0) / 100.0); - e->setAttribute ("kerning", roundToInt (font.getExtraKerningFactor() * 1000.0) / 1000.0); - e->setAttribute ("bold", font.isBold()); - e->setAttribute ("italic", font.isItalic()); - e->setAttribute ("justification", justification.getFlags()); - if (font.getTypefaceStyle() != "Regular") - { - e->setAttribute ("typefaceStyle", font.getTypefaceStyle()); - } - - return e; - } - - bool loadFromXml (const XmlElement& xml) override - { - if (xml.hasTagName (getTagName())) - { - position.restoreFromXml (xml, position); - loadColourAttributes (xml); - - text = xml.getStringAttribute ("text", "Hello World"); - typefaceName = xml.getStringAttribute ("fontname", FontPropertyComponent::getDefaultFont()); - font.setHeight ((float) xml.getDoubleAttribute ("fontsize", 15.0)); - font.setBold (xml.getBoolAttribute ("bold", false)); - font.setItalic (xml.getBoolAttribute ("italic", false)); - font.setExtraKerningFactor ((float) xml.getDoubleAttribute ("kerning", 0.0)); - justification = Justification (xml.getIntAttribute ("justification", Justification::centred)); - auto fontStyle = xml.getStringAttribute ("typefaceStyle"); - if (! fontStyle.isEmpty()) - font.setTypefaceStyle (fontStyle); - - return true; - } - - jassertfalse; - return false; - } - - //============================================================================== - const String& getText() const noexcept { return text; } - - class SetTextAction : public PaintElementUndoableAction - { - public: - SetTextAction (PaintElementText* const element, const String& newText_) - : PaintElementUndoableAction (element), - newText (newText_), - oldText (element->getText()) - { - } - - bool perform() - { - showCorrectTab(); - getElement()->setText (newText, false); - return true; - } - - bool undo() - { - showCorrectTab(); - getElement()->setText (oldText, false); - return true; - } - - private: - String newText, oldText; - }; - - void setText (const String& t, const bool undoable) - { - if (t != text) - { - if (undoable) - { - perform (new SetTextAction (this, t), - "Change text element text"); - } - else - { - text = t; - changed(); - } - } - } - - //============================================================================== - const Font& getFont() const { return font; } - - class SetFontAction : public PaintElementUndoableAction - { - public: - SetFontAction (PaintElementText* const element, const Font& newFont_) - : PaintElementUndoableAction (element), - newFont (newFont_), - oldFont (element->getFont()) - { - } - - bool perform() - { - showCorrectTab(); - getElement()->setFont (newFont, false); - return true; - } - - bool undo() - { - showCorrectTab(); - getElement()->setFont (oldFont, false); - return true; - } - - private: - Font newFont, oldFont; - }; - - void setFont (const Font& newFont, const bool undoable) - { - if (font != newFont) - { - if (undoable) - { - perform (new SetFontAction (this, newFont), - "Change text element font"); - } - else - { - font = newFont; - changed(); - } - } - } - - //============================================================================== - class SetTypefaceAction : public PaintElementUndoableAction - { - public: - SetTypefaceAction (PaintElementText* const element, const String& newValue_) - : PaintElementUndoableAction (element), - newValue (newValue_), - oldValue (element->getTypefaceName()) - { - } - - bool perform() - { - showCorrectTab(); - getElement()->setTypefaceName (newValue, false); - return true; - } - - bool undo() - { - showCorrectTab(); - getElement()->setTypefaceName (oldValue, false); - return true; - } - - private: - String newValue, oldValue; - }; - - void setTypefaceName (const String& newFontName, const bool undoable) - { - if (undoable) - { - perform (new SetTypefaceAction (this, newFontName), - "Change text element typeface"); - } - else - { - typefaceName = newFontName; - changed(); - } - } - - String getTypefaceName() const noexcept { return typefaceName; } - - //============================================================================== - Justification getJustification() const noexcept { return justification; } - - class SetJustifyAction : public PaintElementUndoableAction - { - public: - SetJustifyAction (PaintElementText* const element, Justification newValue_) - : PaintElementUndoableAction (element), - newValue (newValue_), - oldValue (element->getJustification()) - { - } - - bool perform() - { - showCorrectTab(); - getElement()->setJustification (newValue, false); - return true; - } - - bool undo() - { - showCorrectTab(); - getElement()->setJustification (oldValue, false); - return true; - } - - private: - Justification newValue, oldValue; - }; - - void setJustification (Justification j, const bool undoable) - { - if (justification.getFlags() != j.getFlags()) - { - if (undoable) - { - perform (new SetJustifyAction (this, j), - "Change text element justification"); - } - else - { - justification = j; - changed(); - } - } - } - - void convertToPath() - { - if (PaintRoutineEditor* parent = dynamic_cast (getParentComponent())) - { - - font = FontPropertyComponent::applyNameToFont (typefaceName, font); - - const Rectangle r = - getCurrentBounds (parent->getComponentArea().withZeroOrigin()); - - GlyphArrangement arr; - arr.addCurtailedLineOfText (font, text, - 0.0f, 0.0f, (float) r.getWidth(), - true); - - arr.justifyGlyphs (0, arr.getNumGlyphs(), - (float) r.getX(), (float) r.getY(), - (float) r.getWidth(), (float) r.getHeight(), - justification); - - Path path; - arr.createPath (path); - - convertToNewPathElement (path); - } - else - { - jassertfalse; - } - } - -private: - String text; - Font font; - String typefaceName; - Justification justification; - String customPaintCode; - - Array justificationTypes; - - //============================================================================== - class TextProperty : public TextPropertyComponent, - public ChangeListener - { - public: - TextProperty (PaintElementText* const e) - : TextPropertyComponent ("text", 2048, false), - element (e) - { - element->getDocument()->addChangeListener (this); - } - - ~TextProperty() - { - element->getDocument()->removeChangeListener (this); - } - - void setText (const String& newText) override { element->setText (newText, true); } - String getText() const override { return element->getText(); } - - void changeListenerCallback (ChangeBroadcaster*) override { refresh(); } - - private: - PaintElementText* const element; - }; - - //============================================================================== - class FontNameProperty : public FontPropertyComponent, - public ChangeListener - { - public: - FontNameProperty (PaintElementText* const e) - : FontPropertyComponent ("font"), - element (e) - { - element->getDocument()->addChangeListener (this); - } - - ~FontNameProperty() - { - element->getDocument()->removeChangeListener (this); - } - - void setTypefaceName (const String& newFontName) { element->setTypefaceName (newFontName, true); } - String getTypefaceName() const { return element->getTypefaceName(); } - - void changeListenerCallback (ChangeBroadcaster*) { refresh(); } - - private: - PaintElementText* const element; - }; - - //============================================================================== - class FontStyleProperty : public ChoicePropertyComponent, - public ChangeListener - { - public: - FontStyleProperty (PaintElementText* const e) - : ChoicePropertyComponent ("style"), - element (e) - { - element->getDocument()->addChangeListener (this); - - updateStylesList (element->getTypefaceName()); - } - - ~FontStyleProperty() - { - element->getDocument()->removeChangeListener (this); - } - - void updateStylesList (const String& name) - { - if (getNumChildComponents() > 0) - { - if (auto cb = dynamic_cast (getChildComponent (0))) - cb->clear(); - - getChildComponent (0)->setVisible (false); - removeAllChildren(); - } - - choices.clear(); - - choices.add ("Regular"); - choices.add ("Bold"); - choices.add ("Italic"); - choices.add ("Bold Italic"); - - choices.mergeArray (Font::findAllTypefaceStyles (name)); - refresh(); - } - - void setIndex (int newIndex) - { - Font f (element->getFont()); - - if (f.getAvailableStyles().contains (choices[newIndex])) - { - f.setBold (false); - f.setItalic (false); - f.setTypefaceStyle (choices[newIndex]); - } - else - { - f.setTypefaceStyle ("Regular"); - f.setBold (newIndex == 1 || newIndex == 3); - f.setItalic (newIndex == 2 || newIndex == 3); - } - - element->setFont (f, true); - } - - int getIndex() const - { - auto f = element->getFont(); - - const auto typefaceIndex = choices.indexOf (f.getTypefaceStyle()); - if (typefaceIndex == -1) - { - if (f.isBold() && f.isItalic()) - return 3; - else if (f.isBold()) - return 1; - else if (f.isItalic()) - return 2; - - return 0; - } - - return typefaceIndex; - } - - void changeListenerCallback (ChangeBroadcaster*) - { - updateStylesList (element->getTypefaceName()); - } - - private: - PaintElementText* const element; - }; - - //============================================================================== - class FontSizeProperty : public SliderPropertyComponent, - public ChangeListener - { - public: - FontSizeProperty (PaintElementText* const e) - : SliderPropertyComponent ("size", 1.0, 250.0, 0.1, 0.3), - element (e) - { - element->getDocument()->addChangeListener (this); - } - - ~FontSizeProperty() - { - element->getDocument()->removeChangeListener (this); - } - - void setValue (double newValue) - { - element->getDocument()->getUndoManager().undoCurrentTransactionOnly(); - - Font f (element->getFont()); - f.setHeight ((float) newValue); - - element->setFont (f, true); - } - - double getValue() const - { - return element->getFont().getHeight(); - } - - void changeListenerCallback (ChangeBroadcaster*) { refresh(); } - - private: - PaintElementText* const element; - }; - - //============================================================================== - class FontKerningProperty : public SliderPropertyComponent, - public ChangeListener - { - public: - FontKerningProperty (PaintElementText* const e) - : SliderPropertyComponent ("kerning", -0.5, 0.5, 0.001), - element (e) - { - element->getDocument()->addChangeListener (this); - } - - ~FontKerningProperty() - { - element->getDocument()->removeChangeListener (this); - } - - void setValue (double newValue) - { - element->getDocument()->getUndoManager().undoCurrentTransactionOnly(); - - Font f (element->getFont()); - f.setExtraKerningFactor ((float) newValue); - - element->setFont (f, true); - } - - double getValue() const - { - return element->getFont().getExtraKerningFactor(); - } - - void changeListenerCallback (ChangeBroadcaster*) - { - refresh(); - } - - private: - PaintElementText* const element; - }; - - //============================================================================== - class TextJustificationProperty : public JustificationProperty, - public ChangeListener - { - public: - TextJustificationProperty (PaintElementText* const e) - : JustificationProperty ("layout", false), - element (e) - { - element->getDocument()->addChangeListener (this); - } - - ~TextJustificationProperty() - { - element->getDocument()->removeChangeListener (this); - } - - void setJustification (Justification newJustification) - { - element->setJustification (newJustification, true); - } - - Justification getJustification() const - { - return element->getJustification(); - } - - void changeListenerCallback (ChangeBroadcaster*) { refresh(); } - - private: - PaintElementText* const element; - }; - - //============================================================================== - class TextToPathProperty : public ButtonPropertyComponent - { - public: - TextToPathProperty (PaintElementText* const e) - : ButtonPropertyComponent ("path", false), - element (e) - { - } - - void buttonClicked() - { - element->convertToPath(); - } - - String getButtonText() const - { - return "convert text to a path"; - } - - private: - PaintElementText* const element; - }; -}; +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2017 - ROLI Ltd. + + JUCE is an open source library subject to commercial or open-source + licensing. + + By using JUCE, you agree to the terms of both the JUCE 5 End-User License + Agreement and JUCE 5 Privacy Policy (both updated and effective as of the + 27th April 2017). + + End User License Agreement: www.juce.com/juce-5-licence + Privacy Policy: www.juce.com/juce-5-privacy-policy + + Or: You may also use this code under the terms of the GPL v3 (see + www.gnu.org/licenses). + + JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER + EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE + DISCLAIMED. + + ============================================================================== +*/ + +#pragma once + +#include "jucer_ColouredElement.h" +#include "../Properties/jucer_FontPropertyComponent.h" +#include "../Properties/jucer_JustificationProperty.h" + +//============================================================================== +class PaintElementText : public ColouredElement +{ +public: + PaintElementText (PaintRoutine* pr) + : ColouredElement (pr, "Text", false, false), + text ("Your text goes here"), + font (15.0f), + typefaceName (FontPropertyComponent::getDefaultFont()), + justification (Justification::centred) + { + fillType.colour = Colours::black; + position.rect.setWidth (200); + position.rect.setHeight (30); + } + + //============================================================================== + void draw (Graphics& g, const ComponentLayout* layout, const Rectangle& parentArea) override + { + fillType.setFillType (g, getDocument(), parentArea); + + font = FontPropertyComponent::applyNameToFont (typefaceName, font); + g.setFont (font); + + g.drawText (replaceStringTranslations (text, owner->getDocument()), + position.getRectangle (parentArea, layout), justification, true); + } + + static String replaceStringTranslations (String s, JucerDocument* document) + { + s = s.replace ("%%getName()%%", document->getComponentName()); + s = s.replace ("%%getButtonText()%%", document->getComponentName()); + return s; + } + + void getEditableProperties (Array& props, bool multipleSelected) override + { + ColouredElement::getEditableProperties (props, multipleSelected); + + if (multipleSelected) + return; + + props.add (new TextProperty (this)); + props.add (new FontNameProperty (this)); + props.add (new FontStyleProperty (this)); + props.add (new FontSizeProperty (this)); + props.add (new FontKerningProperty (this)); + props.add (new TextJustificationProperty (this)); + props.add (new TextToPathProperty (this)); + } + + void fillInGeneratedCode (GeneratedCode& code, String& paintMethodCode) override + { + if (! fillType.isInvisible()) + { + String x, y, w, h, r; + positionToCode (position, code.document->getComponentLayout(), x, y, w, h); + r << "{\n" + << " int x = " << x << ", y = " << y << ", width = " << w << ", height = " << h << ";\n" + << " String text (" << quotedString (text, code.shouldUseTransMacro()) << ");\n" + << " " << fillType.generateVariablesCode ("fill") + << " //[UserPaintCustomArguments] Customize the painting arguments here..\n" + << customPaintCode + << " //[/UserPaintCustomArguments]\n" + << " "; + fillType.fillInGeneratedCode ("fill", position, code, r); + r << " g.setFont (" << FontPropertyComponent::getCompleteFontCode (font, typefaceName) << ");\n" + << " g.drawText (text, x, y, width, height,\n" + << " " << CodeHelpers::justificationToCode (justification) << ", true);\n" + << "}\n\n"; + + paintMethodCode += r; + } + } + + void applyCustomPaintSnippets (StringArray& snippets) override + { + customPaintCode.clear(); + + if (! snippets.isEmpty() && ! fillType.isInvisible()) + { + customPaintCode = snippets[0]; + snippets.remove (0); + } + } + + static const char* getTagName() noexcept { return "TEXT"; } + + XmlElement* createXml() const override + { + XmlElement* e = new XmlElement (getTagName()); + position.applyToXml (*e); + addColourAttributes (e); + e->setAttribute ("text", text); + e->setAttribute ("fontname", typefaceName); + e->setAttribute ("fontsize", roundToInt (font.getHeight() * 100.0) / 100.0); + e->setAttribute ("kerning", roundToInt (font.getExtraKerningFactor() * 1000.0) / 1000.0); + e->setAttribute ("bold", font.isBold()); + e->setAttribute ("italic", font.isItalic()); + e->setAttribute ("justification", justification.getFlags()); + if (font.getTypefaceStyle() != "Regular") + { + e->setAttribute ("typefaceStyle", font.getTypefaceStyle()); + } + + return e; + } + + bool loadFromXml (const XmlElement& xml) override + { + if (xml.hasTagName (getTagName())) + { + position.restoreFromXml (xml, position); + loadColourAttributes (xml); + + text = xml.getStringAttribute ("text", "Hello World"); + typefaceName = xml.getStringAttribute ("fontname", FontPropertyComponent::getDefaultFont()); + font.setHeight ((float) xml.getDoubleAttribute ("fontsize", 15.0)); + font.setBold (xml.getBoolAttribute ("bold", false)); + font.setItalic (xml.getBoolAttribute ("italic", false)); + font.setExtraKerningFactor ((float) xml.getDoubleAttribute ("kerning", 0.0)); + justification = Justification (xml.getIntAttribute ("justification", Justification::centred)); + auto fontStyle = xml.getStringAttribute ("typefaceStyle"); + if (! fontStyle.isEmpty()) + font.setTypefaceStyle (fontStyle); + + return true; + } + + jassertfalse; + return false; + } + + //============================================================================== + const String& getText() const noexcept { return text; } + + class SetTextAction : public PaintElementUndoableAction + { + public: + SetTextAction (PaintElementText* const element, const String& newText_) + : PaintElementUndoableAction (element), + newText (newText_), + oldText (element->getText()) + { + } + + bool perform() + { + showCorrectTab(); + getElement()->setText (newText, false); + return true; + } + + bool undo() + { + showCorrectTab(); + getElement()->setText (oldText, false); + return true; + } + + private: + String newText, oldText; + }; + + void setText (const String& t, const bool undoable) + { + if (t != text) + { + if (undoable) + { + perform (new SetTextAction (this, t), + "Change text element text"); + } + else + { + text = t; + changed(); + } + } + } + + //============================================================================== + const Font& getFont() const { return font; } + + class SetFontAction : public PaintElementUndoableAction + { + public: + SetFontAction (PaintElementText* const element, const Font& newFont_) + : PaintElementUndoableAction (element), + newFont (newFont_), + oldFont (element->getFont()) + { + } + + bool perform() + { + showCorrectTab(); + getElement()->setFont (newFont, false); + return true; + } + + bool undo() + { + showCorrectTab(); + getElement()->setFont (oldFont, false); + return true; + } + + private: + Font newFont, oldFont; + }; + + void setFont (const Font& newFont, const bool undoable) + { + if (font != newFont) + { + if (undoable) + { + perform (new SetFontAction (this, newFont), + "Change text element font"); + } + else + { + font = newFont; + changed(); + } + } + } + + //============================================================================== + class SetTypefaceAction : public PaintElementUndoableAction + { + public: + SetTypefaceAction (PaintElementText* const element, const String& newValue_) + : PaintElementUndoableAction (element), + newValue (newValue_), + oldValue (element->getTypefaceName()) + { + } + + bool perform() + { + showCorrectTab(); + getElement()->setTypefaceName (newValue, false); + return true; + } + + bool undo() + { + showCorrectTab(); + getElement()->setTypefaceName (oldValue, false); + return true; + } + + private: + String newValue, oldValue; + }; + + void setTypefaceName (const String& newFontName, const bool undoable) + { + if (undoable) + { + perform (new SetTypefaceAction (this, newFontName), + "Change text element typeface"); + } + else + { + typefaceName = newFontName; + changed(); + } + } + + String getTypefaceName() const noexcept { return typefaceName; } + + //============================================================================== + Justification getJustification() const noexcept { return justification; } + + class SetJustifyAction : public PaintElementUndoableAction + { + public: + SetJustifyAction (PaintElementText* const element, Justification newValue_) + : PaintElementUndoableAction (element), + newValue (newValue_), + oldValue (element->getJustification()) + { + } + + bool perform() + { + showCorrectTab(); + getElement()->setJustification (newValue, false); + return true; + } + + bool undo() + { + showCorrectTab(); + getElement()->setJustification (oldValue, false); + return true; + } + + private: + Justification newValue, oldValue; + }; + + void setJustification (Justification j, const bool undoable) + { + if (justification.getFlags() != j.getFlags()) + { + if (undoable) + { + perform (new SetJustifyAction (this, j), + "Change text element justification"); + } + else + { + justification = j; + changed(); + } + } + } + + void convertToPath() + { + if (PaintRoutineEditor* parent = dynamic_cast (getParentComponent())) + { + + font = FontPropertyComponent::applyNameToFont (typefaceName, font); + + const Rectangle r = + getCurrentBounds (parent->getComponentArea().withZeroOrigin()); + + GlyphArrangement arr; + arr.addCurtailedLineOfText (font, text, + 0.0f, 0.0f, (float) r.getWidth(), + true); + + arr.justifyGlyphs (0, arr.getNumGlyphs(), + (float) r.getX(), (float) r.getY(), + (float) r.getWidth(), (float) r.getHeight(), + justification); + + Path path; + arr.createPath (path); + + convertToNewPathElement (path); + } + else + { + jassertfalse; + } + } + +private: + String text; + Font font; + String typefaceName; + Justification justification; + String customPaintCode; + + Array justificationTypes; + + //============================================================================== + class TextProperty : public TextPropertyComponent, + public ChangeListener + { + public: + TextProperty (PaintElementText* const e) + : TextPropertyComponent ("text", 2048, false), + element (e) + { + element->getDocument()->addChangeListener (this); + } + + ~TextProperty() + { + element->getDocument()->removeChangeListener (this); + } + + void setText (const String& newText) override { element->setText (newText, true); } + String getText() const override { return element->getText(); } + + void changeListenerCallback (ChangeBroadcaster*) override { refresh(); } + + private: + PaintElementText* const element; + }; + + //============================================================================== + class FontNameProperty : public FontPropertyComponent, + public ChangeListener + { + public: + FontNameProperty (PaintElementText* const e) + : FontPropertyComponent ("font"), + element (e) + { + element->getDocument()->addChangeListener (this); + } + + ~FontNameProperty() + { + element->getDocument()->removeChangeListener (this); + } + + void setTypefaceName (const String& newFontName) { element->setTypefaceName (newFontName, true); } + String getTypefaceName() const { return element->getTypefaceName(); } + + void changeListenerCallback (ChangeBroadcaster*) { refresh(); } + + private: + PaintElementText* const element; + }; + + //============================================================================== + class FontStyleProperty : public ChoicePropertyComponent, + public ChangeListener + { + public: + FontStyleProperty (PaintElementText* const e) + : ChoicePropertyComponent ("style"), + element (e) + { + element->getDocument()->addChangeListener (this); + + updateStylesList (element->getTypefaceName()); + } + + ~FontStyleProperty() + { + element->getDocument()->removeChangeListener (this); + } + + void updateStylesList (const String& name) + { + if (getNumChildComponents() > 0) + { + if (auto cb = dynamic_cast (getChildComponent (0))) + cb->clear(); + + getChildComponent (0)->setVisible (false); + removeAllChildren(); + } + + choices.clear(); + + choices.add ("Regular"); + choices.add ("Bold"); + choices.add ("Italic"); + choices.add ("Bold Italic"); + + choices.mergeArray (Font::findAllTypefaceStyles (name)); + refresh(); + } + + void setIndex (int newIndex) + { + Font f (element->getFont()); + + if (f.getAvailableStyles().contains (choices[newIndex])) + { + f.setBold (false); + f.setItalic (false); + f.setTypefaceStyle (choices[newIndex]); + } + else + { + f.setTypefaceStyle ("Regular"); + f.setBold (newIndex == 1 || newIndex == 3); + f.setItalic (newIndex == 2 || newIndex == 3); + } + + element->setFont (f, true); + } + + int getIndex() const + { + auto f = element->getFont(); + + const auto typefaceIndex = choices.indexOf (f.getTypefaceStyle()); + if (typefaceIndex == -1) + { + if (f.isBold() && f.isItalic()) + return 3; + else if (f.isBold()) + return 1; + else if (f.isItalic()) + return 2; + + return 0; + } + + return typefaceIndex; + } + + void changeListenerCallback (ChangeBroadcaster*) + { + updateStylesList (element->getTypefaceName()); + } + + private: + PaintElementText* const element; + }; + + //============================================================================== + class FontSizeProperty : public SliderPropertyComponent, + public ChangeListener + { + public: + FontSizeProperty (PaintElementText* const e) + : SliderPropertyComponent ("size", 1.0, 250.0, 0.1, 0.3), + element (e) + { + element->getDocument()->addChangeListener (this); + } + + ~FontSizeProperty() + { + element->getDocument()->removeChangeListener (this); + } + + void setValue (double newValue) + { + element->getDocument()->getUndoManager().undoCurrentTransactionOnly(); + + Font f (element->getFont()); + f.setHeight ((float) newValue); + + element->setFont (f, true); + } + + double getValue() const + { + return element->getFont().getHeight(); + } + + void changeListenerCallback (ChangeBroadcaster*) { refresh(); } + + private: + PaintElementText* const element; + }; + + //============================================================================== + class FontKerningProperty : public SliderPropertyComponent, + public ChangeListener + { + public: + FontKerningProperty (PaintElementText* const e) + : SliderPropertyComponent ("kerning", -0.5, 0.5, 0.001), + element (e) + { + element->getDocument()->addChangeListener (this); + } + + ~FontKerningProperty() + { + element->getDocument()->removeChangeListener (this); + } + + void setValue (double newValue) + { + element->getDocument()->getUndoManager().undoCurrentTransactionOnly(); + + Font f (element->getFont()); + f.setExtraKerningFactor ((float) newValue); + + element->setFont (f, true); + } + + double getValue() const + { + return element->getFont().getExtraKerningFactor(); + } + + void changeListenerCallback (ChangeBroadcaster*) + { + refresh(); + } + + private: + PaintElementText* const element; + }; + + //============================================================================== + class TextJustificationProperty : public JustificationProperty, + public ChangeListener + { + public: + TextJustificationProperty (PaintElementText* const e) + : JustificationProperty ("layout", false), + element (e) + { + element->getDocument()->addChangeListener (this); + } + + ~TextJustificationProperty() + { + element->getDocument()->removeChangeListener (this); + } + + void setJustification (Justification newJustification) + { + element->setJustification (newJustification, true); + } + + Justification getJustification() const + { + return element->getJustification(); + } + + void changeListenerCallback (ChangeBroadcaster*) { refresh(); } + + private: + PaintElementText* const element; + }; + + //============================================================================== + class TextToPathProperty : public ButtonPropertyComponent + { + public: + TextToPathProperty (PaintElementText* const e) + : ButtonPropertyComponent ("path", false), + element (e) + { + } + + void buttonClicked() + { + element->convertToPath(); + } + + String getButtonText() const + { + return "convert text to a path"; + } + + private: + PaintElementText* const element; + }; +}; diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementUndoableAction.h similarity index 95% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementUndoableAction.h index 0153c7c623..16a322e796 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementUndoableAction.h @@ -26,10 +26,9 @@ #pragma once -#include "../ui/jucer_JucerDocumentEditor.h" +#include "../UI/jucer_JucerDocumentEditor.h" #include "jucer_PaintElementGroup.h" - //============================================================================== template class PaintElementUndoableAction : public UndoableAction diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PointComponent.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PointComponent.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_PointComponent.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PointComponent.h index a93e5fe6e2..2f8a6b555e 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PointComponent.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PointComponent.h @@ -27,8 +27,7 @@ #pragma once #include "jucer_ElementSiblingComponent.h" -#include "../ui/jucer_PaintRoutineEditor.h" - +#include "../UI/jucer_PaintRoutineEditor.h" //============================================================================== class PointComponent : public ElementSiblingComponent diff --git a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_StrokeType.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_StrokeType.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/paintelements/jucer_StrokeType.h rename to extras/Projucer/Source/ComponentEditor/PaintElements/jucer_StrokeType.h index 1b0eef473d..dc1c13a5cb 100644 --- a/extras/Projucer/Source/ComponentEditor/paintelements/jucer_StrokeType.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_StrokeType.h @@ -28,7 +28,6 @@ #include "jucer_FillType.h" - //============================================================================== class StrokeType { diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h b/extras/Projucer/Source/ComponentEditor/Properties/jucer_ColourPropertyComponent.h similarity index 95% rename from extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h rename to extras/Projucer/Source/ComponentEditor/Properties/jucer_ColourPropertyComponent.h index 8c465f3f60..4fa20a3250 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h +++ b/extras/Projucer/Source/ComponentEditor/Properties/jucer_ColourPropertyComponent.h @@ -27,6 +27,7 @@ #pragma once +//============================================================================== class JucerColourPropertyComponent : public PropertyComponent { public: diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h b/extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentBooleanProperty.h similarity index 92% rename from extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h rename to extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentBooleanProperty.h index 5ba27987ae..f9e30b39bb 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h +++ b/extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentBooleanProperty.h @@ -27,6 +27,7 @@ #pragma once +//============================================================================== template class ComponentBooleanProperty : public BooleanPropertyComponent, private ChangeListener diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h b/extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentChoiceProperty.h similarity index 92% rename from extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h rename to extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentChoiceProperty.h index fa70001fe3..b1bca27e38 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h +++ b/extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentChoiceProperty.h @@ -27,6 +27,7 @@ #pragma once +//============================================================================== template class ComponentChoiceProperty : public ChoicePropertyComponent, private ChangeListener diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentColourProperty.h b/extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentColourProperty.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentColourProperty.h rename to extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentColourProperty.h index 846df84297..bab22a0cd6 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentColourProperty.h +++ b/extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentColourProperty.h @@ -28,10 +28,7 @@ #include "jucer_ColourPropertyComponent.h" - //============================================================================== -/** -*/ template class ComponentColourProperty : public JucerColourPropertyComponent, private ChangeListener @@ -65,8 +62,6 @@ protected: //============================================================================== -/** -*/ class ComponentColourIdProperty : public ComponentColourProperty { public: diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentTextProperty.h b/extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentTextProperty.h similarity index 92% rename from extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentTextProperty.h rename to extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentTextProperty.h index e1b58a751a..1163df0205 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentTextProperty.h +++ b/extras/Projucer/Source/ComponentEditor/Properties/jucer_ComponentTextProperty.h @@ -27,6 +27,7 @@ #pragma once +//============================================================================== template class ComponentTextProperty : public TextPropertyComponent, private ChangeListener diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_FilePropertyComponent.h b/extras/Projucer/Source/ComponentEditor/Properties/jucer_FilePropertyComponent.h similarity index 93% rename from extras/Projucer/Source/ComponentEditor/properties/jucer_FilePropertyComponent.h rename to extras/Projucer/Source/ComponentEditor/Properties/jucer_FilePropertyComponent.h index 5fa6ca9a7e..d4a76d6a17 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_FilePropertyComponent.h +++ b/extras/Projucer/Source/ComponentEditor/Properties/jucer_FilePropertyComponent.h @@ -27,6 +27,7 @@ #pragma once +//============================================================================== class FilePropertyComponent : public PropertyComponent, public FilenameComponentListener { diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_FontPropertyComponent.h b/extras/Projucer/Source/ComponentEditor/Properties/jucer_FontPropertyComponent.h similarity index 95% rename from extras/Projucer/Source/ComponentEditor/properties/jucer_FontPropertyComponent.h rename to extras/Projucer/Source/ComponentEditor/Properties/jucer_FontPropertyComponent.h index 8f25efba6c..a2087e30d4 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_FontPropertyComponent.h +++ b/extras/Projucer/Source/ComponentEditor/Properties/jucer_FontPropertyComponent.h @@ -27,6 +27,7 @@ #pragma once +//============================================================================== class FontPropertyComponent : public ChoicePropertyComponent { public: diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_JustificationProperty.h b/extras/Projucer/Source/ComponentEditor/Properties/jucer_JustificationProperty.h similarity index 95% rename from extras/Projucer/Source/ComponentEditor/properties/jucer_JustificationProperty.h rename to extras/Projucer/Source/ComponentEditor/Properties/jucer_JustificationProperty.h index dc24d113e2..f90f1cb0ce 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_JustificationProperty.h +++ b/extras/Projucer/Source/ComponentEditor/Properties/jucer_JustificationProperty.h @@ -27,6 +27,7 @@ #pragma once +//============================================================================== class JustificationProperty : public ChoicePropertyComponent { public: diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h b/extras/Projucer/Source/ComponentEditor/Properties/jucer_PositionPropertyBase.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h rename to extras/Projucer/Source/ComponentEditor/Properties/jucer_PositionPropertyBase.h index 2007e6a248..c4b0f43e0d 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h +++ b/extras/Projucer/Source/ComponentEditor/Properties/jucer_PositionPropertyBase.h @@ -26,8 +26,8 @@ #pragma once -#include "../ui/jucer_PaintRoutineEditor.h" -#include "../ui/jucer_ComponentLayoutEditor.h" +#include "../UI/jucer_PaintRoutineEditor.h" +#include "../UI/jucer_ComponentLayoutEditor.h" //============================================================================== /** diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.cpp similarity index 95% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp rename to extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.cpp index d51013f19a..ebfc177a17 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.cpp @@ -24,12 +24,12 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "../../Application/jucer_Application.h" #include "jucer_ComponentLayoutEditor.h" -#include "../ui/jucer_JucerCommandIDs.h" +#include "../UI/jucer_JucerCommandIDs.h" #include "../jucer_ObjectTypes.h" -#include "../components/jucer_JucerComponentHandler.h" +#include "../Components/jucer_JucerComponentHandler.h" //============================================================================== class SubComponentHolderComp : public Component diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.h index a3ac2efead..4e4ea26d49 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.h @@ -30,10 +30,7 @@ #include "../jucer_JucerDocument.h" #include "jucer_SnapGridPainter.h" - //============================================================================== -/** -*/ class ComponentLayoutEditor : public Component, public ChangeListener, public FileDragAndDropTarget, diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutPanel.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutPanel.h index 9a1b7e4a31..bb6fdb4f19 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutPanel.h @@ -29,7 +29,6 @@ #include "jucer_ComponentLayoutEditor.h" #include "jucer_EditingPanelBase.h" - //============================================================================== class ComponentLayoutPanel : public EditingPanelBase { diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp rename to extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp index 17ba21f382..779a13d7d5 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp @@ -24,7 +24,7 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "jucer_ComponentLayoutEditor.h" #include "../jucer_UtilityFunctions.h" diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.h index f03cb0a62b..94bd0f59fc 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.h @@ -28,10 +28,7 @@ #include "../jucer_JucerDocument.h" - //============================================================================== -/** -*/ class ComponentOverlayComponent : public Component, public ComponentListener, public ChangeListener, diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp b/extras/Projucer/Source/ComponentEditor/UI/jucer_EditingPanelBase.cpp similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp rename to extras/Projucer/Source/ComponentEditor/UI/jucer_EditingPanelBase.cpp index 3861ca4ae4..a6a41049cc 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_EditingPanelBase.cpp @@ -24,7 +24,7 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "jucer_EditingPanelBase.h" #include "jucer_JucerDocumentEditor.h" diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_EditingPanelBase.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_EditingPanelBase.h index 7192a03dc3..5192110bcc 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_EditingPanelBase.h @@ -30,7 +30,6 @@ #include "jucer_ComponentLayoutEditor.h" class LayoutPropsPanel; - //============================================================================== /** Base class for the layout and graphics panels - this takes care of arranging diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerCommandIDs.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerCommandIDs.h similarity index 100% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_JucerCommandIDs.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_JucerCommandIDs.h diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp b/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp rename to extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp index 83bd4fbea8..e7cb92e2e2 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp @@ -24,8 +24,8 @@ ============================================================================== */ -#include "../../jucer_Headers.h" -#include "../../Application/jucer_AppearanceSettings.h" +#include "../../Application/jucer_Headers.h" +#include "../../Settings/jucer_AppearanceSettings.h" #include "../../Application/jucer_Application.h" #include "jucer_JucerDocumentEditor.h" #include "jucer_TestComponent.h" @@ -33,10 +33,9 @@ #include "jucer_ComponentLayoutPanel.h" #include "jucer_PaintRoutinePanel.h" #include "jucer_ResourceEditorPanel.h" -#include "../properties/jucer_ComponentTextProperty.h" -#include "../properties/jucer_ComponentChoiceProperty.h" -#include "../ui/jucer_JucerCommandIDs.h" - +#include "../Properties/jucer_ComponentTextProperty.h" +#include "../Properties/jucer_ComponentChoiceProperty.h" +#include "../UI/jucer_JucerCommandIDs.h" //============================================================================== class ExtraMethodsList : public PropertyComponent, diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.h index ee7f205c6a..0a3d2edeb8 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.h @@ -31,10 +31,7 @@ #include "jucer_PaintRoutineEditor.h" #include "jucer_ComponentLayoutPanel.h" - //============================================================================== -/** -*/ class JucerDocumentEditor : public Component, public ApplicationCommandTarget, public ChangeListener diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp b/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutineEditor.cpp similarity index 95% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp rename to extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutineEditor.cpp index b9d34a8fa0..9d98927cd0 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutineEditor.cpp @@ -24,14 +24,13 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "../../Application/jucer_Application.h" -#include "../ui/jucer_JucerCommandIDs.h" +#include "../UI/jucer_JucerCommandIDs.h" #include "jucer_PaintRoutineEditor.h" #include "../jucer_ObjectTypes.h" #include "jucer_JucerDocumentEditor.h" - //============================================================================== PaintRoutineEditor::PaintRoutineEditor (PaintRoutine& pr, JucerDocument& doc, JucerDocumentEditor* docHolder) diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutineEditor.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutineEditor.h index 5221badb82..ae3c6d776c 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutineEditor.h @@ -31,10 +31,7 @@ #include "jucer_SnapGridPainter.h" class JucerDocumentEditor; - //============================================================================== -/** -*/ class PaintRoutineEditor : public Component, public ChangeListener, public LassoSource , diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp b/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp similarity index 93% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp rename to extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp index 962728810d..9fcaacc9e4 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp @@ -24,11 +24,10 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "jucer_PaintRoutinePanel.h" -#include "../properties/jucer_ColourPropertyComponent.h" -#include "../paintelements/jucer_PaintElementPath.h" - +#include "../Properties/jucer_ColourPropertyComponent.h" +#include "../PaintElements/jucer_PaintElementPath.h" //============================================================================== class ComponentBackgroundColourProperty : public JucerColourPropertyComponent, diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutinePanel.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutinePanel.h index c9857d12da..88339b8eb5 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutinePanel.h @@ -29,7 +29,6 @@ #include "jucer_PaintRoutineEditor.h" #include "jucer_EditingPanelBase.h" - //============================================================================== class PaintRoutinePanel : public EditingPanelBase { diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_RelativePositionedRectangle.h similarity index 100% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_RelativePositionedRectangle.h diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp b/extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp rename to extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp index ff4aa7b71e..1486c2184b 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp @@ -24,10 +24,9 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "jucer_ResourceEditorPanel.h" - //============================================================================== class ResourceListButton : public Component, private Button::Listener diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.h similarity index 100% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.h diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_SnapGridPainter.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_SnapGridPainter.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_SnapGridPainter.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_SnapGridPainter.h index 52294988ca..cc82aca16c 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_SnapGridPainter.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_SnapGridPainter.h @@ -29,7 +29,6 @@ #include "../jucer_JucerDocument.h" #include "../jucer_PaintRoutine.h" - //============================================================================== class SnapGridPainter { diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp b/extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.cpp similarity index 95% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp rename to extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.cpp index 8cbc8202c4..231b1735d7 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.cpp @@ -24,11 +24,10 @@ ============================================================================== */ -#include "../../jucer_Headers.h" +#include "../../Application/jucer_Headers.h" #include "jucer_TestComponent.h" #include "../jucer_ObjectTypes.h" - static Array testComponents; //============================================================================== diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.h similarity index 96% rename from extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.h rename to extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.h index a28e4f73f3..612fc983f9 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.h @@ -28,10 +28,7 @@ #include "../jucer_JucerDocument.h" - //============================================================================== -/** -*/ class TestComponent : public Component { public: diff --git a/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.cpp b/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.cpp index 33c892b295..a1179cffce 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.cpp @@ -24,10 +24,9 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "jucer_JucerDocument.h" - //============================================================================== BinaryResources::BinaryResources() { diff --git a/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.h b/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.h index b48ff4993a..56dfe16108 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.h @@ -28,7 +28,6 @@ class JucerDocument; - //============================================================================== /** Manages a list of binary data objects that a JucerDocument wants to embed in diff --git a/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp b/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp index e0a39b574c..a1e64719c4 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp @@ -24,12 +24,11 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "jucer_JucerDocument.h" #include "jucer_ObjectTypes.h" -#include "ui/jucer_JucerDocumentEditor.h" -#include "components/jucer_ComponentUndoableAction.h" - +#include "UI/jucer_JucerDocumentEditor.h" +#include "Components/jucer_ComponentUndoableAction.h" //============================================================================== ComponentLayout::ComponentLayout() diff --git a/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.h b/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.h index 8172b15f5d..9c3c661e28 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.h @@ -26,11 +26,9 @@ #pragma once - -#include "components/jucer_ComponentTypeHandler.h" +#include "Components/jucer_ComponentTypeHandler.h" class JucerDocument; - //============================================================================== /** Manages the set of sub-components for a JucerDocument. diff --git a/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.cpp b/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.cpp index be3a9788ee..fc7c9754fd 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.cpp @@ -1,355 +1,355 @@ -/* - ============================================================================== - - This file is part of the JUCE library. - Copyright (c) 2017 - ROLI Ltd. - - JUCE is an open source library subject to commercial or open-source - licensing. - - By using JUCE, you agree to the terms of both the JUCE 5 End-User License - Agreement and JUCE 5 Privacy Policy (both updated and effective as of the - 27th April 2017). - - End User License Agreement: www.juce.com/juce-5-licence - Privacy Policy: www.juce.com/juce-5-privacy-policy - - Or: You may also use this code under the terms of the GPL v3 (see - www.gnu.org/licenses). - - JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER - EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE - DISCLAIMED. - - ============================================================================== -*/ - -#include "../jucer_Headers.h" -#include "jucer_GeneratedCode.h" -#include "jucer_JucerDocument.h" - -//============================================================================== -GeneratedCode::GeneratedCode (const JucerDocument* const doc) - : document (doc), suffix (0) -{ -} - -GeneratedCode::~GeneratedCode() -{ -} - -int GeneratedCode::getUniqueSuffix() -{ - return ++suffix; -} - -//============================================================================== -String& GeneratedCode::getCallbackCode (const String& requiredParentClass, - const String& returnType, - const String& prototype, - const bool hasPrePostUserSections) -{ - String parentClass (requiredParentClass); - if (parentClass.isNotEmpty() - && ! (parentClass.startsWith ("public ") - || parentClass.startsWith ("private ") - || parentClass.startsWith ("protected "))) - { - parentClass = "public " + parentClass; - } - - for (int i = callbacks.size(); --i >= 0;) - { - CallbackMethod* const cm = callbacks.getUnchecked(i); - - if (cm->requiredParentClass == parentClass - && cm->returnType == returnType - && cm->prototype == prototype) - return cm->content; - } - - CallbackMethod* const cm = new CallbackMethod(); - callbacks.add (cm); - - cm->requiredParentClass = parentClass; - cm->returnType = returnType; - cm->prototype = prototype; - cm->hasPrePostUserSections = hasPrePostUserSections; - return cm->content; -} - -void GeneratedCode::removeCallback (const String& returnType, const String& prototype) -{ - for (int i = callbacks.size(); --i >= 0;) - { - CallbackMethod* const cm = callbacks.getUnchecked(i); - - if (cm->returnType == returnType && cm->prototype == prototype) - callbacks.remove (i); - } -} - -void GeneratedCode::addImageResourceLoader (const String& imageMemberName, const String& resourceName) -{ - privateMemberDeclarations - << "Image " << imageMemberName << ";\n"; - - if (resourceName.isNotEmpty()) - constructorCode << imageMemberName << " = ImageCache::getFromMemory (" - << resourceName << ", " << resourceName << "Size);\n"; -} - -StringArray GeneratedCode::getExtraParentClasses() const -{ - StringArray s; - - for (int i = 0; i < callbacks.size(); ++i) - { - CallbackMethod* const cm = callbacks.getUnchecked(i); - s.add (cm->requiredParentClass); - } - - return s; -} - -String GeneratedCode::getCallbackDeclarations() const -{ - String s; - - for (int i = 0; i < callbacks.size(); ++i) - { - CallbackMethod* const cm = callbacks.getUnchecked(i); - - s << cm->returnType << " " << cm->prototype << " override;\n"; - } - - return s; -} - -String GeneratedCode::getCallbackDefinitions() const -{ - String s; - - for (int i = 0; i < callbacks.size(); ++i) - { - CallbackMethod* const cm = callbacks.getUnchecked(i); - - const String userCodeBlockName ("User" - + CodeHelpers::makeValidIdentifier (cm->prototype.upToFirstOccurrenceOf ("(", false, false), - true, true, false).trim()); - - if (userCodeBlockName.isNotEmpty() && cm->hasPrePostUserSections) - { - s << cm->returnType << " " << className << "::" << cm->prototype - << "\n{\n //[" << userCodeBlockName << "_Pre]\n //[/" << userCodeBlockName - << "_Pre]\n\n " - << CodeHelpers::indent (cm->content.trim(), 4, false) - << "\n\n //[" << userCodeBlockName << "_Post]\n //[/" << userCodeBlockName - << "_Post]\n}\n\n"; - } - else - { - s << cm->returnType << " " << className << "::" << cm->prototype - << "\n{\n " - << CodeHelpers::indent (cm->content.trim(), 4, false) - << "\n}\n\n"; - } - } - - return s; -} - -//============================================================================== -String GeneratedCode::getClassDeclaration() const -{ - StringArray parentClassLines; - parentClassLines.addTokens (parentClasses, ",", StringRef()); - parentClassLines.addArray (getExtraParentClasses()); - - parentClassLines = getCleanedStringArray (parentClassLines); - - if (parentClassLines.contains ("public Button", false)) - parentClassLines.removeString ("public Component", false); - - String r ("class "); - r << className << " : "; - - r += parentClassLines.joinIntoString (",\n" + String::repeatedString (" ", r.length())); - - return r; -} - -String GeneratedCode::getInitialiserList() const -{ - StringArray inits (initialisers); - - if (parentClassInitialiser.isNotEmpty()) - inits.insert (0, parentClassInitialiser); - - inits = getCleanedStringArray (inits); - - String s; - - if (inits.size() == 0) - return s; - - s << " : "; - - for (int i = 0; i < inits.size(); ++i) - { - String init (inits[i]); - - while (init.endsWithChar (',')) - init = init.dropLastCharacters (1); - - s << init; - - if (i < inits.size() - 1) - s << ",\n "; - else - s << "\n"; - } - - return s; -} - -static String getIncludeFileCode (const Array& files, const File& targetFile) -{ - String s; - - for (int i = 0; i < files.size(); ++i) - s << CodeHelpers::createIncludeStatement (files.getReference(i), targetFile) << newLine; - - return s; -} - -bool GeneratedCode::shouldUseTransMacro() const noexcept -{ - return document->shouldUseTransMacro(); -} - -//============================================================================== -static void replaceTemplate (String& text, const String& itemName, const String& value) -{ - for (;;) - { - const int index = text.indexOf ("%%" + itemName + "%%"); - - if (index < 0) - break; - - int indentLevel = 0; - - for (int i = index; --i >= 0;) - { - if (text[i] == '\n') - break; - - ++indentLevel; - } - - text = text.replaceSection (index, itemName.length() + 4, - CodeHelpers::indent (value, indentLevel, false)); - } -} - -//============================================================================== -static bool getUserSection (const StringArray& lines, const String& tag, StringArray& resultLines) -{ - const int start = indexOfLineStartingWith (lines, "//[" + tag + "]", 0); - - if (start < 0) - return false; - - const int end = indexOfLineStartingWith (lines, "//[/" + tag + "]", start + 1); - - for (int i = start + 1; i < end; ++i) - resultLines.add (lines [i]); - - return true; -} - -static void copyAcrossUserSections (String& dest, const String& src) -{ - StringArray srcLines, dstLines; - srcLines.addLines (src); - dstLines.addLines (dest); - - for (int i = 0; i < dstLines.size(); ++i) - { - if (dstLines[i].trimStart().startsWith ("//[")) - { - String tag (dstLines[i].trimStart().substring (3)); - tag = tag.upToFirstOccurrenceOf ("]", false, false); - - jassert (! tag.startsWithChar ('/')); - - if (! tag.startsWithChar ('/')) - { - const int endLine = indexOfLineStartingWith (dstLines, - "//[/" + tag + "]", - i + 1); - - if (endLine > i) - { - StringArray sourceLines; - - if (tag != "UserPaintCustomArguments" && getUserSection (srcLines, tag, sourceLines)) - { - for (int j = endLine - i; --j > 0;) - dstLines.remove (i + 1); - - for (int j = 0; j < sourceLines.size(); ++j) - dstLines.insert (++i, sourceLines [j].trimEnd()); - - ++i; - } - else - { - i = endLine; - } - } - } - } - - dstLines.set (i, dstLines[i].trimEnd()); - } - - dest = dstLines.joinIntoString ("\n") + "\n"; -} - -//============================================================================== -void GeneratedCode::applyToCode (String& code, - const File& targetFile, - const String& oldFileWithUserData, - Project* project) const -{ - replaceTemplate (code, "version", JUCEApplicationBase::getInstance()->getApplicationVersion()); - replaceTemplate (code, "creationTime", Time::getCurrentTime().toString (true, true, true)); - - replaceTemplate (code, "className", className); - replaceTemplate (code, "constructorParams", constructorParams); - replaceTemplate (code, "initialisers", getInitialiserList()); - - replaceTemplate (code, "classDeclaration", getClassDeclaration()); - replaceTemplate (code, "privateMemberDeclarations", privateMemberDeclarations); - replaceTemplate (code, "publicMemberDeclarations", getCallbackDeclarations() + newLine + publicMemberDeclarations); - - replaceTemplate (code, "methodDefinitions", getCallbackDefinitions()); - - File juceHeaderFile = project != nullptr ? project->getAppIncludeFile() - : targetFile.getSiblingFile ("JuceHeader.h"); - - replaceTemplate (code, "includeJUCEHeader", CodeHelpers::createIncludeStatement (juceHeaderFile, targetFile)); - - replaceTemplate (code, "includeFilesH", getIncludeFileCode (includeFilesH, targetFile)); - replaceTemplate (code, "includeFilesCPP", getIncludeFileCode (includeFilesCPP, targetFile)); - - replaceTemplate (code, "constructor", constructorCode); - replaceTemplate (code, "destructor", destructorCode); - - replaceTemplate (code, "metadata", jucerMetadata); - replaceTemplate (code, "staticMemberDefinitions", staticMemberDefinitions); - - copyAcrossUserSections (code, oldFileWithUserData); -} +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2017 - ROLI Ltd. + + JUCE is an open source library subject to commercial or open-source + licensing. + + By using JUCE, you agree to the terms of both the JUCE 5 End-User License + Agreement and JUCE 5 Privacy Policy (both updated and effective as of the + 27th April 2017). + + End User License Agreement: www.juce.com/juce-5-licence + Privacy Policy: www.juce.com/juce-5-privacy-policy + + Or: You may also use this code under the terms of the GPL v3 (see + www.gnu.org/licenses). + + JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER + EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE + DISCLAIMED. + + ============================================================================== +*/ + +#include "../Application/jucer_Headers.h" +#include "jucer_GeneratedCode.h" +#include "jucer_JucerDocument.h" + +//============================================================================== +GeneratedCode::GeneratedCode (const JucerDocument* const doc) + : document (doc), suffix (0) +{ +} + +GeneratedCode::~GeneratedCode() +{ +} + +int GeneratedCode::getUniqueSuffix() +{ + return ++suffix; +} + +//============================================================================== +String& GeneratedCode::getCallbackCode (const String& requiredParentClass, + const String& returnType, + const String& prototype, + const bool hasPrePostUserSections) +{ + String parentClass (requiredParentClass); + if (parentClass.isNotEmpty() + && ! (parentClass.startsWith ("public ") + || parentClass.startsWith ("private ") + || parentClass.startsWith ("protected "))) + { + parentClass = "public " + parentClass; + } + + for (int i = callbacks.size(); --i >= 0;) + { + CallbackMethod* const cm = callbacks.getUnchecked(i); + + if (cm->requiredParentClass == parentClass + && cm->returnType == returnType + && cm->prototype == prototype) + return cm->content; + } + + CallbackMethod* const cm = new CallbackMethod(); + callbacks.add (cm); + + cm->requiredParentClass = parentClass; + cm->returnType = returnType; + cm->prototype = prototype; + cm->hasPrePostUserSections = hasPrePostUserSections; + return cm->content; +} + +void GeneratedCode::removeCallback (const String& returnType, const String& prototype) +{ + for (int i = callbacks.size(); --i >= 0;) + { + CallbackMethod* const cm = callbacks.getUnchecked(i); + + if (cm->returnType == returnType && cm->prototype == prototype) + callbacks.remove (i); + } +} + +void GeneratedCode::addImageResourceLoader (const String& imageMemberName, const String& resourceName) +{ + privateMemberDeclarations + << "Image " << imageMemberName << ";\n"; + + if (resourceName.isNotEmpty()) + constructorCode << imageMemberName << " = ImageCache::getFromMemory (" + << resourceName << ", " << resourceName << "Size);\n"; +} + +StringArray GeneratedCode::getExtraParentClasses() const +{ + StringArray s; + + for (int i = 0; i < callbacks.size(); ++i) + { + CallbackMethod* const cm = callbacks.getUnchecked(i); + s.add (cm->requiredParentClass); + } + + return s; +} + +String GeneratedCode::getCallbackDeclarations() const +{ + String s; + + for (int i = 0; i < callbacks.size(); ++i) + { + CallbackMethod* const cm = callbacks.getUnchecked(i); + + s << cm->returnType << " " << cm->prototype << " override;\n"; + } + + return s; +} + +String GeneratedCode::getCallbackDefinitions() const +{ + String s; + + for (int i = 0; i < callbacks.size(); ++i) + { + CallbackMethod* const cm = callbacks.getUnchecked(i); + + const String userCodeBlockName ("User" + + CodeHelpers::makeValidIdentifier (cm->prototype.upToFirstOccurrenceOf ("(", false, false), + true, true, false).trim()); + + if (userCodeBlockName.isNotEmpty() && cm->hasPrePostUserSections) + { + s << cm->returnType << " " << className << "::" << cm->prototype + << "\n{\n //[" << userCodeBlockName << "_Pre]\n //[/" << userCodeBlockName + << "_Pre]\n\n " + << CodeHelpers::indent (cm->content.trim(), 4, false) + << "\n\n //[" << userCodeBlockName << "_Post]\n //[/" << userCodeBlockName + << "_Post]\n}\n\n"; + } + else + { + s << cm->returnType << " " << className << "::" << cm->prototype + << "\n{\n " + << CodeHelpers::indent (cm->content.trim(), 4, false) + << "\n}\n\n"; + } + } + + return s; +} + +//============================================================================== +String GeneratedCode::getClassDeclaration() const +{ + StringArray parentClassLines; + parentClassLines.addTokens (parentClasses, ",", StringRef()); + parentClassLines.addArray (getExtraParentClasses()); + + parentClassLines = getCleanedStringArray (parentClassLines); + + if (parentClassLines.contains ("public Button", false)) + parentClassLines.removeString ("public Component", false); + + String r ("class "); + r << className << " : "; + + r += parentClassLines.joinIntoString (",\n" + String::repeatedString (" ", r.length())); + + return r; +} + +String GeneratedCode::getInitialiserList() const +{ + StringArray inits (initialisers); + + if (parentClassInitialiser.isNotEmpty()) + inits.insert (0, parentClassInitialiser); + + inits = getCleanedStringArray (inits); + + String s; + + if (inits.size() == 0) + return s; + + s << " : "; + + for (int i = 0; i < inits.size(); ++i) + { + String init (inits[i]); + + while (init.endsWithChar (',')) + init = init.dropLastCharacters (1); + + s << init; + + if (i < inits.size() - 1) + s << ",\n "; + else + s << "\n"; + } + + return s; +} + +static String getIncludeFileCode (const Array& files, const File& targetFile) +{ + String s; + + for (int i = 0; i < files.size(); ++i) + s << CodeHelpers::createIncludeStatement (files.getReference(i), targetFile) << newLine; + + return s; +} + +bool GeneratedCode::shouldUseTransMacro() const noexcept +{ + return document->shouldUseTransMacro(); +} + +//============================================================================== +static void replaceTemplate (String& text, const String& itemName, const String& value) +{ + for (;;) + { + const int index = text.indexOf ("%%" + itemName + "%%"); + + if (index < 0) + break; + + int indentLevel = 0; + + for (int i = index; --i >= 0;) + { + if (text[i] == '\n') + break; + + ++indentLevel; + } + + text = text.replaceSection (index, itemName.length() + 4, + CodeHelpers::indent (value, indentLevel, false)); + } +} + +//============================================================================== +static bool getUserSection (const StringArray& lines, const String& tag, StringArray& resultLines) +{ + const int start = indexOfLineStartingWith (lines, "//[" + tag + "]", 0); + + if (start < 0) + return false; + + const int end = indexOfLineStartingWith (lines, "//[/" + tag + "]", start + 1); + + for (int i = start + 1; i < end; ++i) + resultLines.add (lines [i]); + + return true; +} + +static void copyAcrossUserSections (String& dest, const String& src) +{ + StringArray srcLines, dstLines; + srcLines.addLines (src); + dstLines.addLines (dest); + + for (int i = 0; i < dstLines.size(); ++i) + { + if (dstLines[i].trimStart().startsWith ("//[")) + { + String tag (dstLines[i].trimStart().substring (3)); + tag = tag.upToFirstOccurrenceOf ("]", false, false); + + jassert (! tag.startsWithChar ('/')); + + if (! tag.startsWithChar ('/')) + { + const int endLine = indexOfLineStartingWith (dstLines, + "//[/" + tag + "]", + i + 1); + + if (endLine > i) + { + StringArray sourceLines; + + if (tag != "UserPaintCustomArguments" && getUserSection (srcLines, tag, sourceLines)) + { + for (int j = endLine - i; --j > 0;) + dstLines.remove (i + 1); + + for (int j = 0; j < sourceLines.size(); ++j) + dstLines.insert (++i, sourceLines [j].trimEnd()); + + ++i; + } + else + { + i = endLine; + } + } + } + } + + dstLines.set (i, dstLines[i].trimEnd()); + } + + dest = dstLines.joinIntoString ("\n") + "\n"; +} + +//============================================================================== +void GeneratedCode::applyToCode (String& code, + const File& targetFile, + const String& oldFileWithUserData, + Project* project) const +{ + replaceTemplate (code, "version", JUCEApplicationBase::getInstance()->getApplicationVersion()); + replaceTemplate (code, "creationTime", Time::getCurrentTime().toString (true, true, true)); + + replaceTemplate (code, "className", className); + replaceTemplate (code, "constructorParams", constructorParams); + replaceTemplate (code, "initialisers", getInitialiserList()); + + replaceTemplate (code, "classDeclaration", getClassDeclaration()); + replaceTemplate (code, "privateMemberDeclarations", privateMemberDeclarations); + replaceTemplate (code, "publicMemberDeclarations", getCallbackDeclarations() + newLine + publicMemberDeclarations); + + replaceTemplate (code, "methodDefinitions", getCallbackDefinitions()); + + File juceHeaderFile = project != nullptr ? project->getAppIncludeFile() + : targetFile.getSiblingFile ("JuceHeader.h"); + + replaceTemplate (code, "includeJUCEHeader", CodeHelpers::createIncludeStatement (juceHeaderFile, targetFile)); + + replaceTemplate (code, "includeFilesH", getIncludeFileCode (includeFilesH, targetFile)); + replaceTemplate (code, "includeFilesCPP", getIncludeFileCode (includeFilesCPP, targetFile)); + + replaceTemplate (code, "constructor", constructorCode); + replaceTemplate (code, "destructor", destructorCode); + + replaceTemplate (code, "metadata", jucerMetadata); + replaceTemplate (code, "staticMemberDefinitions", staticMemberDefinitions); + + copyAcrossUserSections (code, oldFileWithUserData); +} diff --git a/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.h b/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.h index a5c521a9bd..29eda964a3 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.h @@ -29,7 +29,6 @@ #include "../Project/jucer_Project.h" class JucerDocument; - //============================================================================== /** A class for collecting the various snippets of c++ that will be assembled into diff --git a/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp index 75a33fe6df..8cdaff31e1 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp @@ -24,16 +24,16 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "../Application/jucer_Application.h" #include "../Wizards/jucer_NewFileWizard.h" #include "jucer_JucerDocument.h" #include "jucer_ObjectTypes.h" -#include "ui/jucer_JucerDocumentEditor.h" -#include "ui/jucer_TestComponent.h" +#include "UI/jucer_JucerDocumentEditor.h" +#include "UI/jucer_TestComponent.h" #include "jucer_UtilityFunctions.h" -#include "documents/jucer_ComponentDocument.h" -#include "documents/jucer_ButtonDocument.h" +#include "Documents/jucer_ComponentDocument.h" +#include "Documents/jucer_ButtonDocument.h" const char* const defaultClassName = "NewComponent"; const char* const defaultParentClasses = "public Component"; diff --git a/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h index e38f3c7f5f..9f12096bae 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h @@ -26,9 +26,9 @@ #pragma once -#include "../Application/jucer_OpenDocumentManager.h" -#include "../Code Editor/jucer_SourceCodeEditor.h" -#include "components/jucer_ComponentTypeHandler.h" +#include "../CodeEditor/jucer_OpenDocumentManager.h" +#include "../CodeEditor/jucer_SourceCodeEditor.h" +#include "Components/jucer_ComponentTypeHandler.h" #include "jucer_PaintRoutine.h" #include "jucer_ComponentLayout.h" #include "jucer_BinaryResources.h" diff --git a/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp b/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp index 3332fd7c04..15ce0455fa 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp @@ -24,45 +24,45 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "jucer_JucerDocument.h" -#include "components/jucer_ComponentUndoableAction.h" -#include "properties/jucer_JustificationProperty.h" -#include "properties/jucer_FontPropertyComponent.h" -#include "properties/jucer_ComponentBooleanProperty.h" -#include "properties/jucer_ComponentChoiceProperty.h" -#include "properties/jucer_ComponentTextProperty.h" -#include "properties/jucer_ComponentColourProperty.h" -#include "properties/jucer_FilePropertyComponent.h" -#include "paintelements/jucer_ImageResourceProperty.h" +#include "Components/jucer_ComponentUndoableAction.h" +#include "Properties/jucer_JustificationProperty.h" +#include "Properties/jucer_FontPropertyComponent.h" +#include "Properties/jucer_ComponentBooleanProperty.h" +#include "Properties/jucer_ComponentChoiceProperty.h" +#include "Properties/jucer_ComponentTextProperty.h" +#include "Properties/jucer_ComponentColourProperty.h" +#include "Properties/jucer_FilePropertyComponent.h" +#include "PaintElements/jucer_ImageResourceProperty.h" #include "jucer_ObjectTypes.h" -#include "paintelements/jucer_PaintElementUndoableAction.h" -#include "paintelements/jucer_PaintElementRectangle.h" -#include "paintelements/jucer_PaintElementRoundedRectangle.h" -#include "paintelements/jucer_PaintElementImage.h" -#include "paintelements/jucer_PaintElementEllipse.h" -#include "paintelements/jucer_PaintElementPath.h" -#include "paintelements/jucer_PaintElementText.h" -#include "paintelements/jucer_PaintElementGroup.h" +#include "PaintElements/jucer_PaintElementUndoableAction.h" +#include "PaintElements/jucer_PaintElementRectangle.h" +#include "PaintElements/jucer_PaintElementRoundedRectangle.h" +#include "PaintElements/jucer_PaintElementImage.h" +#include "PaintElements/jucer_PaintElementEllipse.h" +#include "PaintElements/jucer_PaintElementPath.h" +#include "PaintElements/jucer_PaintElementText.h" +#include "PaintElements/jucer_PaintElementGroup.h" -#include "components/jucer_ButtonHandler.h" -#include "components/jucer_TextButtonHandler.h" -#include "components/jucer_ToggleButtonHandler.h" -#include "components/jucer_SliderHandler.h" -#include "components/jucer_LabelHandler.h" -#include "components/jucer_TextEditorHandler.h" -#include "components/jucer_ComboBoxHandler.h" -#include "components/jucer_GroupComponentHandler.h" -#include "components/jucer_JucerComponentHandler.h" -#include "components/jucer_HyperlinkButtonHandler.h" -#include "components/jucer_ViewportHandler.h" -#include "components/jucer_TabbedComponentHandler.h" -#include "components/jucer_TreeViewHandler.h" -#include "components/jucer_GenericComponentHandler.h" -#include "components/jucer_ImageButtonHandler.h" +#include "Components/jucer_ButtonHandler.h" +#include "Components/jucer_TextButtonHandler.h" +#include "Components/jucer_ToggleButtonHandler.h" +#include "Components/jucer_SliderHandler.h" +#include "Components/jucer_LabelHandler.h" +#include "Components/jucer_TextEditorHandler.h" +#include "Components/jucer_ComboBoxHandler.h" +#include "Components/jucer_GroupComponentHandler.h" +#include "Components/jucer_JucerComponentHandler.h" +#include "Components/jucer_HyperlinkButtonHandler.h" +#include "Components/jucer_ViewportHandler.h" +#include "Components/jucer_TabbedComponentHandler.h" +#include "Components/jucer_TreeViewHandler.h" +#include "Components/jucer_GenericComponentHandler.h" +#include "Components/jucer_ImageButtonHandler.h" namespace ObjectTypes { diff --git a/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.h b/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.h index f513bd6f3d..36d264110e 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.h @@ -27,9 +27,9 @@ #pragma once #include "jucer_JucerDocument.h" -#include "paintelements/jucer_PaintElement.h" - +#include "PaintElements/jucer_PaintElement.h" +//============================================================================== namespace ObjectTypes { //============================================================================== diff --git a/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp b/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp index b35483a7e0..440cf6cc44 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp @@ -24,15 +24,15 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "jucer_PaintRoutine.h" #include "jucer_JucerDocument.h" #include "jucer_ObjectTypes.h" -#include "paintelements/jucer_PaintElementUndoableAction.h" -#include "paintelements/jucer_PaintElementPath.h" -#include "paintelements/jucer_PaintElementImage.h" -#include "paintelements/jucer_PaintElementGroup.h" -#include "ui/jucer_JucerDocumentEditor.h" +#include "PaintElements/jucer_PaintElementUndoableAction.h" +#include "PaintElements/jucer_PaintElementPath.h" +#include "PaintElements/jucer_PaintElementImage.h" +#include "PaintElements/jucer_PaintElementGroup.h" +#include "UI/jucer_JucerDocumentEditor.h" #include "../Application/jucer_Application.h" //============================================================================== diff --git a/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.h b/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.h index 4f040ac356..dc9dc3cf82 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.h @@ -26,15 +26,13 @@ #pragma once -#include "paintelements/jucer_PaintElement.h" +#include "PaintElements/jucer_PaintElement.h" class JucerDocument; class PathPoint; - //============================================================================== /** Contains a set of PaintElements that constitute some kind of paint() method. - */ class PaintRoutine { diff --git a/extras/Projucer/Source/ComponentEditor/jucer_UtilityFunctions.h b/extras/Projucer/Source/ComponentEditor/jucer_UtilityFunctions.h index e3c4429e99..f566a613d9 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_UtilityFunctions.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_UtilityFunctions.h @@ -26,6 +26,8 @@ #pragma once + +//============================================================================== inline String quotedString (const String& s, bool wrapInTransMacro) { const int embeddedIndex = s.indexOfIgnoreCase ("%%"); diff --git a/extras/Projucer/Source/Licenses/jucer_LicenseController.cpp b/extras/Projucer/Source/Licenses/jucer_LicenseController.cpp index fc05497fa2..5712bd42cb 100644 --- a/extras/Projucer/Source/Licenses/jucer_LicenseController.cpp +++ b/extras/Projucer/Source/Licenses/jucer_LicenseController.cpp @@ -23,15 +23,15 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "../Application/jucer_Application.h" -#include "../Project Saving/jucer_ProjectExporter.h" -#include "../Project/jucer_HeaderComponent.h" +#include "../ProjectSaving/jucer_ProjectExporter.h" +#include "../Project/UI/jucer_HeaderComponent.h" #include "jucer_LicenseController.h" #if ! JUCER_ENABLE_GPL_MODE -#include "jucer_LicenseWebview.h" -#include "jucer_LicenseThread.h" + #include "jucer_LicenseWebview.h" + #include "jucer_LicenseThread.h" #endif //============================================================================== diff --git a/extras/Projucer/Source/Licenses/jucer_LicenseThread.h b/extras/Projucer/Source/Licenses/jucer_LicenseThread.h index 9fdec6d045..e98194a23f 100644 --- a/extras/Projucer/Source/Licenses/jucer_LicenseThread.h +++ b/extras/Projucer/Source/Licenses/jucer_LicenseThread.h @@ -23,8 +23,10 @@ ============================================================================== */ + #pragma once + //============================================================================== struct NetWorkerThread : public Thread, private AsyncUpdater diff --git a/extras/Projucer/Source/Licenses/jucer_LicenseWebview.h b/extras/Projucer/Source/Licenses/jucer_LicenseWebview.h index 21eba575ac..94aaf63a76 100644 --- a/extras/Projucer/Source/Licenses/jucer_LicenseWebview.h +++ b/extras/Projucer/Source/Licenses/jucer_LicenseWebview.h @@ -26,6 +26,7 @@ #pragma once + //============================================================================== class LicenseWebview : public DialogWindow { diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityListComponent.h b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ActivityListComponent.h similarity index 93% rename from extras/Projucer/Source/LiveBuildEngine/projucer_ActivityListComponent.h rename to extras/Projucer/Source/LiveBuildEngine/UI/jucer_ActivityListComponent.h index 906e3dd669..8104e21974 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityListComponent.h +++ b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ActivityListComponent.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class CurrentActivitiesComp : public Component, private ChangeListener, private ListBoxModel, diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_BuildTabStatusComp.h b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_BuildTabStatusComponent.h similarity index 94% rename from extras/Projucer/Source/LiveBuildEngine/projucer_BuildTabStatusComp.h rename to extras/Projucer/Source/LiveBuildEngine/UI/jucer_BuildTabStatusComponent.h index 4d6d4095a4..0a862def62 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_BuildTabStatusComp.h +++ b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_BuildTabStatusComponent.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class BuildStatusTabComp : public Component, private ChangeListener, private Timer diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ComponentListComp.h b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ComponentListComponent.h similarity index 96% rename from extras/Projucer/Source/LiveBuildEngine/projucer_ComponentListComp.h rename to extras/Projucer/Source/LiveBuildEngine/UI/jucer_ComponentListComponent.h index d187cb4078..c3a00eb512 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_ComponentListComp.h +++ b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ComponentListComponent.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class ComponentListComp : public TreePanelBase, private ActivityList::Listener { diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ErrorListComponent.h b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ErrorListComponent.h similarity index 96% rename from extras/Projucer/Source/LiveBuildEngine/projucer_ErrorListComponent.h rename to extras/Projucer/Source/LiveBuildEngine/UI/jucer_ErrorListComponent.h index aed354daf7..96ae657639 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_ErrorListComponent.h +++ b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ErrorListComponent.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== class ErrorListComp : public TreePanelBase, private ChangeListener { diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityList.h b/extras/Projucer/Source/LiveBuildEngine/jucer_ActivityList.h similarity index 92% rename from extras/Projucer/Source/LiveBuildEngine/projucer_ActivityList.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_ActivityList.h index 763dc47d42..f0f56e6218 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityList.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_ActivityList.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== struct ActivityList : public ChangeBroadcaster { ActivityList() {} diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ClassDatabase.h b/extras/Projucer/Source/LiveBuildEngine/jucer_ClassDatabase.h similarity index 96% rename from extras/Projucer/Source/LiveBuildEngine/projucer_ClassDatabase.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_ClassDatabase.h index 4d5567d784..6a4f4a7415 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_ClassDatabase.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_ClassDatabase.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== struct ClassDatabase { //============================================================================== diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ClientServerMessages.h b/extras/Projucer/Source/LiveBuildEngine/jucer_ClientServerMessages.h similarity index 96% rename from extras/Projucer/Source/LiveBuildEngine/projucer_ClientServerMessages.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_ClientServerMessages.h index 1aeb461840..27a8527df6 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_ClientServerMessages.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_ClientServerMessages.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== struct MessageHandler { virtual ~MessageHandler() {} diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp similarity index 95% rename from extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp rename to extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp index 9390115dce..1f9f612de1 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp @@ -24,24 +24,23 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "../Application/jucer_Application.h" -#include "../Project Saving/jucer_ProjectExporter.h" -#include "projucer_MessageIDs.h" -#include "projucer_CppHelpers.h" -#include "projucer_SourceCodeRange.h" -#include "projucer_ClassDatabase.h" -#include "projucer_DiagnosticMessage.h" -#include "projucer_ProjectBuildInfo.h" -#include "projucer_ClientServerMessages.h" -#include "projucer_CompileEngineClient.h" -#include "../LiveBuildEngine/projucer_CompileEngineServer.h" +#include "../ProjectSaving/jucer_ProjectExporter.h" +#include "jucer_MessageIDs.h" +#include "jucer_CppHelpers.h" +#include "jucer_SourceCodeRange.h" +#include "jucer_ClassDatabase.h" +#include "jucer_DiagnosticMessage.h" +#include "jucer_ProjectBuildInfo.h" +#include "jucer_ClientServerMessages.h" +#include "jucer_CompileEngineClient.h" +#include "../LiveBuildEngine/jucer_CompileEngineServer.h" #ifndef RUN_CLANG_IN_CHILD_PROCESS #error #endif - //============================================================================== namespace ProjectProperties { diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.h b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.h similarity index 95% rename from extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.h index c75a8f253b..1af265e37c 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.h @@ -26,8 +26,8 @@ #pragma once -#include "projucer_ActivityList.h" -#include "projucer_ErrorList.h" +#include "jucer_ActivityList.h" +#include "jucer_ErrorList.h" class Project; //============================================================================== diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineDLL.h b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineDLL.h similarity index 94% rename from extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineDLL.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineDLL.h index 4bd8940251..91ace68a95 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineDLL.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineDLL.h @@ -24,8 +24,11 @@ ============================================================================== */ -#include "projucer_LiveCodeBuilderDLL.h" +#pragma once +#include "jucer_LiveCodeBuilderDLL.h" + +//============================================================================== struct CompileEngineDLL : DeletedAtShutdown { CompileEngineDLL() diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.cpp b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.cpp similarity index 90% rename from extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.cpp rename to extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.cpp index b2301df5cd..a1fe4bdc57 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.cpp +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.cpp @@ -24,20 +24,16 @@ ============================================================================== */ -#include "../jucer_Headers.h" -#include "../Utility/jucer_PresetIDs.h" -#include "../Utility/jucer_FileHelpers.h" -#include "../Application/jucer_AppearanceSettings.h" +#include "../Application/jucer_Headers.h" #include "../Application/jucer_Application.h" -#include "../Utility/jucer_CodeHelpers.h" -#include "projucer_CompileEngineDLL.h" -#include "projucer_MessageIDs.h" -#include "projucer_CppHelpers.h" -#include "projucer_SourceCodeRange.h" -#include "projucer_ClassDatabase.h" -#include "projucer_DiagnosticMessage.h" -#include "projucer_ProjectBuildInfo.h" -#include "projucer_ClientServerMessages.h" +#include "jucer_CompileEngineDLL.h" +#include "jucer_MessageIDs.h" +#include "jucer_CppHelpers.h" +#include "jucer_SourceCodeRange.h" +#include "jucer_ClassDatabase.h" +#include "jucer_DiagnosticMessage.h" +#include "jucer_ProjectBuildInfo.h" +#include "jucer_ClientServerMessages.h" #if JUCE_LINUX #include @@ -57,7 +53,6 @@ static int getCurrentProcessID(); #endif - //============================================================================== /** Detects whether this process has hung, and kills it if so. */ struct ZombiePatrol : private Thread, diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.h b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.h similarity index 91% rename from extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.h index 9f86a663de..23fcc4a97e 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== // These functions are called by our child process on startup, to launch // the compilation server diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CppHelpers.h b/extras/Projucer/Source/LiveBuildEngine/jucer_CppHelpers.h similarity index 95% rename from extras/Projucer/Source/LiveBuildEngine/projucer_CppHelpers.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_CppHelpers.h index 8cc5023f6d..cc5c3270d0 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_CppHelpers.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CppHelpers.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== struct CppParserHelpers { static bool parseHexInt (const String& text, int64& result) diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_DiagnosticMessage.h b/extras/Projucer/Source/LiveBuildEngine/jucer_DiagnosticMessage.h similarity index 94% rename from extras/Projucer/Source/LiveBuildEngine/projucer_DiagnosticMessage.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_DiagnosticMessage.h index acda5f62b5..6f6f0d0b98 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_DiagnosticMessage.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_DiagnosticMessage.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== struct DiagnosticMessage { DiagnosticMessage() = default; diff --git a/extras/Projucer/Source/Application/jucer_DownloadCompileEngineThread.cpp b/extras/Projucer/Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.cpp similarity index 92% rename from extras/Projucer/Source/Application/jucer_DownloadCompileEngineThread.cpp rename to extras/Projucer/Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.cpp index 5039904ffd..5d9bb6e6f9 100644 --- a/extras/Projucer/Source/Application/jucer_DownloadCompileEngineThread.cpp +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.cpp @@ -24,10 +24,11 @@ ============================================================================== */ -#include "../jucer_Headers.h" +#include "../Application/jucer_Headers.h" #include "jucer_DownloadCompileEngineThread.h" -#include "../LiveBuildEngine/projucer_CompileEngineDLL.h" +#include "../LiveBuildEngine/jucer_CompileEngineDLL.h" +//============================================================================== bool DownloadCompileEngineThread::downloadAndInstall() { DownloadCompileEngineThread d; diff --git a/extras/Projucer/Source/Application/jucer_DownloadCompileEngineThread.h b/extras/Projucer/Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.h similarity index 94% rename from extras/Projucer/Source/Application/jucer_DownloadCompileEngineThread.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.h index 7009c104a0..fd210a40f4 100644 --- a/extras/Projucer/Source/Application/jucer_DownloadCompileEngineThread.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.h @@ -26,8 +26,6 @@ #pragma once -#include "jucer_Application.h" - //============================================================================== class DownloadCompileEngineThread : public ThreadWithProgressWindow diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ErrorList.h b/extras/Projucer/Source/LiveBuildEngine/jucer_ErrorList.h similarity index 92% rename from extras/Projucer/Source/LiveBuildEngine/projucer_ErrorList.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_ErrorList.h index 94b874b2d7..637d019de5 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_ErrorList.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_ErrorList.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== struct ErrorList : public ChangeBroadcaster { ErrorList() : warningsEnabled (true) {} diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_LiveCodeBuilderDLL.h b/extras/Projucer/Source/LiveBuildEngine/jucer_LiveCodeBuilderDLL.h similarity index 100% rename from extras/Projucer/Source/LiveBuildEngine/projucer_LiveCodeBuilderDLL.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_LiveCodeBuilderDLL.h diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_MessageIDs.h b/extras/Projucer/Source/LiveBuildEngine/jucer_MessageIDs.h similarity index 95% rename from extras/Projucer/Source/LiveBuildEngine/projucer_MessageIDs.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_MessageIDs.h index 035124fd36..9cfe134e4f 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_MessageIDs.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_MessageIDs.h @@ -24,6 +24,8 @@ ============================================================================== */ +#pragma once + #define DECLARE_ID(name) static const Identifier name (#name) namespace MessageTypes diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ProjectBuildInfo.h b/extras/Projucer/Source/LiveBuildEngine/jucer_ProjectBuildInfo.h similarity index 95% rename from extras/Projucer/Source/LiveBuildEngine/projucer_ProjectBuildInfo.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_ProjectBuildInfo.h index 4c6b363ddf..3f66614980 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_ProjectBuildInfo.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_ProjectBuildInfo.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== struct ProjectBuildInfo { ProjectBuildInfo() : tree (MessageTypes::BUILDINFO) {} diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_SourceCodeRange.h b/extras/Projucer/Source/LiveBuildEngine/jucer_SourceCodeRange.h similarity index 93% rename from extras/Projucer/Source/LiveBuildEngine/projucer_SourceCodeRange.h rename to extras/Projucer/Source/LiveBuildEngine/jucer_SourceCodeRange.h index e414f14456..7befcd1353 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_SourceCodeRange.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_SourceCodeRange.h @@ -24,6 +24,10 @@ ============================================================================== */ +#pragma once + + +//============================================================================== struct SourceCodeRange { SourceCodeRange() = default; diff --git a/extras/Projucer/Source/Project/jucer_ConfigTree_Exporter.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ExporterTreeItems.h similarity index 73% rename from extras/Projucer/Source/Project/jucer_ConfigTree_Exporter.h rename to extras/Projucer/Source/Project/UI/Sidebar/jucer_ExporterTreeItems.h index a12bc9df69..447fe26669 100644 --- a/extras/Projucer/Source/Project/jucer_ConfigTree_Exporter.h +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ExporterTreeItems.h @@ -24,7 +24,11 @@ ============================================================================== */ -class ExporterItem : public ConfigTreeItemBase, +#pragma once + + +//============================================================================== +class ExporterItem : public ProjectTreeItemBase, private Value::Listener { public: @@ -100,7 +104,7 @@ public: launchPopupMenu (menu); } - void showPlusMenu() override + void showAddMenu() override { PopupMenu menu; menu.addItem (1, "Add a new configuration", exporter->supportsUserDefinedConfigurations()); @@ -205,7 +209,7 @@ private: //============================================================================== -class ConfigItem : public ConfigTreeItemBase +class ConfigItem : public ProjectTreeItemBase { public: ConfigItem (const ProjectExporter::BuildConfiguration::Ptr& conf, ProjectExporter& e) @@ -299,3 +303,81 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConfigItem) }; + +//============================================================================== +class ExportersTreeRoot : public JucerTreeViewBase, + private ValueTree::Listener +{ +public: + ExportersTreeRoot (Project& p) + : project (p), + exportersTree (project.getExporters()) + { + exportersTree.addListener (this); + } + + bool isRoot() const override { return true; } + bool canBeSelected() const override { return true; } + bool isMissing() const override { return false; } + bool mightContainSubItems() override { return project.getNumExporters() > 0; } + String getUniqueName() const override { return "exporters"; } + String getRenamingName() const override { return getDisplayName(); } + String getDisplayName() const override { return "Exporters"; } + void setName (const String&) override {} + Icon getIcon() const override { return project.getMainGroup().getIcon (isOpen()).withColour (getContentColour (true)); } + + void showPopupMenu() override + { + if (auto* pcc = getProjectContentComponent()) + pcc->showNewExporterMenu(); + } + + void addSubItems() override + { + int i = 0; + for (Project::ExporterIterator exporter (project); exporter.next(); ++i) + addSubItem (new TreeItemTypes::ExporterItem (project, exporter.exporter.release(), i)); + } + + bool isInterestedInDragSource (const DragAndDropTarget::SourceDetails& dragSourceDetails) override + { + return dragSourceDetails.description.toString().startsWith (getUniqueName()); + } + + void itemDropped (const DragAndDropTarget::SourceDetails& dragSourceDetails, int insertIndex) override + { + int oldIndex = dragSourceDetails.description.toString().getTrailingIntValue(); + exportersTree.moveChild (oldIndex, jmax (0, insertIndex), project.getUndoManagerFor (exportersTree)); + } + + void itemOpennessChanged (bool isNowOpen) override + { + if (isNowOpen) + refreshSubItems(); + } + + void removeExporter (int index) + { + if (auto* exporter = dynamic_cast (getSubItem (index))) + exporter->deleteItem(); + } + +private: + Project& project; + ValueTree exportersTree; + + //========================================================================== + void valueTreePropertyChanged (ValueTree&, const Identifier&) override {} + void valueTreeParentChanged (ValueTree&) override {} + void valueTreeChildAdded (ValueTree& parentTree, ValueTree&) override { refreshIfNeeded (parentTree); } + void valueTreeChildRemoved (ValueTree& parentTree, ValueTree&, int) override { refreshIfNeeded (parentTree); } + void valueTreeChildOrderChanged (ValueTree& parentTree, int, int) override { refreshIfNeeded (parentTree); } + + void refreshIfNeeded (ValueTree& changedTree) + { + if (changedTree == exportersTree) + refreshSubItems(); + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ExportersTreeRoot) +}; diff --git a/extras/Projucer/Source/Project/UI/Sidebar/jucer_FileTreeItems.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_FileTreeItems.h new file mode 100644 index 0000000000..93c95b9bda --- /dev/null +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_FileTreeItems.h @@ -0,0 +1,810 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2017 - ROLI Ltd. + + JUCE is an open source library subject to commercial or open-source + licensing. + + By using JUCE, you agree to the terms of both the JUCE 5 End-User License + Agreement and JUCE 5 Privacy Policy (both updated and effective as of the + 27th April 2017). + + End User License Agreement: www.juce.com/juce-5-licence + Privacy Policy: www.juce.com/juce-5-privacy-policy + + Or: You may also use this code under the terms of the GPL v3 (see + www.gnu.org/licenses). + + JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER + EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE + DISCLAIMED. + + ============================================================================== +*/ + +#pragma once + + +//============================================================================== +class FileTreeItemBase : public JucerTreeViewBase, + public ValueTree::Listener +{ +public: + FileTreeItemBase (const Project::Item& projectItem) + : item (projectItem), isFileMissing (false) + { + item.state.addListener (this); + } + + ~FileTreeItemBase() + { + item.state.removeListener (this); + } + + //============================================================================== + virtual bool acceptsFileDrop (const StringArray& files) const = 0; + virtual bool acceptsDragItems (const OwnedArray& selectedNodes) = 0; + + //============================================================================== + String getDisplayName() const override { return item.getName(); } + String getRenamingName() const override { return getDisplayName(); } + void setName (const String& newName) override { item.getNameValue() = newName; } + bool isMissing() const override { return isFileMissing; } + virtual File getFile() const { return item.getFile(); } + + void deleteItem() override { item.removeItemFromProject(); } + + virtual void deleteAllSelectedItems() override + { + TreeView* tree = getOwnerView(); + const int numSelected = tree->getNumSelectedItems(); + OwnedArray filesToTrash; + OwnedArray itemsToRemove; + + for (int i = 0; i < numSelected; ++i) + { + if (auto* p = dynamic_cast (tree->getSelectedItem (i))) + { + itemsToRemove.add (new Project::Item (p->item)); + + if (p->getFile().existsAsFile()) + filesToTrash.add (new File (p->getFile())); + } + } + + if (filesToTrash.size() > 0) + { + String fileList; + const int maxFilesToList = 10; + for (int i = jmin (maxFilesToList, filesToTrash.size()); --i >= 0;) + fileList << filesToTrash.getUnchecked(i)->getFullPathName() << "\n"; + + if (filesToTrash.size() > maxFilesToList) + fileList << "\n...plus " << (filesToTrash.size() - maxFilesToList) << " more files..."; + + int r = AlertWindow::showYesNoCancelBox (AlertWindow::NoIcon, "Delete Project Items", + "As well as removing the selected item(s) from the project, do you also want to move their files to the trash:\n\n" + + fileList, + "Just remove references", + "Also move files to Trash", + "Cancel", + tree->getTopLevelComponent()); + + if (r == 0) + return; + + if (r != 2) + filesToTrash.clear(); + } + + if (auto* treeRootItem = dynamic_cast (tree->getRootItem())) + { + OpenDocumentManager& om = ProjucerApplication::getApp().openDocumentManager; + + for (int i = filesToTrash.size(); --i >= 0;) + { + const File f (*filesToTrash.getUnchecked(i)); + + om.closeFile (f, false); + + if (! f.moveToTrash()) + { + // xxx + } + } + + for (int i = itemsToRemove.size(); --i >= 0;) + { + if (auto* itemToRemove = treeRootItem->findTreeViewItem (*itemsToRemove.getUnchecked(i))) + { + om.closeFile (itemToRemove->getFile(), false); + itemToRemove->deleteItem(); + } + } + } + else + { + jassertfalse; + } + } + + virtual void revealInFinder() const + { + getFile().revealToUser(); + } + + virtual void browseToAddExistingFiles() + { + const File location (item.isGroup() ? item.determineGroupFolder() : getFile()); + FileChooser fc ("Add Files to Jucer Project", location, String()); + + if (fc.browseForMultipleFilesOrDirectories()) + { + StringArray files; + + for (int i = 0; i < fc.getResults().size(); ++i) + files.add (fc.getResults().getReference(i).getFullPathName()); + + addFilesRetainingSortOrder (files); + } + } + + virtual void checkFileStatus() // (recursive) + { + const File file (getFile()); + const bool nowMissing = file != File() && ! file.exists(); + + if (nowMissing != isFileMissing) + { + isFileMissing = nowMissing; + repaintItem(); + } + } + + virtual void addFilesAtIndex (const StringArray& files, int insertIndex) + { + if (auto* p = getParentProjectItem()) + p->addFilesAtIndex (files, insertIndex); + } + + virtual void addFilesRetainingSortOrder (const StringArray& files) + { + if (auto* p = getParentProjectItem()) + p->addFilesRetainingSortOrder (files); + } + + virtual void moveSelectedItemsTo (OwnedArray &, int /*insertIndex*/) + { + jassertfalse; + } + + void showMultiSelectionPopupMenu() override + { + PopupMenu m; + m.addItem (1, "Delete"); + + m.showMenuAsync (PopupMenu::Options(), + ModalCallbackFunction::create (treeViewMultiSelectItemChosen, this)); + } + + static void treeViewMultiSelectItemChosen (int resultCode, FileTreeItemBase* item) + { + switch (resultCode) + { + case 1: item->deleteAllSelectedItems(); break; + default: break; + } + } + + virtual FileTreeItemBase* findTreeViewItem (const Project::Item& itemToFind) + { + if (item == itemToFind) + return this; + + const bool wasOpen = isOpen(); + setOpen (true); + + for (int i = getNumSubItems(); --i >= 0;) + { + if (auto* pg = dynamic_cast (getSubItem(i))) + if (auto* found = pg->findTreeViewItem (itemToFind)) + return found; + } + + setOpen (wasOpen); + return nullptr; + } + + //============================================================================== + void valueTreePropertyChanged (ValueTree& tree, const Identifier&) override + { + if (tree == item.state) + repaintItem(); + } + + void valueTreeChildAdded (ValueTree& parentTree, ValueTree&) override { treeChildrenChanged (parentTree); } + void valueTreeChildRemoved (ValueTree& parentTree, ValueTree&, int) override { treeChildrenChanged (parentTree); } + void valueTreeChildOrderChanged (ValueTree& parentTree, int, int) override { treeChildrenChanged (parentTree); } + void valueTreeParentChanged (ValueTree&) override {} + + //============================================================================== + bool mightContainSubItems() override { return item.getNumChildren() > 0; } + String getUniqueName() const override { jassert (item.getID().isNotEmpty()); return item.getID(); } + bool canBeSelected() const override { return true; } + String getTooltip() override { return {}; } + File getDraggableFile() const override { return getFile(); } + + var getDragSourceDescription() override + { + cancelDelayedSelectionTimer(); + return projectItemDragType; + } + + void addSubItems() override + { + for (int i = 0; i < item.getNumChildren(); ++i) + if (auto* p = createSubItem (item.getChild(i))) + addSubItem (p); + } + + void itemOpennessChanged (bool isNowOpen) override + { + if (isNowOpen) + refreshSubItems(); + } + + //============================================================================== + bool isInterestedInFileDrag (const StringArray& files) override + { + return acceptsFileDrop (files); + } + + void filesDropped (const StringArray& files, int insertIndex) override + { + if (files.size() == 1 && File (files[0]).hasFileExtension (Project::projectFileExtension)) + ProjucerApplication::getApp().openFile (files[0]); + else + addFilesAtIndex (files, insertIndex); + } + + bool isInterestedInDragSource (const DragAndDropTarget::SourceDetails& dragSourceDetails) override + { + OwnedArray selectedNodes; + getSelectedProjectItemsBeingDragged (dragSourceDetails, selectedNodes); + + return selectedNodes.size() > 0 && acceptsDragItems (selectedNodes); + } + + void itemDropped (const DragAndDropTarget::SourceDetails& dragSourceDetails, int insertIndex) override + { + OwnedArray selectedNodes; + getSelectedProjectItemsBeingDragged (dragSourceDetails, selectedNodes); + + if (selectedNodes.size() > 0) + { + TreeView* tree = getOwnerView(); + ScopedPointer oldOpenness (tree->getOpennessState (false)); + + moveSelectedItemsTo (selectedNodes, insertIndex); + + if (oldOpenness != nullptr) + tree->restoreOpennessState (*oldOpenness, false); + } + } + + int getMillisecsAllowedForDragGesture() override + { + // for images, give the user longer to start dragging before assuming they're + // clicking to select it for previewing.. + return item.isImageFile() ? 250 : JucerTreeViewBase::getMillisecsAllowedForDragGesture(); + } + + static void getSelectedProjectItemsBeingDragged (const DragAndDropTarget::SourceDetails& dragSourceDetails, + OwnedArray& selectedNodes) + { + if (dragSourceDetails.description == projectItemDragType) + { + TreeView* tree = dynamic_cast (dragSourceDetails.sourceComponent.get()); + + if (tree == nullptr) + tree = dragSourceDetails.sourceComponent->findParentComponentOfClass(); + + if (tree != nullptr) + { + const int numSelected = tree->getNumSelectedItems(); + + for (int i = 0; i < numSelected; ++i) + if (auto* p = dynamic_cast (tree->getSelectedItem (i))) + selectedNodes.add (new Project::Item (p->item)); + } + } + } + + FileTreeItemBase* getParentProjectItem() const + { + return dynamic_cast (getParentItem()); + } + + //============================================================================== + Project::Item item; + +protected: + bool isFileMissing; + + virtual FileTreeItemBase* createSubItem (const Project::Item& node) = 0; + + Icon getIcon() const override + { + auto colour = getOwnerView()->findColour (isSelected() ? defaultHighlightedTextColourId + : treeIconColourId); + + return item.getIcon (isOpen()).withColour (colour); + } + + bool isIconCrossedOut() const override { return item.isIconCrossedOut(); } + + void treeChildrenChanged (const ValueTree& parentTree) + { + if (parentTree == item.state) + { + refreshSubItems(); + treeHasChanged(); + setOpen (true); + } + } + + void triggerAsyncRename (const Project::Item& itemToRename) + { + struct RenameMessage : public CallbackMessage + { + RenameMessage (TreeView* const t, const Project::Item& i) + : tree (t), itemToRename (i) {} + + void messageCallback() override + { + if (tree != nullptr) + if (auto* root = dynamic_cast (tree->getRootItem())) + if (auto* found = root->findTreeViewItem (itemToRename)) + found->showRenameBox(); + } + + private: + Component::SafePointer tree; + Project::Item itemToRename; + }; + + (new RenameMessage (getOwnerView(), itemToRename))->post(); + } + + static void moveItems (OwnedArray& selectedNodes, Project::Item destNode, int insertIndex) + { + for (int i = selectedNodes.size(); --i >= 0;) + { + Project::Item* const n = selectedNodes.getUnchecked(i); + + if (destNode == *n || destNode.state.isAChildOf (n->state)) // Check for recursion. + return; + + if (! destNode.canContain (*n)) + selectedNodes.remove (i); + } + + // Don't include any nodes that are children of other selected nodes.. + for (int i = selectedNodes.size(); --i >= 0;) + { + Project::Item* const n = selectedNodes.getUnchecked(i); + + for (int j = selectedNodes.size(); --j >= 0;) + { + if (j != i && n->state.isAChildOf (selectedNodes.getUnchecked(j)->state)) + { + selectedNodes.remove (i); + break; + } + } + } + + // Remove and re-insert them one at a time.. + for (int i = 0; i < selectedNodes.size(); ++i) + { + Project::Item* selectedNode = selectedNodes.getUnchecked(i); + + if (selectedNode->state.getParent() == destNode.state + && indexOfNode (destNode.state, selectedNode->state) < insertIndex) + --insertIndex; + + selectedNode->removeItemFromProject(); + destNode.addChild (*selectedNode, insertIndex++); + } + } + + static int indexOfNode (const ValueTree& parent, const ValueTree& child) + { + for (int i = parent.getNumChildren(); --i >= 0;) + if (parent.getChild (i) == child) + return i; + + return -1; + } +}; + +//============================================================================== +class SourceFileItem : public FileTreeItemBase +{ +public: + SourceFileItem (const Project::Item& projectItem) + : FileTreeItemBase (projectItem) + { + } + + bool acceptsFileDrop (const StringArray&) const override { return false; } + bool acceptsDragItems (const OwnedArray &) override { return false; } + + String getDisplayName() const override + { + return getFile().getFileName(); + } + + static File findCorrespondingHeaderOrCpp (const File& f) + { + if (f.hasFileExtension (sourceFileExtensions)) return f.withFileExtension (".h"); + if (f.hasFileExtension (headerFileExtensions)) return f.withFileExtension (".cpp"); + + return {}; + } + + void setName (const String& newName) override + { + if (newName != File::createLegalFileName (newName)) + { + AlertWindow::showMessageBox (AlertWindow::WarningIcon, "File Rename", + "That filename contained some illegal characters!"); + triggerAsyncRename (item); + return; + } + + File oldFile (getFile()); + File newFile (oldFile.getSiblingFile (newName)); + File correspondingFile (findCorrespondingHeaderOrCpp (oldFile)); + + if (correspondingFile.exists() && newFile.hasFileExtension (oldFile.getFileExtension())) + { + Project::Item correspondingItem (item.project.getMainGroup().findItemForFile (correspondingFile)); + + if (correspondingItem.isValid()) + { + if (AlertWindow::showOkCancelBox (AlertWindow::NoIcon, "File Rename", + "Do you also want to rename the corresponding file \"" + correspondingFile.getFileName() + + "\" to match?")) + { + if (! item.renameFile (newFile)) + { + AlertWindow::showMessageBox (AlertWindow::WarningIcon, "File Rename", + "Failed to rename \"" + oldFile.getFullPathName() + "\"!\n\nCheck your file permissions!"); + return; + } + + if (! correspondingItem.renameFile (newFile.withFileExtension (correspondingFile.getFileExtension()))) + { + AlertWindow::showMessageBox (AlertWindow::WarningIcon, "File Rename", + "Failed to rename \"" + correspondingFile.getFullPathName() + "\"!\n\nCheck your file permissions!"); + } + } + } + } + + if (! item.renameFile (newFile)) + { + AlertWindow::showMessageBox (AlertWindow::WarningIcon, "File Rename", + "Failed to rename the file!\n\nCheck your file permissions!"); + } + } + + FileTreeItemBase* createSubItem (const Project::Item&) override + { + jassertfalse; + return nullptr; + } + + void showDocument() override + { + const File f (getFile()); + + if (f.exists()) + if (ProjectContentComponent* pcc = getProjectContentComponent()) + pcc->showEditorForFile (f, false); + } + + void showPopupMenu() override + { + PopupMenu m; + + m.addItem (1, "Open in external editor"); + m.addItem (2, + #if JUCE_MAC + "Reveal in Finder"); + #else + "Reveal in Explorer"); + #endif + + m.addItem (4, "Rename File..."); + m.addSeparator(); + + if (auto* group = dynamic_cast (getParentItem())) + { + if (group->isRoot()) + { + m.addItem (5, "Binary Resource", true, item.shouldBeAddedToBinaryResources()); + m.addItem (6, "Xcode Resource", true, item.shouldBeAddedToXcodeResources()); + m.addItem (7, "Compile", true, item.shouldBeCompiled()); + m.addSeparator(); + } + } + + m.addItem (3, "Delete"); + + launchPopupMenu (m); + } + + void showAddMenu() override + { + if (auto* group = dynamic_cast (getParentItem())) + group->showAddMenu(); + } + + void handlePopupMenuResult (int resultCode) override + { + switch (resultCode) + { + case 1: getFile().startAsProcess(); break; + case 2: revealInFinder(); break; + case 3: deleteAllSelectedItems(); break; + case 4: triggerAsyncRename (item); break; + case 5: item.getShouldAddToBinaryResourcesValue().setValue (! item.shouldBeAddedToBinaryResources()); break; + case 6: item.getShouldAddToXcodeResourcesValue().setValue (! item.shouldBeAddedToXcodeResources()); break; + case 7: item.getShouldCompileValue().setValue (! item.shouldBeCompiled()); break; + + default: + if (GroupItem* parentGroup = dynamic_cast (getParentProjectItem())) + parentGroup->processCreateFileMenuItem (resultCode); + + break; + } + } +}; + +//============================================================================== +class GroupItem : public FileTreeItemBase +{ +public: + GroupItem (const Project::Item& projectItem, const String& filter = String()) + : FileTreeItemBase (projectItem), + searchFilter (filter) + { + } + + bool isRoot() const override { return item.isMainGroup(); } + bool acceptsFileDrop (const StringArray&) const override { return true; } + + void addNewGroup() + { + Project::Item newGroup (item.addNewSubGroup ("New Group", 0)); + triggerAsyncRename (newGroup); + } + + bool acceptsDragItems (const OwnedArray& selectedNodes) override + { + for (int i = selectedNodes.size(); --i >= 0;) + if (item.canContain (*selectedNodes.getUnchecked(i))) + return true; + + return false; + } + + void addFilesAtIndex (const StringArray& files, int insertIndex) override + { + for (int i = 0; i < files.size(); ++i) + { + const File file (files[i]); + + if (item.addFileAtIndex (file, insertIndex, true)) + ++insertIndex; + } + } + + void addFilesRetainingSortOrder (const StringArray& files) override + { + for (int i = files.size(); --i >= 0;) + item.addFileRetainingSortOrder (files[i], true); + } + + void moveSelectedItemsTo (OwnedArray& selectedNodes, int insertIndex) override + { + moveItems (selectedNodes, item, insertIndex); + } + + void checkFileStatus() override + { + for (int i = 0; i < getNumSubItems(); ++i) + if (auto* p = dynamic_cast (getSubItem(i))) + p->checkFileStatus(); + } + + bool isGroupEmpty (const Project::Item& group) // recursive + { + for (auto i = 0; i < group.getNumChildren(); ++i) + { + auto child = group.getChild (i); + + if ((child.isGroup() && ! isGroupEmpty (child)) + || (child.isFile() && child.getName().containsIgnoreCase (searchFilter))) + return false; + } + + return true; + } + + FileTreeItemBase* createSubItem (const Project::Item& child) override + { + if (child.isGroup()) + { + if (searchFilter.isNotEmpty() && isGroupEmpty (child)) + return nullptr; + + return new GroupItem (child, searchFilter); + } + + if (child.isFile()) + { + if (child.getName().containsIgnoreCase (searchFilter)) + return new SourceFileItem (child); + + return nullptr; + } + + jassertfalse; + return nullptr; + } + + void showDocument() override + { + if (ProjectContentComponent* pcc = getProjectContentComponent()) + pcc->setEditorComponent (new FileGroupInformationComponent (item), nullptr); + } + + static void openAllGroups (TreeViewItem* root) + { + for (auto i = 0; i < root->getNumSubItems(); ++i) + if (auto* sub = root->getSubItem (i)) + openOrCloseAllSubGroups (*sub, true); + } + + static void closeAllGroups (TreeViewItem* root) + { + for (auto i = 0; i < root->getNumSubItems(); ++i) + if (auto* sub = root->getSubItem (i)) + openOrCloseAllSubGroups (*sub, false); + } + + static void openOrCloseAllSubGroups (TreeViewItem& item, bool shouldOpen) + { + item.setOpen (shouldOpen); + + for (int i = item.getNumSubItems(); --i >= 0;) + if (auto* sub = item.getSubItem (i)) + openOrCloseAllSubGroups (*sub, shouldOpen); + } + + static void setFilesToCompile (Project::Item item, const bool shouldCompile) + { + if (item.isFile()) + item.getShouldCompileValue() = shouldCompile; + + for (int i = item.getNumChildren(); --i >= 0;) + setFilesToCompile (item.getChild (i), shouldCompile); + } + + void showPopupMenu() override + { + PopupMenu m; + addCreateFileMenuItems (m); + + m.addSeparator(); + + m.addItem (1, "Collapse all Groups"); + m.addItem (2, "Expand all Groups"); + + if (! isRoot()) + { + if (isOpen()) + m.addItem (3, "Collapse all Sub-groups"); + else + m.addItem (4, "Expand all Sub-groups"); + } + + m.addSeparator(); + m.addItem (5, "Enable compiling of all enclosed files"); + m.addItem (6, "Disable compiling of all enclosed files"); + + m.addSeparator(); + m.addItem (7, "Sort Items Alphabetically"); + m.addItem (8, "Sort Items Alphabetically (Groups first)"); + m.addSeparator(); + + if (! isRoot()) + { + m.addItem (9, "Rename..."); + m.addItem (10, "Delete"); + } + + launchPopupMenu (m); + } + + void showAddMenu() override + { + PopupMenu m; + addCreateFileMenuItems (m); + + launchPopupMenu (m); + } + + void handlePopupMenuResult (int resultCode) override + { + switch (resultCode) + { + case 1: closeAllGroups (getOwnerView()->getRootItem()); break; + case 2: openAllGroups (getOwnerView()->getRootItem()); break; + case 3: openOrCloseAllSubGroups (*this, false); break; + case 4: openOrCloseAllSubGroups (*this, true); break; + case 5: setFilesToCompile (item, true); break; + case 6: setFilesToCompile (item, false); break; + case 7: item.sortAlphabetically (false, false); break; + case 8: item.sortAlphabetically (true, false); break; + case 9: triggerAsyncRename (item); break; + case 10: deleteAllSelectedItems(); break; + default: processCreateFileMenuItem (resultCode); break; + } + } + + void addCreateFileMenuItems (PopupMenu& m) + { + m.addItem (1001, "Add New Group"); + m.addItem (1002, "Add Existing Files..."); + + m.addSeparator(); + NewFileWizard().addWizardsToMenu (m); + } + + void processCreateFileMenuItem (int menuID) + { + switch (menuID) + { + case 1001: addNewGroup(); break; + case 1002: browseToAddExistingFiles(); break; + + default: + jassert (getProject() != nullptr); + NewFileWizard().runWizardFromMenu (menuID, *getProject(), item); + break; + } + } + + Project* getProject() + { + if (TreeView* tv = getOwnerView()) + if (ProjectContentComponent* pcc = tv->findParentComponentOfClass()) + return pcc->getProject(); + + return nullptr; + } + + void setSearchFilter (const String& filter) override + { + searchFilter = filter; + refreshSubItems(); + } + + String searchFilter; +}; diff --git a/extras/Projucer/Source/Project/jucer_LiveBuildTab.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_LiveBuildTab.h similarity index 85% rename from extras/Projucer/Source/Project/jucer_LiveBuildTab.h rename to extras/Projucer/Source/Project/UI/Sidebar/jucer_LiveBuildTab.h index f83b2598bc..4895c20b93 100644 --- a/extras/Projucer/Source/Project/jucer_LiveBuildTab.h +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_LiveBuildTab.h @@ -24,6 +24,47 @@ ============================================================================== */ +#pragma once + + +//============================================================================== +struct LiveBuildSettingsComponent : public Component +{ + LiveBuildSettingsComponent (Project& p) + : group ("Live Build Settings", + Icon (getIcons().settings, Colours::transparentBlack)) + { + addAndMakeVisible (&group); + + PropertyListBuilder props; + LiveBuildProjectSettings::getLiveSettings (p, props); + + group.setProperties (props); + group.setName ("Live Build Settings"); + } + + void resized() override + { + group.updateSize (12, 0, getWidth() - 24); + group.setBounds (getLocalBounds().reduced (12, 0)); + } + + void parentSizeChanged() override + { + const auto width = jmax (550, getParentWidth()); + auto y = group.updateSize (12, 0, width - 12); + + y = jmax (getParentHeight(), y); + + setSize (width, y); + } + + PropertyGroupComponent group; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LiveBuildSettingsComponent) +}; + +//============================================================================== class LiveBuildTab : public Component, private ChangeListener, private Button::Listener diff --git a/extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h similarity index 96% rename from extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h rename to extras/Projucer/Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h index 354527ebf9..70259cc74a 100644 --- a/extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h @@ -24,7 +24,11 @@ ============================================================================== */ -class ModuleItem : public ConfigTreeItemBase, +#pragma once + + +//============================================================================== +class ModuleItem : public ProjectTreeItemBase, private Value::Listener { public: @@ -435,7 +439,7 @@ private: for (auto i = 0; i < rootItem->getNumSubItems(); ++i) { - if (auto* subItem = dynamic_cast (rootItem->getSubItem (i))) + if (auto* subItem = dynamic_cast (rootItem->getSubItem (i))) { if (subItem->getDisplayName() == moduleID) { @@ -479,7 +483,7 @@ private: }; //============================================================================== -class EnabledModulesItem : public ConfigTreeItemBase +class EnabledModulesItem : public ProjectTreeItemBase { public: EnabledModulesItem (Project& p) @@ -503,7 +507,7 @@ public: void showDocument() override { if (ProjectContentComponent* pcc = getProjectContentComponent()) - pcc->setEditorComponent (new ModulesPanel (project), nullptr); + pcc->setEditorComponent (new ModulesInformationComponent (project), nullptr); } static File getModuleFolder (const File& draggedFile) diff --git a/extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTab.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTab.h new file mode 100644 index 0000000000..1c0b8d4def --- /dev/null +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTab.h @@ -0,0 +1,295 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2017 - ROLI Ltd. + + JUCE is an open source library subject to commercial or open-source + licensing. + + By using JUCE, you agree to the terms of both the JUCE 5 End-User License + Agreement and JUCE 5 Privacy Policy (both updated and effective as of the + 27th April 2017). + + End User License Agreement: www.juce.com/juce-5-licence + Privacy Policy: www.juce.com/juce-5-privacy-policy + + Or: You may also use this code under the terms of the GPL v3 (see + www.gnu.org/licenses). + + JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER + EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE + DISCLAIMED. + + ============================================================================== +*/ + +#pragma once + + +//========================================================================== +struct ProjectSettingsComponent : public Component, + private ChangeListener +{ + ProjectSettingsComponent (Project& p) + : project (p), + group (project.getProjectFilenameRoot(), + Icon (getIcons().settings, Colours::transparentBlack)) + { + addAndMakeVisible (group); + + updatePropertyList(); + project.addChangeListener (this); + } + + ~ProjectSettingsComponent() + { + project.removeChangeListener (this); + } + + void resized() override + { + group.updateSize (12, 0, getWidth() - 24); + group.setBounds (getLocalBounds().reduced (12, 0)); + } + + void updatePropertyList() + { + PropertyListBuilder props; + project.createPropertyEditors (props); + group.setProperties (props); + group.setName ("Project Settings"); + + lastProjectType = project.getProjectTypeValue().getValue(); + parentSizeChanged(); + } + + void changeListenerCallback (ChangeBroadcaster*) override + { + if (lastProjectType != project.getProjectTypeValue().getValue()) + updatePropertyList(); + } + + void parentSizeChanged() override + { + const auto width = jmax (550, getParentWidth()); + auto y = group.updateSize (12, 0, width - 12); + + y = jmax (getParentHeight(), y); + + setSize (width, y); + } + + Project& project; + var lastProjectType; + PropertyGroupComponent group; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectSettingsComponent) +}; + +//============================================================================== +struct FileTreePanel : public TreePanelBase +{ + FileTreePanel (Project& p) + : TreePanelBase (&p, "fileTreeState") + { + tree.setMultiSelectEnabled (true); + setRoot (new TreeItemTypes::GroupItem (p.getMainGroup())); + tree.setRootItemVisible (false); + } + + void updateMissingFileStatuses() + { + if (auto* p = dynamic_cast (rootItem.get())) + p->checkFileStatus(); + } +}; + +struct ModuleTreePanel : public TreePanelBase +{ + ModuleTreePanel (Project& p) + : TreePanelBase (&p, "moduleTreeState") + { + tree.setMultiSelectEnabled (false); + setRoot (new TreeItemTypes::EnabledModulesItem (p)); + tree.setRootItemVisible (false); + } +}; + +struct ExportersTreePanel : public TreePanelBase +{ + ExportersTreePanel (Project& p) + : TreePanelBase (&p, "exportersTreeState") + { + tree.setMultiSelectEnabled (false); + setRoot (new TreeItemTypes::ExportersTreeRoot (p)); + tree.setRootItemVisible (false); + } + + void deleteSelectedItems() override + { + for (int i = rootItem->getNumSubItems() - 1; i >= 0; --i) + if (rootItem->getSubItem (i)->isSelected()) + if (auto* root = dynamic_cast (rootItem.get())) + root->removeExporter (i); + } +}; + +//============================================================================== +class ProjectTab : public Component, + private ChangeListener +{ +public: + ProjectTab (Project* p) + : project (p) + { + addAndMakeVisible (concertinaPanel); + buildConcertina(); + } + + ~ProjectTab() + { + getFileTreePanel()->saveOpenness(); + getModuleTreePanel()->saveOpenness(); + getExportersTreePanel()->saveOpenness(); + } + + void paint (Graphics& g) override + { + g.fillAll (findColour (secondaryBackgroundColourId)); + } + + void resized() override + { + concertinaPanel.setBounds (getLocalBounds()); + } + + TreePanelBase* getTreeWithSelectedItems() + { + for (int i = concertinaPanel.getNumPanels() - 1; i >= 0; --i) + { + if (auto* treeComponent = dynamic_cast (concertinaPanel.getPanel (i))) + { + if (auto* base = treeComponent->getTree()) + if (base->tree.getNumSelectedItems() != 0) + return base; + } + } + + return nullptr; + } + + FileTreePanel* getFileTreePanel() + { + if (auto* panel = dynamic_cast (concertinaPanel.getPanel (0))) + return dynamic_cast (panel->getTree()); + + return nullptr; + } + + ModuleTreePanel* getModuleTreePanel() + { + if (auto* panel = dynamic_cast (concertinaPanel.getPanel (1))) + return dynamic_cast (panel->getTree()); + + return nullptr; + } + + ExportersTreePanel* getExportersTreePanel() + { + if (auto* panel = dynamic_cast (concertinaPanel.getPanel (2))) + return dynamic_cast (panel->getTree()); + + return nullptr; + } + + void showPanel (int panelIndex) + { + jassert (isPositiveAndBelow (panelIndex, concertinaPanel.getNumPanels())); + + concertinaPanel.expandPanelFully (concertinaPanel.getPanel (panelIndex), true); + } + + void setPanelHeightProportion (int panelIndex, float prop) + { + jassert (isPositiveAndBelow (panelIndex, concertinaPanel.getNumPanels())); + + concertinaPanel.setPanelSize (concertinaPanel.getPanel (panelIndex), + roundToInt (prop * (concertinaPanel.getHeight() - 90)), false); + } + + float getPanelHeightProportion (int panelIndex) + { + jassert (isPositiveAndBelow (panelIndex, concertinaPanel.getNumPanels())); + + return ((float) (concertinaPanel.getPanel (panelIndex)->getHeight()) / (concertinaPanel.getHeight() - 90)); + } + +private: + ConcertinaPanel concertinaPanel; + OwnedArray headers; + Project* project = nullptr; + + //============================================================================== + void changeListenerCallback (ChangeBroadcaster* source) override + { + if (auto* header = dynamic_cast (source)) + { + auto index = headers.indexOf (header); + concertinaPanel.expandPanelFully (concertinaPanel.getPanel (index), true); + } + } + + void buildConcertina() + { + for (int i = concertinaPanel.getNumPanels() - 1; i >= 0 ; --i) + concertinaPanel.removePanel (concertinaPanel.getPanel (i)); + + headers.clear(); + + if (project != nullptr) + { + concertinaPanel.addPanel (0, new ConcertinaTreeComponent (new FileTreePanel (*project), true, false, true), true); + concertinaPanel.addPanel (1, new ConcertinaTreeComponent (new ModuleTreePanel (*project), true, true), true); + concertinaPanel.addPanel (2, new ConcertinaTreeComponent (new ExportersTreePanel (*project), true), true); + } + + headers.add (new ConcertinaHeader ("File explorer", getIcons().fileExplorer)); + headers.add (new ConcertinaHeader ("Modules", getIcons().modules)); + headers.add (new ConcertinaHeader ("Exporters", getIcons().exporter)); + + for (int i = 0; i < concertinaPanel.getNumPanels(); ++i) + { + auto* p = concertinaPanel.getPanel (i); + auto* h = headers.getUnchecked (i); + p->addMouseListener (this, true); + + h->addChangeListener (this); + h->yPosition = i * 30; + + concertinaPanel.setCustomPanelHeader (p, h, false); + concertinaPanel.setPanelHeaderSize (p, 30); + } + } + + void mouseDown (const MouseEvent& e) override + { + for (int i = concertinaPanel.getNumPanels() - 1; i >= 0; --i) + { + auto* p = concertinaPanel.getPanel (i); + + if (! (p->isParentOf (e.eventComponent))) + { + auto* base = dynamic_cast (p); + + if (base == nullptr) + base = dynamic_cast (p)->getTree(); + + if (base != nullptr) + base->tree.clearSelectedItems(); + } + } + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectTab) +}; diff --git a/extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTreeItemBase.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTreeItemBase.h new file mode 100644 index 0000000000..b97ebe7833 --- /dev/null +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTreeItemBase.h @@ -0,0 +1,91 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2017 - ROLI Ltd. + + JUCE is an open source library subject to commercial or open-source + licensing. + + By using JUCE, you agree to the terms of both the JUCE 5 End-User License + Agreement and JUCE 5 Privacy Policy (both updated and effective as of the + 27th April 2017). + + End User License Agreement: www.juce.com/juce-5-licence + Privacy Policy: www.juce.com/juce-5-privacy-policy + + Or: You may also use this code under the terms of the GPL v3 (see + www.gnu.org/licenses). + + JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER + EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE + DISCLAIMED. + + ============================================================================== +*/ + +#pragma once + + +//============================================================================== +struct ProjectTreeItemBase : public JucerTreeViewBase, + public ValueTree::Listener +{ + ProjectTreeItemBase() {} + + void showSettingsPage (Component* content) + { + content->setComponentID (getUniqueName()); + + ScopedPointer comp (content); + + if (ProjectContentComponent* pcc = getProjectContentComponent()) + pcc->setEditorComponent (comp.release(), nullptr); + } + + void closeSettingsPage() + { + if (auto* pcc = getProjectContentComponent()) + { + if (auto* content = dynamic_cast (pcc->getEditorComponent()->getChildComponent (0))) + if (content->getViewedComponent()->getComponentID() == getUniqueName()) + pcc->hideEditor(); + } + } + + void deleteAllSelectedItems() override + { + TreeView* const tree = getOwnerView(); + jassert (tree->getNumSelectedItems() <= 1); // multi-select should be disabled + + if (auto* s = dynamic_cast (tree->getSelectedItem (0))) + s->deleteItem(); + } + + void itemOpennessChanged (bool isNowOpen) override + { + if (isNowOpen) + refreshSubItems(); + } + + void valueTreePropertyChanged (ValueTree&, const Identifier&) override {} + void valueTreeChildAdded (ValueTree&, ValueTree&) override {} + void valueTreeChildRemoved (ValueTree&, ValueTree&, int) override {} + void valueTreeChildOrderChanged (ValueTree&, int, int) override {} + void valueTreeParentChanged (ValueTree&) override {} + + virtual bool isProjectSettings() const { return false; } + virtual bool isModulesList() const { return false; } + + static void updateSize (Component& comp, PropertyGroupComponent& group) + { + const auto width = jmax (550, comp.getParentWidth() - 12); + + auto y = 0; + y += group.updateSize (12, y, width - 12); + + y = jmax (comp.getParentHeight(), y); + + comp.setSize (width, y); + } +}; diff --git a/extras/Projucer/Source/Project/UI/Sidebar/jucer_TabComponents.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_TabComponents.h new file mode 100644 index 0000000000..cc2cd57963 --- /dev/null +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_TabComponents.h @@ -0,0 +1,276 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2017 - ROLI Ltd. + + JUCE is an open source library subject to commercial or open-source + licensing. + + By using JUCE, you agree to the terms of both the JUCE 5 End-User License + Agreement and JUCE 5 Privacy Policy (both updated and effective as of the + 27th April 2017). + + End User License Agreement: www.juce.com/juce-5-licence + Privacy Policy: www.juce.com/juce-5-privacy-policy + + Or: You may also use this code under the terms of the GPL v3 (see + www.gnu.org/licenses). + + JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER + EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE + DISCLAIMED. + + ============================================================================== +*/ + +#pragma once + + +//============================================================================== +class ConcertinaHeader : public Component, + public ChangeBroadcaster +{ +public: + ConcertinaHeader (String n, Path p) + : Component (n), name (n), iconPath (p) + { + panelIcon = Icon (iconPath, Colours::white); + + nameLabel.setText (name, dontSendNotification); + nameLabel.setJustificationType (Justification::centredLeft); + nameLabel.setInterceptsMouseClicks (false, false); + nameLabel.setColour (Label::textColourId, Colours::white); + + addAndMakeVisible (nameLabel); + } + + void resized() override + { + auto b = getLocalBounds().toFloat(); + + iconBounds = b.removeFromLeft (b.getHeight()).reduced (7, 7); + arrowBounds = b.removeFromRight (b.getHeight()); + nameLabel.setBounds (b.toNearestInt()); + } + + void paint (Graphics& g) override + { + g.setColour (findColour (defaultButtonBackgroundColourId)); + g.fillRoundedRectangle (getLocalBounds().reduced (2, 3).toFloat(), 2.0f); + + g.setColour (Colours::white); + g.fillPath (arrowPath = ProjucerLookAndFeel::getArrowPath (arrowBounds, + getParentComponent()->getBoundsInParent().getY() == yPosition ? 2 : 0, + true, Justification::centred)); + + panelIcon.draw (g, iconBounds.toFloat(), false); + } + + void mouseUp (const MouseEvent& e) override + { + if (arrowPath.getBounds().expanded (3).contains (e.getPosition().toFloat())) + sendChangeMessage(); + } + + int direction = 0; + int yPosition = 0; + +private: + String name; + Label nameLabel; + + Path iconPath; + Icon panelIcon; + + Rectangle arrowBounds, iconBounds; + Path arrowPath; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConcertinaHeader) +}; + +//============================================================================== +class FindPanel : public Component, + private TextEditor::Listener, + private Timer, + private FocusChangeListener +{ +public: + FindPanel (std::function cb) + : callback (cb) + { + addAndMakeVisible (editor); + editor.addListener (this); + + Desktop::getInstance().addFocusChangeListener (this); + + lookAndFeelChanged(); + } + + ~FindPanel() + { + Desktop::getInstance().removeFocusChangeListener (this); + } + + void paintOverChildren (Graphics& g) override + { + if (! isFocused) + return; + + g.setColour (findColour (defaultHighlightColourId)); + + Path p; + p.addRoundedRectangle (getLocalBounds().reduced (2), 3.0f); + g.strokePath (p, PathStrokeType (2.0f)); + } + + + void resized() override + { + editor.setBounds (getLocalBounds().reduced (2)); + } + +private: + TextEditor editor; + bool isFocused = false; + std::function callback; + + //============================================================================== + void lookAndFeelChanged() override + { + editor.setTextToShowWhenEmpty ("Filter...", findColour (widgetTextColourId).withAlpha (0.3f)); + } + + void textEditorTextChanged (TextEditor&) override + { + startTimer (250); + } + + void textEditorFocusLost (TextEditor&) override + { + isFocused = false; + repaint(); + } + + void globalFocusChanged (Component* focusedComponent) override + { + if (focusedComponent == &editor) + { + isFocused = true; + repaint(); + } + } + + void timerCallback() override + { + stopTimer(); + callback (editor.getText()); + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FindPanel) +}; + +//============================================================================== +class ConcertinaTreeComponent : public Component, + private Button::Listener +{ +public: + ConcertinaTreeComponent (TreePanelBase* tree, bool hasAddButton = false, + bool hasSettingsButton = false, bool hasFindPanel = false) + : treeToDisplay (tree) + { + if (hasAddButton) + { + addAndMakeVisible (addButton = new IconButton ("Add", &getIcons().plus)); + addButton->addListener (this); + } + + if (hasSettingsButton) + { + addAndMakeVisible (settingsButton = new IconButton ("Settings", &getIcons().settings)); + settingsButton->addListener (this); + } + + if (hasFindPanel) + { + addAndMakeVisible (findPanel = new FindPanel ([this] (const String& filter) { treeToDisplay->rootItem->setSearchFilter (filter); })); + } + + addAndMakeVisible (treeToDisplay); + } + + ~ConcertinaTreeComponent() + { + treeToDisplay = nullptr; + addButton = nullptr; + findPanel = nullptr; + settingsButton = nullptr; + } + + void resized() override + { + auto bounds = getLocalBounds(); + + if (addButton != nullptr || settingsButton != nullptr || findPanel != nullptr) + { + auto bottomSlice = bounds.removeFromBottom (25); + bottomSlice.removeFromRight (5); + + if (addButton != nullptr) + addButton->setBounds (bottomSlice.removeFromRight (25).reduced (2)); + + if (settingsButton != nullptr) + settingsButton->setBounds (bottomSlice.removeFromRight (25).reduced (2)); + + if (findPanel != nullptr) + findPanel->setBounds (bottomSlice.reduced (2)); + } + + treeToDisplay->setBounds (bounds); + } + + TreePanelBase* getTree() const noexcept { return treeToDisplay.get(); } + +private: + ScopedPointer treeToDisplay; + ScopedPointer addButton, settingsButton; + ScopedPointer findPanel; + + void buttonClicked (Button* b) override + { + if (b == addButton) + showAddMenu(); + else if (b == settingsButton) + showSettings(); + } + + void showAddMenu() + { + auto numSelected = treeToDisplay->tree.getNumSelectedItems(); + + if (numSelected > 1) + return; + + if (numSelected == 0) + { + if (auto* root = dynamic_cast (treeToDisplay->tree.getRootItem())) + root->showPopupMenu(); + } + else + { + if (auto* item = dynamic_cast (treeToDisplay->tree.getSelectedItem (0))) + item->showAddMenu(); + } + } + + void showSettings() + { + if (auto* root = dynamic_cast (treeToDisplay->tree.getRootItem())) + { + treeToDisplay->tree.clearSelectedItems(); + root->showDocument(); + } + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConcertinaTreeComponent) +}; diff --git a/extras/Projucer/Source/Project/jucer_TreeItemTypes.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_TreeItemTypes.h similarity index 57% rename from extras/Projucer/Source/Project/jucer_TreeItemTypes.h rename to extras/Projucer/Source/Project/UI/Sidebar/jucer_TreeItemTypes.h index 662c2f682c..b8934a91af 100644 --- a/extras/Projucer/Source/Project/jucer_TreeItemTypes.h +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_TreeItemTypes.h @@ -26,25 +26,18 @@ #pragma once -#include "../Project Saving/jucer_ProjectExporter.h" -#include "../Utility/jucer_TranslationToolComponent.h" -#include "../Utility/jucer_JucerTreeViewBase.h" -#include "../Wizards/jucer_NewFileWizard.h" -#include "jucer_GroupInformationComponent.h" -#include "jucer_ModulesPanel.h" -#include "jucer_DependencyPathPropertyComponent.h" +#include "../../../ProjectSaving/jucer_ProjectExporter.h" +#include "../../../Application/Windows/jucer_TranslationToolWindowComponent.h" +#include "../../../Utility/UI/jucer_JucerTreeViewBase.h" +#include "../../../Wizards/jucer_NewFileWizard.h" +#include "../jucer_ContentViewComponents.h" +#include "../jucer_FileGroupInformationComponent.h" +#include "../jucer_ModulesInformationComponent.h" - -struct FileTreeItemTypes +struct TreeItemTypes { - #include "jucer_ProjectTree_Base.h" - #include "jucer_ProjectTree_Group.h" - #include "jucer_ProjectTree_File.h" -}; - -struct ConfigTreeItemTypes -{ - #include "jucer_ConfigTree_Base.h" - #include "jucer_ConfigTree_Modules.h" - #include "jucer_ConfigTree_Exporter.h" + #include "jucer_ProjectTreeItemBase.h" + #include "jucer_ExporterTreeItems.h" + #include "jucer_ModuleTreeItems.h" + #include "jucer_FileTreeItems.h" }; diff --git a/extras/Projucer/Source/Project/jucer_ConfigTree_Base.h b/extras/Projucer/Source/Project/UI/jucer_ContentViewComponents.h similarity index 64% rename from extras/Projucer/Source/Project/jucer_ConfigTree_Base.h rename to extras/Projucer/Source/Project/UI/jucer_ContentViewComponents.h index cc9cb29728..b596fe0ce2 100644 --- a/extras/Projucer/Source/Project/jucer_ConfigTree_Base.h +++ b/extras/Projucer/Source/Project/UI/jucer_ContentViewComponents.h @@ -24,12 +24,140 @@ ============================================================================== */ +#pragma once + + +//============================================================================== +struct ContentViewHeader : public Component +{ + ContentViewHeader (String headerName, Icon headerIcon) + : name (headerName), icon (headerIcon) + { + } + + void paint (Graphics& g) override + { + g.fillAll (findColour (contentHeaderBackgroundColourId)); + + auto bounds = getLocalBounds().reduced (20, 0); + + icon.withColour (Colours::white).draw (g, bounds.toFloat().removeFromRight (30), false); + + g.setColour (Colours::white); + g.setFont (Font (18.0f)); + g.drawFittedText (name, bounds, Justification::centredLeft, 1); + } + + String name; + Icon icon; +}; + +//============================================================================== +class ListBoxHeader : public Component +{ +public: + ListBoxHeader (Array columnHeaders) + { + for (auto s : columnHeaders) + { + addAndMakeVisible (headers.add (new Label (s, s))); + widths.add (1.0f / columnHeaders.size()); + } + + setSize (200, 40); + } + + ListBoxHeader (Array columnHeaders, Array columnWidths) + { + jassert (columnHeaders.size() == columnWidths.size()); + + auto index = 0; + for (auto s : columnHeaders) + { + addAndMakeVisible (headers.add (new Label (s, s))); + widths.add (columnWidths.getUnchecked (index++)); + } + + recalculateWidths(); + + setSize (200, 40); + } + + void resized() override + { + auto bounds = getLocalBounds(); + auto width = bounds.getWidth(); + + auto index = 0; + for (auto h : headers) + { + auto headerWidth = roundToInt (width * widths.getUnchecked (index)); + h->setBounds (bounds.removeFromLeft (headerWidth)); + ++index; + } + } + + void setColumnHeaderWidth (int index, float proportionOfWidth) + { + if (! (isPositiveAndBelow (index, headers.size()) && isPositiveAndNotGreaterThan (proportionOfWidth, 1.0f))) + { + jassertfalse; + return; + } + + widths.set (index, proportionOfWidth); + recalculateWidths (index); + } + + int getColumnX (int index) + { + auto prop = 0.0f; + for (auto i = 0; i < index; ++i) + prop += widths.getUnchecked (i); + + return roundToInt (prop * getWidth()); + } + + float getProportionAtIndex (int index) + { + jassert (isPositiveAndBelow (index, widths.size())); + return widths.getUnchecked (index); + } + +private: + OwnedArray