| @@ -43,6 +43,7 @@ ifeq ($(CONFIG),Release) | |||||
| endif | endif | ||||
| OBJECTS := \ | OBJECTS := \ | ||||
| $(OBJDIR)/jucer_AppearanceSettings_788d9889.o \ | |||||
| $(OBJDIR)/jucer_CommandLine_f35de107.o \ | $(OBJDIR)/jucer_CommandLine_f35de107.o \ | ||||
| $(OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o \ | $(OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o \ | ||||
| $(OBJDIR)/jucer_FilePreviewComponent_55512f53.o \ | $(OBJDIR)/jucer_FilePreviewComponent_55512f53.o \ | ||||
| @@ -92,6 +93,11 @@ clean: | |||||
| -@rm -rf $(OBJDIR)/* | -@rm -rf $(OBJDIR)/* | ||||
| -@rm -rf $(OBJDIR) | -@rm -rf $(OBJDIR) | ||||
| $(OBJDIR)/jucer_AppearanceSettings_788d9889.o: ../../Source/Application/jucer_AppearanceSettings.cpp | |||||
| -@mkdir -p $(OBJDIR) | |||||
| @echo "Compiling jucer_AppearanceSettings.cpp" | |||||
| @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" | |||||
| $(OBJDIR)/jucer_CommandLine_f35de107.o: ../../Source/Application/jucer_CommandLine.cpp | $(OBJDIR)/jucer_CommandLine_f35de107.o: ../../Source/Application/jucer_CommandLine.cpp | ||||
| -@mkdir -p $(OBJDIR) | -@mkdir -p $(OBJDIR) | ||||
| @echo "Compiling jucer_CommandLine.cpp" | @echo "Compiling jucer_CommandLine.cpp" | ||||
| @@ -12,6 +12,7 @@ | |||||
| 11D42F7EC6E6539D79A7F4B1 = { isa = PBXBuildFile; fileRef = E5D6C36496F5BC84D7213BE8; }; | 11D42F7EC6E6539D79A7F4B1 = { isa = PBXBuildFile; fileRef = E5D6C36496F5BC84D7213BE8; }; | ||||
| B980464FA2761CCD64B1FAD6 = { isa = PBXBuildFile; fileRef = CF6C8BD0DA3D8CD4E99EBADA; }; | B980464FA2761CCD64B1FAD6 = { isa = PBXBuildFile; fileRef = CF6C8BD0DA3D8CD4E99EBADA; }; | ||||
| 1321E6C1C6170B6C898AD09D = { isa = PBXBuildFile; fileRef = 951128CA33CCDEF570436B1C; }; | 1321E6C1C6170B6C898AD09D = { isa = PBXBuildFile; fileRef = 951128CA33CCDEF570436B1C; }; | ||||
| 357A6AA6960EF95D92929BEE = { isa = PBXBuildFile; fileRef = 441CFEA771BAA50E187342E9; }; | |||||
| 954A036F5DDB375DB23FFB3E = { isa = PBXBuildFile; fileRef = 0400CB0E056A1D840304D2DE; }; | 954A036F5DDB375DB23FFB3E = { isa = PBXBuildFile; fileRef = 0400CB0E056A1D840304D2DE; }; | ||||
| 3EB3D569250C4BA4CA9AF578 = { isa = PBXBuildFile; fileRef = C7608A3967D9AB9481848F2B; }; | 3EB3D569250C4BA4CA9AF578 = { isa = PBXBuildFile; fileRef = C7608A3967D9AB9481848F2B; }; | ||||
| 9A4D477F1924C31A52AF5C79 = { isa = PBXBuildFile; fileRef = F2FA27430D90E92F0C9EBEDF; }; | 9A4D477F1924C31A52AF5C79 = { isa = PBXBuildFile; fileRef = F2FA27430D90E92F0C9EBEDF; }; | ||||
| @@ -152,6 +153,7 @@ | |||||
| 21FAFA7F2C5D0E8D99876EA8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; | 21FAFA7F2C5D0E8D99876EA8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 2210EB5F41023B53ADD0DFBD = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; | 2210EB5F41023B53ADD0DFBD = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 221C1BAC4138F261F97121AD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; | 221C1BAC4138F261F97121AD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 223C4209F18A221EB183A056 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AppearanceSettings.h"; path = "../../Source/Application/jucer_AppearanceSettings.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 2247EE920DF0610CAF9F4513 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_OpenDocumentManager.cpp"; path = "../../Source/Application/jucer_OpenDocumentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; | 2247EE920DF0610CAF9F4513 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_OpenDocumentManager.cpp"; path = "../../Source/Application/jucer_OpenDocumentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 2252F2B96709F3C7CE07B5E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; | 2252F2B96709F3C7CE07B5E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 225414095942818432AAE07D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; | 225414095942818432AAE07D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -231,6 +233,7 @@ | |||||
| 430239E0574C157689D83206 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; | 430239E0574C157689D83206 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 43B98AB307841FAAB076B882 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Justification.cpp"; path = "../../../../modules/juce_graphics/placement/juce_Justification.cpp"; sourceTree = "SOURCE_ROOT"; }; | 43B98AB307841FAAB076B882 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Justification.cpp"; path = "../../../../modules/juce_graphics/placement/juce_Justification.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 441A0EA83E44264CB977F21B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; | 441A0EA83E44264CB977F21B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 441CFEA771BAA50E187342E9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AppearanceSettings.cpp"; path = "../../Source/Application/jucer_AppearanceSettings.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 442031AD0C8A280B68CE9EF0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | 442031AD0C8A280B68CE9EF0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 4437785A3DFF4AB2D6A78DB3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; | 4437785A3DFF4AB2D6A78DB3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 444CA4B9CAD1F5ED5C45448B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; | 444CA4B9CAD1F5ED5C45448B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -559,7 +562,6 @@ | |||||
| BA5C7DE347A73A87F687703C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; | BA5C7DE347A73A87F687703C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| BA95268EEE80F9509EC1F76F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; | BA95268EEE80F9509EC1F76F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| BAC43B20E14A340CCF14119C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Project.cpp"; path = "../../Source/Project/jucer_Project.cpp"; sourceTree = "SOURCE_ROOT"; }; | BAC43B20E14A340CCF14119C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Project.cpp"; path = "../../Source/Project/jucer_Project.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| BBA6060656F685ED7FA52045 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeViewTypes.h"; path = "../../Source/Project/jucer_TreeViewTypes.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| BC17B02633EF1E31024051C2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; | BC17B02633EF1E31024051C2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| BCAD13352CE76BA81629A6E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; | BCAD13352CE76BA81629A6E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| BD7C18F07DE633B97B4478E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | BD7C18F07DE633B97B4478E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -599,9 +601,7 @@ | |||||
| C7E19F79947BEFC7DB7A9CE7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; | 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"; }; | 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"; }; | C85B4D62B96F4A44890F20E2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.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"; }; | 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"; }; | 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"; }; | 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"; }; | CA62F9F7C5F0D77D8E33D91F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -619,54 +619,54 @@ | |||||
| CE1DFE4E3908943656E180AD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; 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"; }; | 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; }; | 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; }; | 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"; }; | 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"; }; | 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; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | D678882D133090214AF681BC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| D6C91E2BF537F75A80F5C1DB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| D75EAC16FAECCC51E3669193 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; | 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"; }; | 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"; }; | D782DA091AD3ECE158FC6A5F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.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"; }; | 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"; }; | 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"; }; | |||||
| DC5E7FF30B01118F6DAEC38F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.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"; }; | ||||
| DF7BB5B6B394EDEEF5F5B4B8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; 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"; }; | |||||
| 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"; }; | |||||
| DE5F3C9EF6BFFDE73AF9E7FC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| E5D6C36496F5BC84D7213BE8 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; | 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; }; | 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"; }; | 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"; }; | |||||
| 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"; }; | |||||
| D526C38D581425949BA0E4AC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePreviewComponent.h"; path = "../../Source/Application/jucer_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| BBA6060656F685ED7FA52045 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeViewTypes.h"; path = "../../Source/Project/jucer_TreeViewTypes.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| C8A229ACD244F402C57286CD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_MSVC.h"; path = "../../Source/Project Saving/jucer_ProjectExport_MSVC.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| C9616830BB2474066AC8C910 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceFile.h"; path = "../../Source/Project Saving/jucer_ResourceFile.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| D10D51A0A2D63F38B4D86A60 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceFile.cpp"; path = "../../Source/Project Saving/jucer_ResourceFile.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"; }; | |||||
| 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"; }; | |||||
| D6C91E2BF537F75A80F5C1DB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.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"; }; | D7A7F1AA9F313B0CCAAA73A0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; 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"; }; | |||||
| D95D7B49EC6C6BDCB5A1B988 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; 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"; }; | 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"; }; | 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"; }; | DB876F7873F42DC685A58CA7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.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"; }; | 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"; }; | 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"; }; | DE8DF5D263F40F65581CFDE4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| DEF579B1433EB8DEE7AB50F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; | DEF579B1433EB8DEE7AB50F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| DF7BB5B6B394EDEEF5F5B4B8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| DFC6364D81D9C60BD4CA9D12 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; | DFC6364D81D9C60BD4CA9D12 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| E07C56267CBB46FC44EF2026 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; | E07C56267CBB46FC44EF2026 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| E1C16C872E34BCB144B469F9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; | E1C16C872E34BCB144B469F9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -680,10 +680,12 @@ | |||||
| E530742870F07704E9616358 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | 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"; }; | ||||
| @@ -691,6 +693,7 @@ | |||||
| E7E122AE104E79BB641B07B3 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; | E7E122AE104E79BB641B07B3 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; | ||||
| E7E1C4F416CFA44BE7DD1A74 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; | E7E1C4F416CFA44BE7DD1A74 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| E7E1D60BC7AEF79AA7B65B7C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; | E7E1D60BC7AEF79AA7B65B7C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| E7F7033084AC10FB77B0F77A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ConfigPage.cpp"; path = "../../Source/Project/jucer_ConfigPage.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| E82C9EF1A74D867BBFF2090D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; | E82C9EF1A74D867BBFF2090D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| E99F5A31373E9BDEAC40792F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; | E99F5A31373E9BDEAC40792F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| E9B8C3CA480AE94BEA852EA9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; | E9B8C3CA480AE94BEA852EA9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -748,6 +751,8 @@ | |||||
| FF10E9B389909FB45E229D5B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; | FF10E9B389909FB45E229D5B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| FF1F954094B14C1900C9495D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; | FF1F954094B14C1900C9495D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| ACBAFA7D92DD82AD44ABE68A = { isa = PBXGroup; children = ( | ACBAFA7D92DD82AD44ABE68A = { isa = PBXGroup; children = ( | ||||
| 441CFEA771BAA50E187342E9, | |||||
| 223C4209F18A221EB183A056, | |||||
| EE690110171E1648FF2118B8, | EE690110171E1648FF2118B8, | ||||
| 23A8DE16C0CDB8EED18B008B, | 23A8DE16C0CDB8EED18B008B, | ||||
| 0400CB0E056A1D840304D2DE, | 0400CB0E056A1D840304D2DE, | ||||
| @@ -1678,6 +1683,7 @@ | |||||
| C009859650B4628FDD068941 = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( | C009859650B4628FDD068941 = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( | ||||
| 1321E6C1C6170B6C898AD09D ); runOnlyForDeploymentPostprocessing = 0; }; | 1321E6C1C6170B6C898AD09D ); runOnlyForDeploymentPostprocessing = 0; }; | ||||
| 84449D044096A03F2582904B = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( | 84449D044096A03F2582904B = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( | ||||
| 357A6AA6960EF95D92929BEE, | |||||
| 954A036F5DDB375DB23FFB3E, | 954A036F5DDB375DB23FFB3E, | ||||
| 3EB3D569250C4BA4CA9AF578, | 3EB3D569250C4BA4CA9AF578, | ||||
| 9A4D477F1924C31A52AF5C79, | 9A4D477F1924C31A52AF5C79, | ||||
| @@ -130,6 +130,8 @@ | |||||
| <Files> | <Files> | ||||
| <Filter Name="The Introjucer"> | <Filter Name="The Introjucer"> | ||||
| <Filter Name="Application"> | <Filter Name="Application"> | ||||
| <File RelativePath="..\..\Source\Application\jucer_AppearanceSettings.cpp"/> | |||||
| <File RelativePath="..\..\Source\Application\jucer_AppearanceSettings.h"/> | |||||
| <File RelativePath="..\..\Source\Application\jucer_Application.h"/> | <File RelativePath="..\..\Source\Application\jucer_Application.h"/> | ||||
| <File RelativePath="..\..\Source\Application\jucer_CommandIDs.h"/> | <File RelativePath="..\..\Source\Application\jucer_CommandIDs.h"/> | ||||
| <File RelativePath="..\..\Source\Application\jucer_CommandLine.cpp"/> | <File RelativePath="..\..\Source\Application\jucer_CommandLine.cpp"/> | ||||
| @@ -130,6 +130,8 @@ | |||||
| <Files> | <Files> | ||||
| <Filter Name="The Introjucer"> | <Filter Name="The Introjucer"> | ||||
| <Filter Name="Application"> | <Filter Name="Application"> | ||||
| <File RelativePath="..\..\Source\Application\jucer_AppearanceSettings.cpp"/> | |||||
| <File RelativePath="..\..\Source\Application\jucer_AppearanceSettings.h"/> | |||||
| <File RelativePath="..\..\Source\Application\jucer_Application.h"/> | <File RelativePath="..\..\Source\Application\jucer_Application.h"/> | ||||
| <File RelativePath="..\..\Source\Application\jucer_CommandIDs.h"/> | <File RelativePath="..\..\Source\Application\jucer_CommandIDs.h"/> | ||||
| <File RelativePath="..\..\Source\Application\jucer_CommandLine.cpp"/> | <File RelativePath="..\..\Source\Application\jucer_CommandLine.cpp"/> | ||||
| @@ -126,6 +126,7 @@ | |||||
| </Bscmake> | </Bscmake> | ||||
| </ItemDefinitionGroup> | </ItemDefinitionGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <ClCompile Include="..\..\Source\Application\jucer_AppearanceSettings.cpp"/> | |||||
| <ClCompile Include="..\..\Source\Application\jucer_CommandLine.cpp"/> | <ClCompile Include="..\..\Source\Application\jucer_CommandLine.cpp"/> | ||||
| <ClCompile Include="..\..\Source\Application\jucer_DocumentEditorComponent.cpp"/> | <ClCompile Include="..\..\Source\Application\jucer_DocumentEditorComponent.cpp"/> | ||||
| <ClCompile Include="..\..\Source\Application\jucer_FilePreviewComponent.cpp"/> | <ClCompile Include="..\..\Source\Application\jucer_FilePreviewComponent.cpp"/> | ||||
| @@ -965,6 +966,7 @@ | |||||
| <ClCompile Include="..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp"/> | <ClCompile Include="..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp"/> | ||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <ClInclude Include="..\..\Source\Application\jucer_AppearanceSettings.h"/> | |||||
| <ClInclude Include="..\..\Source\Application\jucer_Application.h"/> | <ClInclude Include="..\..\Source\Application\jucer_Application.h"/> | ||||
| <ClInclude Include="..\..\Source\Application\jucer_CommandIDs.h"/> | <ClInclude Include="..\..\Source\Application\jucer_CommandIDs.h"/> | ||||
| <ClInclude Include="..\..\Source\Application\jucer_CommandLine.h"/> | <ClInclude Include="..\..\Source\Application\jucer_CommandLine.h"/> | ||||
| @@ -229,6 +229,9 @@ | |||||
| </Filter> | </Filter> | ||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <ClCompile Include="..\..\Source\Application\jucer_AppearanceSettings.cpp"> | |||||
| <Filter>The Introjucer\Application</Filter> | |||||
| </ClCompile> | |||||
| <ClCompile Include="..\..\Source\Application\jucer_CommandLine.cpp"> | <ClCompile Include="..\..\Source\Application\jucer_CommandLine.cpp"> | ||||
| <Filter>The Introjucer\Application</Filter> | <Filter>The Introjucer\Application</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| @@ -1194,6 +1197,9 @@ | |||||
| </ClCompile> | </ClCompile> | ||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <ClInclude Include="..\..\Source\Application\jucer_AppearanceSettings.h"> | |||||
| <Filter>The Introjucer\Application</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\Source\Application\jucer_Application.h"> | <ClInclude Include="..\..\Source\Application\jucer_Application.h"> | ||||
| <Filter>The Introjucer\Application</Filter> | <Filter>The Introjucer\Application</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -65,6 +65,10 @@ | |||||
| </EXPORTFORMATS> | </EXPORTFORMATS> | ||||
| <MAINGROUP name="The Introjucer" id="NhrJq66R"> | <MAINGROUP name="The Introjucer" id="NhrJq66R"> | ||||
| <GROUP id="mslFIKZ" name="Application"> | <GROUP id="mslFIKZ" name="Application"> | ||||
| <FILE id="pI5xt5" name="jucer_AppearanceSettings.cpp" compile="1" resource="0" | |||||
| file="Source/Application/jucer_AppearanceSettings.cpp"/> | |||||
| <FILE id="oCCddi" name="jucer_AppearanceSettings.h" compile="0" resource="0" | |||||
| file="Source/Application/jucer_AppearanceSettings.h"/> | |||||
| <FILE id="PXX8Yi" name="jucer_Application.h" compile="0" resource="0" | <FILE id="PXX8Yi" name="jucer_Application.h" compile="0" resource="0" | ||||
| file="Source/Application/jucer_Application.h"/> | file="Source/Application/jucer_Application.h"/> | ||||
| <FILE id="lHd3UQJ" name="jucer_CommandIDs.h" compile="0" resource="0" | <FILE id="lHd3UQJ" name="jucer_CommandIDs.h" compile="0" resource="0" | ||||
| @@ -0,0 +1,360 @@ | |||||
| /* | |||||
| ============================================================================== | |||||
| 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 "jucer_Application.h" | |||||
| #include "jucer_AppearanceSettings.h" | |||||
| //============================================================================== | |||||
| AppearanceSettings::AppearanceSettings (const CodeEditorComponent& editor) | |||||
| : settings ("COLOUR_SCHEME") | |||||
| { | |||||
| getColourValue ("Background") = editor.findColour (CodeEditorComponent::backgroundColourId).toString(); | |||||
| getColourValue ("Plain Text") = editor.findColour (CodeEditorComponent::defaultTextColourId).toString(); | |||||
| getColourValue ("Selected Background") = editor.findColour (CodeEditorComponent::highlightColourId).toString(); | |||||
| const CodeEditorComponent::ColourScheme cs (editor.getColourScheme()); | |||||
| for (int i = cs.types.size(); --i >= 0;) | |||||
| { | |||||
| CodeEditorComponent::ColourScheme::TokenType& t = cs.types.getReference(i); | |||||
| getColourValue (t.name) = t.colour.toString(); | |||||
| } | |||||
| Font f (editor.getFont()); | |||||
| f.setTypefaceName (f.getTypeface()->getName()); | |||||
| getCodeFontValue() = f.toString(); | |||||
| } | |||||
| bool AppearanceSettings::readFromFile (const File& file) | |||||
| { | |||||
| const ScopedPointer<XmlElement> xml (XmlDocument::parse (file)); | |||||
| if (xml != nullptr && xml->hasTagName (settings.getType().toString())) | |||||
| { | |||||
| settings = ValueTree::fromXml (*xml); | |||||
| return true; | |||||
| } | |||||
| return false; | |||||
| } | |||||
| bool AppearanceSettings::writeToFile (const File& file) const | |||||
| { | |||||
| const ScopedPointer<XmlElement> xml (settings.createXml()); | |||||
| return xml != nullptr && xml->writeToFile (file, String::empty); | |||||
| } | |||||
| StringArray AppearanceSettings::getColourNames() const | |||||
| { | |||||
| StringArray s; | |||||
| for (int i = 0; i < settings.getNumChildren(); ++i) | |||||
| { | |||||
| const ValueTree c (settings.getChild(i)); | |||||
| if (c.hasType ("COLOUR")) | |||||
| s.add (c [Ids::name]); | |||||
| } | |||||
| return s; | |||||
| } | |||||
| void AppearanceSettings::applyToCodeEditor (CodeEditorComponent& editor) const | |||||
| { | |||||
| CodeEditorComponent::ColourScheme cs (editor.getColourScheme()); | |||||
| for (int i = cs.types.size(); --i >= 0;) | |||||
| { | |||||
| CodeEditorComponent::ColourScheme::TokenType& t = cs.types.getReference(i); | |||||
| getColour (t.name, t.colour); | |||||
| } | |||||
| editor.setColourScheme (cs); | |||||
| Colour col; | |||||
| if (getColour ("Plain Text", col)) editor.setColour (CodeEditorComponent::defaultTextColourId, col); | |||||
| if (getColour ("Selected Background", col)) editor.setColour (CodeEditorComponent::highlightColourId, col); | |||||
| if (getColour ("Background", col)) | |||||
| { | |||||
| col = Colours::white.overlaidWith (col); | |||||
| editor.setColour (CodeEditorComponent::backgroundColourId, col); | |||||
| editor.setColour (CaretComponent::caretColourId, col.contrasting()); | |||||
| } | |||||
| editor.setFont (getCodeFont()); | |||||
| } | |||||
| Font AppearanceSettings::getCodeFont() const | |||||
| { | |||||
| const String fontString (settings [Ids::font].toString()); | |||||
| if (fontString.isEmpty()) | |||||
| { | |||||
| #if JUCE_MAC | |||||
| Font font (13.0f); | |||||
| font.setTypefaceName ("Menlo"); | |||||
| #else | |||||
| Font font (10.0f); | |||||
| font.setTypefaceName (Font::getDefaultMonospacedFontName()); | |||||
| #endif | |||||
| return font; | |||||
| } | |||||
| return Font::fromString (fontString); | |||||
| } | |||||
| Value AppearanceSettings::getCodeFontValue() | |||||
| { | |||||
| return settings.getPropertyAsValue (Ids::font, nullptr); | |||||
| } | |||||
| Value AppearanceSettings::getColourValue (const String& colourName) | |||||
| { | |||||
| ValueTree c (settings.getChildWithProperty (Ids::name, colourName)); | |||||
| if (! c.isValid()) | |||||
| { | |||||
| c = ValueTree ("COLOUR"); | |||||
| c.setProperty (Ids::name, colourName, nullptr); | |||||
| settings.addChild (c, -1, nullptr); | |||||
| } | |||||
| return c.getPropertyAsValue (Ids::colour, nullptr); | |||||
| } | |||||
| bool AppearanceSettings::getColour (const String& name, Colour& result) const | |||||
| { | |||||
| const ValueTree colour (settings.getChildWithProperty (Ids::name, name)); | |||||
| if (colour.isValid()) | |||||
| { | |||||
| result = Colour::fromString (colour [Ids::colour].toString()); | |||||
| return true; | |||||
| } | |||||
| return false; | |||||
| } | |||||
| //============================================================================== | |||||
| struct AppearanceEditor | |||||
| { | |||||
| class Window : public DialogWindow | |||||
| { | |||||
| public: | |||||
| Window() : DialogWindow ("Appearance Settings", Colours::black, true, true) | |||||
| { | |||||
| setUsingNativeTitleBar (true); | |||||
| setContentOwned (new EditorPanel(), false); | |||||
| setResizable (true, true); | |||||
| const int width = 350; | |||||
| setResizeLimits (width, 200, width, 1000); | |||||
| String windowState (getAppProperties().getValue (getWindowPosName())); | |||||
| if (windowState.isNotEmpty()) | |||||
| restoreWindowStateFromString (windowState); | |||||
| else | |||||
| centreAroundComponent (Component::getCurrentlyFocusedComponent(), width, 500); | |||||
| setVisible (true); | |||||
| } | |||||
| ~Window() | |||||
| { | |||||
| getAppProperties().setValue (getWindowPosName(), getWindowStateAsString()); | |||||
| } | |||||
| void closeButtonPressed() | |||||
| { | |||||
| JucerApplication::getApp()->appearanceEditorWindow = nullptr; | |||||
| } | |||||
| private: | |||||
| static const char* getWindowPosName() { return "colourSchemeEditorPos"; } | |||||
| JUCE_DECLARE_NON_COPYABLE (Window); | |||||
| }; | |||||
| //============================================================================== | |||||
| class EditorPanel : public Component, | |||||
| private Button::Listener | |||||
| { | |||||
| public: | |||||
| EditorPanel() | |||||
| : loadButton ("Load Scheme..."), | |||||
| saveButton ("Save Scheme...") | |||||
| { | |||||
| setOpaque (true); | |||||
| rebuildProperties(); | |||||
| addAndMakeVisible (&panel); | |||||
| loadButton.setColour (TextButton::buttonColourId, Colours::grey); | |||||
| saveButton.setColour (TextButton::buttonColourId, Colours::grey); | |||||
| addAndMakeVisible (&loadButton); | |||||
| addAndMakeVisible (&saveButton); | |||||
| loadButton.addListener (this); | |||||
| saveButton.addListener (this); | |||||
| } | |||||
| void rebuildProperties() | |||||
| { | |||||
| AppearanceSettings& scheme = getAppSettings().appearance; | |||||
| Array <PropertyComponent*> props; | |||||
| Value fontValue (scheme.getCodeFontValue()); | |||||
| props.add (FontNameValueSource::createProperty ("Code Editor Font", fontValue)); | |||||
| props.add (FontSizeValueSource::createProperty ("Font Size", fontValue)); | |||||
| const StringArray colourNames (scheme.getColourNames()); | |||||
| for (int i = 0; i < colourNames.size(); ++i) | |||||
| props.add (new ColourPropertyComponent (nullptr, colourNames[i], | |||||
| scheme.getColourValue (colourNames[i]), | |||||
| Colours::white, false)); | |||||
| panel.clear(); | |||||
| panel.addProperties (props); | |||||
| } | |||||
| void paint (Graphics& g) | |||||
| { | |||||
| g.fillAll (Colours::black); | |||||
| } | |||||
| void resized() | |||||
| { | |||||
| Rectangle<int> r (getLocalBounds()); | |||||
| panel.setBounds (r.removeFromTop (getHeight() - 26).reduced (4, 3)); | |||||
| loadButton.setBounds (r.removeFromLeft (getWidth() / 2).reduced (10, 3)); | |||||
| saveButton.setBounds (r.reduced (10, 3)); | |||||
| } | |||||
| private: | |||||
| PropertyPanel panel; | |||||
| TextButton loadButton, saveButton; | |||||
| void buttonClicked (Button* b) | |||||
| { | |||||
| if (b == &loadButton) | |||||
| loadScheme(); | |||||
| else | |||||
| saveScheme(); | |||||
| } | |||||
| void saveScheme() | |||||
| { | |||||
| FileChooser fc ("Select a file in which to save this colour-scheme...", | |||||
| getAppSettings().getSchemesFolder().getNonexistentChildFile ("Scheme", ".editorscheme"), | |||||
| "*.editorscheme"); | |||||
| if (fc.browseForFileToSave (true)) | |||||
| { | |||||
| File file (fc.getResult().withFileExtension (".editorscheme")); | |||||
| getAppSettings().appearance.writeToFile (file); | |||||
| } | |||||
| } | |||||
| void loadScheme() | |||||
| { | |||||
| FileChooser fc ("Please select a colour-scheme file to load...", | |||||
| getAppSettings().getSchemesFolder(), | |||||
| "*.editorscheme"); | |||||
| if (fc.browseForFileToOpen()) | |||||
| { | |||||
| if (getAppSettings().appearance.readFromFile (fc.getResult())) | |||||
| rebuildProperties(); | |||||
| } | |||||
| } | |||||
| JUCE_DECLARE_NON_COPYABLE (EditorPanel); | |||||
| }; | |||||
| //============================================================================== | |||||
| class FontNameValueSource : public ValueSourceFilter | |||||
| { | |||||
| public: | |||||
| FontNameValueSource (const Value& source) : ValueSourceFilter (source) {} | |||||
| var getValue() const | |||||
| { | |||||
| return Font::fromString (sourceValue.toString()).getTypefaceName(); | |||||
| } | |||||
| void setValue (const var& newValue) | |||||
| { | |||||
| Font font (Font::fromString (sourceValue.toString())); | |||||
| font.setTypefaceName (newValue.toString()); | |||||
| sourceValue = font.toString(); | |||||
| } | |||||
| static ChoicePropertyComponent* createProperty (const String& title, const Value& value) | |||||
| { | |||||
| const StringArray& fontNames = getAppSettings().getFontNames(); | |||||
| Array<var> values; | |||||
| for (int i = 0; i < fontNames.size(); ++i) | |||||
| values.add (fontNames[i]); | |||||
| return new ChoicePropertyComponent (Value (new FontNameValueSource (value)), | |||||
| title, fontNames, values); | |||||
| } | |||||
| }; | |||||
| //============================================================================== | |||||
| class FontSizeValueSource : public ValueSourceFilter | |||||
| { | |||||
| public: | |||||
| FontSizeValueSource (const Value& source) : ValueSourceFilter (source) {} | |||||
| var getValue() const | |||||
| { | |||||
| return Font::fromString (sourceValue.toString()).getHeight(); | |||||
| } | |||||
| void setValue (const var& newValue) | |||||
| { | |||||
| sourceValue = Font::fromString (sourceValue.toString()).withHeight (newValue).toString(); | |||||
| } | |||||
| static PropertyComponent* createProperty (const String& title, const Value& value) | |||||
| { | |||||
| return new SliderPropertyComponent (Value (new FontSizeValueSource (value)), | |||||
| title, 5.0, 40.0, 0.1, 0.5); | |||||
| } | |||||
| }; | |||||
| }; | |||||
| Component* AppearanceSettings::createEditorWindow() | |||||
| { | |||||
| return new AppearanceEditor::Window(); | |||||
| } | |||||
| @@ -0,0 +1,53 @@ | |||||
| /* | |||||
| ============================================================================== | |||||
| 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_APPEARANCESETTINGS_H_34D762C7__ | |||||
| #define __JUCER_APPEARANCESETTINGS_H_34D762C7__ | |||||
| class AppearanceSettings | |||||
| { | |||||
| public: | |||||
| AppearanceSettings (const CodeEditorComponent& editorToCopyFrom); | |||||
| bool readFromFile (const File& file); | |||||
| bool writeToFile (const File& file) const; | |||||
| void applyToCodeEditor (CodeEditorComponent& editor) const; | |||||
| StringArray getColourNames() const; | |||||
| Value getColourValue (const String& colourName); | |||||
| bool getColour (const String& name, Colour& resultIfFound) const; | |||||
| Font getCodeFont() const; | |||||
| Value getCodeFontValue(); | |||||
| ValueTree settings; | |||||
| static Component* createEditorWindow(); | |||||
| }; | |||||
| #endif | |||||
| @@ -30,6 +30,7 @@ | |||||
| #include "jucer_MainWindow.h" | #include "jucer_MainWindow.h" | ||||
| #include "jucer_JuceUpdater.h" | #include "jucer_JuceUpdater.h" | ||||
| #include "jucer_CommandLine.h" | #include "jucer_CommandLine.h" | ||||
| #include "../Code Editor/jucer_SourceCodeEditor.h" | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -80,14 +81,15 @@ public: | |||||
| void shutdown() | void shutdown() | ||||
| { | { | ||||
| appearanceEditorWindow = nullptr; | |||||
| #if JUCE_MAC | #if JUCE_MAC | ||||
| MenuBarModel::setMacMainMenu (nullptr); | MenuBarModel::setMacMainMenu (nullptr); | ||||
| #endif | #endif | ||||
| menuModel = nullptr; | menuModel = nullptr; | ||||
| mainWindowList.forceCloseAllWindows(); | mainWindowList.forceCloseAllWindows(); | ||||
| OpenDocumentManager::deleteInstance(); | |||||
| openDocumentManager.clear(); | |||||
| commandManager = nullptr; | commandManager = nullptr; | ||||
| settings.flush(); | settings.flush(); | ||||
| } | } | ||||
| @@ -204,7 +206,7 @@ public: | |||||
| menu.addCommandItem (commandManager, CommandIDs::showProjectSettings); | menu.addCommandItem (commandManager, CommandIDs::showProjectSettings); | ||||
| menu.addSeparator(); | menu.addSeparator(); | ||||
| menu.addCommandItem (commandManager, CommandIDs::test); | |||||
| menu.addCommandItem (commandManager, CommandIDs::showAppearanceSettings); | |||||
| menu.addSeparator(); | menu.addSeparator(); | ||||
| menu.addCommandItem (commandManager, CommandIDs::showGrid); | menu.addCommandItem (commandManager, CommandIDs::showGrid); | ||||
| @@ -223,11 +225,11 @@ public: | |||||
| menu.addCommandItem (commandManager, CommandIDs::closeWindow); | menu.addCommandItem (commandManager, CommandIDs::closeWindow); | ||||
| menu.addSeparator(); | menu.addSeparator(); | ||||
| const int numDocs = jmin (50, OpenDocumentManager::getInstance()->getNumOpenDocuments()); | |||||
| const int numDocs = jmin (50, getApp()->openDocumentManager.getNumOpenDocuments()); | |||||
| for (int i = 0; i < numDocs; ++i) | for (int i = 0; i < numDocs; ++i) | ||||
| { | { | ||||
| OpenDocumentManager::Document* doc = OpenDocumentManager::getInstance()->getOpenDocument(i); | |||||
| OpenDocumentManager::Document* doc = getApp()->openDocumentManager.getOpenDocument(i); | |||||
| menu.addItem (300 + i, doc->getName()); | menu.addItem (300 + i, doc->getName()); | ||||
| } | } | ||||
| @@ -255,7 +257,7 @@ public: | |||||
| } | } | ||||
| else if (menuItemID >= 300 && menuItemID < 400) | else if (menuItemID >= 300 && menuItemID < 400) | ||||
| { | { | ||||
| OpenDocumentManager::Document* doc = OpenDocumentManager::getInstance()->getOpenDocument (menuItemID - 300); | |||||
| OpenDocumentManager::Document* doc = getApp()->openDocumentManager.getOpenDocument (menuItemID - 300); | |||||
| jassert (doc != nullptr); | jassert (doc != nullptr); | ||||
| getApp()->mainWindowList.openDocument (doc); | getApp()->mainWindowList.openDocument (doc); | ||||
| @@ -274,6 +276,7 @@ public: | |||||
| CommandIDs::closeAllDocuments, | CommandIDs::closeAllDocuments, | ||||
| CommandIDs::saveAll, | CommandIDs::saveAll, | ||||
| CommandIDs::updateModules, | CommandIDs::updateModules, | ||||
| CommandIDs::showAppearanceSettings, | |||||
| CommandIDs::showUTF8Tool }; | CommandIDs::showUTF8Tool }; | ||||
| commands.addArray (ids, numElementsInArray (ids)); | commands.addArray (ids, numElementsInArray (ids)); | ||||
| @@ -298,14 +301,18 @@ public: | |||||
| result.defaultKeypresses.add (KeyPress (',', ModifierKeys::commandModifier, 0)); | result.defaultKeypresses.add (KeyPress (',', ModifierKeys::commandModifier, 0)); | ||||
| break; | break; | ||||
| case CommandIDs::showAppearanceSettings: | |||||
| result.setInfo ("Fonts and Colours...", "Shows the appearance settings window.", CommandCategories::general, 0); | |||||
| break; | |||||
| case CommandIDs::closeAllDocuments: | case CommandIDs::closeAllDocuments: | ||||
| result.setInfo ("Close All Documents", "Closes all open documents", CommandCategories::general, 0); | result.setInfo ("Close All Documents", "Closes all open documents", CommandCategories::general, 0); | ||||
| result.setActive (OpenDocumentManager::getInstance()->getNumOpenDocuments() > 0); | |||||
| result.setActive (openDocumentManager.getNumOpenDocuments() > 0); | |||||
| break; | break; | ||||
| case CommandIDs::saveAll: | case CommandIDs::saveAll: | ||||
| result.setInfo ("Save All", "Saves all open documents", CommandCategories::general, 0); | result.setInfo ("Save All", "Saves all open documents", CommandCategories::general, 0); | ||||
| result.setActive (OpenDocumentManager::getInstance()->anyFilesNeedSaving()); | |||||
| result.setActive (openDocumentManager.anyFilesNeedSaving()); | |||||
| break; | break; | ||||
| case CommandIDs::updateModules: | case CommandIDs::updateModules: | ||||
| @@ -326,15 +333,17 @@ public: | |||||
| { | { | ||||
| switch (info.commandID) | switch (info.commandID) | ||||
| { | { | ||||
| case CommandIDs::newProject: createNewProject(); break; | |||||
| case CommandIDs::open: askUserToOpenFile(); break; | |||||
| case CommandIDs::showPrefs: showPrefsPanel(); break; | |||||
| case CommandIDs::saveAll: OpenDocumentManager::getInstance()->saveAll(); break; | |||||
| case CommandIDs::closeAllDocuments: closeAllDocuments (true); break; | |||||
| case CommandIDs::showUTF8Tool: showUTF8ToolWindow(); break; | |||||
| case CommandIDs::updateModules: runModuleUpdate (String::empty); break; | |||||
| default: return JUCEApplication::perform (info); | |||||
| case CommandIDs::newProject: createNewProject(); break; | |||||
| case CommandIDs::open: askUserToOpenFile(); break; | |||||
| case CommandIDs::showPrefs: showPrefsPanel(); break; | |||||
| case CommandIDs::saveAll: openDocumentManager.saveAll(); break; | |||||
| case CommandIDs::closeAllDocuments: closeAllDocuments (true); break; | |||||
| case CommandIDs::showUTF8Tool: showUTF8ToolWindow(); break; | |||||
| case CommandIDs::showAppearanceSettings: showAppearanceEditorWindow(); break; | |||||
| case CommandIDs::updateModules: runModuleUpdate (String::empty); break; | |||||
| default: | |||||
| return JUCEApplication::perform (info); | |||||
| } | } | ||||
| return true; | return true; | ||||
| @@ -371,7 +380,7 @@ public: | |||||
| bool closeAllDocuments (bool askUserToSave) | bool closeAllDocuments (bool askUserToSave) | ||||
| { | { | ||||
| return OpenDocumentManager::getInstance()->closeAll (askUserToSave); | |||||
| return openDocumentManager.closeAll (askUserToSave); | |||||
| } | } | ||||
| bool makeSureUserHasSelectedModuleFolder() | bool makeSureUserHasSelectedModuleFolder() | ||||
| @@ -403,6 +412,14 @@ public: | |||||
| return ModuleList::isJuceOrModulesFolder (list.getModulesFolder()); | return ModuleList::isJuceOrModulesFolder (list.getModulesFolder()); | ||||
| } | } | ||||
| void showAppearanceEditorWindow() | |||||
| { | |||||
| if (appearanceEditorWindow == nullptr) | |||||
| appearanceEditorWindow = AppearanceSettings::createEditorWindow(); | |||||
| appearanceEditorWindow->toFront (true); | |||||
| } | |||||
| //============================================================================== | //============================================================================== | ||||
| virtual void doExtraInitialisation() {} | virtual void doExtraInitialisation() {} | ||||
| virtual void addExtraConfigItems (Project&, TreeViewItem&) {} | virtual void addExtraConfigItems (Project&, TreeViewItem&) {} | ||||
| @@ -417,7 +434,11 @@ public: | |||||
| Icons icons; | Icons icons; | ||||
| ScopedPointer<MainMenuModel> menuModel; | ScopedPointer<MainMenuModel> menuModel; | ||||
| MainWindowList mainWindowList; | MainWindowList mainWindowList; | ||||
| OpenDocumentManager openDocumentManager; | |||||
| ScopedPointer<Component> appearanceEditorWindow; | |||||
| private: | private: | ||||
| class AsyncQuitRetrier : public Timer | class AsyncQuitRetrier : public Timer | ||||
| @@ -40,6 +40,7 @@ namespace CommandIDs | |||||
| static const int showProjectSettings = 0x200074; | static const int showProjectSettings = 0x200074; | ||||
| static const int updateModules = 0x200075; | static const int updateModules = 0x200075; | ||||
| static const int showUTF8Tool = 0x200076; | static const int showUTF8Tool = 0x200076; | ||||
| static const int showAppearanceSettings = 0x200077; | |||||
| static const int saveAll = 0x200080; | static const int saveAll = 0x200080; | ||||
| static const int undo = 0x200090; | static const int undo = 0x200090; | ||||
| @@ -48,7 +49,6 @@ namespace CommandIDs | |||||
| static const int closeWindow = 0x201001; | static const int closeWindow = 0x201001; | ||||
| static const int closeAllDocuments = 0x201000; | static const int closeAllDocuments = 0x201000; | ||||
| static const int test = 0x202090; | |||||
| static const int toFront = 0x2020a0; | static const int toFront = 0x2020a0; | ||||
| static const int toBack = 0x2030a1; | static const int toBack = 0x2030a1; | ||||
| static const int showOrHideProperties = 0x2030b0; | static const int showOrHideProperties = 0x2030b0; | ||||
| @@ -71,21 +71,11 @@ namespace CommandIDs | |||||
| static const int showGrid = 0x2020e0; | static const int showGrid = 0x2020e0; | ||||
| static const int enableSnapToGrid = 0x2020f0; | static const int enableSnapToGrid = 0x2020f0; | ||||
| static const int editCompLayout = 0x202100; | |||||
| static const int editCompGraphics = 0x202110; | |||||
| static const int bringBackLostItems = 0x202120; | |||||
| static const int zoomIn = 0x202130; | static const int zoomIn = 0x202130; | ||||
| static const int zoomOut = 0x202140; | static const int zoomOut = 0x202140; | ||||
| static const int zoomNormal = 0x202150; | static const int zoomNormal = 0x202150; | ||||
| static const int spaceBarDrag = 0x202160; | static const int spaceBarDrag = 0x202160; | ||||
| static const int compOverlay0 = 0x202200; | |||||
| static const int compOverlay33 = 0x202210; | |||||
| static const int compOverlay66 = 0x202220; | |||||
| static const int compOverlay100 = 0x202230; | |||||
| static const int bringBackLostItems = 0x202120; | |||||
| static const int newDocumentBase = 0x322010; | static const int newDocumentBase = 0x322010; | ||||
| static const int newComponentBase = 0x302010; | static const int newComponentBase = 0x302010; | ||||
| @@ -25,18 +25,19 @@ | |||||
| #include "jucer_DocumentEditorComponent.h" | #include "jucer_DocumentEditorComponent.h" | ||||
| #include "../Project/jucer_ProjectContentComponent.h" | #include "../Project/jucer_ProjectContentComponent.h" | ||||
| #include "../Application/jucer_Application.h" | |||||
| //============================================================================== | //============================================================================== | ||||
| DocumentEditorComponent::DocumentEditorComponent (OpenDocumentManager::Document* document_) | DocumentEditorComponent::DocumentEditorComponent (OpenDocumentManager::Document* document_) | ||||
| : document (document_) | : document (document_) | ||||
| { | { | ||||
| OpenDocumentManager::getInstance()->addListener (this); | |||||
| JucerApplication::getApp()->openDocumentManager.addListener (this); | |||||
| } | } | ||||
| DocumentEditorComponent::~DocumentEditorComponent() | DocumentEditorComponent::~DocumentEditorComponent() | ||||
| { | { | ||||
| OpenDocumentManager::getInstance()->removeListener (this); | |||||
| JucerApplication::getApp()->openDocumentManager.removeListener (this); | |||||
| } | } | ||||
| void DocumentEditorComponent::documentAboutToClose (OpenDocumentManager::Document* closingDoc) | void DocumentEditorComponent::documentAboutToClose (OpenDocumentManager::Document* closingDoc) | ||||
| @@ -126,7 +126,7 @@ bool MainWindow::closeProject (Project* project) | |||||
| getAppProperties().setValue (getProjectWindowPosName(), getWindowStateAsString()); | getAppProperties().setValue (getProjectWindowPosName(), getWindowStateAsString()); | ||||
| if (! OpenDocumentManager::getInstance()->closeAllDocumentsUsingProject (*project, true)) | |||||
| if (! JucerApplication::getApp()->openDocumentManager.closeAllDocumentsUsingProject (*project, true)) | |||||
| return false; | return false; | ||||
| ProjectContentComponent* const pcc = getProjectContentComponent(); | ProjectContentComponent* const pcc = getProjectContentComponent(); | ||||
| @@ -174,7 +174,7 @@ void MainWindow::restoreWindowPosition() | |||||
| bool MainWindow::canOpenFile (const File& file) const | bool MainWindow::canOpenFile (const File& file) const | ||||
| { | { | ||||
| return file.hasFileExtension (Project::projectFileExtension) | return file.hasFileExtension (Project::projectFileExtension) | ||||
| || OpenDocumentManager::getInstance()->canOpenFile (file); | |||||
| || JucerApplication::getApp()->openDocumentManager.canOpenFile (file); | |||||
| } | } | ||||
| bool MainWindow::openFile (const File& file) | bool MainWindow::openFile (const File& file) | ||||
| @@ -227,7 +227,7 @@ void MainWindow::activeWindowStatusChanged() | |||||
| if (getProjectContentComponent() != nullptr) | if (getProjectContentComponent() != nullptr) | ||||
| getProjectContentComponent()->updateMissingFileStatuses(); | getProjectContentComponent()->updateMissingFileStatuses(); | ||||
| OpenDocumentManager::getInstance()->reloadModifiedFiles(); | |||||
| JucerApplication::getApp()->openDocumentManager.reloadModifiedFiles(); | |||||
| } | } | ||||
| void MainWindow::updateTitle (const String& documentName) | void MainWindow::updateTitle (const String& documentName) | ||||
| @@ -91,10 +91,13 @@ OpenDocumentManager::OpenDocumentManager() | |||||
| OpenDocumentManager::~OpenDocumentManager() | OpenDocumentManager::~OpenDocumentManager() | ||||
| { | { | ||||
| clearSingletonInstance(); | |||||
| } | } | ||||
| juce_ImplementSingleton_SingleThreaded (OpenDocumentManager); | |||||
| void OpenDocumentManager::clear() | |||||
| { | |||||
| documents.clear(); | |||||
| types.clear(); | |||||
| } | |||||
| //============================================================================== | //============================================================================== | ||||
| void OpenDocumentManager::registerType (DocumentType* type) | void OpenDocumentManager::registerType (DocumentType* type) | ||||
| @@ -38,8 +38,6 @@ public: | |||||
| OpenDocumentManager(); | OpenDocumentManager(); | ||||
| ~OpenDocumentManager(); | ~OpenDocumentManager(); | ||||
| juce_DeclareSingleton_SingleThreaded_Minimal (OpenDocumentManager); | |||||
| //============================================================================== | //============================================================================== | ||||
| class Document | class Document | ||||
| { | { | ||||
| @@ -68,6 +66,7 @@ public: | |||||
| int getNumOpenDocuments() const; | int getNumOpenDocuments() const; | ||||
| Document* getOpenDocument (int index) const; | Document* getOpenDocument (int index) const; | ||||
| void moveDocumentToTopOfStack (Document* doc); | void moveDocumentToTopOfStack (Document* doc); | ||||
| void clear(); | |||||
| bool canOpenFile (const File& file); | bool canOpenFile (const File& file); | ||||
| Document* openFile (Project* project, const File& file); | Document* openFile (Project* project, const File& file); | ||||
| @@ -37,7 +37,7 @@ SourceCodeEditor::SourceCodeEditor (OpenDocumentManager::Document* document_, | |||||
| addAndMakeVisible (&editor); | addAndMakeVisible (&editor); | ||||
| #if JUCE_MAC | #if JUCE_MAC | ||||
| Font font (10.6f); | |||||
| Font font (13.0f); | |||||
| font.setTypefaceName ("Menlo"); | font.setTypefaceName ("Menlo"); | ||||
| #else | #else | ||||
| Font font (10.0f); | Font font (10.0f); | ||||
| @@ -46,10 +46,14 @@ SourceCodeEditor::SourceCodeEditor (OpenDocumentManager::Document* document_, | |||||
| editor.setFont (font); | editor.setFont (font); | ||||
| editor.setTabSize (4, true); | editor.setTabSize (4, true); | ||||
| updateColourScheme(); | |||||
| getAppSettings().appearance.settings.addListener (this); | |||||
| } | } | ||||
| SourceCodeEditor::~SourceCodeEditor() | SourceCodeEditor::~SourceCodeEditor() | ||||
| { | { | ||||
| getAppSettings().appearance.settings.removeListener (this); | |||||
| } | } | ||||
| void SourceCodeEditor::resized() | void SourceCodeEditor::resized() | ||||
| @@ -71,6 +75,17 @@ CodeTokeniser* SourceCodeEditor::getTokeniserFor (const File& file) | |||||
| SourceCodeEditor* SourceCodeEditor::createFor (OpenDocumentManager::Document* document, | SourceCodeEditor* SourceCodeEditor::createFor (OpenDocumentManager::Document* document, | ||||
| CodeDocument& codeDocument) | CodeDocument& codeDocument) | ||||
| { | { | ||||
| return new SourceCodeEditor (document, codeDocument, | |||||
| getTokeniserFor (document->getFile())); | |||||
| return new SourceCodeEditor (document, codeDocument, getTokeniserFor (document->getFile())); | |||||
| } | |||||
| void SourceCodeEditor::valueTreePropertyChanged (ValueTree&, const Identifier&) { updateColourScheme(); } | |||||
| void SourceCodeEditor::valueTreeChildAdded (ValueTree&, ValueTree&) { updateColourScheme(); } | |||||
| void SourceCodeEditor::valueTreeChildRemoved (ValueTree&, ValueTree&) { updateColourScheme(); } | |||||
| void SourceCodeEditor::valueTreeChildOrderChanged (ValueTree&) { updateColourScheme(); } | |||||
| void SourceCodeEditor::valueTreeParentChanged (ValueTree&) { updateColourScheme(); } | |||||
| void SourceCodeEditor::valueTreeRedirected (ValueTree&) { updateColourScheme(); } | |||||
| void SourceCodeEditor::updateColourScheme() | |||||
| { | |||||
| getAppSettings().appearance.applyToCodeEditor (editor); | |||||
| } | } | ||||
| @@ -29,11 +29,9 @@ | |||||
| #include "../Project/jucer_Project.h" | #include "../Project/jucer_Project.h" | ||||
| #include "../Application/jucer_DocumentEditorComponent.h" | #include "../Application/jucer_DocumentEditorComponent.h" | ||||
| //============================================================================== | //============================================================================== | ||||
| /** | |||||
| */ | |||||
| class SourceCodeEditor : public DocumentEditorComponent | |||||
| class SourceCodeEditor : public DocumentEditorComponent, | |||||
| private ValueTree::Listener | |||||
| { | { | ||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -54,6 +52,15 @@ public: | |||||
| CodeEditorComponent editor; | CodeEditorComponent editor; | ||||
| private: | private: | ||||
| void valueTreePropertyChanged (ValueTree&, const Identifier&); | |||||
| void valueTreeChildAdded (ValueTree&, ValueTree&); | |||||
| void valueTreeChildRemoved (ValueTree&, ValueTree&); | |||||
| void valueTreeChildOrderChanged (ValueTree&); | |||||
| void valueTreeParentChanged (ValueTree&); | |||||
| void valueTreeRedirected (ValueTree&); | |||||
| void updateColourScheme(); | |||||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SourceCodeEditor); | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SourceCodeEditor); | ||||
| }; | }; | ||||
| @@ -66,7 +66,7 @@ Project::Project (const File& file_) | |||||
| Project::~Project() | Project::~Project() | ||||
| { | { | ||||
| projectRoot.removeListener (this); | projectRoot.removeListener (this); | ||||
| OpenDocumentManager::getInstance()->closeAllDocumentsUsingProject (*this, false); | |||||
| JucerApplication::getApp()->openDocumentManager.closeAllDocumentsUsingProject (*this, false); | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -537,7 +537,7 @@ bool Project::Item::renameFile (const File& newFile) | |||||
| || (newFile.exists() && ! oldFile.exists())) | || (newFile.exists() && ! oldFile.exists())) | ||||
| { | { | ||||
| setFile (newFile); | setFile (newFile); | ||||
| OpenDocumentManager::getInstance()->fileHasBeenRenamed (oldFile, newFile); | |||||
| JucerApplication::getApp()->openDocumentManager.fileHasBeenRenamed (oldFile, newFile); | |||||
| return true; | return true; | ||||
| } | } | ||||
| @@ -25,6 +25,7 @@ | |||||
| #include "jucer_ProjectContentComponent.h" | #include "jucer_ProjectContentComponent.h" | ||||
| #include "../Application/jucer_MainWindow.h" | #include "../Application/jucer_MainWindow.h" | ||||
| #include "../Application/jucer_Application.h" | |||||
| #include "../Code Editor/jucer_SourceCodeEditor.h" | #include "../Code Editor/jucer_SourceCodeEditor.h" | ||||
| #include "jucer_ConfigPage.h" | #include "jucer_ConfigPage.h" | ||||
| #include "jucer_TreeViewTypes.h" | #include "jucer_TreeViewTypes.h" | ||||
| @@ -109,6 +110,25 @@ void ProjectContentComponent::paint (Graphics& g) | |||||
| g.fillAll (Colour::greyLevel (0.8f)); | g.fillAll (Colour::greyLevel (0.8f)); | ||||
| } | } | ||||
| void ProjectContentComponent::resized() | |||||
| { | |||||
| Rectangle<int> r (getLocalBounds()); | |||||
| treeViewTabs.setBounds (r.removeFromLeft (treeViewTabs.getWidth())); | |||||
| if (resizerBar != nullptr) | |||||
| resizerBar->setBounds (r.removeFromLeft (4)); | |||||
| if (contentView != nullptr) | |||||
| contentView->setBounds (r); | |||||
| } | |||||
| void ProjectContentComponent::childBoundsChanged (Component* child) | |||||
| { | |||||
| if (child == &treeViewTabs) | |||||
| resized(); | |||||
| } | |||||
| void ProjectContentComponent::setProject (Project* newProject) | void ProjectContentComponent::setProject (Project* newProject) | ||||
| { | { | ||||
| if (project != newProject) | if (project != newProject) | ||||
| @@ -121,38 +141,44 @@ void ProjectContentComponent::setProject (Project* newProject) | |||||
| contentView = nullptr; | contentView = nullptr; | ||||
| resizerBar = nullptr; | resizerBar = nullptr; | ||||
| treeViewTabs.clearTabs(); | |||||
| if (project != nullptr && treeViewTabs.isShowing()) | |||||
| { | |||||
| if (treeViewTabs.getWidth() > 0) | |||||
| settings.setValue ("projectTreeviewWidth_" + project->getProjectUID(), treeViewTabs.getWidth()); | |||||
| if (treeViewTabs.isShowing() && treeViewTabs.getWidth() > 0) | |||||
| settings.setValue ("projectTreeviewWidth", treeViewTabs.getWidth()); | |||||
| settings.setValue ("lastTab_" + project->getProjectUID(), treeViewTabs.getCurrentTabName()); | |||||
| } | |||||
| treeViewTabs.clearTabs(); | |||||
| project = newProject; | project = newProject; | ||||
| if (project != nullptr) | if (project != nullptr) | ||||
| { | { | ||||
| treeViewTabs.setVisible (true); | |||||
| addChildAndSetID (&treeViewTabs, "tree"); | |||||
| addAndMakeVisible (&treeViewTabs); | |||||
| createProjectTabs(); | createProjectTabs(); | ||||
| String lastTreeWidth (settings.getValue ("projectTreeviewWidth")); | |||||
| if (lastTreeWidth.getIntValue() < 150) | |||||
| lastTreeWidth = "250"; | |||||
| const String lastTabName (settings.getValue ("lastTab_" + project->getProjectUID())); | |||||
| int lastTabIndex = treeViewTabs.getTabNames().indexOf (lastTabName); | |||||
| treeViewTabs.setBounds ("0, 0, left + " + lastTreeWidth + ", parent.height"); | |||||
| if (lastTabIndex < 0 || lastTabIndex > treeViewTabs.getNumTabs()) | |||||
| lastTabIndex = 1; | |||||
| addChildAndSetID (resizerBar = new ResizableEdgeComponent (&treeViewTabs, &treeSizeConstrainer, | |||||
| ResizableEdgeComponent::rightEdge), | |||||
| "resizer"); | |||||
| treeViewTabs.setCurrentTabIndex (lastTabIndex); | |||||
| resizerBar->setBounds ("tree.right, 0, tree.right + 4, parent.height"); | |||||
| int lastTreeWidth = settings.getValue ("projectTreeviewWidth_" + project->getProjectUID()).getIntValue(); | |||||
| if (lastTreeWidth < 150) | |||||
| lastTreeWidth = 250; | |||||
| project->addChangeListener (this); | |||||
| treeViewTabs.setBounds (0, 0, lastTreeWidth, getHeight()); | |||||
| addAndMakeVisible (resizerBar = new ResizableEdgeComponent (&treeViewTabs, &treeSizeConstrainer, | |||||
| ResizableEdgeComponent::rightEdge)); | |||||
| if (currentDocument == nullptr) | |||||
| invokeDirectly (CommandIDs::showProjectSettings, true); | |||||
| project->addChangeListener (this); | |||||
| updateMissingFileStatuses(); | updateMissingFileStatuses(); | ||||
| resized(); | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| @@ -163,6 +189,7 @@ void ProjectContentComponent::setProject (Project* newProject) | |||||
| void ProjectContentComponent::createProjectTabs() | void ProjectContentComponent::createProjectTabs() | ||||
| { | { | ||||
| jassert (project != nullptr); | |||||
| treeViewTabs.addTab ("Files", Colour::greyLevel (0.93f), new FileTreeTab (*project), true); | treeViewTabs.addTab ("Files", Colour::greyLevel (0.93f), new FileTreeTab (*project), true); | ||||
| treeViewTabs.addTab ("Config", Colour::greyLevel (0.93f), new ConfigTreeTab (*project), true); | treeViewTabs.addTab ("Config", Colour::greyLevel (0.93f), new ConfigTreeTab (*project), true); | ||||
| } | } | ||||
| @@ -205,7 +232,7 @@ void ProjectContentComponent::updateMissingFileStatuses() | |||||
| bool ProjectContentComponent::showEditorForFile (const File& f) | bool ProjectContentComponent::showEditorForFile (const File& f) | ||||
| { | { | ||||
| return showDocument (OpenDocumentManager::getInstance()->openFile (project, f)); | |||||
| return showDocument (JucerApplication::getApp()->openDocumentManager.openFile (project, f)); | |||||
| } | } | ||||
| bool ProjectContentComponent::showDocument (OpenDocumentManager::Document* doc) | bool ProjectContentComponent::showDocument (OpenDocumentManager::Document* doc) | ||||
| @@ -213,7 +240,7 @@ bool ProjectContentComponent::showDocument (OpenDocumentManager::Document* doc) | |||||
| if (doc == nullptr) | if (doc == nullptr) | ||||
| return false; | return false; | ||||
| OpenDocumentManager::getInstance()->moveDocumentToTopOfStack (doc); | |||||
| JucerApplication::getApp()->openDocumentManager.moveDocumentToTopOfStack (doc); | |||||
| if (doc->hasFileBeenModifiedExternally()) | if (doc->hasFileBeenModifiedExternally()) | ||||
| doc->reloadFromFile(); | doc->reloadFromFile(); | ||||
| @@ -242,11 +269,10 @@ bool ProjectContentComponent::setEditorComponent (Component* editor, OpenDocumen | |||||
| contentView = editor; | contentView = editor; | ||||
| currentDocument = doc; | currentDocument = doc; | ||||
| addAndMakeVisible (editor); | addAndMakeVisible (editor); | ||||
| editor->setBounds ("resizer.right, 0, parent.right, parent.height"); | |||||
| resized(); | |||||
| updateMainWindowTitle(); | updateMainWindowTitle(); | ||||
| commandManager->commandStatusChanged(); | commandManager->commandStatusChanged(); | ||||
| return true; | return true; | ||||
| } | } | ||||
| @@ -419,7 +445,7 @@ bool ProjectContentComponent::perform (const InvocationInfo& info) | |||||
| case CommandIDs::closeDocument: | case CommandIDs::closeDocument: | ||||
| if (currentDocument != nullptr) | if (currentDocument != nullptr) | ||||
| OpenDocumentManager::getInstance()->closeDocument (currentDocument, true); | |||||
| JucerApplication::getApp()->openDocumentManager.closeDocument (currentDocument, true); | |||||
| break; | break; | ||||
| case CommandIDs::openInIDE: | case CommandIDs::openInIDE: | ||||
| @@ -42,8 +42,6 @@ public: | |||||
| ProjectContentComponent(); | ProjectContentComponent(); | ||||
| ~ProjectContentComponent(); | ~ProjectContentComponent(); | ||||
| void paint (Graphics& g); | |||||
| Project* getProject() const noexcept { return project; } | Project* getProject() const noexcept { return project; } | ||||
| virtual void setProject (Project* project); | virtual void setProject (Project* project); | ||||
| void saveTreeViewState(); | void saveTreeViewState(); | ||||
| @@ -68,6 +66,10 @@ public: | |||||
| bool isCommandActive (const CommandID commandID); | bool isCommandActive (const CommandID commandID); | ||||
| bool perform (const InvocationInfo& info); | bool perform (const InvocationInfo& info); | ||||
| void paint (Graphics& g); | |||||
| void resized(); | |||||
| void childBoundsChanged (Component* child); | |||||
| protected: | protected: | ||||
| Project* project; | Project* project; | ||||
| OpenDocumentManager::Document* currentDocument; | OpenDocumentManager::Document* currentDocument; | ||||
| @@ -24,7 +24,7 @@ | |||||
| */ | */ | ||||
| #include "jucer_ProjectTreeViewBase.h" | #include "jucer_ProjectTreeViewBase.h" | ||||
| #include "../Application/jucer_OpenDocumentManager.h" | |||||
| #include "../Application/jucer_Application.h" | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -220,11 +220,13 @@ void ProjectTreeViewBase::deleteAllSelectedItems() | |||||
| if (treeRootItem != nullptr) | if (treeRootItem != nullptr) | ||||
| { | { | ||||
| OpenDocumentManager& om = JucerApplication::getApp()->openDocumentManager; | |||||
| for (int i = filesToTrash.size(); --i >= 0;) | for (int i = filesToTrash.size(); --i >= 0;) | ||||
| { | { | ||||
| const File f (*filesToTrash.getUnchecked(i)); | const File f (*filesToTrash.getUnchecked(i)); | ||||
| OpenDocumentManager::getInstance()->closeFile (f, false); | |||||
| om.closeFile (f, false); | |||||
| if (! f.moveToTrash()) | if (! f.moveToTrash()) | ||||
| { | { | ||||
| @@ -238,7 +240,7 @@ void ProjectTreeViewBase::deleteAllSelectedItems() | |||||
| if (itemToRemove != nullptr) | if (itemToRemove != nullptr) | ||||
| { | { | ||||
| OpenDocumentManager::getInstance()->closeFile (itemToRemove->getFile(), false); | |||||
| om.closeFile (itemToRemove->getFile(), false); | |||||
| itemToRemove->deleteItem(); | itemToRemove->deleteItem(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -112,6 +112,7 @@ public: | |||||
| tree.setDefaultOpenness (true); | tree.setDefaultOpenness (true); | ||||
| tree.setColour (TreeView::backgroundColourId, Colours::transparentBlack); | tree.setColour (TreeView::backgroundColourId, Colours::transparentBlack); | ||||
| tree.setIndentSize (14); | tree.setIndentSize (14); | ||||
| tree.getViewport()->setScrollBarThickness (14); | |||||
| } | } | ||||
| ~TreePanelBase() | ~TreePanelBase() | ||||
| @@ -468,7 +468,7 @@ class CallOutBoxCallback : public ModalComponentManager::Callback | |||||
| public: | public: | ||||
| CallOutBoxCallback (Component& attachTo, Component* content_) | CallOutBoxCallback (Component& attachTo, Component* content_) | ||||
| : content (content_), | : content (content_), | ||||
| callout (*content_, attachTo, attachTo.getTopLevelComponent()) | |||||
| callout (*content_, attachTo, nullptr) | |||||
| { | { | ||||
| callout.setVisible (true); | callout.setVisible (true); | ||||
| callout.enterModalState (true, this); | callout.enterModalState (true, this); | ||||
| @@ -146,3 +146,204 @@ protected: | |||||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ValueSourceFilter); | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ValueSourceFilter); | ||||
| }; | }; | ||||
| //============================================================================== | |||||
| class PopupColourSelector : public Component, | |||||
| public ChangeListener, | |||||
| public Value::Listener, | |||||
| public ButtonListener | |||||
| { | |||||
| public: | |||||
| PopupColourSelector (const Value& colourValue_, | |||||
| const Colour& defaultColour_, | |||||
| const bool canResetToDefault) | |||||
| : defaultButton ("Reset to Default"), | |||||
| colourValue (colourValue_), | |||||
| defaultColour (defaultColour_) | |||||
| { | |||||
| addAndMakeVisible (&selector); | |||||
| selector.setName ("Colour"); | |||||
| selector.setCurrentColour (getColour()); | |||||
| selector.addChangeListener (this); | |||||
| if (canResetToDefault) | |||||
| { | |||||
| addAndMakeVisible (&defaultButton); | |||||
| defaultButton.addListener (this); | |||||
| } | |||||
| colourValue.addListener (this); | |||||
| setSize (300, 400); | |||||
| } | |||||
| void resized() | |||||
| { | |||||
| if (defaultButton.isVisible()) | |||||
| { | |||||
| selector.setBounds (0, 0, getWidth(), getHeight() - 30); | |||||
| defaultButton.changeWidthToFitText (22); | |||||
| defaultButton.setTopLeftPosition (10, getHeight() - 26); | |||||
| } | |||||
| else | |||||
| { | |||||
| selector.setBounds (0, 0, getWidth(), getHeight()); | |||||
| } | |||||
| } | |||||
| Colour getColour() const | |||||
| { | |||||
| if (colourValue.toString().isEmpty()) | |||||
| return defaultColour; | |||||
| return Colour::fromString (colourValue.toString()); | |||||
| } | |||||
| void setColour (const Colour& newColour) | |||||
| { | |||||
| if (getColour() != newColour) | |||||
| { | |||||
| if (newColour == defaultColour && defaultButton.isVisible()) | |||||
| colourValue = var::null; | |||||
| else | |||||
| colourValue = newColour.toDisplayString (true); | |||||
| } | |||||
| } | |||||
| void buttonClicked (Button*) | |||||
| { | |||||
| setColour (defaultColour); | |||||
| selector.setCurrentColour (defaultColour); | |||||
| } | |||||
| void changeListenerCallback (ChangeBroadcaster*) | |||||
| { | |||||
| if (selector.getCurrentColour() != getColour()) | |||||
| setColour (selector.getCurrentColour()); | |||||
| } | |||||
| void valueChanged (Value&) | |||||
| { | |||||
| selector.setCurrentColour (getColour()); | |||||
| } | |||||
| private: | |||||
| StoredSettings::ColourSelectorWithSwatches selector; | |||||
| TextButton defaultButton; | |||||
| Value colourValue; | |||||
| Colour defaultColour; | |||||
| }; | |||||
| //============================================================================== | |||||
| /** | |||||
| A component that shows a colour swatch with hex ARGB value, and which pops up | |||||
| a colour selector when you click it. | |||||
| */ | |||||
| class ColourEditorComponent : public Component, | |||||
| public Value::Listener | |||||
| { | |||||
| public: | |||||
| ColourEditorComponent (UndoManager* undoManager_, const Value& colourValue_, | |||||
| const Colour& defaultColour_, const bool canResetToDefault_) | |||||
| : undoManager (undoManager_), colourValue (colourValue_), defaultColour (defaultColour_), | |||||
| canResetToDefault (canResetToDefault_) | |||||
| { | |||||
| colourValue.addListener (this); | |||||
| } | |||||
| void paint (Graphics& g) | |||||
| { | |||||
| const Colour colour (getColour()); | |||||
| g.fillAll (Colours::grey); | |||||
| g.fillCheckerBoard (getLocalBounds().reduced (2, 2), | |||||
| 10, 10, | |||||
| Colour (0xffdddddd).overlaidWith (colour), | |||||
| Colour (0xffffffff).overlaidWith (colour)); | |||||
| g.setColour (Colours::white.overlaidWith (colour).contrasting()); | |||||
| g.setFont (Font (getHeight() * 0.6f, Font::bold)); | |||||
| g.drawFittedText (colour.toDisplayString (true), | |||||
| 2, 1, getWidth() - 4, getHeight() - 1, | |||||
| Justification::centred, 1); | |||||
| } | |||||
| Colour getColour() const | |||||
| { | |||||
| if (colourValue.toString().isEmpty()) | |||||
| return defaultColour; | |||||
| return Colour::fromString (colourValue.toString()); | |||||
| } | |||||
| void setColour (const Colour& newColour) | |||||
| { | |||||
| if (getColour() != newColour) | |||||
| { | |||||
| if (newColour == defaultColour && canResetToDefault) | |||||
| colourValue = var::null; | |||||
| else | |||||
| colourValue = newColour.toDisplayString (true); | |||||
| } | |||||
| } | |||||
| void resetToDefault() | |||||
| { | |||||
| setColour (defaultColour); | |||||
| } | |||||
| void refresh() | |||||
| { | |||||
| const Colour col (getColour()); | |||||
| if (col != lastColour) | |||||
| { | |||||
| lastColour = col; | |||||
| repaint(); | |||||
| } | |||||
| } | |||||
| void mouseDown (const MouseEvent&) | |||||
| { | |||||
| if (undoManager != nullptr) | |||||
| undoManager->beginNewTransaction(); | |||||
| launchAsyncCallOutBox (*this, new PopupColourSelector (colourValue, defaultColour, canResetToDefault)); | |||||
| } | |||||
| void valueChanged (Value&) | |||||
| { | |||||
| refresh(); | |||||
| } | |||||
| private: | |||||
| UndoManager* undoManager; | |||||
| Value colourValue; | |||||
| Colour lastColour; | |||||
| const Colour defaultColour; | |||||
| const bool canResetToDefault; | |||||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ColourEditorComponent); | |||||
| }; | |||||
| //============================================================================== | |||||
| class ColourPropertyComponent : public PropertyComponent | |||||
| { | |||||
| public: | |||||
| ColourPropertyComponent (UndoManager* undoManager, const String& name, const Value& colour, | |||||
| const Colour& defaultColour, bool canResetToDefault) | |||||
| : PropertyComponent (name), | |||||
| colourEditor (undoManager, colour, defaultColour, canResetToDefault) | |||||
| { | |||||
| addAndMakeVisible (&colourEditor); | |||||
| } | |||||
| void resized() | |||||
| { | |||||
| colourEditor.setBounds (getLookAndFeel().getPropertyComponentContentPosition (*this)); | |||||
| } | |||||
| void refresh() {} | |||||
| protected: | |||||
| ColourEditorComponent colourEditor; | |||||
| }; | |||||
| @@ -117,6 +117,8 @@ namespace Ids | |||||
| DECLARE_ID (androidKeyStorePass); | DECLARE_ID (androidKeyStorePass); | ||||
| DECLARE_ID (androidKeyAlias); | DECLARE_ID (androidKeyAlias); | ||||
| DECLARE_ID (androidKeyAliasPass); | DECLARE_ID (androidKeyAliasPass); | ||||
| DECLARE_ID (font); | |||||
| DECLARE_ID (colour); | |||||
| const Identifier class_ ("class"); | const Identifier class_ ("class"); | ||||
| #undef DECLARE_ID | #undef DECLARE_ID | ||||
| @@ -38,10 +38,24 @@ PropertiesFile& getAppProperties() | |||||
| return getAppSettings().getProps(); | return getAppSettings().getProps(); | ||||
| } | } | ||||
| static AppearanceSettings getDefaultScheme() | |||||
| { | |||||
| CodeDocument doc; | |||||
| CPlusPlusCodeTokeniser tokeniser; | |||||
| CodeEditorComponent defaultComp (doc, &tokeniser); | |||||
| return AppearanceSettings (defaultComp); | |||||
| } | |||||
| //============================================================================== | //============================================================================== | ||||
| StoredSettings::StoredSettings() | StoredSettings::StoredSettings() | ||||
| : appearance (getDefaultScheme()) | |||||
| { | { | ||||
| reload(); | reload(); | ||||
| const File defaultSchemeFile (getSchemesFolder().getChildFile ("Default").withFileExtension (getSchemeFileSuffix())); | |||||
| if (! defaultSchemeFile.exists()) | |||||
| appearance.writeToFile (defaultSchemeFile); | |||||
| } | } | ||||
| StoredSettings::~StoredSettings() | StoredSettings::~StoredSettings() | ||||
| @@ -59,6 +73,11 @@ void StoredSettings::flush() | |||||
| { | { | ||||
| if (props != nullptr) | if (props != nullptr) | ||||
| { | { | ||||
| { | |||||
| const ScopedPointer<XmlElement> xml (appearance.settings.createXml()); | |||||
| props->setValue ("editorColours", xml); | |||||
| } | |||||
| props->setValue ("recentFiles", recentFiles.toString()); | props->setValue ("recentFiles", recentFiles.toString()); | ||||
| props->removeValue ("keyMappings"); | props->removeValue ("keyMappings"); | ||||
| @@ -109,6 +128,10 @@ void StoredSettings::reload() | |||||
| recentFiles.restoreFromString (props->getValue ("recentFiles")); | recentFiles.restoreFromString (props->getValue ("recentFiles")); | ||||
| recentFiles.removeNonExistentFiles(); | recentFiles.removeNonExistentFiles(); | ||||
| const ScopedPointer<XmlElement> xml (props->getXmlValue ("editorColours")); | |||||
| if (xml != nullptr) | |||||
| appearance.settings = ValueTree::fromXml (*xml); | |||||
| loadSwatchColours(); | loadSwatchColours(); | ||||
| } | } | ||||
| @@ -178,6 +201,13 @@ void StoredSettings::ColourSelectorWithSwatches::setSwatchColour (int index, con | |||||
| getAppSettings().swatchColours.set (index, newColour); | getAppSettings().swatchColours.set (index, newColour); | ||||
| } | } | ||||
| File StoredSettings::getSchemesFolder() | |||||
| { | |||||
| File f (getProps().getFile().getSiblingFile ("Colour Schemes")); | |||||
| f.createDirectory(); | |||||
| return f; | |||||
| } | |||||
| //============================================================================== | //============================================================================== | ||||
| const Icons& getIcons() | const Icons& getIcons() | ||||
| { | { | ||||
| @@ -26,16 +26,13 @@ | |||||
| #ifndef __JUCER_STOREDSETTINGS_JUCEHEADER__ | #ifndef __JUCER_STOREDSETTINGS_JUCEHEADER__ | ||||
| #define __JUCER_STOREDSETTINGS_JUCEHEADER__ | #define __JUCER_STOREDSETTINGS_JUCEHEADER__ | ||||
| #include "../Application/jucer_AppearanceSettings.h" | |||||
| //============================================================================== | //============================================================================== | ||||
| /** | |||||
| A singleton to hold persistent settings, and to save them in a | |||||
| suitable PropertiesFile. | |||||
| */ | |||||
| class StoredSettings | class StoredSettings | ||||
| { | { | ||||
| public: | public: | ||||
| //============================================================================== | |||||
| StoredSettings(); | StoredSettings(); | ||||
| ~StoredSettings(); | ~StoredSettings(); | ||||
| @@ -64,6 +61,12 @@ public: | |||||
| void setSwatchColour (int index, const Colour& newColour) const; | void setSwatchColour (int index, const Colour& newColour) const; | ||||
| }; | }; | ||||
| //============================================================================== | |||||
| AppearanceSettings appearance; | |||||
| const char* getSchemeFileSuffix() const { return ".editorscheme"; } | |||||
| File getSchemesFolder(); | |||||
| private: | private: | ||||
| ScopedPointer<PropertiesFile> props; | ScopedPointer<PropertiesFile> props; | ||||
| StringArray fontNames; | StringArray fontNames; | ||||
| @@ -1011,6 +1011,8 @@ ValueTree ValueTree::readFromGZIPData (const void* const data, const size_t numB | |||||
| return readFromStream (gzipStream); | return readFromStream (gzipStream); | ||||
| } | } | ||||
| void ValueTree::Listener::valueTreeRedirected (ValueTree&) {} | |||||
| //============================================================================== | //============================================================================== | ||||
| #if JUCE_UNIT_TESTS | #if JUCE_UNIT_TESTS | ||||
| @@ -416,7 +416,7 @@ public: | |||||
| When operator= is used to make a ValueTree refer to a different object, this callback | When operator= is used to make a ValueTree refer to a different object, this callback | ||||
| will be made. | will be made. | ||||
| */ | */ | ||||
| virtual void valueTreeRedirected (ValueTree& treeWhichHasBeenChanged) {} | |||||
| virtual void valueTreeRedirected (ValueTree& treeWhichHasBeenChanged); | |||||
| }; | }; | ||||
| /** Adds a listener to receive callbacks when this node is changed. | /** Adds a listener to receive callbacks when this node is changed. | ||||
| @@ -45,7 +45,7 @@ | |||||
| object, or if you keep the ComponentBuilder around, it'll monitor any changes in the | object, or if you keep the ComponentBuilder around, it'll monitor any changes in the | ||||
| ValueTree and automatically update the component to reflect these changes. | ValueTree and automatically update the component to reflect these changes. | ||||
| */ | */ | ||||
| class JUCE_API ComponentBuilder : public ValueTree::Listener | |||||
| class JUCE_API ComponentBuilder : private ValueTree::Listener | |||||
| { | { | ||||
| public: | public: | ||||
| /** Creates a ComponentBuilder that will use the given state. | /** Creates a ComponentBuilder that will use the given state. | ||||
| @@ -235,16 +235,6 @@ public: | |||||
| //============================================================================= | //============================================================================= | ||||
| /** @internal */ | /** @internal */ | ||||
| void valueTreePropertyChanged (ValueTree& treeWhosePropertyHasChanged, const Identifier& property); | |||||
| /** @internal */ | |||||
| void valueTreeChildAdded (ValueTree& parentTree, ValueTree& childWhichHasBeenAdded); | |||||
| /** @internal */ | |||||
| void valueTreeChildRemoved (ValueTree& parentTree, ValueTree& childWhichHasBeenRemoved); | |||||
| /** @internal */ | |||||
| void valueTreeChildOrderChanged (ValueTree& parentTree); | |||||
| /** @internal */ | |||||
| void valueTreeParentChanged (ValueTree& treeWhoseParentHasChanged); | |||||
| /** @internal */ | |||||
| static void refreshBasicComponentProperties (Component&, const ValueTree&); | static void refreshBasicComponentProperties (Component&, const ValueTree&); | ||||
| /** @internal */ | /** @internal */ | ||||
| static RelativeRectangle getComponentBounds (const ValueTree&); | static RelativeRectangle getComponentBounds (const ValueTree&); | ||||
| @@ -258,6 +248,12 @@ private: | |||||
| WeakReference<Component> componentRef; | WeakReference<Component> componentRef; | ||||
| #endif | #endif | ||||
| void valueTreePropertyChanged (ValueTree&, const Identifier&); | |||||
| void valueTreeChildAdded (ValueTree&, ValueTree&); | |||||
| void valueTreeChildRemoved (ValueTree&, ValueTree&); | |||||
| void valueTreeChildOrderChanged (ValueTree&); | |||||
| void valueTreeParentChanged (ValueTree&); | |||||
| static const Identifier positionID; | static const Identifier positionID; | ||||
| void initialiseRecursively (Component&, const ValueTree&); | void initialiseRecursively (Component&, const ValueTree&); | ||||
| @@ -519,7 +519,7 @@ CodeEditorComponent::ColourScheme CPlusPlusCodeTokeniser::getDefaultColourScheme | |||||
| CodeEditorComponent::ColourScheme cs; | CodeEditorComponent::ColourScheme cs; | ||||
| for (int i = 0; i < sizeof (types) / sizeof (types[0]); ++i) // (NB: numElementsInArray doesn't work here in GCC4.2) | for (int i = 0; i < sizeof (types) / sizeof (types[0]); ++i) // (NB: numElementsInArray doesn't work here in GCC4.2) | ||||
| cs.add (types[i].name, Colour (types[i].colour)); | |||||
| cs.set (types[i].name, Colour (types[i].colour)); | |||||
| return cs; | return cs; | ||||
| } | } | ||||
| @@ -333,8 +333,8 @@ void CodeEditorComponent::codeDocumentChanged (const CodeDocument::Position& aff | |||||
| void CodeEditorComponent::resized() | void CodeEditorComponent::resized() | ||||
| { | { | ||||
| linesOnScreen = (getHeight() - scrollbarThickness) / lineHeight; | |||||
| columnsOnScreen = (int) ((getWidth() - scrollbarThickness) / charWidth); | |||||
| linesOnScreen = jmax (1, (getHeight() - scrollbarThickness) / lineHeight); | |||||
| columnsOnScreen = jmax (1, (int) ((getWidth() - scrollbarThickness) / charWidth)); | |||||
| lines.clear(); | lines.clear(); | ||||
| rebuildLineTokens(); | rebuildLineTokens(); | ||||
| updateCaretPosition(); | updateCaretPosition(); | ||||
| @@ -1087,8 +1087,18 @@ void CodeEditorComponent::setFont (const Font& newFont) | |||||
| resized(); | resized(); | ||||
| } | } | ||||
| void CodeEditorComponent::ColourScheme::add (const String& name, const Colour& colour) | |||||
| void CodeEditorComponent::ColourScheme::set (const String& name, const Colour& colour) | |||||
| { | { | ||||
| for (int i = 0; i < types.size(); ++i) | |||||
| { | |||||
| TokenType& tt = types.getReference(i); | |||||
| if (tt.name == name) | |||||
| { | |||||
| tt.colour = colour; | |||||
| return; | |||||
| } | |||||
| } | |||||
| TokenType tt; | TokenType tt; | ||||
| tt.name = name; | tt.name = name; | ||||
| tt.colour = colour; | tt.colour = colour; | ||||
| @@ -183,7 +183,7 @@ public: | |||||
| Array<TokenType> types; | Array<TokenType> types; | ||||
| void add (const String& name, const Colour& colour); | |||||
| void set (const String& name, const Colour& colour); | |||||
| }; | }; | ||||
| /** Changes the syntax highlighting scheme. | /** Changes the syntax highlighting scheme. | ||||