Browse Source

Introjucer: refactored some filenames.

tags/2021-05-28
jules 13 years ago
parent
commit
7f499caf5f
24 changed files with 1228 additions and 1207 deletions
  1. +6
    -6
      extras/Introjucer/Builds/Linux/Makefile
  2. +27
    -27
      extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj
  3. +3
    -2
      extras/Introjucer/Builds/VisualStudio2005/The Introjucer.vcproj
  4. +3
    -2
      extras/Introjucer/Builds/VisualStudio2008/The Introjucer.vcproj
  5. +3
    -2
      extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj
  6. +9
    -6
      extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters
  7. +6
    -4
      extras/Introjucer/Introjucer.jucer
  8. +5
    -3
      extras/Introjucer/Source/Application/jucer_Application.h
  9. +478
    -0
      extras/Introjucer/Source/Project/jucer_ConfigPage.cpp
  10. +163
    -0
      extras/Introjucer/Source/Project/jucer_ConfigPage.h
  11. +504
    -0
      extras/Introjucer/Source/Project/jucer_ModulesPanel.h
  12. +1
    -1
      extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp
  13. +0
    -1074
      extras/Introjucer/Source/Project/jucer_ProjectInformationComponent.cpp
  14. +0
    -35
      extras/Introjucer/Source/Project/jucer_ProjectInformationComponent.h
  15. +18
    -25
      extras/Introjucer/Source/Project/jucer_ProjectTreeViewBase.cpp
  16. +1
    -1
      extras/Introjucer/Source/Project/jucer_TreeViewTypes.cpp
  17. +0
    -2
      extras/JuceDemo/Builds/MacOSX/Juce Demo.xcodeproj/project.pbxproj
  18. +0
    -2
      extras/JuceDemo/Builds/iOS/Juce Demo.xcodeproj/project.pbxproj
  19. +1
    -5
      extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj
  20. +0
    -2
      extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj
  21. +0
    -2
      extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj
  22. +0
    -2
      extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj
  23. +0
    -2
      extras/example projects/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj
  24. +0
    -2
      extras/the jucer/Builds/MacOSX/Jucer.xcodeproj/project.pbxproj

+ 6
- 6
extras/Introjucer/Builds/Linux/Makefile View File

@@ -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"


+ 27
- 27
extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj View File

@@ -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,


+ 3
- 2
extras/Introjucer/Builds/VisualStudio2005/The Introjucer.vcproj View File

@@ -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"/>


+ 3
- 2
extras/Introjucer/Builds/VisualStudio2008/The Introjucer.vcproj View File

@@ -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"/>


+ 3
- 2
extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj View File

@@ -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"/>


+ 9
- 6
extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters View File

@@ -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>


+ 6
- 4
extras/Introjucer/Introjucer.jucer View File

@@ -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"


+ 5
- 3
extras/Introjucer/Source/Application/jucer_Application.h View File

@@ -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:


+ 478
- 0
extras/Introjucer/Source/Project/jucer_ConfigPage.cpp View File

@@ -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);
}

+ 163
- 0
extras/Introjucer/Source/Project/jucer_ConfigPage.h View File

@@ -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__

+ 504
- 0
extras/Introjucer/Source/Project/jucer_ModulesPanel.h View File

@@ -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 (&copyingMessage);
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 (&copyModeButton);
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 (&copyModeButton),
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

+ 1
- 1
extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp View File

@@ -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"


+ 0
- 1074
extras/Introjucer/Source/Project/jucer_ProjectInformationComponent.cpp
File diff suppressed because it is too large
View File


+ 0
- 35
extras/Introjucer/Source/Project/jucer_ProjectInformationComponent.h View File

@@ -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__

+ 18
- 25
extras/Introjucer/Source/Project/jucer_ProjectTreeViewBase.cpp View File

@@ -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);


+ 1
- 1
extras/Introjucer/Source/Project/jucer_TreeViewTypes.cpp View File

@@ -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"


+ 0
- 2
extras/JuceDemo/Builds/MacOSX/Juce Demo.xcodeproj/project.pbxproj View File

@@ -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;


+ 0
- 2
extras/JuceDemo/Builds/iOS/Juce Demo.xcodeproj/project.pbxproj View File

@@ -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;


+ 1
- 5
extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj View File

@@ -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;


+ 0
- 2
extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj View File

@@ -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;


+ 0
- 2
extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj View File

@@ -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;


+ 0
- 2
extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj View File

@@ -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;


+ 0
- 2
extras/example projects/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj View File

@@ -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;


+ 0
- 2
extras/the jucer/Builds/MacOSX/Jucer.xcodeproj/project.pbxproj View File

@@ -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;


Loading…
Cancel
Save