| @@ -50,13 +50,13 @@ OBJECTS := \ | |||
| $(OBJDIR)/jucer_Main_f8488f5b.o \ | |||
| $(OBJDIR)/jucer_MainWindow_1e163aeb.o \ | |||
| $(OBJDIR)/jucer_OpenDocumentManager_4c72d210.o \ | |||
| $(OBJDIR)/jucer_ConfigPage_99b07caa.o \ | |||
| $(OBJDIR)/jucer_GroupInformationComponent_631ccf01.o \ | |||
| $(OBJDIR)/jucer_Module_3f7666a5.o \ | |||
| $(OBJDIR)/jucer_NewFileWizard_b8a19ef8.o \ | |||
| $(OBJDIR)/jucer_NewProjectWizard_7a15bf5d.o \ | |||
| $(OBJDIR)/jucer_Project_c131864a.o \ | |||
| $(OBJDIR)/jucer_ProjectContentComponent_60de0eee.o \ | |||
| $(OBJDIR)/jucer_ProjectInformationComponent_4746e69b.o \ | |||
| $(OBJDIR)/jucer_ProjectTreeViewBase_63c2bdbe.o \ | |||
| $(OBJDIR)/jucer_ProjectType_1bc27a24.o \ | |||
| $(OBJDIR)/jucer_TreeViewTypes_4a765287.o \ | |||
| @@ -127,6 +127,11 @@ $(OBJDIR)/jucer_OpenDocumentManager_4c72d210.o: ../../Source/Application/jucer_O | |||
| @echo "Compiling jucer_OpenDocumentManager.cpp" | |||
| @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" | |||
| $(OBJDIR)/jucer_ConfigPage_99b07caa.o: ../../Source/Project/jucer_ConfigPage.cpp | |||
| -@mkdir -p $(OBJDIR) | |||
| @echo "Compiling jucer_ConfigPage.cpp" | |||
| @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" | |||
| $(OBJDIR)/jucer_GroupInformationComponent_631ccf01.o: ../../Source/Project/jucer_GroupInformationComponent.cpp | |||
| -@mkdir -p $(OBJDIR) | |||
| @echo "Compiling jucer_GroupInformationComponent.cpp" | |||
| @@ -157,11 +162,6 @@ $(OBJDIR)/jucer_ProjectContentComponent_60de0eee.o: ../../Source/Project/jucer_P | |||
| @echo "Compiling jucer_ProjectContentComponent.cpp" | |||
| @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" | |||
| $(OBJDIR)/jucer_ProjectInformationComponent_4746e69b.o: ../../Source/Project/jucer_ProjectInformationComponent.cpp | |||
| -@mkdir -p $(OBJDIR) | |||
| @echo "Compiling jucer_ProjectInformationComponent.cpp" | |||
| @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" | |||
| $(OBJDIR)/jucer_ProjectTreeViewBase_63c2bdbe.o: ../../Source/Project/jucer_ProjectTreeViewBase.cpp | |||
| -@mkdir -p $(OBJDIR) | |||
| @echo "Compiling jucer_ProjectTreeViewBase.cpp" | |||
| @@ -19,13 +19,13 @@ | |||
| 95B44E6C74B1DED31DBE37EB = { isa = PBXBuildFile; fileRef = 8C52A3DDA62A746AA7A68535; }; | |||
| AA9D0B8E23F3D87A23DE9F8A = { isa = PBXBuildFile; fileRef = 9069981E414A631B036CC9AC; }; | |||
| 244BA1BDA5FAA465EA3F9C6D = { isa = PBXBuildFile; fileRef = 2247EE920DF0610CAF9F4513; }; | |||
| D1A1998A202A88C617C9AB73 = { isa = PBXBuildFile; fileRef = E7F7033084AC10FB77B0F77A; }; | |||
| 349B4C837D996E71E08657A5 = { isa = PBXBuildFile; fileRef = 6FA01AEDB9DB70FD1EA6D380; }; | |||
| 3FCA61C401007B243E2E9035 = { isa = PBXBuildFile; fileRef = F797071D88542C813CF7222A; }; | |||
| 5BC89E7905397ABECD25ACCD = { isa = PBXBuildFile; fileRef = F1163B7856FDABA413A88D90; }; | |||
| FBE57B26FE59319AA2E8B59D = { isa = PBXBuildFile; fileRef = 69A5D13490A62DAE9A7D5A22; }; | |||
| 30B921C38DCEE787B294B746 = { isa = PBXBuildFile; fileRef = BAC43B20E14A340CCF14119C; }; | |||
| 676D2E1E750E61AA2FAA335E = { isa = PBXBuildFile; fileRef = 86E468DE6556BB2AD76A3D80; }; | |||
| BB1D52AE45F40BEDCEBC993F = { isa = PBXBuildFile; fileRef = ADDCB0920D467DF2A309A5E3; }; | |||
| 9CBD0A9A700D28081C8182C5 = { isa = PBXBuildFile; fileRef = 4BAF0975F0958432B17D0D41; }; | |||
| 8012E6487639A7368E4C4470 = { isa = PBXBuildFile; fileRef = E70CA21960A64CCB835725FF; }; | |||
| B18DEBB2CBB335AFAE249E8E = { isa = PBXBuildFile; fileRef = F94ACCC426AB439B871699E3; }; | |||
| @@ -183,7 +183,6 @@ | |||
| 2CB90BE5027B202896EBCE9D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 2CD0B485ED8C5E8402671D36 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 2CD34A70B4032C0426F7AA10 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_MainWindow.h"; path = "../../Source/Application/jucer_MainWindow.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 2CFEE0E15C0ABF07EFE27FBF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectInformationComponent.h"; path = "../../Source/Project/jucer_ProjectInformationComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 2DF5213993DF1380E29C848A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| 2E1F83CE00F5855083AFA246 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| 2E540A9137E245EFADCFABB3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -467,6 +466,7 @@ | |||
| 9B3F6F800DC0AD8C92D70E9A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| 9B9CAD20E1243B4351B4C8D8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_CodeHelpers.cpp"; path = "../../Source/Utility/jucer_CodeHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| 9BB612A0BA1E2174488B5D0C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 9BC8AE609A07657CEF587548 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StoredSettings.h"; path = "../../Source/Utility/jucer_StoredSettings.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 9BD2CA4A6C8DA8FF236F3AF1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| 9BDE235186FA9648EEECB373 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| 9BFC2FD520814B736535DB8F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -521,7 +521,6 @@ | |||
| AD0AB6FA2DE544D6C77E69AC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| AD3C946C260F68C4AD2B491F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| AD44FFB01387088222D0E98F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| ADDCB0920D467DF2A309A5E3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectInformationComponent.cpp"; path = "../../Source/Project/jucer_ProjectInformationComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| AE1786BA679872921797AE25 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| AE3E427DBCC8D50E3F356402 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| AE84254C46407F84EB70A370 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -531,6 +530,7 @@ | |||
| AF9D42A4C5359EE904DCAF8E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| AFAF4EF669407663DCB0F452 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| AFDCCE90EAB0DDCE50A5B89A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.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"; }; | |||
| B01CBF496E7C88105DF4B52A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B1B44E3A7614189E65CB9FBE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -572,9 +572,11 @@ | |||
| BE94248CF8069E6707174CDB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JuceUpdater.cpp"; path = "../../Source/Application/jucer_JuceUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| BE97579323E97AF084D41476 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| BF171B0762D5550B797869F2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| BF3CEF080FA013E2778DCE90 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Project.h"; path = "../../Source/Project/jucer_Project.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| BF92CA3FD8F9A61AE358D151 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| C061E0D3680889C69B1F0E95 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| C1FDD2DDB01AC8C4DECB2C10 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| C2080119AEDFDE0D477756FA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ConfigPage.h"; path = "../../Source/Project/jucer_ConfigPage.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| C22E03FEBEB6921978C5612A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| C2D43E4F571D16F0E9B1E44E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| C2ECD077AC4C784A67BC3DDE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -598,26 +600,17 @@ | |||
| C7E19F79947BEFC7DB7A9CE7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| C83992DA0BE30EA3CD06EA98 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| C85B4D62B96F4A44890F20E2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| C90C66C5727759D5CBD5FB07 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| C9871C46DEDD05103443DC33 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CC63B9EC2E95FD4AF7608D8E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.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; }; | |||
| D1F9B0E9F5D54FE48BEB46EA = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; | |||
| E5D6C36496F5BC84D7213BE8 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; | |||
| E96597BBC6A98255B51B94DC = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; | |||
| 25F52316D256B4534BED16D1 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Introjucer.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; | |||
| 9BC8AE609A07657CEF587548 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StoredSettings.h"; path = "../../Source/Utility/jucer_StoredSettings.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| BF3CEF080FA013E2778DCE90 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Project.h"; path = "../../Source/Project/jucer_Project.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"; }; | |||
| C90C66C5727759D5CBD5FB07 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| C9616830BB2474066AC8C910 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceFile.h"; path = "../../Source/Project Saving/jucer_ResourceFile.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| C9871C46DEDD05103443DC33 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| C9DCA94BF8A4C583E5392755 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| CA62F9F7C5F0D77D8E33D91F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CB36CD7F57D0F4231DC98686 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CB48495010366C2E371BEFDB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| CBE0B96838EE76C9CB8E1230 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| CC3F5263B16932FF4E74B9D8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CC63B9EC2E95FD4AF7608D8E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CD140A1C0161176682F6CA29 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| CD3216F23C7B273B010A8D12 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CD8F40A9EF6ECAD083543974 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -626,19 +619,20 @@ | |||
| CDF8F65F9079B2C14A740F0F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE1DFE4E3908943656E180AD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| CF0615A1AF1A514A60322B50 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CF6C8BD0DA3D8CD4E99EBADA = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; | |||
| D00F311BFC3C2625C457CB9B = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; | |||
| D0F1614CC861E8E0B59B7A06 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D10D51A0A2D63F38B4D86A60 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceFile.cpp"; path = "../../Source/Project Saving/jucer_ResourceFile.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D141433D3FE81F20490DE928 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D1F9B0E9F5D54FE48BEB46EA = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; | |||
| D253F74B7F5734984E568CA7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D2F1CF252F7EC62B35A21CB6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D2F80DA0946A5EE01FC016CA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D376B9B54EC944E766AFEC45 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D4697A0232AECE5DAC5E332E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D4E56676E2EF83404EDCBA8C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D4F2D42C58F4D86E00E76F31 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D503780AB98993E8F0BA1311 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D5057D7B18ABD5E810A6F830 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D526C38D581425949BA0E4AC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePreviewComponent.h"; path = "../../Source/Application/jucer_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D53B54D1786A1FFC024BF064 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
| D5A6D00DEFDC650AF432A698 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_gui_basics/application/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D678882D133090214AF681BC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -646,20 +640,29 @@ | |||
| D75EAC16FAECCC51E3669193 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D780ED33573AED5AD383A036 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D782DA091AD3ECE158FC6A5F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D7A7F1AA9F313B0CCAAA73A0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D800DE818BEDBF4579D15B1D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
| D926E13AB5AD647A7A00F486 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D9342535EA61901A1AD816C6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D9E59DE07A815AB303A297D9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
| DD985A60FB76E976AF91852D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.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"; }; | |||
| E70CA21960A64CCB835725FF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectType.cpp"; path = "../../Source/Project/jucer_ProjectType.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| E7F7033084AC10FB77B0F77A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ConfigPage.cpp"; path = "../../Source/Project/jucer_ConfigPage.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| E96597BBC6A98255B51B94DC = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; | |||
| 25F52316D256B4534BED16D1 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Introjucer.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; | |||
| CF8011B3C67B609032974DA5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewCppFileTemplate.cpp"; path = "../../Source/BinaryData/jucer_NewCppFileTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| D2F80DA0946A5EE01FC016CA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D526C38D581425949BA0E4AC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePreviewComponent.h"; path = "../../Source/Application/jucer_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D7A7F1AA9F313B0CCAAA73A0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D95D7B49EC6C6BDCB5A1B988 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
| D9B077E2ECDDA94961E134D7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| D9E59DE07A815AB303A297D9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
| DB20268A566DABEAE3F2CBEE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| DB876F7873F42DC685A58CA7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| DC5E7FF30B01118F6DAEC38F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| DCCB75165B7C73A589498E87 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| DD00494140C86144306A9356 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| DD2494D5F1C081898D616AF5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| DD985A60FB76E976AF91852D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| DE40B42B57F29C650CB7F2AD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| DE5F3C9EF6BFFDE73AF9E7FC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| DE8DF5D263F40F65581CFDE4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -678,12 +681,10 @@ | |||
| E530742870F07704E9616358 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E54D0994D31E20A0A05EBA2B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E570E57CC1FCEF78B54A7084 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E60E28D1B7491047DEA236AE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectContentComponent.h"; path = "../../Source/Project/jucer_ProjectContentComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E642193A9990C48CFB6479A9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E654E3A3CD45A888C5F773DF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E65A820D34BF39478B7C5925 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DocumentEditorComponent.h"; path = "../../Source/Application/jucer_DocumentEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E6F5CEC32EDC917B054467EF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| E70CA21960A64CCB835725FF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectType.cpp"; path = "../../Source/Project/jucer_ProjectType.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| E73C7E17116F6085765622E3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E7A4604F766ABC8BE26C94A1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| E7B6A0CBA0D27A095E83F5B7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -767,10 +768,13 @@ | |||
| 563091B0916AD9AAA36C7DC5 ); name = Application; sourceTree = "<group>"; }; | |||
| 891F84627A03FA733F37A199 = { isa = PBXGroup; children = ( | |||
| 93D03B2BC76998A3BDA747E8, | |||
| E7F7033084AC10FB77B0F77A, | |||
| C2080119AEDFDE0D477756FA, | |||
| 6FA01AEDB9DB70FD1EA6D380, | |||
| C7B47372A9D5970E3D9A5400, | |||
| F797071D88542C813CF7222A, | |||
| 7211101FFA28400ADBB1D47A, | |||
| AFEBD8423B07599B1DE175A3, | |||
| F1163B7856FDABA413A88D90, | |||
| 5852830ECC222BA36A30EC20, | |||
| 69A5D13490A62DAE9A7D5A22, | |||
| @@ -779,8 +783,6 @@ | |||
| BF3CEF080FA013E2778DCE90, | |||
| 86E468DE6556BB2AD76A3D80, | |||
| E60E28D1B7491047DEA236AE, | |||
| ADDCB0920D467DF2A309A5E3, | |||
| 2CFEE0E15C0ABF07EFE27FBF, | |||
| 4BAF0975F0958432B17D0D41, | |||
| 922DB1DA01DAF63CE86B5E53, | |||
| E70CA21960A64CCB835725FF, | |||
| @@ -1607,7 +1609,6 @@ | |||
| 0FFEF043CA89142B18C79ABE, | |||
| 92ABB8016546F41128399E9D ); name = Source; sourceTree = "<group>"; }; | |||
| EA0BCC969703B2D179089E55 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = 0; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -1624,7 +1625,6 @@ | |||
| "DEBUG=1", | |||
| "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; | |||
| B159CF4275B8A90122629FF4 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = 3; | |||
| @@ -1687,13 +1687,13 @@ | |||
| 95B44E6C74B1DED31DBE37EB, | |||
| AA9D0B8E23F3D87A23DE9F8A, | |||
| 244BA1BDA5FAA465EA3F9C6D, | |||
| D1A1998A202A88C617C9AB73, | |||
| 349B4C837D996E71E08657A5, | |||
| 3FCA61C401007B243E2E9035, | |||
| 5BC89E7905397ABECD25ACCD, | |||
| FBE57B26FE59319AA2E8B59D, | |||
| 30B921C38DCEE787B294B746, | |||
| 676D2E1E750E61AA2FAA335E, | |||
| BB1D52AE45F40BEDCEBC993F, | |||
| 9CBD0A9A700D28081C8182C5, | |||
| 8012E6487639A7368E4C4470, | |||
| B18DEBB2CBB335AFAE249E8E, | |||
| @@ -150,10 +150,13 @@ | |||
| </Filter> | |||
| <Filter Name="Project"> | |||
| <File RelativePath="..\..\Source\Project\jucer_AudioPluginModule.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ConfigPage.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ConfigPage.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_GroupInformationComponent.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_GroupInformationComponent.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_Module.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_Module.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ModulesPanel.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_NewFileWizard.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_NewFileWizard.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_NewProjectWizard.cpp"/> | |||
| @@ -162,8 +165,6 @@ | |||
| <File RelativePath="..\..\Source\Project\jucer_Project.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectContentComponent.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectContentComponent.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectInformationComponent.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectInformationComponent.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectTreeViewBase.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectTreeViewBase.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectType.cpp"/> | |||
| @@ -150,10 +150,13 @@ | |||
| </Filter> | |||
| <Filter Name="Project"> | |||
| <File RelativePath="..\..\Source\Project\jucer_AudioPluginModule.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ConfigPage.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ConfigPage.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_GroupInformationComponent.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_GroupInformationComponent.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_Module.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_Module.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ModulesPanel.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_NewFileWizard.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_NewFileWizard.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_NewProjectWizard.cpp"/> | |||
| @@ -162,8 +165,6 @@ | |||
| <File RelativePath="..\..\Source\Project\jucer_Project.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectContentComponent.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectContentComponent.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectInformationComponent.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectInformationComponent.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectTreeViewBase.cpp"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectTreeViewBase.h"/> | |||
| <File RelativePath="..\..\Source\Project\jucer_ProjectType.cpp"/> | |||
| @@ -133,13 +133,13 @@ | |||
| <ClCompile Include="..\..\Source\Application\jucer_Main.cpp"/> | |||
| <ClCompile Include="..\..\Source\Application\jucer_MainWindow.cpp"/> | |||
| <ClCompile Include="..\..\Source\Application\jucer_OpenDocumentManager.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_ConfigPage.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_GroupInformationComponent.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_Module.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_NewFileWizard.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_NewProjectWizard.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_Project.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_ProjectContentComponent.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_ProjectInformationComponent.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_ProjectTreeViewBase.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_ProjectType.cpp"/> | |||
| <ClCompile Include="..\..\Source\Project\jucer_TreeViewTypes.cpp"/> | |||
| @@ -976,13 +976,14 @@ | |||
| <ClInclude Include="..\..\Source\Application\jucer_MainWindow.h"/> | |||
| <ClInclude Include="..\..\Source\Application\jucer_OpenDocumentManager.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_AudioPluginModule.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_ConfigPage.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_GroupInformationComponent.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_Module.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_ModulesPanel.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_NewFileWizard.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_NewProjectWizard.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_Project.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_ProjectContentComponent.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_ProjectInformationComponent.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_ProjectTreeViewBase.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_ProjectType.h"/> | |||
| <ClInclude Include="..\..\Source\Project\jucer_TreeViewTypes.h"/> | |||
| @@ -250,6 +250,9 @@ | |||
| <ClCompile Include="..\..\Source\Application\jucer_OpenDocumentManager.cpp"> | |||
| <Filter>The Introjucer\Application</Filter> | |||
| </ClCompile> | |||
| <ClCompile Include="..\..\Source\Project\jucer_ConfigPage.cpp"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClCompile> | |||
| <ClCompile Include="..\..\Source\Project\jucer_GroupInformationComponent.cpp"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClCompile> | |||
| @@ -268,9 +271,6 @@ | |||
| <ClCompile Include="..\..\Source\Project\jucer_ProjectContentComponent.cpp"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClCompile> | |||
| <ClCompile Include="..\..\Source\Project\jucer_ProjectInformationComponent.cpp"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClCompile> | |||
| <ClCompile Include="..\..\Source\Project\jucer_ProjectTreeViewBase.cpp"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClCompile> | |||
| @@ -1227,12 +1227,18 @@ | |||
| <ClInclude Include="..\..\Source\Project\jucer_AudioPluginModule.h"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\Source\Project\jucer_ConfigPage.h"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\Source\Project\jucer_GroupInformationComponent.h"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\Source\Project\jucer_Module.h"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\Source\Project\jucer_ModulesPanel.h"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\Source\Project\jucer_NewFileWizard.h"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClInclude> | |||
| @@ -1245,9 +1251,6 @@ | |||
| <ClInclude Include="..\..\Source\Project\jucer_ProjectContentComponent.h"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\Source\Project\jucer_ProjectInformationComponent.h"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\Source\Project\jucer_ProjectTreeViewBase.h"> | |||
| <Filter>The Introjucer\Project</Filter> | |||
| </ClInclude> | |||
| @@ -102,6 +102,10 @@ | |||
| <GROUP id="vGFZIJg" name="Project"> | |||
| <FILE id="a9a1b" name="jucer_AudioPluginModule.h" compile="0" resource="0" | |||
| file="Source/Project/jucer_AudioPluginModule.h"/> | |||
| <FILE id="tDp9h9" name="jucer_ConfigPage.cpp" compile="1" resource="0" | |||
| file="Source/Project/jucer_ConfigPage.cpp"/> | |||
| <FILE id="tlj7HT" name="jucer_ConfigPage.h" compile="0" resource="0" | |||
| file="Source/Project/jucer_ConfigPage.h"/> | |||
| <FILE id="Wx7kXq7" name="jucer_GroupInformationComponent.cpp" compile="1" | |||
| resource="0" file="Source/Project/jucer_GroupInformationComponent.cpp"/> | |||
| <FILE id="sQjHbVN" name="jucer_GroupInformationComponent.h" compile="0" | |||
| @@ -109,6 +113,8 @@ | |||
| <FILE id="MJkOAX" name="jucer_Module.cpp" compile="1" resource="0" | |||
| file="Source/Project/jucer_Module.cpp"/> | |||
| <FILE id="VZmQQ6" name="jucer_Module.h" compile="0" resource="0" file="Source/Project/jucer_Module.h"/> | |||
| <FILE id="mnELwd" name="jucer_ModulesPanel.h" compile="0" resource="0" | |||
| file="Source/Project/jucer_ModulesPanel.h"/> | |||
| <FILE id="Vf0IGtm" name="jucer_NewFileWizard.cpp" compile="1" resource="0" | |||
| file="Source/Project/jucer_NewFileWizard.cpp"/> | |||
| <FILE id="VRwC9Js" name="jucer_NewFileWizard.h" compile="0" resource="0" | |||
| @@ -125,10 +131,6 @@ | |||
| resource="0" file="Source/Project/jucer_ProjectContentComponent.cpp"/> | |||
| <FILE id="mIJMR08" name="jucer_ProjectContentComponent.h" compile="0" | |||
| resource="0" file="Source/Project/jucer_ProjectContentComponent.h"/> | |||
| <FILE id="5I09Gpe" name="jucer_ProjectInformationComponent.cpp" compile="1" | |||
| resource="0" file="Source/Project/jucer_ProjectInformationComponent.cpp"/> | |||
| <FILE id="nvEyCt5" name="jucer_ProjectInformationComponent.h" compile="0" | |||
| resource="0" file="Source/Project/jucer_ProjectInformationComponent.h"/> | |||
| <FILE id="TL3snCb" name="jucer_ProjectTreeViewBase.cpp" compile="1" | |||
| resource="0" file="Source/Project/jucer_ProjectTreeViewBase.cpp"/> | |||
| <FILE id="UwhAsi1" name="jucer_ProjectTreeViewBase.h" compile="0" resource="0" | |||
| @@ -130,8 +130,6 @@ public: | |||
| openFile (commandLine.unquoted()); | |||
| } | |||
| virtual void doExtraInitialisation() {} | |||
| static JucerApplication* getApp() | |||
| { | |||
| return dynamic_cast<JucerApplication*> (JUCEApplication::getInstance()); | |||
| @@ -405,13 +403,17 @@ public: | |||
| return ModuleList::isJuceOrModulesFolder (list.getModulesFolder()); | |||
| } | |||
| ScopedPointer<MainMenuModel> menuModel; | |||
| //============================================================================== | |||
| virtual void doExtraInitialisation() {} | |||
| virtual void addExtraConfigItems (Project&, TreeViewItem&) {} | |||
| virtual Component* createProjectContentComponent() const | |||
| { | |||
| return new ProjectContentComponent(); | |||
| } | |||
| //============================================================================== | |||
| ScopedPointer<MainMenuModel> menuModel; | |||
| MainWindowList mainWindowList; | |||
| private: | |||
| @@ -0,0 +1,478 @@ | |||
| /* | |||
| ============================================================================== | |||
| This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||
| Copyright 2004-11 by Raw Material Software Ltd. | |||
| ------------------------------------------------------------------------------ | |||
| JUCE can be redistributed and/or modified under the terms of the GNU General | |||
| Public License (Version 2), as published by the Free Software Foundation. | |||
| A copy of the license is included in the JUCE distribution, or can be found | |||
| online at www.gnu.org/licenses. | |||
| JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
| WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
| A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
| ------------------------------------------------------------------------------ | |||
| To release a closed-source product which uses JUCE, commercial licenses are | |||
| available: visit www.rawmaterialsoftware.com/juce for more information. | |||
| ============================================================================== | |||
| */ | |||
| #include "../Project Saving/jucer_ProjectExporter.h" | |||
| #include "../Application/jucer_Application.h" | |||
| #include "jucer_ConfigPage.h" | |||
| #include "jucer_ModulesPanel.h" | |||
| //============================================================================== | |||
| void SettingsTreeViewItemBase::showSettingsPage (Component* content) | |||
| { | |||
| content->setComponentID (getUniqueName()); | |||
| ScopedPointer<Component> comp (content); | |||
| ProjectContentComponent* pcc = getProjectContentComponent(); | |||
| if (pcc != nullptr) | |||
| pcc->setEditorComponent (new PropertyPanelViewport (comp.release()), nullptr); | |||
| } | |||
| void SettingsTreeViewItemBase::closeSettingsPage() | |||
| { | |||
| ProjectContentComponent* pcc = getProjectContentComponent(); | |||
| if (pcc != nullptr) | |||
| { | |||
| PropertyPanelViewport* ppv = dynamic_cast<PropertyPanelViewport*> (pcc->getEditorComponent()); | |||
| if (ppv != nullptr && ppv->viewport.getViewedComponent()->getComponentID() == getUniqueName()) | |||
| pcc->hideEditor(); | |||
| } | |||
| } | |||
| //============================================================================== | |||
| namespace ProjectSettingsTreeClasses | |||
| { | |||
| class ConfigItem : public SettingsTreeViewItemBase | |||
| { | |||
| public: | |||
| ConfigItem (const ProjectExporter::BuildConfiguration::Ptr& config_, const String& exporterName_) | |||
| : config (config_), exporterName (exporterName_), configTree (config->config) | |||
| { | |||
| jassert (config != nullptr); | |||
| configTree.addListener (this); | |||
| } | |||
| bool isRoot() const { return false; } | |||
| bool isMissing() { return false; } | |||
| bool canBeSelected() const { return true; } | |||
| bool mightContainSubItems() { return false; } | |||
| String getUniqueName() const { return config->project.getProjectUID() + "_config_" + config->getName(); } | |||
| String getRenamingName() const { return getDisplayName(); } | |||
| String getDisplayName() const { return config->getName(); } | |||
| void setName (const String&) {} | |||
| const Drawable* getIcon() const { return StoredSettings::getInstance()->getCogIcon(); } | |||
| void showDocument() { showSettingsPage (new SettingsComp (config, exporterName)); } | |||
| void itemOpennessChanged (bool) {} | |||
| void deleteItem() | |||
| { | |||
| if (AlertWindow::showOkCancelBox (AlertWindow::WarningIcon, "Delete Configuration", | |||
| "Are you sure you want to delete this configuration?")) | |||
| { | |||
| closeSettingsPage(); | |||
| config->removeFromExporter(); | |||
| } | |||
| } | |||
| void showPopupMenu() | |||
| { | |||
| PopupMenu menu; | |||
| menu.addItem (1, "Create a copy of this configuration"); | |||
| menu.addSeparator(); | |||
| menu.addItem (2, "Delete this configuration"); | |||
| launchPopupMenu (menu); | |||
| } | |||
| void handlePopupMenuResult (int resultCode) | |||
| { | |||
| if (resultCode == 2) | |||
| { | |||
| deleteAllSelectedItems(); | |||
| } | |||
| else if (resultCode == 1) | |||
| { | |||
| for (Project::ExporterIterator exporter (config->project); exporter.next();) | |||
| { | |||
| if (config->config.isAChildOf (exporter.exporter->settings)) | |||
| { | |||
| exporter.exporter->addNewConfiguration (config); | |||
| break; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| var getDragSourceDescription() | |||
| { | |||
| return getParentItem()->getUniqueName() + "||" + config->getName(); | |||
| } | |||
| void valueTreePropertyChanged (ValueTree&, const Identifier&) { repaintItem(); } | |||
| private: | |||
| ProjectExporter::BuildConfiguration::Ptr config; | |||
| String exporterName; | |||
| ValueTree configTree; | |||
| //============================================================================== | |||
| class SettingsComp : public Component | |||
| { | |||
| public: | |||
| SettingsComp (ProjectExporter::BuildConfiguration* config, const String& exporterName) | |||
| { | |||
| addAndMakeVisible (&group); | |||
| PropertyListBuilder props; | |||
| config->createPropertyEditors (props); | |||
| group.setProperties (props); | |||
| group.setName (exporterName + " / " + config->getName()); | |||
| parentSizeChanged(); | |||
| } | |||
| void parentSizeChanged() { updateSize (*this, group); } | |||
| private: | |||
| PropertyGroup group; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SettingsComp); | |||
| }; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConfigItem); | |||
| }; | |||
| //============================================================================== | |||
| class ExporterItem : public SettingsTreeViewItemBase | |||
| { | |||
| public: | |||
| ExporterItem (Project& project_, ProjectExporter* exporter_, int exporterIndex_) | |||
| : project (project_), exporter (exporter_), configListTree (exporter->getConfigurations()), | |||
| exporterIndex (exporterIndex_) | |||
| { | |||
| configListTree.addListener (this); | |||
| jassert (exporter != nullptr); | |||
| } | |||
| bool isRoot() const { return false; } | |||
| bool canBeSelected() const { return true; } | |||
| bool mightContainSubItems() { return exporter->getNumConfigurations() > 0; } | |||
| String getUniqueName() const { return project.getProjectUID() + "_exporter_" + String (exporterIndex); } | |||
| String getRenamingName() const { return getDisplayName(); } | |||
| String getDisplayName() const { return exporter->getName(); } | |||
| void setName (const String&) {} | |||
| bool isMissing() { return false; } | |||
| const Drawable* getIcon() const { return LookAndFeel::getDefaultLookAndFeel().getDefaultDocumentFileImage(); } | |||
| void showDocument() { showSettingsPage (new SettingsComp (exporter)); } | |||
| void deleteItem() | |||
| { | |||
| if (AlertWindow::showOkCancelBox (AlertWindow::WarningIcon, "Delete Exporter", | |||
| "Are you sure you want to delete this export target?")) | |||
| { | |||
| closeSettingsPage(); | |||
| ValueTree parent (exporter->settings.getParent()); | |||
| parent.removeChild (exporter->settings, project.getUndoManagerFor (parent)); | |||
| } | |||
| } | |||
| void addSubItems() | |||
| { | |||
| for (ProjectExporter::ConfigIterator config (*exporter); config.next();) | |||
| addSubItem (new ConfigItem (config.config, exporter->getName())); | |||
| } | |||
| void showPopupMenu() | |||
| { | |||
| PopupMenu menu; | |||
| menu.addItem (1, "Add a new configuration"); | |||
| menu.addSeparator(); | |||
| menu.addItem (2, "Delete this exporter"); | |||
| launchPopupMenu (menu); | |||
| } | |||
| void handlePopupMenuResult (int resultCode) | |||
| { | |||
| if (resultCode == 2) | |||
| deleteAllSelectedItems(); | |||
| else if (resultCode == 1) | |||
| exporter->addNewConfiguration (nullptr); | |||
| } | |||
| var getDragSourceDescription() | |||
| { | |||
| return getParentItem()->getUniqueName() + "/" + String (exporterIndex); | |||
| } | |||
| bool isInterestedInDragSource (const DragAndDropTarget::SourceDetails& dragSourceDetails) | |||
| { | |||
| return dragSourceDetails.description.toString().startsWith (getUniqueName()); | |||
| } | |||
| void itemDropped (const DragAndDropTarget::SourceDetails& dragSourceDetails, int insertIndex) | |||
| { | |||
| const int oldIndex = indexOfConfig (dragSourceDetails.description.toString().fromLastOccurrenceOf ("||", false, false)); | |||
| if (oldIndex >= 0) | |||
| configListTree.moveChild (oldIndex, insertIndex, project.getUndoManagerFor (configListTree)); | |||
| } | |||
| int indexOfConfig (const String& configName) | |||
| { | |||
| int i = 0; | |||
| for (ProjectExporter::ConfigIterator config (*exporter); config.next(); ++i) | |||
| if (config->getName() == configName) | |||
| return i; | |||
| return -1; | |||
| } | |||
| //============================================================================== | |||
| void valueTreeChildAdded (ValueTree& parentTree, ValueTree&) { refreshIfNeeded (parentTree); } | |||
| void valueTreeChildRemoved (ValueTree& parentTree, ValueTree&) { refreshIfNeeded (parentTree); } | |||
| void valueTreeChildOrderChanged (ValueTree& parentTree) { refreshIfNeeded (parentTree); } | |||
| void refreshIfNeeded (ValueTree& changedTree) | |||
| { | |||
| if (changedTree == configListTree) | |||
| refreshSubItems(); | |||
| } | |||
| private: | |||
| Project& project; | |||
| ScopedPointer<ProjectExporter> exporter; | |||
| ValueTree configListTree; | |||
| int exporterIndex; | |||
| //============================================================================== | |||
| class SettingsComp : public Component | |||
| { | |||
| public: | |||
| SettingsComp (ProjectExporter* exporter) | |||
| { | |||
| addAndMakeVisible (&group); | |||
| PropertyListBuilder props; | |||
| exporter->createPropertyEditors (props); | |||
| group.setProperties (props); | |||
| group.setName ("Export target: " + exporter->getName()); | |||
| parentSizeChanged(); | |||
| } | |||
| void parentSizeChanged() { updateSize (*this, group); } | |||
| private: | |||
| PropertyGroup group; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SettingsComp); | |||
| }; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ExporterItem); | |||
| }; | |||
| //============================================================================== | |||
| class ModulesItem : public SettingsTreeViewItemBase | |||
| { | |||
| public: | |||
| ModulesItem (Project& project_) : project (project_) {} | |||
| bool isRoot() const { return false; } | |||
| bool canBeSelected() const { return true; } | |||
| bool mightContainSubItems() { return false; } | |||
| String getUniqueName() const { return project.getProjectUID() + "_modules"; } | |||
| String getRenamingName() const { return getDisplayName(); } | |||
| String getDisplayName() const { return "Modules"; } | |||
| void setName (const String&) {} | |||
| bool isMissing() { return false; } | |||
| const Drawable* getIcon() const { return project.getMainGroup().getIcon(); } | |||
| void showDocument() { showSettingsPage (new SettingsComp (project)); } | |||
| private: | |||
| Project& project; | |||
| //============================================================================== | |||
| class SettingsComp : public Component | |||
| { | |||
| public: | |||
| SettingsComp (Project& project_) : project (project_) | |||
| { | |||
| addAndMakeVisible (&group); | |||
| PropertyListBuilder props; | |||
| props.add (new ModulesPanel (project)); | |||
| group.setProperties (props); | |||
| group.setName ("Modules"); | |||
| parentSizeChanged(); | |||
| } | |||
| void parentSizeChanged() | |||
| { | |||
| updateSize (*this, group); | |||
| } | |||
| private: | |||
| Project& project; | |||
| var lastProjectType; | |||
| PropertyGroup group; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SettingsComp); | |||
| }; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ModulesItem); | |||
| }; | |||
| //============================================================================== | |||
| class RootItem : public SettingsTreeViewItemBase | |||
| { | |||
| public: | |||
| RootItem (Project& project_) | |||
| : project (project_), exportersTree (project_.getExporters()) | |||
| { | |||
| exportersTree.addListener (this); | |||
| } | |||
| bool isRoot() const { return true; } | |||
| String getRenamingName() const { return getDisplayName(); } | |||
| String getDisplayName() const { return project.getTitle(); } | |||
| void setName (const String&) {} | |||
| bool isMissing() { return false; } | |||
| const Drawable* getIcon() const { return project.getMainGroup().getIcon(); } | |||
| void showDocument() { showSettingsPage (new SettingsComp (project)); } | |||
| bool canBeSelected() const { return true; } | |||
| bool mightContainSubItems() { return project.getNumExporters() > 0; } | |||
| String getUniqueName() const { return project.getProjectUID() + "_config_root"; } | |||
| void addSubItems() | |||
| { | |||
| addSubItem (new ModulesItem (project)); | |||
| int i = 0; | |||
| for (Project::ExporterIterator exporter (project); exporter.next(); ++i) | |||
| addSubItem (new ExporterItem (project, exporter.exporter.release(), i)); | |||
| JucerApplication::getApp()->addExtraConfigItems (project, *this); | |||
| } | |||
| void showPopupMenu() | |||
| { | |||
| PopupMenu menu; | |||
| const StringArray exporters (ProjectExporter::getExporterNames()); | |||
| for (int i = 0; i < exporters.size(); ++i) | |||
| menu.addItem (i + 1, "Create a new " + exporters[i] + " target"); | |||
| launchPopupMenu (menu); | |||
| } | |||
| void handlePopupMenuResult (int resultCode) | |||
| { | |||
| if (resultCode > 0) | |||
| { | |||
| String exporterName (ProjectExporter::getExporterNames() [resultCode - 1]); | |||
| if (exporterName.isNotEmpty()) | |||
| project.addNewExporter (exporterName); | |||
| } | |||
| } | |||
| bool isInterestedInDragSource (const DragAndDropTarget::SourceDetails& dragSourceDetails) | |||
| { | |||
| return dragSourceDetails.description.toString().startsWith (getUniqueName()); | |||
| } | |||
| void itemDropped (const DragAndDropTarget::SourceDetails& dragSourceDetails, int insertIndex) | |||
| { | |||
| int oldIndex = dragSourceDetails.description.toString().getTrailingIntValue(); | |||
| exportersTree.moveChild (oldIndex, insertIndex, project.getUndoManagerFor (exportersTree)); | |||
| } | |||
| //============================================================================== | |||
| void valueTreeChildAdded (ValueTree& parentTree, ValueTree&) { refreshIfNeeded (parentTree); } | |||
| void valueTreeChildRemoved (ValueTree& parentTree, ValueTree&) { refreshIfNeeded (parentTree); } | |||
| void valueTreeChildOrderChanged (ValueTree& parentTree) { refreshIfNeeded (parentTree); } | |||
| void refreshIfNeeded (ValueTree& changedTree) | |||
| { | |||
| if (changedTree == exportersTree) | |||
| refreshSubItems(); | |||
| } | |||
| private: | |||
| Project& project; | |||
| ValueTree exportersTree; | |||
| //============================================================================== | |||
| class SettingsComp : public Component, | |||
| private ChangeListener | |||
| { | |||
| public: | |||
| SettingsComp (Project& project_) | |||
| : project (project_) | |||
| { | |||
| addAndMakeVisible (&group); | |||
| updatePropertyList(); | |||
| project.addChangeListener (this); | |||
| } | |||
| ~SettingsComp() | |||
| { | |||
| project.removeChangeListener (this); | |||
| } | |||
| void parentSizeChanged() | |||
| { | |||
| updateSize (*this, group); | |||
| } | |||
| void updatePropertyList() | |||
| { | |||
| PropertyListBuilder props; | |||
| project.createPropertyEditors (props); | |||
| group.setProperties (props); | |||
| group.setName ("Project Settings"); | |||
| lastProjectType = project.getProjectTypeValue().getValue(); | |||
| parentSizeChanged(); | |||
| } | |||
| void changeListenerCallback (ChangeBroadcaster*) | |||
| { | |||
| if (lastProjectType != project.getProjectTypeValue().getValue()) | |||
| updatePropertyList(); | |||
| } | |||
| private: | |||
| Project& project; | |||
| var lastProjectType; | |||
| PropertyGroup group; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SettingsComp); | |||
| }; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (RootItem); | |||
| }; | |||
| } | |||
| JucerTreeViewBase* createProjectConfigTreeViewRoot (Project& project) | |||
| { | |||
| return new ProjectSettingsTreeClasses::RootItem (project); | |||
| } | |||
| @@ -0,0 +1,163 @@ | |||
| /* | |||
| ============================================================================== | |||
| This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||
| Copyright 2004-11 by Raw Material Software Ltd. | |||
| ------------------------------------------------------------------------------ | |||
| JUCE can be redistributed and/or modified under the terms of the GNU General | |||
| Public License (Version 2), as published by the Free Software Foundation. | |||
| A copy of the license is included in the JUCE distribution, or can be found | |||
| online at www.gnu.org/licenses. | |||
| JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
| WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
| A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
| ------------------------------------------------------------------------------ | |||
| To release a closed-source product which uses JUCE, commercial licenses are | |||
| available: visit www.rawmaterialsoftware.com/juce for more information. | |||
| ============================================================================== | |||
| */ | |||
| #ifndef __JUCER_PROJECTINFORMATIONCOMPONENT_H_30FFCD07__ | |||
| #define __JUCER_PROJECTINFORMATIONCOMPONENT_H_30FFCD07__ | |||
| #include "jucer_Project.h" | |||
| #include "../Utility/jucer_JucerTreeViewBase.h" | |||
| //============================================================================== | |||
| JucerTreeViewBase* createProjectConfigTreeViewRoot (Project& project); | |||
| //============================================================================== | |||
| class PropertyGroup : public Component | |||
| { | |||
| public: | |||
| PropertyGroup() {} | |||
| void setProperties (const PropertyListBuilder& newProps) | |||
| { | |||
| properties.clear(); | |||
| properties.addArray (newProps.components); | |||
| for (int i = properties.size(); --i >= 0;) | |||
| addAndMakeVisible (properties.getUnchecked(i)); | |||
| } | |||
| int updateSize (int x, int y, int width) | |||
| { | |||
| int height = 36; | |||
| for (int i = 0; i < properties.size(); ++i) | |||
| { | |||
| PropertyComponent* pp = properties.getUnchecked(i); | |||
| pp->setBounds (10, height, width - 20, pp->getPreferredHeight()); | |||
| height += pp->getHeight(); | |||
| } | |||
| height += 16; | |||
| setBounds (x, y, width, height); | |||
| return height; | |||
| } | |||
| void paint (Graphics& g) | |||
| { | |||
| g.setColour (Colours::white.withAlpha (0.3f)); | |||
| g.fillRect (0, 28, getWidth(), getHeight() - 38); | |||
| g.setColour (Colours::black.withAlpha (0.4f)); | |||
| g.drawRect (0, 28, getWidth(), getHeight() - 38); | |||
| g.setFont (Font (14.0f, Font::bold)); | |||
| g.setColour (Colours::black); | |||
| g.drawFittedText (getName(), 12, 0, getWidth() - 16, 26, Justification::bottomLeft, 1); | |||
| } | |||
| OwnedArray<PropertyComponent> properties; | |||
| private: | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PropertyGroup); | |||
| }; | |||
| //============================================================================== | |||
| class PropertyPanelViewport : public Component | |||
| { | |||
| public: | |||
| PropertyPanelViewport (Component* content) | |||
| { | |||
| addAndMakeVisible (&viewport); | |||
| addAndMakeVisible (&rolloverHelp); | |||
| viewport.setViewedComponent (content, true); | |||
| } | |||
| void paint (Graphics& g) | |||
| { | |||
| g.setTiledImageFill (ImageCache::getFromMemory (BinaryData::brushed_aluminium_png, | |||
| BinaryData::brushed_aluminium_pngSize), | |||
| 0, 0, 1.0f); | |||
| g.fillAll(); | |||
| drawRecessedShadows (g, getWidth(), getHeight(), 14); | |||
| } | |||
| void resized() | |||
| { | |||
| Rectangle<int> r (getLocalBounds()); | |||
| rolloverHelp.setBounds (r.removeFromBottom (70).reduced (10, 0)); | |||
| viewport.setBounds (r); | |||
| } | |||
| Viewport viewport; | |||
| RolloverHelpComp rolloverHelp; | |||
| private: | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PropertyPanelViewport); | |||
| }; | |||
| //============================================================================== | |||
| class SettingsTreeViewItemBase : public JucerTreeViewBase, | |||
| public ValueTree::Listener | |||
| { | |||
| public: | |||
| SettingsTreeViewItemBase() {} | |||
| void showSettingsPage (Component* content); | |||
| void closeSettingsPage(); | |||
| void deleteAllSelectedItems() | |||
| { | |||
| TreeView* const tree = getOwnerView(); | |||
| jassert (tree->getNumSelectedItems() <= 1); // multi-select should be disabled | |||
| if (SettingsTreeViewItemBase* s = dynamic_cast <SettingsTreeViewItemBase*> (tree->getSelectedItem (0))) | |||
| s->deleteItem(); | |||
| } | |||
| void itemOpennessChanged (bool isNowOpen) | |||
| { | |||
| if (isNowOpen) | |||
| refreshSubItems(); | |||
| } | |||
| void valueTreePropertyChanged (ValueTree&, const Identifier&) {} | |||
| void valueTreeChildAdded (ValueTree&, ValueTree&) {} | |||
| void valueTreeChildRemoved (ValueTree&, ValueTree&) {} | |||
| void valueTreeChildOrderChanged (ValueTree&) {} | |||
| void valueTreeParentChanged (ValueTree&) {} | |||
| static void updateSize (Component& comp, PropertyGroup& group) | |||
| { | |||
| const int width = jmax (550, comp.getParentWidth() - 20); | |||
| int y = 0; | |||
| y += group.updateSize (12, y, width - 12); | |||
| comp.setSize (width, y); | |||
| } | |||
| }; | |||
| #endif // __JUCER_PROJECTINFORMATIONCOMPONENT_H_30FFCD07__ | |||
| @@ -0,0 +1,504 @@ | |||
| /* | |||
| ============================================================================== | |||
| This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||
| Copyright 2004-11 by Raw Material Software Ltd. | |||
| ------------------------------------------------------------------------------ | |||
| JUCE can be redistributed and/or modified under the terms of the GNU General | |||
| Public License (Version 2), as published by the Free Software Foundation. | |||
| A copy of the license is included in the JUCE distribution, or can be found | |||
| online at www.gnu.org/licenses. | |||
| JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
| WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
| A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
| ------------------------------------------------------------------------------ | |||
| To release a closed-source product which uses JUCE, commercial licenses are | |||
| available: visit www.rawmaterialsoftware.com/juce for more information. | |||
| ============================================================================== | |||
| */ | |||
| #ifndef __JUCER_MODULESPANEL_H_D0C12034__ | |||
| #define __JUCER_MODULESPANEL_H_D0C12034__ | |||
| class ModulesPanel : public PropertyComponent, | |||
| public FilenameComponentListener, | |||
| public ButtonListener | |||
| { | |||
| public: | |||
| ModulesPanel (Project& project_) | |||
| : PropertyComponent ("Modules", 500), | |||
| project (project_), | |||
| modulesLocation ("modules", ModuleList::getLocalModulesFolder (&project), | |||
| true, true, false, "*", String::empty, | |||
| "Select a folder containing your JUCE modules..."), | |||
| modulesLabel (String::empty, "Module source folder:"), | |||
| updateModulesButton ("Check for module updates..."), | |||
| moduleListBox (moduleList), | |||
| copyingMessage (project_, moduleList) | |||
| { | |||
| moduleList.rescan (ModuleList::getLocalModulesFolder (&project)); | |||
| addAndMakeVisible (&modulesLocation); | |||
| modulesLocation.setBounds ("150, 3, parent.width - 180, 28"); | |||
| modulesLocation.addListener (this); | |||
| modulesLabel.attachToComponent (&modulesLocation, true); | |||
| addAndMakeVisible (&updateModulesButton); | |||
| updateModulesButton.setBounds ("parent.width - 175, 3, parent.width - 4, 28"); | |||
| updateModulesButton.addListener (this); | |||
| moduleListBox.setOwner (this); | |||
| addAndMakeVisible (&moduleListBox); | |||
| moduleListBox.setBounds ("4, 31, parent.width / 2 - 4, parent.height - 32"); | |||
| addAndMakeVisible (©ingMessage); | |||
| copyingMessage.setBounds ("4, parent.height - 30, parent.width - 4, parent.height - 1"); | |||
| copyingMessage.refresh(); | |||
| } | |||
| void filenameComponentChanged (FilenameComponent*) | |||
| { | |||
| moduleList.rescan (modulesLocation.getCurrentFile()); | |||
| modulesLocation.setCurrentFile (moduleList.getModulesFolder(), false, false); | |||
| ModuleList::setLocalModulesFolder (moduleList.getModulesFolder()); | |||
| moduleListBox.refresh(); | |||
| } | |||
| void buttonClicked (Button*) | |||
| { | |||
| JuceUpdater::show (moduleList, getTopLevelComponent(), ""); | |||
| filenameComponentChanged (nullptr); | |||
| } | |||
| bool isEnabled (const ModuleList::Module* m) const | |||
| { | |||
| return project.isModuleEnabled (m->uid); | |||
| } | |||
| void setEnabled (const ModuleList::Module* m, bool enable) | |||
| { | |||
| if (enable) | |||
| project.addModule (m->uid, true); | |||
| else | |||
| project.removeModule (m->uid); | |||
| refresh(); | |||
| } | |||
| bool areDependenciesMissing (const ModuleList::Module* m) | |||
| { | |||
| return moduleList.getExtraDependenciesNeeded (project, *m).size() > 0; | |||
| } | |||
| void selectionChanged (const ModuleList::Module* selectedModule) | |||
| { | |||
| settings = nullptr; | |||
| if (selectedModule != nullptr) | |||
| { | |||
| addAndMakeVisible (settings = new ModuleSettingsPanel (project, moduleList, selectedModule->uid)); | |||
| settings->setBounds ("parent.width / 2 + 1, 31, parent.width - 3, parent.height - 32"); | |||
| } | |||
| copyingMessage.refresh(); | |||
| } | |||
| void refresh() | |||
| { | |||
| moduleListBox.refresh(); | |||
| if (settings != nullptr) | |||
| settings->refreshAll(); | |||
| copyingMessage.refresh(); | |||
| } | |||
| void paint (Graphics& g) // (overridden to avoid drawing the name) | |||
| { | |||
| getLookAndFeel().drawPropertyComponentBackground (g, getWidth(), getHeight(), *this); | |||
| } | |||
| //============================================================================== | |||
| class ModuleSelectionListBox : public ListBox, | |||
| public ListBoxModel | |||
| { | |||
| public: | |||
| ModuleSelectionListBox (ModuleList& list_) | |||
| : list (list_), owner (nullptr) | |||
| { | |||
| setColour (ListBox::backgroundColourId, Colours::white.withAlpha (0.4f)); | |||
| setTooltip ("Use this list to select which modules should be included in your app.\n" | |||
| "Any modules which have missing dependencies will be shown in red."); | |||
| } | |||
| void setOwner (ModulesPanel* owner_) | |||
| { | |||
| owner = owner_; | |||
| setModel (this); | |||
| } | |||
| void refresh() | |||
| { | |||
| updateContent(); | |||
| repaint(); | |||
| } | |||
| int getNumRows() | |||
| { | |||
| return list.modules.size(); | |||
| } | |||
| void paintListBoxItem (int rowNumber, Graphics& g, int width, int height, bool rowIsSelected) | |||
| { | |||
| if (rowIsSelected) | |||
| g.fillAll (findColour (TextEditor::highlightColourId)); | |||
| const ModuleList::Module* const m = list.modules [rowNumber]; | |||
| if (m != nullptr) | |||
| { | |||
| const float tickSize = height * 0.7f; | |||
| getLookAndFeel().drawTickBox (g, *this, (height - tickSize) / 2, (height - tickSize) / 2, tickSize, tickSize, | |||
| owner->isEnabled (m), true, false, false); | |||
| if (owner->isEnabled (m) && owner->areDependenciesMissing (m)) | |||
| g.setColour (Colours::red); | |||
| else | |||
| g.setColour (Colours::black); | |||
| g.setFont (Font (height * 0.7f, Font::bold)); | |||
| g.drawFittedText (m->uid, height, 0, 200, height, Justification::centredLeft, 1); | |||
| g.setFont (Font (height * 0.55f, Font::italic)); | |||
| g.drawText (m->name, height + 200, 0, width - height - 200, height, Justification::centredLeft, true); | |||
| } | |||
| } | |||
| void listBoxItemClicked (int row, const MouseEvent& e) | |||
| { | |||
| if (e.x < getRowHeight()) | |||
| flipRow (row); | |||
| } | |||
| void listBoxItemDoubleClicked (int row, const MouseEvent& e) | |||
| { | |||
| flipRow (row); | |||
| } | |||
| void returnKeyPressed (int row) | |||
| { | |||
| flipRow (row); | |||
| } | |||
| void selectedRowsChanged (int lastRowSelected) | |||
| { | |||
| owner->selectionChanged (list.modules [lastRowSelected]); | |||
| } | |||
| void flipRow (int row) | |||
| { | |||
| const ModuleList::Module* const m = list.modules [row]; | |||
| if (m != nullptr) | |||
| owner->setEnabled (m, ! owner->isEnabled (m)); | |||
| } | |||
| private: | |||
| ModuleList& list; | |||
| ModulesPanel* owner; | |||
| }; | |||
| //============================================================================== | |||
| class ModuleSettingsPanel : public PropertyPanel | |||
| { | |||
| public: | |||
| ModuleSettingsPanel (Project& project_, ModuleList& moduleList_, const String& moduleID_) | |||
| : project (project_), moduleList (moduleList_), moduleID (moduleID_) | |||
| { | |||
| refreshAll(); | |||
| } | |||
| void refreshAll() | |||
| { | |||
| setEnabled (project.isModuleEnabled (moduleID)); | |||
| clear(); | |||
| PropertyListBuilder props; | |||
| ScopedPointer<LibraryModule> module (moduleList.loadModule (moduleID)); | |||
| if (module != nullptr) | |||
| { | |||
| props.add (new ModuleInfoComponent (project, moduleList, moduleID)); | |||
| if (project.isModuleEnabled (moduleID)) | |||
| { | |||
| const ModuleList::Module* m = moduleList.findModuleInfo (moduleID); | |||
| if (m != nullptr && moduleList.getExtraDependenciesNeeded (project, *m).size() > 0) | |||
| props.add (new MissingDependenciesComponent (project, moduleList, moduleID)); | |||
| } | |||
| props.add (new BooleanPropertyComponent (project.shouldShowAllModuleFilesInProject (moduleID), | |||
| "Add source to project", "Make module files browsable in projects"), | |||
| "If this is enabled, then the entire source tree from this module will be shown inside your project, " | |||
| "making it easy to browse/edit the module's classes. If disabled, then only the minimum number of files " | |||
| "required to compile it will appear inside your project."); | |||
| props.add (new BooleanPropertyComponent (project.shouldCopyModuleFilesLocally (moduleID), | |||
| "Create local copy", "Copy the module into the project folder"), | |||
| "If this is enabled, then a local copy of the entire module will be made inside your project (in the auto-generated JuceLibraryFiles folder), " | |||
| "so that your project will be self-contained, and won't need to contain any references to files in other folders. " | |||
| "This also means that you can check the module into your source-control system to make sure it is always in sync with your own code."); | |||
| StringArray possibleValues; | |||
| possibleValues.add ("(Use Default)"); | |||
| possibleValues.add ("Enabled"); | |||
| possibleValues.add ("Disabled"); | |||
| Array<var> mappings; | |||
| mappings.add (Project::configFlagDefault); | |||
| mappings.add (Project::configFlagEnabled); | |||
| mappings.add (Project::configFlagDisabled); | |||
| OwnedArray <Project::ConfigFlag> flags; | |||
| module->getConfigFlags (project, flags); | |||
| for (int i = 0; i < flags.size(); ++i) | |||
| { | |||
| ChoicePropertyComponent* c = new ChoicePropertyComponent (flags[i]->value, flags[i]->symbol, possibleValues, mappings); | |||
| c->setTooltip (flags[i]->description); | |||
| props.add (c); | |||
| } | |||
| } | |||
| addProperties (props.components); | |||
| } | |||
| private: | |||
| Project& project; | |||
| ModuleList& moduleList; | |||
| String moduleID; | |||
| //============================================================================== | |||
| class ModuleInfoComponent : public PropertyComponent | |||
| { | |||
| public: | |||
| ModuleInfoComponent (Project& project_, ModuleList& moduleList_, const String& moduleID_) | |||
| : PropertyComponent ("Module", 100), project (project_), moduleList (moduleList_), moduleID (moduleID_) | |||
| { | |||
| } | |||
| void refresh() {} | |||
| void paint (Graphics& g) | |||
| { | |||
| g.setColour (Colours::white.withAlpha (0.4f)); | |||
| g.fillRect (0, 0, getWidth(), getHeight() - 1); | |||
| const ModuleList::Module* module = moduleList.findModuleInfo (moduleID); | |||
| if (module != nullptr) | |||
| { | |||
| String text; | |||
| text << module->name << newLine << "Version: " << module->version << newLine << newLine | |||
| << module->description; | |||
| GlyphArrangement ga; | |||
| ga.addJustifiedText (Font (13.0f), text, 4.0f, 16.0f, getWidth() - 8.0f, Justification::topLeft); | |||
| g.setColour (Colours::black); | |||
| ga.draw (g); | |||
| } | |||
| } | |||
| private: | |||
| Project& project; | |||
| ModuleList& moduleList; | |||
| String moduleID; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ModuleInfoComponent); | |||
| }; | |||
| //============================================================================== | |||
| class MissingDependenciesComponent : public PropertyComponent, | |||
| public ButtonListener | |||
| { | |||
| public: | |||
| MissingDependenciesComponent (Project& project_, ModuleList& moduleList_, const String& moduleID_) | |||
| : PropertyComponent ("Dependencies", 100), | |||
| project (project_), moduleList (moduleList_), moduleID (moduleID_), | |||
| fixButton ("Enable Required Modules") | |||
| { | |||
| const ModuleList::Module* module = moduleList.findModuleInfo (moduleID); | |||
| if (module != nullptr) | |||
| missingDependencies = moduleList.getExtraDependenciesNeeded (project, *module); | |||
| addAndMakeVisible (&fixButton); | |||
| fixButton.setColour (TextButton::buttonColourId, Colours::red); | |||
| fixButton.setColour (TextButton::textColourOffId, Colours::white); | |||
| fixButton.setBounds ("right - 160, parent.height - 26, parent.width - 8, top + 22"); | |||
| fixButton.addListener (this); | |||
| } | |||
| void refresh() {} | |||
| void paint (Graphics& g) | |||
| { | |||
| g.setColour (Colours::white.withAlpha (0.4f)); | |||
| g.fillRect (0, 0, getWidth(), getHeight() - 1); | |||
| String text ("This module requires the following dependencies:\n"); | |||
| text << missingDependencies.joinIntoString (", "); | |||
| GlyphArrangement ga; | |||
| ga.addJustifiedText (Font (13.0f), text, 4.0f, 16.0f, getWidth() - 8.0f, Justification::topLeft); | |||
| g.setColour (Colours::red); | |||
| ga.draw (g); | |||
| } | |||
| void buttonClicked (Button*) | |||
| { | |||
| bool isModuleCopiedLocally = project.shouldCopyModuleFilesLocally (moduleID).getValue(); | |||
| for (int i = missingDependencies.size(); --i >= 0;) | |||
| project.addModule (missingDependencies[i], isModuleCopiedLocally); | |||
| ModulesPanel* mp = findParentComponentOfClass<ModulesPanel>(); | |||
| if (mp != nullptr) | |||
| mp->refresh(); | |||
| } | |||
| private: | |||
| Project& project; | |||
| ModuleList& moduleList; | |||
| String moduleID; | |||
| StringArray missingDependencies; | |||
| TextButton fixButton; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MissingDependenciesComponent); | |||
| }; | |||
| }; | |||
| //============================================================================== | |||
| class ModuleCopyingInfo : public Component, | |||
| public ButtonListener, | |||
| public Timer | |||
| { | |||
| public: | |||
| ModuleCopyingInfo (Project& project_, ModuleList& list_) | |||
| : project (project_), list (list_), | |||
| copyModeButton ("Set Copying Mode...") | |||
| { | |||
| addAndMakeVisible (©ModeButton); | |||
| copyModeButton.setBounds ("4, parent.height / 2 - 10, 160, parent.height / 2 + 10"); | |||
| copyModeButton.addListener (this); | |||
| startTimer (1500); | |||
| } | |||
| void paint (Graphics& g) | |||
| { | |||
| g.setFont (11.0f); | |||
| g.setColour (Colours::darkred); | |||
| g.drawFittedText (getName(), copyModeButton.getRight() + 10, 0, | |||
| getWidth() - copyModeButton.getRight() - 16, getHeight(), | |||
| Justification::centredRight, 4); | |||
| } | |||
| void refresh() | |||
| { | |||
| int numCopied, numNonCopied; | |||
| countCopiedModules (numCopied, numNonCopied); | |||
| String newName; | |||
| if (numCopied > 0 && numNonCopied > 0) | |||
| newName = "Warning! Some of your modules are set to use local copies, and others are using remote references.\n" | |||
| "This may create problems if some modules expect to share the same parent folder, so you may " | |||
| "want to make sure that they are all either copied or not."; | |||
| if (project.isAudioPluginModuleMissing()) | |||
| newName = "Warning! Your project is an audio plugin, but you haven't enabled the 'juce_audio_plugin_client' module!"; | |||
| if (newName != getName()) | |||
| { | |||
| setName (newName); | |||
| repaint(); | |||
| } | |||
| } | |||
| void countCopiedModules (int& numCopied, int& numNonCopied) | |||
| { | |||
| numCopied = numNonCopied = 0; | |||
| for (int i = list.modules.size(); --i >= 0;) | |||
| { | |||
| const String moduleID (list.modules.getUnchecked(i)->uid); | |||
| if (project.isModuleEnabled (moduleID)) | |||
| { | |||
| if (project.shouldCopyModuleFilesLocally (moduleID).getValue()) | |||
| ++numCopied; | |||
| else | |||
| ++numNonCopied; | |||
| } | |||
| } | |||
| } | |||
| void buttonClicked (Button*) | |||
| { | |||
| PopupMenu menu; | |||
| menu.addItem (1, "Enable local copying for all modules"); | |||
| menu.addItem (2, "Disable local copying for all modules"); | |||
| menu.showMenuAsync (PopupMenu::Options().withTargetComponent (©ModeButton), | |||
| ModalCallbackFunction::forComponent (copyMenuItemChosen, this)); | |||
| } | |||
| static void copyMenuItemChosen (int resultCode, ModuleCopyingInfo* comp) | |||
| { | |||
| if (resultCode > 0 && comp != nullptr) | |||
| comp->setCopyModeForAllModules (resultCode == 1); | |||
| } | |||
| void setCopyModeForAllModules (bool copyEnabled) | |||
| { | |||
| for (int i = list.modules.size(); --i >= 0;) | |||
| project.shouldCopyModuleFilesLocally (list.modules.getUnchecked(i)->uid) = copyEnabled; | |||
| refresh(); | |||
| } | |||
| void timerCallback() | |||
| { | |||
| refresh(); | |||
| } | |||
| private: | |||
| Project& project; | |||
| ModuleList& list; | |||
| TextButton copyModeButton; | |||
| }; | |||
| private: | |||
| Project& project; | |||
| ModuleList moduleList; | |||
| FilenameComponent modulesLocation; | |||
| Label modulesLabel; | |||
| TextButton updateModulesButton; | |||
| ModuleSelectionListBox moduleListBox; | |||
| ModuleCopyingInfo copyingMessage; | |||
| ScopedPointer<ModuleSettingsPanel> settings; | |||
| }; | |||
| #endif | |||
| @@ -26,7 +26,7 @@ | |||
| #include "jucer_ProjectContentComponent.h" | |||
| #include "../Application/jucer_MainWindow.h" | |||
| #include "../Code Editor/jucer_SourceCodeEditor.h" | |||
| #include "jucer_ProjectInformationComponent.h" | |||
| #include "jucer_ConfigPage.h" | |||
| #include "jucer_TreeViewTypes.h" | |||
| #include "../Project Saving/jucer_ProjectExporter.h" | |||
| @@ -1,35 +0,0 @@ | |||
| /* | |||
| ============================================================================== | |||
| This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||
| Copyright 2004-11 by Raw Material Software Ltd. | |||
| ------------------------------------------------------------------------------ | |||
| JUCE can be redistributed and/or modified under the terms of the GNU General | |||
| Public License (Version 2), as published by the Free Software Foundation. | |||
| A copy of the license is included in the JUCE distribution, or can be found | |||
| online at www.gnu.org/licenses. | |||
| JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
| WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
| A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
| ------------------------------------------------------------------------------ | |||
| To release a closed-source product which uses JUCE, commercial licenses are | |||
| available: visit www.rawmaterialsoftware.com/juce for more information. | |||
| ============================================================================== | |||
| */ | |||
| #ifndef __JUCER_PROJECTINFORMATIONCOMPONENT_H_30FFCD07__ | |||
| #define __JUCER_PROJECTINFORMATIONCOMPONENT_H_30FFCD07__ | |||
| #include "jucer_Project.h" | |||
| #include "../Utility/jucer_JucerTreeViewBase.h" | |||
| JucerTreeViewBase* createProjectConfigTreeViewRoot (Project& project); | |||
| #endif // __JUCER_PROJECTINFORMATIONCOMPONENT_H_30FFCD07__ | |||
| @@ -92,31 +92,26 @@ void ProjectTreeViewBase::moveSelectedItemsTo (OwnedArray <Project::Item>& selec | |||
| ProjectTreeViewBase* ProjectTreeViewBase::findTreeViewItem (const Project::Item& itemToFind) | |||
| { | |||
| if (item == itemToFind) | |||
| { | |||
| return this; | |||
| } | |||
| else | |||
| const bool wasOpen = isOpen(); | |||
| setOpen (true); | |||
| for (int i = getNumSubItems(); --i >= 0;) | |||
| { | |||
| const bool wasOpen = isOpen(); | |||
| setOpen (true); | |||
| ProjectTreeViewBase* pg = dynamic_cast <ProjectTreeViewBase*> (getSubItem(i)); | |||
| for (int i = getNumSubItems(); --i >= 0;) | |||
| if (pg != nullptr) | |||
| { | |||
| ProjectTreeViewBase* pg = dynamic_cast <ProjectTreeViewBase*> (getSubItem(i)); | |||
| pg = pg->findTreeViewItem (itemToFind); | |||
| if (pg != nullptr) | |||
| { | |||
| pg = pg->findTreeViewItem (itemToFind); | |||
| if (pg != nullptr) | |||
| return pg; | |||
| } | |||
| return pg; | |||
| } | |||
| setOpen (wasOpen); | |||
| } | |||
| return 0; | |||
| setOpen (wasOpen); | |||
| return nullptr; | |||
| } | |||
| //============================================================================== | |||
| @@ -182,8 +177,7 @@ void ProjectTreeViewBase::deleteAllSelectedItems() | |||
| OwnedArray <File> filesToTrash; | |||
| OwnedArray <Project::Item> itemsToRemove; | |||
| int i; | |||
| for (i = 0; i < numSelected; ++i) | |||
| for (int i = 0; i < numSelected; ++i) | |||
| { | |||
| const ProjectTreeViewBase* const p = dynamic_cast <ProjectTreeViewBase*> (tree->getSelectedItem (i)); | |||
| @@ -200,7 +194,7 @@ void ProjectTreeViewBase::deleteAllSelectedItems() | |||
| { | |||
| String fileList; | |||
| const int maxFilesToList = 10; | |||
| for (i = jmin (maxFilesToList, filesToTrash.size()); --i >= 0;) | |||
| for (int i = jmin (maxFilesToList, filesToTrash.size()); --i >= 0;) | |||
| fileList << filesToTrash.getUnchecked(i)->getFullPathName() << "\n"; | |||
| if (filesToTrash.size() > maxFilesToList) | |||
| @@ -226,7 +220,7 @@ void ProjectTreeViewBase::deleteAllSelectedItems() | |||
| if (treeRootItem != nullptr) | |||
| { | |||
| for (i = filesToTrash.size(); --i >= 0;) | |||
| for (int i = filesToTrash.size(); --i >= 0;) | |||
| { | |||
| const File f (*filesToTrash.getUnchecked(i)); | |||
| @@ -238,7 +232,7 @@ void ProjectTreeViewBase::deleteAllSelectedItems() | |||
| } | |||
| } | |||
| for (i = itemsToRemove.size(); --i >= 0;) | |||
| for (int i = itemsToRemove.size(); --i >= 0;) | |||
| { | |||
| ProjectTreeViewBase* itemToRemove = treeRootItem->findTreeViewItem (*itemsToRemove.getUnchecked(i)); | |||
| @@ -263,8 +257,7 @@ static int indexOfNode (const ValueTree& parent, const ValueTree& child) | |||
| void ProjectTreeViewBase::moveItems (OwnedArray <Project::Item>& selectedNodes, | |||
| Project::Item destNode, int insertIndex) | |||
| { | |||
| int i; | |||
| for (i = selectedNodes.size(); --i >= 0;) | |||
| for (int i = selectedNodes.size(); --i >= 0;) | |||
| { | |||
| Project::Item* const n = selectedNodes.getUnchecked(i); | |||
| @@ -276,7 +269,7 @@ void ProjectTreeViewBase::moveItems (OwnedArray <Project::Item>& selectedNodes, | |||
| } | |||
| // Don't include any nodes that are children of other selected nodes.. | |||
| for (i = selectedNodes.size(); --i >= 0;) | |||
| for (int i = selectedNodes.size(); --i >= 0;) | |||
| { | |||
| Project::Item* const n = selectedNodes.getUnchecked(i); | |||
| @@ -291,7 +284,7 @@ void ProjectTreeViewBase::moveItems (OwnedArray <Project::Item>& selectedNodes, | |||
| } | |||
| // Remove and re-insert them one at a time.. | |||
| for (i = 0; i < selectedNodes.size(); ++i) | |||
| for (int i = 0; i < selectedNodes.size(); ++i) | |||
| { | |||
| Project::Item* selectedNode = selectedNodes.getUnchecked(i); | |||
| @@ -24,7 +24,7 @@ | |||
| */ | |||
| #include "jucer_TreeViewTypes.h" | |||
| #include "jucer_ProjectInformationComponent.h" | |||
| #include "jucer_ConfigPage.h" | |||
| #include "jucer_GroupInformationComponent.h" | |||
| #include "../Application/jucer_OpenDocumentManager.h" | |||
| #include "../Code Editor/jucer_SourceCodeEditor.h" | |||
| @@ -2010,7 +2010,6 @@ | |||
| 0AE68D12A51E59B084E046C1, | |||
| 913372FE9DAAA74F5520A786 ); name = Source; sourceTree = "<group>"; }; | |||
| 2FE1E46B92ED7BD427F01D8C = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = 0; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -2028,7 +2027,6 @@ | |||
| "JUCE_UNIT_TESTS=1", | |||
| "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; | |||
| 9E3B64077ABD2AA72A51EE7C = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = s; | |||
| @@ -1998,7 +1998,6 @@ | |||
| 0AE68D12A51E59B084E046C1, | |||
| 913372FE9DAAA74F5520A786 ); name = Source; sourceTree = "<group>"; }; | |||
| 2FE1E46B92ED7BD427F01D8C = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = 0; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -2014,7 +2013,6 @@ | |||
| "JUCE_UNIT_TESTS=1", | |||
| "JUCER_XCODE_IPHONE_5BC26AE3=1"); }; name = Debug; }; | |||
| 9E3B64077ABD2AA72A51EE7C = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = s; | |||
| @@ -1971,7 +1971,6 @@ | |||
| 7EA0AEAFB626CDF5E0038ED5, | |||
| 227AE5B2ACBB7881D9552404 ); name = Source; sourceTree = "<group>"; }; | |||
| 77D1D11FAA110A1B1F960A8F = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 ../../JuceLibraryCode $(DEVELOPER_DIR)/Extras/CoreAudio/PublicUtility $(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/Utility $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = 0; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -1995,7 +1994,6 @@ | |||
| "DEBUG=1", | |||
| "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; | |||
| 76082281008CF5F891C856DA = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 ../../JuceLibraryCode $(DEVELOPER_DIR)/Extras/CoreAudio/PublicUtility $(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/Utility $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = s; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -2114,13 +2112,11 @@ | |||
| CC4D3A6F1EF2934059AA9FEB, | |||
| 221F46E90C0A8651AB76A0E5, | |||
| B46C12D99498E9FA8F1D083A ); runOnlyForDeploymentPostprocessing = 0; }; | |||
| E277BCF6E051A6008DD74155 = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; name = "Copy to the different plugin folders"; shellPath = /bin/sh; shellScript = "\n# This script takes the build product and copies it to the AU, VST, and RTAS folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\ncopyAAX=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'GetEffectDescriptions' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AU=~/Library/Audio/Plug-Ins/Components/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VST=~/Library/Audio/Plug-Ins/VST/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTAS=/Library/Application\\ Support/Digidesign/Plug-Ins/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\nfi\n\nif [ $copyAAX -gt 0 ]; then\n echo \"Copying to AAX folder...\"\n\n if [ -d \"/Applications/ProTools_3PDev/Plug-Ins\" ]; then\n AAX1=\"/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX1\" ]; then\n rm -r \"$AAX1\"\n fi\n\n cp -r \"$original\" \"$AAX1\"\n fi\n\n if [ -d \"/Library/Application Support/Avid/Audio/Plug-Ins\" ]; then\n AAX2=\"/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX2\" ]; then\n rm -r \"$AAX2\"\n fi\n\n cp -r \"$original\" \"$AAX2\"\n fi\nfi\n"; }; | |||
| 27A65CD0B053616E226D4547 = { isa = PBXNativeTarget; buildConfigurationList = 92D1022F6276146FC92B4442; buildPhases = ( | |||
| 0D832C784AB07BFDE57BCB92, | |||
| D95827C1509280C88845BCB4, | |||
| E032EB514708440DE9B7FF2A, | |||
| 95E57A758351FE57067B605F, | |||
| E277BCF6E051A6008DD74155 ); buildRules = ( ); dependencies = ( ); name = JuceDemoPlugin; productName = JuceDemoPlugin; productReference = 63F8022F081E22DFFFCAC998; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; | |||
| 95E57A758351FE57067B605F ); buildRules = ( ); dependencies = ( ); name = JuceDemoPlugin; productName = JuceDemoPlugin; productReference = 63F8022F081E22DFFFCAC998; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; | |||
| 85250052F3E019894332668E = { isa = PBXProject; buildConfigurationList = 0720B453F376663EAB98BF9B; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4074359E1E7C4D54E87C3461; projectDirPath = ""; projectRoot = ""; targets = ( 27A65CD0B053616E226D4547 ); }; | |||
| }; | |||
| rootObject = 85250052F3E019894332668E; | |||
| @@ -1931,7 +1931,6 @@ | |||
| D1C4804CD275CB57A5C89A2D, | |||
| D85C0D11EE4F6C73B9EB5BCD ); name = Source; sourceTree = "<group>"; }; | |||
| 92E529F622AC4282800634D3 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 ../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = 0; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -1948,7 +1947,6 @@ | |||
| "DEBUG=1", | |||
| "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; | |||
| 20F59BC9E9ACBDF56007CE03 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |||
| HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 ../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = s; | |||
| @@ -428,7 +428,6 @@ | |||
| E28F51A0038F01E08E22F853, | |||
| 70A875922C34E55D4F48A196 ); name = Source; sourceTree = "<group>"; }; | |||
| 3C712C667F851F9061100DD7 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = 0; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -445,7 +444,6 @@ | |||
| "DEBUG=1", | |||
| "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; | |||
| 145C0C90E41D8DECE4DD66AD = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = s; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -1385,7 +1385,6 @@ | |||
| C581D34B32A781E9AED7F7B0, | |||
| 1C83313FCFBC3FAFA8CDB087 ); name = Source; sourceTree = "<group>"; }; | |||
| 34AEE2803DA0D6192C299422 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = 0; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -1402,7 +1401,6 @@ | |||
| "DEBUG=1", | |||
| "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; | |||
| 339C95D5B2E96DD37B176D75 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = s; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -1385,7 +1385,6 @@ | |||
| C581D34B32A781E9AED7F7B0, | |||
| 1C83313FCFBC3FAFA8CDB087 ); name = Source; sourceTree = "<group>"; }; | |||
| 34AEE2803DA0D6192C299422 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = 0; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -1400,7 +1399,6 @@ | |||
| "DEBUG=1", | |||
| "JUCER_XCODE_IPHONE_5BC26AE3=1"); }; name = Debug; }; | |||
| 339C95D5B2E96DD37B176D75 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = s; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -1648,7 +1648,6 @@ | |||
| 680BC5D164A7D17AAD7A2932, | |||
| 593092CA73B75DE094D9E93D ); name = Source; sourceTree = "<group>"; }; | |||
| C4428643C14DD60BA895A378 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = 0; | |||
| INFOPLIST_FILE = Info.plist; | |||
| @@ -1665,7 +1664,6 @@ | |||
| "DEBUG=1", | |||
| "JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; }; | |||
| EB7F74BF01346F8C6BCC31A7 = { isa = XCBuildConfiguration; buildSettings = { | |||
| SRCROOT = "../.."; | |||
| HEADER_SEARCH_PATHS = "../../JuceLibraryCode $(inherited)"; | |||
| GCC_OPTIMIZATION_LEVEL = s; | |||
| INFOPLIST_FILE = Info.plist; | |||