mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-25 02:04:23 +00:00
Introjucer: some internal refactoring
This commit is contained in:
parent
84bc58f0c3
commit
e4b96dcf9a
18 changed files with 462 additions and 389 deletions
|
|
@ -579,10 +579,18 @@
|
|||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
</Unit>
|
||||
<Unit filename="../../Source/Utility/jucer_SVGPathDataComponent.h">
|
||||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
</Unit>
|
||||
<Unit filename="../../Source/Utility/jucer_TranslationTool.h">
|
||||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
</Unit>
|
||||
<Unit filename="../../Source/Utility/jucer_UTF8Component.h">
|
||||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
</Unit>
|
||||
<Unit filename="../../Source/Utility/jucer_ValueSourceHelpers.h">
|
||||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
|
|
|
|||
|
|
@ -509,6 +509,7 @@
|
|||
7E45364D59D84EF762F1A928 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
7ECD37A096E0B99622585950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
7EF2BB6A11579386E7181553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
7F29F77B1C00A9704E6D0859 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_UTF8Component.h"; path = "../../Source/Utility/jucer_UTF8Component.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
7FC13BEF6B2A5E5E5E92D3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
7FDC4820A86DBA34E62B241E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
7FF7EFDC3CF13673541E332D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -696,6 +697,7 @@
|
|||
B00F60201606F195058BB575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColourPropertyComponent.h"; path = "../../Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
B01CBF496E7C88105DF4B52A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
B06C7C053DB0660CDA8B5C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutinePanel.h"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
B0D2198D1261755918CD454D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SVGPathDataComponent.h"; path = "../../Source/Utility/jucer_SVGPathDataComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
B15E33E7342F6EB4F95C9B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutineEditor.cpp"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
B1963F0D8C0046E54FD9E023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColouredElement.h"; path = "../../Source/ComponentEditor/paintelements/jucer_ColouredElement.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
B1B44E3A7614189E65CB9FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -769,6 +771,7 @@
|
|||
C7B47372A9D5970E3D9A5400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GroupInformationComponent.h"; path = "../../Source/Project/jucer_GroupInformationComponent.h"; 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"; };
|
||||
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"; };
|
||||
C9616830BB2474066AC8C910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceFile.h"; path = "../../Source/Project Saving/jucer_ResourceFile.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -783,19 +786,19 @@
|
|||
CD140A1C0161176682F6CA29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CD3216F23C7B273B010A8D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
CDCAF0EC777DA2884AEB2B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CDDF5BDC75277F7B83A38885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CDF8F65F9079B2C14A740F0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
CE1DFE4E3908943656E180AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CF0615A1AF1A514A60322B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
CF21D9DB3AEC0A4DCAB36A99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Icons.cpp"; path = "../../Source/Utility/jucer_Icons.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CF6C8BD0DA3D8CD4E99EBADA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
|
||||
CF8011B3C67B609032974DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewCppFileTemplate.cpp"; path = "../../Source/BinaryData/jucer_NewCppFileTemplate.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D00F311BFC3C2625C457CB9B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
|
||||
D041043D3B554B88F855C174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D0D8B580D0689FFF4B9B823B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StrokeType.h"; path = "../../Source/ComponentEditor/paintelements/jucer_StrokeType.h"; 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"; };
|
||||
D1F9B0E9F5D54FE48BEB46EA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
D253F74B7F5734984E568CA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D2F1CF252F7EC62B35A21CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D2F80DA0946A5EE01FC016CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D374DC78AAC02504576AA9B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GroupComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_GroupComponentHandler.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -805,64 +808,66 @@
|
|||
D4E56676E2EF83404EDCBA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D4F2D42C58F4D86E00E76F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D503780AB98993E8F0BA1311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D5057D7B18ABD5E810A6F830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D526C38D581425949BA0E4AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePreviewComponent.h"; path = "../../Source/Application/jucer_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D53B54D1786A1FFC024BF064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; };
|
||||
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"; };
|
||||
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"; };
|
||||
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"; };
|
||||
D87FC8F6834E9DC9C8E88B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JustificationProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_JustificationProperty.h"; 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"; };
|
||||
D92A6E9404A30EED32DCE4ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_RelativePositionedRectangle.h"; path = "../../Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.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"; };
|
||||
D9E59DE07A815AB303A297D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.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"; };
|
||||
DA345D5B9DABD049F90DC96F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GeneratedCode.h"; path = "../../Source/ComponentEditor/jucer_GeneratedCode.h"; 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"; };
|
||||
DC5E7FF30B01118F6DAEC38F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DC922C6A65D260C18E888E49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_ComponentTemplate.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"; };
|
||||
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"; };
|
||||
DFC6364D81D9C60BD4CA9D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E0F9CA57E44F7F7E7E217E47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentUndoableAction.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentUndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E19160CF7208320D128786CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E1D8CCD9F4ACBE1EC1D5BEA0 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AudioApp.svg"; path = "../../Source/BinaryData/wizard_AudioApp.svg"; sourceTree = "SOURCE_ROOT"; };
|
||||
E2374E15D65425C4101237E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewComponentTemplate.h"; path = "../../Source/BinaryData/jucer_NewComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E2C1C995D554A3F0A363CE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E2DBA3307837B64AFCCD8F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E3B56C5718D87CA0EFCB2662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E4BB22E27C5AA4B666F265BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TextButtonHandler.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E4BD4C43370651B49F75855B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_SimpleWindow.cpp"; path = "../../Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E570E57CC1FCEF78B54A7084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E5D6C36496F5BC84D7213BE8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
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"; };
|
||||
E720FBCD836FF3AA466C31B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E96597BBC6A98255B51B94DC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
|
||||
25F52316D256B4534BED16D1 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Introjucer.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
|
||||
C68355AA4D62939EECAD469E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.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"; };
|
||||
CDDF5BDC75277F7B83A38885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D041043D3B554B88F855C174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
CE1DFE4E3908943656E180AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D253F74B7F5734984E568CA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D3E139185095C486DD3D61F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TranslationTool.h"; path = "../../Source/Utility/jucer_TranslationTool.h"; 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"; };
|
||||
D678882D133090214AF681BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.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"; };
|
||||
D7A7F1AA9F313B0CCAAA73A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D95D7B49EC6C6BDCB5A1B988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
|
||||
D800DE818BEDBF4579D15B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; };
|
||||
D926E13AB5AD647A7A00F486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D9342535EA61901A1AD816C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
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"; };
|
||||
DAF84A553D264705FA6EB6FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeViewHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TreeViewHandler.h"; 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"; };
|
||||
DBE0CDE1B017190ABBFF557C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_CodeBlocks.h"; path = "../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h"; 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"; };
|
||||
DCBB17488227A2CA7D3D3947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DependencyPathPropertyComponent.cpp"; path = "../../Source/Project/jucer_DependencyPathPropertyComponent.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"; };
|
||||
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"; };
|
||||
DE8DF5D263F40F65581CFDE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; 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"; };
|
||||
DEF579B1433EB8DEE7AB50F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DF725A596B7BCD7520CC0A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceEditorPanel.cpp"; path = "../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
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"; };
|
||||
E07C56267CBB46FC44EF2026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E19160CF7208320D128786CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.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"; };
|
||||
E27F0860F27023BAA9798B46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E284B565DBD647DC0830D23B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E2C1C995D554A3F0A363CE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E2DBA3307837B64AFCCD8F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E3869AC657E984565F1718AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E3FF16862AA1B2F943DC616C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E446FFE889CD490FDE3F0F2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -870,15 +875,12 @@
|
|||
E4F9D1E097CC2C1D1291823C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; 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"; };
|
||||
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"; };
|
||||
E62D9BA6E92FE7BB6EF65699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E63F54CF8D5D922A319C6962 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconXcodeIOS.png; path = ../../Source/BinaryData/projectIconXcodeIOS.png; 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"; };
|
||||
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"; };
|
||||
E720FBCD836FF3AA466C31B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E73C7E17116F6085765622E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E7A4604F766ABC8BE26C94A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E7B6A0CBA0D27A095E83F5B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -1128,7 +1130,9 @@
|
|||
C22791DB75870C4F102AA8A3,
|
||||
631983AA62673015F8D7453B,
|
||||
9BC8AE609A07657CEF587548,
|
||||
B0D2198D1261755918CD454D,
|
||||
D3E139185095C486DD3D61F2,
|
||||
7F29F77B1C00A9704E6D0859,
|
||||
8090981F07A76E465DAAADF4, ); name = Utility; sourceTree = "<group>"; };
|
||||
EA13CB5FD121EE215A7A51BE = {isa = PBXGroup; children = (
|
||||
A69024A225F2AC31F17B1314,
|
||||
|
|
|
|||
|
|
@ -1174,7 +1174,9 @@
|
|||
<ClInclude Include="..\..\Source\Utility\jucer_RelativePath.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SlidingPanelComponent.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_StoredSettings.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SVGPathDataComponent.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_TranslationTool.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_UTF8Component.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_ValueSourceHelpers.h"/>
|
||||
<ClInclude Include="..\..\Source\Wizards\jucer_NewFileWizard.h"/>
|
||||
<ClInclude Include="..\..\Source\Wizards\jucer_NewProjectWizard.h"/>
|
||||
|
|
|
|||
|
|
@ -1689,9 +1689,15 @@
|
|||
<ClInclude Include="..\..\Source\Utility\jucer_StoredSettings.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SVGPathDataComponent.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_TranslationTool.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_UTF8Component.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_ValueSourceHelpers.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1180,7 +1180,9 @@
|
|||
<ClInclude Include="..\..\Source\Utility\jucer_RelativePath.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SlidingPanelComponent.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_StoredSettings.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SVGPathDataComponent.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_TranslationTool.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_UTF8Component.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_ValueSourceHelpers.h"/>
|
||||
<ClInclude Include="..\..\Source\Wizards\jucer_NewFileWizard.h"/>
|
||||
<ClInclude Include="..\..\Source\Wizards\jucer_NewProjectWizard.h"/>
|
||||
|
|
|
|||
|
|
@ -1689,9 +1689,15 @@
|
|||
<ClInclude Include="..\..\Source\Utility\jucer_StoredSettings.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SVGPathDataComponent.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_TranslationTool.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_UTF8Component.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_ValueSourceHelpers.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1180,7 +1180,9 @@
|
|||
<ClInclude Include="..\..\Source\Utility\jucer_RelativePath.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SlidingPanelComponent.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_StoredSettings.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SVGPathDataComponent.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_TranslationTool.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_UTF8Component.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_ValueSourceHelpers.h"/>
|
||||
<ClInclude Include="..\..\Source\Wizards\jucer_NewFileWizard.h"/>
|
||||
<ClInclude Include="..\..\Source\Wizards\jucer_NewProjectWizard.h"/>
|
||||
|
|
|
|||
|
|
@ -1689,9 +1689,15 @@
|
|||
<ClInclude Include="..\..\Source\Utility\jucer_StoredSettings.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SVGPathDataComponent.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_TranslationTool.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_UTF8Component.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_ValueSourceHelpers.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1180,7 +1180,9 @@
|
|||
<ClInclude Include="..\..\Source\Utility\jucer_RelativePath.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SlidingPanelComponent.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_StoredSettings.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SVGPathDataComponent.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_TranslationTool.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_UTF8Component.h"/>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_ValueSourceHelpers.h"/>
|
||||
<ClInclude Include="..\..\Source\Wizards\jucer_NewFileWizard.h"/>
|
||||
<ClInclude Include="..\..\Source\Wizards\jucer_NewProjectWizard.h"/>
|
||||
|
|
|
|||
|
|
@ -1689,9 +1689,15 @@
|
|||
<ClInclude Include="..\..\Source\Utility\jucer_StoredSettings.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_SVGPathDataComponent.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_TranslationTool.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_UTF8Component.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Utility\jucer_ValueSourceHelpers.h">
|
||||
<Filter>The Introjucer\Utility</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -461,8 +461,12 @@
|
|||
file="Source/Utility/jucer_StoredSettings.cpp"/>
|
||||
<FILE id="BkswLvF" name="jucer_StoredSettings.h" compile="0" resource="0"
|
||||
file="Source/Utility/jucer_StoredSettings.h"/>
|
||||
<FILE id="BVRyTX" name="jucer_SVGPathDataComponent.h" compile="0" resource="0"
|
||||
file="Source/Utility/jucer_SVGPathDataComponent.h"/>
|
||||
<FILE id="l75UWh" name="jucer_TranslationTool.h" compile="0" resource="0"
|
||||
file="Source/Utility/jucer_TranslationTool.h"/>
|
||||
<FILE id="eqYYbn" name="jucer_UTF8Component.h" compile="0" resource="0"
|
||||
file="Source/Utility/jucer_UTF8Component.h"/>
|
||||
<FILE id="lZ9s99o" name="jucer_ValueSourceHelpers.h" compile="0" resource="0"
|
||||
file="Source/Utility/jucer_ValueSourceHelpers.h"/>
|
||||
</GROUP>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@
|
|||
#include "../Project/jucer_Module.h"
|
||||
#include "jucer_AutoUpdater.h"
|
||||
#include "../Code Editor/jucer_SourceCodeEditor.h"
|
||||
#include "../Utility/jucer_UTF8Component.h"
|
||||
#include "../Utility/jucer_SVGPathDataComponent.h"
|
||||
|
||||
void createGUIEditorMenu (PopupMenu&);
|
||||
void handleGUIEditorMenuCommand (int);
|
||||
|
|
@ -211,9 +213,8 @@ public:
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
class MainMenuModel : public MenuBarModel
|
||||
struct MainMenuModel : public MenuBarModel
|
||||
{
|
||||
public:
|
||||
MainMenuModel()
|
||||
{
|
||||
setApplicationCommandManagerToWatch (&getCommandManager());
|
||||
|
|
@ -453,8 +454,8 @@ public:
|
|||
case CommandIDs::open: askUserToOpenFile(); break;
|
||||
case CommandIDs::saveAll: openDocumentManager.saveAll(); break;
|
||||
case CommandIDs::closeAllDocuments: closeAllDocuments (true); break;
|
||||
case CommandIDs::showUTF8Tool: showUTF8ToolWindow (utf8Window); break;
|
||||
case CommandIDs::showSVGPathTool: showSVGPathDataToolWindow (svgPathWindow); break;
|
||||
case CommandIDs::showUTF8Tool: showUTF8ToolWindow(); break;
|
||||
case CommandIDs::showSVGPathTool: showSVGPathDataToolWindow(); break;
|
||||
|
||||
case CommandIDs::showGlobalPreferences: AppearanceSettings::showGlobalPreferences (globalPreferencesWindow); break;
|
||||
default: return JUCEApplication::perform (info);
|
||||
|
|
@ -496,6 +497,29 @@ public:
|
|||
return mainWindowList.askAllWindowsToClose();
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void showUTF8ToolWindow()
|
||||
{
|
||||
if (utf8Window != nullptr)
|
||||
utf8Window->toFront (true);
|
||||
else
|
||||
new FloatingToolWindow ("UTF-8 String Literal Converter",
|
||||
"utf8WindowPos",
|
||||
new UTF8Component(), utf8Window,
|
||||
500, 500, 300, 300, 1000, 1000);
|
||||
}
|
||||
|
||||
void showSVGPathDataToolWindow()
|
||||
{
|
||||
if (svgPathWindow != nullptr)
|
||||
svgPathWindow->toFront (true);
|
||||
else
|
||||
new FloatingToolWindow ("SVG Path Converter",
|
||||
"svgPathWindowPos",
|
||||
new SVGPathDataComponent(), svgPathWindow,
|
||||
500, 500, 300, 300, 1000, 1000);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
struct FileWithTime
|
||||
{
|
||||
|
|
|
|||
|
|
@ -70,6 +70,77 @@ private:
|
|||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PropertyGroupComponent)
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
class RolloverHelpComp : public Component,
|
||||
private Timer
|
||||
{
|
||||
public:
|
||||
RolloverHelpComp() : lastComp (nullptr)
|
||||
{
|
||||
setInterceptsMouseClicks (false, false);
|
||||
startTimer (150);
|
||||
}
|
||||
|
||||
void paint (Graphics& g) override
|
||||
{
|
||||
AttributedString s;
|
||||
s.setJustification (Justification::centredLeft);
|
||||
s.append (lastTip, Font (14.0f), findColour (mainBackgroundColourId).contrasting (0.7f));
|
||||
|
||||
TextLayout tl;
|
||||
tl.createLayoutWithBalancedLineLengths (s, getWidth() - 10.0f);
|
||||
if (tl.getNumLines() > 3)
|
||||
tl.createLayout (s, getWidth() - 10.0f);
|
||||
|
||||
tl.draw (g, getLocalBounds().toFloat());
|
||||
}
|
||||
|
||||
private:
|
||||
Component* lastComp;
|
||||
String lastTip;
|
||||
|
||||
void timerCallback() override
|
||||
{
|
||||
Component* newComp = Desktop::getInstance().getMainMouseSource().getComponentUnderMouse();
|
||||
|
||||
if (newComp != nullptr
|
||||
&& (newComp->getTopLevelComponent() != getTopLevelComponent()
|
||||
|| newComp->isCurrentlyBlockedByAnotherModalComponent()))
|
||||
newComp = nullptr;
|
||||
|
||||
if (newComp != lastComp)
|
||||
{
|
||||
lastComp = newComp;
|
||||
|
||||
String newTip (findTip (newComp));
|
||||
|
||||
if (newTip != lastTip)
|
||||
{
|
||||
lastTip = newTip;
|
||||
repaint();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static String findTip (Component* c)
|
||||
{
|
||||
while (c != nullptr)
|
||||
{
|
||||
if (TooltipClient* tc = dynamic_cast<TooltipClient*> (c))
|
||||
{
|
||||
const String tip (tc->getTooltip());
|
||||
|
||||
if (tip.isNotEmpty())
|
||||
return tip;
|
||||
}
|
||||
|
||||
c = c->getParentComponent();
|
||||
}
|
||||
|
||||
return String();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
//==============================================================================
|
||||
class ConfigTreeItemBase : public JucerTreeViewBase,
|
||||
|
|
@ -134,9 +205,8 @@ public:
|
|||
|
||||
private:
|
||||
//==============================================================================
|
||||
class PropertyPanelViewport : public Component
|
||||
struct PropertyPanelViewport : public Component
|
||||
{
|
||||
public:
|
||||
PropertyPanelViewport (Component* content)
|
||||
{
|
||||
addAndMakeVisible (viewport);
|
||||
|
|
@ -159,7 +229,6 @@ private:
|
|||
Viewport viewport;
|
||||
RolloverHelpComp rolloverHelp;
|
||||
|
||||
private:
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PropertyPanelViewport)
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -740,6 +740,38 @@ void ProjectContentComponent::showTranslationTool()
|
|||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
struct AsyncCommandRetrier : public Timer
|
||||
{
|
||||
AsyncCommandRetrier (const ApplicationCommandTarget::InvocationInfo& i) : info (i)
|
||||
{
|
||||
info.originatingComponent = nullptr;
|
||||
startTimer (500);
|
||||
}
|
||||
|
||||
void timerCallback() override
|
||||
{
|
||||
stopTimer();
|
||||
IntrojucerApp::getCommandManager().invoke (info, true);
|
||||
delete this;
|
||||
}
|
||||
|
||||
ApplicationCommandTarget::InvocationInfo info;
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE (AsyncCommandRetrier)
|
||||
};
|
||||
|
||||
bool reinvokeCommandAfterCancellingModalComps (const ApplicationCommandTarget::InvocationInfo& info)
|
||||
{
|
||||
if (ModalComponentManager::getInstance()->cancelAllModalComponents())
|
||||
{
|
||||
new AsyncCommandRetrier (info);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
ApplicationCommandTarget* ProjectContentComponent::getNextCommandTarget()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -23,32 +23,6 @@
|
|||
*/
|
||||
|
||||
#include "../jucer_Headers.h"
|
||||
#include "../Application/jucer_Application.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
bool keyFoundAndNotSequentialDuplicate (XmlElement* xml, const String& key)
|
||||
{
|
||||
forEachXmlChildElementWithTagName (*xml, element, "key")
|
||||
{
|
||||
if (element->getAllSubText().trim().equalsIgnoreCase (key))
|
||||
{
|
||||
if (element->getNextElement() != nullptr && element->getNextElement()->hasTagName ("key"))
|
||||
{
|
||||
// found broken plist format (sequential duplicate), fix by removing
|
||||
xml->removeChildElement (element, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
// key found (not sequential duplicate)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// key not found
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
String createAlphaNumericUID()
|
||||
|
|
@ -208,31 +182,56 @@ StringArray getCleanedStringArray (StringArray s)
|
|||
return s;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
static bool keyFoundAndNotSequentialDuplicate (XmlElement* xml, const String& key)
|
||||
{
|
||||
forEachXmlChildElementWithTagName (*xml, element, "key")
|
||||
{
|
||||
if (element->getAllSubText().trim().equalsIgnoreCase (key))
|
||||
{
|
||||
if (element->getNextElement() != nullptr && element->getNextElement()->hasTagName ("key"))
|
||||
{
|
||||
// found broken plist format (sequential duplicate), fix by removing
|
||||
xml->removeChildElement (element, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
// key found (not sequential duplicate)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// key not found
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool addKeyIfNotFound (XmlElement* xml, const String& key)
|
||||
{
|
||||
if (! keyFoundAndNotSequentialDuplicate (xml, key))
|
||||
{
|
||||
xml->createNewChildElement ("key")->addTextElement (key);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void addPlistDictionaryKey (XmlElement* xml, const String& key, const String& value)
|
||||
{
|
||||
if (keyFoundAndNotSequentialDuplicate (xml, key))
|
||||
return;
|
||||
|
||||
xml->createNewChildElement ("key")->addTextElement (key);
|
||||
xml->createNewChildElement ("string")->addTextElement (value);
|
||||
if (addKeyIfNotFound (xml, key))
|
||||
xml->createNewChildElement ("string")->addTextElement (value);
|
||||
}
|
||||
|
||||
void addPlistDictionaryKeyBool (XmlElement* xml, const String& key, const bool value)
|
||||
{
|
||||
if (keyFoundAndNotSequentialDuplicate (xml, key))
|
||||
return;
|
||||
|
||||
xml->createNewChildElement ("key")->addTextElement (key);
|
||||
xml->createNewChildElement (value ? "true" : "false");
|
||||
if (addKeyIfNotFound (xml, key))
|
||||
xml->createNewChildElement (value ? "true" : "false");
|
||||
}
|
||||
|
||||
void addPlistDictionaryKeyInt (XmlElement* xml, const String& key, int value)
|
||||
{
|
||||
if (keyFoundAndNotSequentialDuplicate (xml, key))
|
||||
return;
|
||||
|
||||
xml->createNewChildElement ("key")->addTextElement (key);
|
||||
xml->createNewChildElement ("integer")->addTextElement (String (value));
|
||||
if (addKeyIfNotFound (xml, key))
|
||||
xml->createNewChildElement ("integer")->addTextElement (String (value));
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -277,298 +276,3 @@ bool fileNeedsCppSyntaxHighlighting (const File& file)
|
|||
&& String (fileStart).trimStart().startsWith ("// -*- C++ -*-");
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
RolloverHelpComp::RolloverHelpComp()
|
||||
: lastComp (nullptr)
|
||||
{
|
||||
setInterceptsMouseClicks (false, false);
|
||||
startTimer (150);
|
||||
}
|
||||
|
||||
void RolloverHelpComp::paint (Graphics& g)
|
||||
{
|
||||
AttributedString s;
|
||||
s.setJustification (Justification::centredLeft);
|
||||
s.append (lastTip, Font (14.0f), findColour (mainBackgroundColourId).contrasting (0.7f));
|
||||
|
||||
TextLayout tl;
|
||||
tl.createLayoutWithBalancedLineLengths (s, getWidth() - 10.0f);
|
||||
if (tl.getNumLines() > 3)
|
||||
tl.createLayout (s, getWidth() - 10.0f);
|
||||
|
||||
tl.draw (g, getLocalBounds().toFloat());
|
||||
}
|
||||
|
||||
void RolloverHelpComp::timerCallback()
|
||||
{
|
||||
Component* newComp = Desktop::getInstance().getMainMouseSource().getComponentUnderMouse();
|
||||
|
||||
if (newComp != nullptr
|
||||
&& (newComp->getTopLevelComponent() != getTopLevelComponent()
|
||||
|| newComp->isCurrentlyBlockedByAnotherModalComponent()))
|
||||
newComp = nullptr;
|
||||
|
||||
if (newComp != lastComp)
|
||||
{
|
||||
lastComp = newComp;
|
||||
|
||||
String newTip (findTip (newComp));
|
||||
|
||||
if (newTip != lastTip)
|
||||
{
|
||||
lastTip = newTip;
|
||||
repaint();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String RolloverHelpComp::findTip (Component* c)
|
||||
{
|
||||
while (c != nullptr)
|
||||
{
|
||||
if (TooltipClient* const tc = dynamic_cast<TooltipClient*> (c))
|
||||
{
|
||||
const String tip (tc->getTooltip());
|
||||
|
||||
if (tip.isNotEmpty())
|
||||
return tip;
|
||||
}
|
||||
|
||||
c = c->getParentComponent();
|
||||
}
|
||||
|
||||
return String::empty;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
class UTF8Component : public Component,
|
||||
private TextEditorListener
|
||||
{
|
||||
public:
|
||||
UTF8Component()
|
||||
: desc (String::empty,
|
||||
"Type any string into the box, and it'll be shown below as a portable UTF-8 literal, "
|
||||
"ready to cut-and-paste into your source-code...")
|
||||
{
|
||||
desc.setJustificationType (Justification::centred);
|
||||
desc.setColour (Label::textColourId, Colours::white);
|
||||
addAndMakeVisible (desc);
|
||||
|
||||
const Colour bkgd (Colours::white.withAlpha (0.6f));
|
||||
|
||||
userText.setMultiLine (true, true);
|
||||
userText.setReturnKeyStartsNewLine (true);
|
||||
userText.setColour (TextEditor::backgroundColourId, bkgd);
|
||||
addAndMakeVisible (userText);
|
||||
userText.addListener (this);
|
||||
|
||||
resultText.setFont (getAppSettings().appearance.getCodeFont().withHeight (13.0f));
|
||||
resultText.setMultiLine (true, true);
|
||||
resultText.setColour (TextEditor::backgroundColourId, bkgd);
|
||||
resultText.setReadOnly (true);
|
||||
resultText.setSelectAllWhenFocused (true);
|
||||
addAndMakeVisible (resultText);
|
||||
|
||||
userText.setText (getLastText());
|
||||
}
|
||||
|
||||
void textEditorTextChanged (TextEditor&)
|
||||
{
|
||||
update();
|
||||
}
|
||||
|
||||
void textEditorEscapeKeyPressed (TextEditor&)
|
||||
{
|
||||
getTopLevelComponent()->exitModalState (0);
|
||||
}
|
||||
|
||||
void update()
|
||||
{
|
||||
getLastText() = userText.getText();
|
||||
resultText.setText (CodeHelpers::stringLiteral (getLastText(), 100), false);
|
||||
}
|
||||
|
||||
void resized()
|
||||
{
|
||||
Rectangle<int> r (getLocalBounds().reduced (8));
|
||||
desc.setBounds (r.removeFromTop (44));
|
||||
r.removeFromTop (8);
|
||||
userText.setBounds (r.removeFromTop (r.getHeight() / 2));
|
||||
r.removeFromTop (8);
|
||||
resultText.setBounds (r);
|
||||
}
|
||||
|
||||
private:
|
||||
Label desc;
|
||||
TextEditor userText, resultText;
|
||||
|
||||
String& getLastText()
|
||||
{
|
||||
static String t;
|
||||
return t;
|
||||
}
|
||||
};
|
||||
|
||||
void showUTF8ToolWindow (ScopedPointer<Component>& ownerPointer)
|
||||
{
|
||||
if (ownerPointer != nullptr)
|
||||
{
|
||||
ownerPointer->toFront (true);
|
||||
}
|
||||
else
|
||||
{
|
||||
new FloatingToolWindow ("UTF-8 String Literal Converter",
|
||||
"utf8WindowPos",
|
||||
new UTF8Component(), ownerPointer,
|
||||
500, 500,
|
||||
300, 300, 1000, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
class SVGPathDataComponent : public Component,
|
||||
private TextEditorListener
|
||||
{
|
||||
public:
|
||||
SVGPathDataComponent()
|
||||
: desc (String::empty,
|
||||
"Paste an SVG path string into the top box, and it'll be converted to some C++ "
|
||||
"code that will load it as a Path object..")
|
||||
{
|
||||
desc.setJustificationType (Justification::centred);
|
||||
desc.setColour (Label::textColourId, Colours::white);
|
||||
addAndMakeVisible (desc);
|
||||
|
||||
const Colour bkgd (Colours::white.withAlpha (0.6f));
|
||||
|
||||
userText.setFont (getAppSettings().appearance.getCodeFont().withHeight (13.0f));
|
||||
userText.setMultiLine (true, true);
|
||||
userText.setReturnKeyStartsNewLine (true);
|
||||
userText.setColour (TextEditor::backgroundColourId, bkgd);
|
||||
addAndMakeVisible (userText);
|
||||
userText.addListener (this);
|
||||
|
||||
resultText.setFont (getAppSettings().appearance.getCodeFont().withHeight (13.0f));
|
||||
resultText.setMultiLine (true, true);
|
||||
resultText.setColour (TextEditor::backgroundColourId, bkgd);
|
||||
resultText.setReadOnly (true);
|
||||
resultText.setSelectAllWhenFocused (true);
|
||||
addAndMakeVisible (resultText);
|
||||
|
||||
userText.setText (getLastText());
|
||||
}
|
||||
|
||||
void textEditorTextChanged (TextEditor&)
|
||||
{
|
||||
update();
|
||||
}
|
||||
|
||||
void textEditorEscapeKeyPressed (TextEditor&)
|
||||
{
|
||||
getTopLevelComponent()->exitModalState (0);
|
||||
}
|
||||
|
||||
void update()
|
||||
{
|
||||
getLastText() = userText.getText();
|
||||
|
||||
path = Drawable::parseSVGPath (getLastText().trim().unquoted().trim());
|
||||
|
||||
String result = "No path generated.. Not a valid SVG path string?";
|
||||
|
||||
if (! path.isEmpty())
|
||||
{
|
||||
MemoryOutputStream data;
|
||||
path.writePathToStream (data);
|
||||
|
||||
MemoryOutputStream out;
|
||||
|
||||
out << "static const unsigned char pathData[] = ";
|
||||
CodeHelpers::writeDataAsCppLiteral (data.getMemoryBlock(), out, false, true);
|
||||
out << newLine
|
||||
<< newLine
|
||||
<< "Path path;" << newLine
|
||||
<< "path.loadPathFromData (pathData, sizeof (pathData));" << newLine;
|
||||
|
||||
result = out.toString();
|
||||
}
|
||||
|
||||
resultText.setText (result, false);
|
||||
repaint (previewPathArea);
|
||||
}
|
||||
|
||||
void resized()
|
||||
{
|
||||
Rectangle<int> r (getLocalBounds().reduced (8));
|
||||
desc.setBounds (r.removeFromTop (44));
|
||||
r.removeFromTop (8);
|
||||
userText.setBounds (r.removeFromTop (r.getHeight() / 2));
|
||||
r.removeFromTop (8);
|
||||
previewPathArea = r.removeFromRight (r.getHeight());
|
||||
resultText.setBounds (r);
|
||||
}
|
||||
|
||||
void paint (Graphics& g)
|
||||
{
|
||||
g.setColour (Colours::white);
|
||||
g.fillPath (path, path.getTransformToScaleToFit (previewPathArea.reduced (4).toFloat(), true));
|
||||
}
|
||||
|
||||
private:
|
||||
Label desc;
|
||||
TextEditor userText, resultText;
|
||||
Rectangle<int> previewPathArea;
|
||||
Path path;
|
||||
|
||||
String& getLastText()
|
||||
{
|
||||
static String t;
|
||||
return t;
|
||||
}
|
||||
};
|
||||
|
||||
void showSVGPathDataToolWindow (ScopedPointer<Component>& ownerPointer)
|
||||
{
|
||||
if (ownerPointer != nullptr)
|
||||
ownerPointer->toFront (true);
|
||||
else
|
||||
new FloatingToolWindow ("SVG Path Converter",
|
||||
"svgPathWindowPos",
|
||||
new SVGPathDataComponent(), ownerPointer,
|
||||
500, 500,
|
||||
300, 300, 1000, 1000);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
class AsyncCommandRetrier : public Timer
|
||||
{
|
||||
public:
|
||||
AsyncCommandRetrier (const ApplicationCommandTarget::InvocationInfo& inf)
|
||||
: info (inf)
|
||||
{
|
||||
info.originatingComponent = nullptr;
|
||||
startTimer (500);
|
||||
}
|
||||
|
||||
void timerCallback() override
|
||||
{
|
||||
stopTimer();
|
||||
IntrojucerApp::getCommandManager().invoke (info, true);
|
||||
delete this;
|
||||
}
|
||||
|
||||
ApplicationCommandTarget::InvocationInfo info;
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE (AsyncCommandRetrier)
|
||||
};
|
||||
|
||||
bool reinvokeCommandAfterCancellingModalComps (const ApplicationCommandTarget::InvocationInfo& info)
|
||||
{
|
||||
if (ModalComponentManager::getInstance()->cancelAllModalComponents())
|
||||
{
|
||||
new AsyncCommandRetrier (info);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,31 +57,10 @@ int indexOfLineStartingWith (const StringArray& lines, const String& text, int s
|
|||
|
||||
void autoScrollForMouseEvent (const MouseEvent& e, bool scrollX = true, bool scrollY = true);
|
||||
|
||||
void showUTF8ToolWindow (ScopedPointer<Component>& ownerPointer);
|
||||
void showSVGPathDataToolWindow (ScopedPointer<Component>& ownerPointer);
|
||||
|
||||
bool cancelAnyModalComponents();
|
||||
bool reinvokeCommandAfterCancellingModalComps (const ApplicationCommandTarget::InvocationInfo&);
|
||||
|
||||
StringArray getCleanedStringArray (StringArray);
|
||||
|
||||
//==============================================================================
|
||||
class RolloverHelpComp : public Component,
|
||||
private Timer
|
||||
{
|
||||
public:
|
||||
RolloverHelpComp();
|
||||
|
||||
void paint (Graphics&) override;
|
||||
void timerCallback() override;
|
||||
|
||||
private:
|
||||
Component* lastComp;
|
||||
String lastTip;
|
||||
|
||||
static String findTip (Component*);
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
class PropertyListBuilder
|
||||
{
|
||||
|
|
|
|||
125
extras/Introjucer/Source/Utility/jucer_SVGPathDataComponent.h
Normal file
125
extras/Introjucer/Source/Utility/jucer_SVGPathDataComponent.h
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2015 - ROLI Ltd.
|
||||
|
||||
Permission is granted to use this software under the terms of either:
|
||||
a) the GPL v2 (or any later version)
|
||||
b) the Affero GPL v3
|
||||
|
||||
Details of these licenses can be found at: www.gnu.org/licenses
|
||||
|
||||
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
To release a closed-source product which uses JUCE, commercial licenses are
|
||||
available: visit www.juce.com for more information.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
|
||||
class SVGPathDataComponent : public Component,
|
||||
private TextEditorListener
|
||||
{
|
||||
public:
|
||||
SVGPathDataComponent()
|
||||
: desc (String::empty,
|
||||
"Paste an SVG path string into the top box, and it'll be converted to some C++ "
|
||||
"code that will load it as a Path object..")
|
||||
{
|
||||
desc.setJustificationType (Justification::centred);
|
||||
desc.setColour (Label::textColourId, Colours::white);
|
||||
addAndMakeVisible (desc);
|
||||
|
||||
const Colour bkgd (Colours::white.withAlpha (0.6f));
|
||||
|
||||
userText.setFont (getAppSettings().appearance.getCodeFont().withHeight (13.0f));
|
||||
userText.setMultiLine (true, true);
|
||||
userText.setReturnKeyStartsNewLine (true);
|
||||
userText.setColour (TextEditor::backgroundColourId, bkgd);
|
||||
addAndMakeVisible (userText);
|
||||
userText.addListener (this);
|
||||
|
||||
resultText.setFont (getAppSettings().appearance.getCodeFont().withHeight (13.0f));
|
||||
resultText.setMultiLine (true, true);
|
||||
resultText.setColour (TextEditor::backgroundColourId, bkgd);
|
||||
resultText.setReadOnly (true);
|
||||
resultText.setSelectAllWhenFocused (true);
|
||||
addAndMakeVisible (resultText);
|
||||
|
||||
userText.setText (getLastText());
|
||||
}
|
||||
|
||||
void textEditorTextChanged (TextEditor&)
|
||||
{
|
||||
update();
|
||||
}
|
||||
|
||||
void textEditorEscapeKeyPressed (TextEditor&)
|
||||
{
|
||||
getTopLevelComponent()->exitModalState (0);
|
||||
}
|
||||
|
||||
void update()
|
||||
{
|
||||
getLastText() = userText.getText();
|
||||
|
||||
path = Drawable::parseSVGPath (getLastText().trim().unquoted().trim());
|
||||
|
||||
String result = "No path generated.. Not a valid SVG path string?";
|
||||
|
||||
if (! path.isEmpty())
|
||||
{
|
||||
MemoryOutputStream data;
|
||||
path.writePathToStream (data);
|
||||
|
||||
MemoryOutputStream out;
|
||||
|
||||
out << "static const unsigned char pathData[] = ";
|
||||
CodeHelpers::writeDataAsCppLiteral (data.getMemoryBlock(), out, false, true);
|
||||
out << newLine
|
||||
<< newLine
|
||||
<< "Path path;" << newLine
|
||||
<< "path.loadPathFromData (pathData, sizeof (pathData));" << newLine;
|
||||
|
||||
result = out.toString();
|
||||
}
|
||||
|
||||
resultText.setText (result, false);
|
||||
repaint (previewPathArea);
|
||||
}
|
||||
|
||||
void resized()
|
||||
{
|
||||
Rectangle<int> r (getLocalBounds().reduced (8));
|
||||
desc.setBounds (r.removeFromTop (44));
|
||||
r.removeFromTop (8);
|
||||
userText.setBounds (r.removeFromTop (r.getHeight() / 2));
|
||||
r.removeFromTop (8);
|
||||
previewPathArea = r.removeFromRight (r.getHeight());
|
||||
resultText.setBounds (r);
|
||||
}
|
||||
|
||||
void paint (Graphics& g)
|
||||
{
|
||||
g.setColour (Colours::white);
|
||||
g.fillPath (path, path.getTransformToScaleToFit (previewPathArea.reduced (4).toFloat(), true));
|
||||
}
|
||||
|
||||
private:
|
||||
Label desc;
|
||||
TextEditor userText, resultText;
|
||||
Rectangle<int> previewPathArea;
|
||||
Path path;
|
||||
|
||||
String& getLastText()
|
||||
{
|
||||
static String t;
|
||||
return t;
|
||||
}
|
||||
};
|
||||
92
extras/Introjucer/Source/Utility/jucer_UTF8Component.h
Normal file
92
extras/Introjucer/Source/Utility/jucer_UTF8Component.h
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2015 - ROLI Ltd.
|
||||
|
||||
Permission is granted to use this software under the terms of either:
|
||||
a) the GPL v2 (or any later version)
|
||||
b) the Affero GPL v3
|
||||
|
||||
Details of these licenses can be found at: www.gnu.org/licenses
|
||||
|
||||
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
To release a closed-source product which uses JUCE, commercial licenses are
|
||||
available: visit www.juce.com for more information.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
|
||||
class UTF8Component : public Component,
|
||||
private TextEditorListener
|
||||
{
|
||||
public:
|
||||
UTF8Component()
|
||||
: desc (String::empty,
|
||||
"Type any string into the box, and it'll be shown below as a portable UTF-8 literal, "
|
||||
"ready to cut-and-paste into your source-code...")
|
||||
{
|
||||
desc.setJustificationType (Justification::centred);
|
||||
desc.setColour (Label::textColourId, Colours::white);
|
||||
addAndMakeVisible (desc);
|
||||
|
||||
const Colour bkgd (Colours::white.withAlpha (0.6f));
|
||||
|
||||
userText.setMultiLine (true, true);
|
||||
userText.setReturnKeyStartsNewLine (true);
|
||||
userText.setColour (TextEditor::backgroundColourId, bkgd);
|
||||
addAndMakeVisible (userText);
|
||||
userText.addListener (this);
|
||||
|
||||
resultText.setFont (getAppSettings().appearance.getCodeFont().withHeight (13.0f));
|
||||
resultText.setMultiLine (true, true);
|
||||
resultText.setColour (TextEditor::backgroundColourId, bkgd);
|
||||
resultText.setReadOnly (true);
|
||||
resultText.setSelectAllWhenFocused (true);
|
||||
addAndMakeVisible (resultText);
|
||||
|
||||
userText.setText (getLastText());
|
||||
}
|
||||
|
||||
void textEditorTextChanged (TextEditor&)
|
||||
{
|
||||
update();
|
||||
}
|
||||
|
||||
void textEditorEscapeKeyPressed (TextEditor&)
|
||||
{
|
||||
getTopLevelComponent()->exitModalState (0);
|
||||
}
|
||||
|
||||
void update()
|
||||
{
|
||||
getLastText() = userText.getText();
|
||||
resultText.setText (CodeHelpers::stringLiteral (getLastText(), 100), false);
|
||||
}
|
||||
|
||||
void resized()
|
||||
{
|
||||
Rectangle<int> r (getLocalBounds().reduced (8));
|
||||
desc.setBounds (r.removeFromTop (44));
|
||||
r.removeFromTop (8);
|
||||
userText.setBounds (r.removeFromTop (r.getHeight() / 2));
|
||||
r.removeFromTop (8);
|
||||
resultText.setBounds (r);
|
||||
}
|
||||
|
||||
private:
|
||||
Label desc;
|
||||
TextEditor userText, resultText;
|
||||
|
||||
String& getLastText()
|
||||
{
|
||||
static String t;
|
||||
return t;
|
||||
}
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue