Browse Source

Minor clean-ups. Jucer development.

tags/2021-05-28
Julian Storer 15 years ago
parent
commit
5093ecbc84
100 changed files with 1096 additions and 551 deletions
  1. +13
    -23
      extras/Jucer (experimental)/JuceLibraryCode/BinaryData.cpp
  2. +2
    -2
      extras/Jucer (experimental)/JuceLibraryCode/BinaryData.h
  3. +2
    -1
      extras/Jucer (experimental)/Source/jucer_Headers.h
  4. +1
    -1
      extras/Jucer (experimental)/Source/jucer_Main.cpp
  5. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_ComboBox.h
  6. +2
    -2
      extras/Jucer (experimental)/Source/model/Component Types/jucer_ComponentTypeManager.cpp
  7. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_ComponentTypeManager.h
  8. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_ComponentTypes.h
  9. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_GenericComponent.h
  10. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_GroupComponent.h
  11. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_JucerComponent.h
  12. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_Label.h
  13. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_Slider.h
  14. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_TabbedComponent.h
  15. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_TextButton.h
  16. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_TextEditor.h
  17. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_ToggleButton.h
  18. +1
    -1
      extras/Jucer (experimental)/Source/model/Component Types/jucer_Viewport.h
  19. +169
    -109
      extras/Jucer (experimental)/Source/model/jucer_CodeGenerator.cpp
  20. +31
    -12
      extras/Jucer (experimental)/Source/model/jucer_CodeGenerator.h
  21. +46
    -12
      extras/Jucer (experimental)/Source/model/jucer_ComponentDocument.cpp
  22. +11
    -3
      extras/Jucer (experimental)/Source/model/jucer_ComponentDocument.h
  23. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_Coordinate.cpp
  24. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_Coordinate.h
  25. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_DrawableDocument.cpp
  26. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_DrawableDocument.h
  27. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_NewFileWizard.cpp
  28. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_NewFileWizard.h
  29. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_Project.cpp
  30. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_Project.h
  31. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_ProjectExport_MSVC.h
  32. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_ProjectExport_Make.h
  33. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_ProjectExport_XCode.h
  34. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_ProjectExporter.cpp
  35. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_ProjectExporter.h
  36. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_ProjectSaver.h
  37. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_ProjectWizard.cpp
  38. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_ProjectWizard.h
  39. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_ResourceFile.cpp
  40. +1
    -1
      extras/Jucer (experimental)/Source/model/jucer_ResourceFile.h
  41. +8
    -15
      extras/Jucer (experimental)/Source/templates/jucer_ComponentTemplate.cpp
  42. +4
    -7
      extras/Jucer (experimental)/Source/templates/jucer_ComponentTemplate.h
  43. +1
    -1
      extras/Jucer (experimental)/Source/ui/Component Editor/jucer_ComponentDragOperation.h
  44. +444
    -7
      extras/Jucer (experimental)/Source/ui/Component Editor/jucer_ComponentEditor.cpp
  45. +3
    -2
      extras/Jucer (experimental)/Source/ui/Component Editor/jucer_ComponentEditor.h
  46. +103
    -101
      extras/Jucer (experimental)/Source/ui/Component Editor/jucer_ComponentEditorCanvas.cpp
  47. +15
    -1
      extras/Jucer (experimental)/Source/ui/Component Editor/jucer_ComponentEditorCanvas.h
  48. +1
    -1
      extras/Jucer (experimental)/Source/ui/Drawable Editor/jucer_DrawableEditor.cpp
  49. +1
    -1
      extras/Jucer (experimental)/Source/ui/Drawable Editor/jucer_DrawableEditor.h
  50. +1
    -1
      extras/Jucer (experimental)/Source/ui/Drawable Editor/jucer_DrawableObjectComponent.h
  51. +1
    -1
      extras/Jucer (experimental)/Source/ui/Drawable Editor/jucer_DrawableTreeViewItem.h
  52. +4
    -2
      extras/Jucer (experimental)/Source/ui/jucer_CommandIDs.h
  53. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_CoordinatePropertyComponent.h
  54. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_DocumentEditorComponent.cpp
  55. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_DocumentEditorComponent.h
  56. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_GroupInformationComponent.cpp
  57. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_GroupInformationComponent.h
  58. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_ItemPreviewComponent.cpp
  59. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_ItemPreviewComponent.h
  60. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_JucerTreeViewBase.cpp
  61. +2
    -2
      extras/Jucer (experimental)/Source/ui/jucer_JucerTreeViewBase.h
  62. +4
    -11
      extras/Jucer (experimental)/Source/ui/jucer_MainWindow.cpp
  63. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_MainWindow.h
  64. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_OpenDocumentManager.cpp
  65. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_OpenDocumentManager.h
  66. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_ProjectContentComponent.cpp
  67. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_ProjectContentComponent.h
  68. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_ProjectTreeViewBase.cpp
  69. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_ProjectTreeViewBase.h
  70. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_SourceCodeEditor.cpp
  71. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_SourceCodeEditor.h
  72. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_TreeViewTypes.cpp
  73. +1
    -1
      extras/Jucer (experimental)/Source/ui/jucer_TreeViewTypes.h
  74. +1
    -1
      extras/Jucer (experimental)/Source/utility/jucer_ColourEditorComponent.h
  75. +1
    -1
      extras/Jucer (experimental)/Source/utility/jucer_Colours.h
  76. +1
    -1
      extras/Jucer (experimental)/Source/utility/jucer_RelativePath.h
  77. +1
    -1
      extras/Jucer (experimental)/Source/utility/jucer_StoredSettings.cpp
  78. +1
    -1
      extras/Jucer (experimental)/Source/utility/jucer_StoredSettings.h
  79. +1
    -1
      extras/Jucer (experimental)/Source/utility/jucer_UtilityFunctions.cpp
  80. +1
    -1
      extras/Jucer (experimental)/Source/utility/jucer_UtilityFunctions.h
  81. +1
    -1
      extras/Jucer (experimental)/Source/utility/jucer_ValueRemapperSource.h
  82. +77
    -79
      juce_amalgamated.cpp
  83. +49
    -50
      juce_amalgamated.h
  84. +2
    -3
      src/gui/components/mouse/juce_DragAndDropContainer.cpp
  85. +2
    -2
      src/gui/components/mouse/juce_MouseCursor.cpp
  86. +2
    -2
      src/gui/components/mouse/juce_MouseCursor.h
  87. +1
    -1
      src/gui/components/special/juce_ColourSelector.cpp
  88. +1
    -1
      src/gui/components/special/juce_MidiKeyboardComponent.cpp
  89. +1
    -1
      src/gui/components/special/juce_MidiKeyboardComponent.h
  90. +3
    -4
      src/gui/components/windows/juce_ComponentPeer.cpp
  91. +3
    -4
      src/gui/components/windows/juce_ComponentPeer.h
  92. +4
    -4
      src/gui/components/windows/juce_TopLevelWindow.cpp
  93. +1
    -1
      src/gui/components/windows/juce_TopLevelWindow.h
  94. +5
    -5
      src/gui/graphics/colour/juce_ColourGradient.cpp
  95. +5
    -5
      src/gui/graphics/colour/juce_ColourGradient.h
  96. +4
    -4
      src/gui/graphics/contexts/juce_FillType.cpp
  97. +4
    -4
      src/gui/graphics/contexts/juce_FillType.h
  98. +1
    -1
      src/gui/graphics/drawables/juce_Drawable.cpp
  99. +2
    -2
      src/gui/graphics/drawables/juce_Drawable.h
  100. +2
    -2
      src/gui/graphics/drawables/juce_DrawableComposite.cpp

+ 13
- 23
extras/Jucer (experimental)/JuceLibraryCode/BinaryData.cpp View File

@@ -425,24 +425,21 @@ static const unsigned char temp_73015554[] =
"\r\n"
" This is an automatically generated file created by the Jucer!\r\n"
"\r\n"
" Creation date: %%creationTime%%\r\n"
"\r\n"
" Be careful when adding custom code to these files, as only the code within\r\n"
" the \"//[xyz]\" and \"//[/xyz]\" sections will be retained when the file is loaded\r\n"
" and re-saved.\r\n"
"\r\n"
" Jucer version: 1.12\r\n"
" Created for JUCE version: %%juceVersion%%\r\n"
"\r\n"
" ------------------------------------------------------------------------------\r\n"
"\r\n"
" The Jucer is part of the JUCE library - \"Jules' Utility Class Extensions\"\r\n"
" Copyright 2004-6 by Raw Material Software ltd.\r\n"
" JUCE and the Jucer are copyright 2004-10 by Raw Material Software ltd.\r\n"
"\r\n"
" ==============================================================================\r\n"
"*/\r\n"
"\r\n"
"//[Headers] You can add your own extra header files here...\r\n"
"//[/Headers]\r\n"
"//[CppHeaders] You can add your own extra header files here...\r\n"
"//[/CppHeaders]\r\n"
"\r\n"
"%%includeFilesCPP%%\r\n"
"\r\n"
@@ -475,21 +472,17 @@ static const unsigned char temp_73015554[] =
"//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...\r\n"
"//[/MiscUserCode]\r\n"
"\r\n"
"%%staticMemberDefinitions%%\r\n"
"\r\n"
"//==============================================================================\r\n"
"//======================= Jucer Information Section ==========================\r\n"
"//==============================================================================\r\n"
"#if 0\r\n"
"/* -- Jucer information section --\r\n"
"\r\n"
" This is where the Jucer puts all of its metadata, so don't change anything in here!\r\n"
"\r\n"
"BEGIN_JUCER_METADATA\r\n"
"/* This section stores the Jucer's metadata - edit it at your own risk!\r\n"
"\r\n"
"%%metadata%%\r\n"
"END_JUCER_METADATA\r\n"
"*/\r\n"
"#endif\r\n"
"\r\n"
"%%staticMemberDefinitions%%\r\n";
"#endif\r\n";
const char* BinaryData::jucer_ComponentTemplate_cpp = (const char*) temp_73015554;
@@ -500,18 +493,15 @@ static const unsigned char temp_b930c59[] =
"\r\n"
" This is an automatically generated file created by the Jucer!\r\n"
"\r\n"
" Creation date: %%creationTime%%\r\n"
"\r\n"
" Be careful when adding custom code to these files, as only the code within\r\n"
" the \"//[xyz]\" and \"//[/xyz]\" sections will be retained when the file is loaded\r\n"
" and re-saved.\r\n"
"\r\n"
" Jucer version: 1.12\r\n"
" Created for JUCE version: %%juceVersion%%\r\n"
"\r\n"
" ------------------------------------------------------------------------------\r\n"
"\r\n"
" The Jucer is part of the JUCE library - \"Jules' Utility Class Extensions\"\r\n"
" Copyright 2004-6 by Raw Material Software ltd.\r\n"
" JUCE and the Jucer are copyright 2004-10 by Raw Material Software ltd.\r\n"
"\r\n"
" ==============================================================================\r\n"
"*/\r\n"
@@ -520,7 +510,7 @@ static const unsigned char temp_b930c59[] =
"#define %%headerGuard%%\r\n"
"\r\n"
"//[Headers] -- You can add your own extra header files here --\r\n"
"#include \"juce.h\"\r\n"
"%%defaultJuceInclude%%\r\n"
"//[/Headers]\r\n"
"\r\n"
"%%includeFilesH%%\r\n"
@@ -559,7 +549,7 @@ static const unsigned char temp_b930c59[] =
" //==============================================================================\r\n"
" // (prevent copy constructor and operator= being generated..)\r\n"
" %%className%% (const %%className%%&);\r\n"
" const %%className%%& operator= (const %%className%%&);\r\n"
" %%className%%& operator= (const %%className%%&);\r\n"
"};\r\n"
"\r\n"
"\r\n"


+ 2
- 2
extras/Jucer (experimental)/JuceLibraryCode/BinaryData.h View File

@@ -23,10 +23,10 @@ namespace BinaryData
const int jucer_AudioPluginFilterTemplate_hSize = 2353;
extern const char* jucer_ComponentTemplate_cpp;
const int jucer_ComponentTemplate_cppSize = 1975;
const int jucer_ComponentTemplate_cppSize = 1976;
extern const char* jucer_ComponentTemplate_h;
const int jucer_ComponentTemplate_hSize = 2309;
const int jucer_ComponentTemplate_hSize = 2239;
extern const char* jucer_MainConsoleAppTemplate_cpp;
const int jucer_MainConsoleAppTemplate_cppSize = 749;


+ 2
- 1
extras/Jucer (experimental)/Source/jucer_Headers.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -47,6 +47,7 @@ static const char* const newLine = "\r\n";
const char* const projectItemDragType = "Project Items";
const char* const drawableItemDragType = "Drawable Items";
const char* const componentItemDragType = "Components";
const char* const textFileExtensions = "cpp;h;hpp;mm;m;c;txt;xml;plist;rtf;html;htm;php;py;rb;cs";
const char* const sourceFileExtensions = "cpp;mm;m;c;h;hpp";


+ 1
- 1
extras/Jucer (experimental)/Source/jucer_Main.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_ComboBox.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 2
- 2
extras/Jucer (experimental)/Source/model/Component Types/jucer_ComponentTypeManager.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -205,7 +205,7 @@ public:
~CompMemberNameValueSource() {}
void valueChanged (Value&) { sendChangeMessage (true); }
const var getValue() const { return sourceValue.toString(); }
const var getValue() const { return sourceValue.toString(); }
void setValue (const var& newValue)
{


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_ComponentTypeManager.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_ComponentTypes.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_GenericComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_GroupComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_JucerComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_Label.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_Slider.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_TabbedComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_TextButton.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_TextEditor.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_ToggleButton.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/Component Types/jucer_Viewport.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 169
- 109
extras/Jucer (experimental)/Source/model/jucer_CodeGenerator.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -86,29 +86,6 @@ void CodeGenerator::removeCallback (const String& returnType, const String& prot
}
}
void CodeGenerator::addImageResourceLoader (const String& imageMemberName, const String& resourceName)
{
const String initialiser (imageMemberName + " (0)");
if (! memberInitialisers.contains (initialiser, false))
{
memberInitialisers.add (initialiser);
privateMemberDeclarations
<< "Image* " << imageMemberName << ";" << newLine;
if (resourceName.isNotEmpty())
{
constructorCode
<< imageMemberName << " = ImageCache::getFromMemory ("
<< resourceName << ", " << resourceName << "Size);" << newLine;
destructorCode
<< "ImageCache::release (" << imageMemberName << ");" << newLine;
}
}
}
const StringArray CodeGenerator::getExtraParentClasses() const
{
StringArray s;
@@ -189,16 +166,15 @@ const String CodeGenerator::getClassDeclaration() const
if (parentClassLines.contains ("public Button", false))
parentClassLines.removeString ("public Component", false);
String r ("class ");
r << className << " : ";
r += parentClassLines.joinIntoString ("," + String (newLine) + String::repeatedString (" ", r.length()));
String r;
r << "class " << className << " : ";
r << parentClassLines.joinIntoString ("," + String (newLine) + String::repeatedString (" ", r.length()));
return r;
}
const String CodeGenerator::getInitialiserList() const
{
String s;
StringArray inits (memberInitialisers);
if (parentClassInitialiser.isNotEmpty())
@@ -208,26 +184,24 @@ const String CodeGenerator::getInitialiserList() const
inits.removeEmptyStrings();
inits.removeDuplicates (false);
String s;
if (inits.size() == 0)
return s;
s << " : ";
for (int i = 0; i < inits.size(); ++i)
if (inits.size() > 0)
{
String init (inits[i]);
s << " : ";
while (init.endsWithChar (','))
init = init.dropLastCharacters (1);
for (int i = 0; i < inits.size(); ++i)
{
String init (inits[i]);
s << init;
while (init.endsWithChar (','))
init = init.dropLastCharacters (1);
if (i < inits.size() - 1)
s << "," << newLine << " ";
else
s << newLine;
s << init;
if (i < inits.size() - 1)
s << "," << newLine << " ";
else
s << newLine;
}
}
return s;
@@ -263,56 +237,6 @@ static bool getUserSection (const StringArray& lines, const String& tag, StringA
return true;
}
static void copyAcrossUserSections (String& dest, const String& src)
{
StringArray srcLines, dstLines;
srcLines.addLines (src);
dstLines.addLines (dest);
for (int i = 0; i < dstLines.size(); ++i)
{
if (dstLines[i].trimStart().startsWith ("//["))
{
String tag (dstLines[i].trimStart().substring (3));
tag = tag.upToFirstOccurrenceOf ("]", false, false);
jassert (! tag.startsWithChar ('/'));
if (! tag.startsWithChar ('/'))
{
const int endLine = indexOfLineStartingWith (dstLines,
"//[/" + tag + "]",
i + 1);
if (endLine > i)
{
StringArray sourceLines;
if (getUserSection (srcLines, tag, sourceLines))
{
int j;
for (j = endLine - i; --j > 0;)
dstLines.remove (i + 1);
for (j = 0; j < sourceLines.size(); ++j)
dstLines.insert (++i, sourceLines [j].trimEnd());
++i;
}
else
{
i = endLine;
}
}
}
}
dstLines.set (i, dstLines[i].trimEnd());
}
dest = dstLines.joinIntoString (newLine) + newLine;
}
//==============================================================================
static void replaceTemplate (String& text, const String& itemName, const String& value)
{
@@ -339,20 +263,11 @@ static void replaceTemplate (String& text, const String& itemName, const String&
}
//==============================================================================
void CodeGenerator::applyToCode (String& code,
const String& fileNameRoot,
const bool isForPreview,
const String& oldFileWithUserData) const
void CodeGenerator::applyToCode (String& code, const File& targetFile,
bool isForPreview, Project* project) const
{
// header guard..
String headerGuard ("__JUCER_HEADER_");
headerGuard << className.toUpperCase().retainCharacters ("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
<< "_" << fileNameRoot.toUpperCase().retainCharacters ("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
<< "_" << String::toHexString (Random::getSystemRandom().nextInt()).toUpperCase() << "__";
replaceTemplate (code, "headerGuard", headerGuard);
replaceTemplate (code, "creationTime", Time::getCurrentTime().toString (true, true, true));
replaceTemplate (code, "juceVersion", SystemStats::getJUCEVersion());
replaceTemplate (code, "headerGuard", makeHeaderGuardName (targetFile));
replaceTemplate (code, "className", className);
replaceTemplate (code, "constructorParams", constructorParams);
@@ -364,6 +279,11 @@ void CodeGenerator::applyToCode (String& code,
replaceTemplate (code, "methodDefinitions", getCallbackDefinitions());
if (project != 0)
replaceTemplate (code, "defaultJuceInclude", createIncludeStatement (project->getAppIncludeFile(), targetFile));
else
replaceTemplate (code, "defaultJuceInclude", "#include \"juce_amalgamated.h\"");
replaceTemplate (code, "includeFilesH", getIncludeFileCode (includeFilesH));
replaceTemplate (code, "includeFilesCPP", getIncludeFileCode (includeFilesCPP));
@@ -380,6 +300,146 @@ void CodeGenerator::applyToCode (String& code,
replaceTemplate (code, "metadata", " << Metadata isn't shown in the code preview >>" + String (newLine));
replaceTemplate (code, "staticMemberDefinitions", "// Static member declarations and resources would go here... (these aren't shown in the code preview)");
}
}
copyAcrossUserSections (code, oldFileWithUserData);
//==============================================================================
CodeGenerator::CustomisedCodeSnippets::CustomisedCodeSnippets()
{
}
CodeGenerator::CustomisedCodeSnippets::~CustomisedCodeSnippets()
{
}
void CodeGenerator::CustomisedCodeSnippets::reloadFrom (const String& fileContent)
{
sectionNames.clear();
sectionContent.clear();
StringArray lines;
lines.addLines (fileContent);
for (int i = 0; i < lines.size(); ++i)
{
if (lines[i].trimStart().startsWith ("//["))
{
String tag (lines[i].trimStart().substring (3));
tag = tag.upToFirstOccurrenceOf ("]", false, false).trim();
jassert (! (tag.isEmpty() || tag.startsWithChar ('/')));
if (! (tag.isEmpty() || tag.startsWithChar ('/')))
{
const int endLine = indexOfLineStartingWith (lines, "//[/" + tag + "]", i + 1);
if (endLine > i)
{
String content (lines.joinIntoString (newLine, i + 1, endLine - i - 1));
sectionNames.add (tag);
CodeDocument* doc = new CodeDocument();
sectionContent.add (doc);
doc->replaceAllContent (content);
i = endLine;
}
}
}
}
}
void CodeGenerator::CustomisedCodeSnippets::applyTo (String& fileContent) const
{
StringArray lines;
lines.addLines (fileContent);
for (int i = 0; i < lines.size(); ++i)
{
if (lines[i].trimStart().startsWith ("//["))
{
String tag (lines[i].trimStart().substring (3));
tag = tag.upToFirstOccurrenceOf ("]", false, false);
jassert (! tag.startsWithChar ('/'));
if (! tag.startsWithChar ('/'))
{
const int endLine = indexOfLineStartingWith (lines, "//[/" + tag + "]", i + 1);
if (endLine > i)
{
StringArray sourceLines;
sourceLines.addLines (getSectionContent (tag));
if (sourceLines.size() > 0)
{
lines.removeRange (i + 1, endLine - i - 1);
for (int j = 0; j < sourceLines.size(); ++j)
lines.insert (++i, sourceLines [j].trimEnd());
++i;
}
else
{
i = endLine;
}
}
}
}
lines.set (i, lines[i].trimEnd());
}
if (lines[lines.size() - 1].isNotEmpty())
lines.add (String::empty);
fileContent = lines.joinIntoString (newLine);
}
bool CodeGenerator::CustomisedCodeSnippets::areAnySnippetsUnsaved() const
{
return true; //xxx
}
CodeDocument* CodeGenerator::CustomisedCodeSnippets::getDocumentFor (const String& sectionName, bool createIfNotFound)
{
const int index = sectionNames.indexOf (sectionName);
if (index >= 0)
return sectionContent [index];
if (createIfNotFound)
{
sectionNames.add (sectionName);
sectionContent.add (new CodeDocument());
return sectionContent.getLast();
}
return 0;
}
const String CodeGenerator::CustomisedCodeSnippets::getSectionContent (const String& sectionName) const
{
const int index = sectionNames.indexOf (sectionName);
if (index >= 0)
return sectionContent[index]->getAllContent();
return String::empty;
}
void CodeGenerator::CustomisedCodeSnippets::removeSection (const String& sectionName)
{
const int index = sectionNames.indexOf (sectionName);
if (index >= 0)
{
sectionNames.remove (index);
sectionContent.remove (index);
}
}

+ 31
- 12
extras/Jucer (experimental)/Source/model/jucer_CodeGenerator.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -27,6 +27,7 @@
#define __JUCER_CODEGENERATOR_H_F79AEF58__
#include "../jucer_Headers.h"
#include "jucer_Project.h"
//==============================================================================
@@ -37,17 +38,8 @@ public:
CodeGenerator();
~CodeGenerator();
//==============================================================================
void applyToCode (String& codeTemplate,
const String& fileNameRoot,
const bool isForPreview,
const String& oldFileContents) const;
int getUniqueSuffix();
//==============================================================================
String className;
String componentName;
String parentClassInitialiser; // optional parent class initialiser to go before the items in the initialisers list
StringArray memberInitialisers;
String parentClasses;
@@ -75,13 +67,40 @@ public:
void removeCallback (const String& returnType, const String& prototype);
void addImageResourceLoader (const String& imageMemberName, const String& resourceName);
const String getCallbackDeclarations() const;
const String getCallbackDefinitions() const;
const StringArray getExtraParentClasses() const;
int getUniqueSuffix();
//==============================================================================
// An object to load and store all the user-defined bits of code as documents.
class CustomisedCodeSnippets
{
public:
CustomisedCodeSnippets();
~CustomisedCodeSnippets();
void reloadFrom (const String& fileContent);
void applyTo (String& fileContent) const;
bool areAnySnippetsUnsaved() const;
CodeDocument* getDocumentFor (const String& sectionName, bool createIfNotFound);
const String getSectionContent (const String& sectionName) const;
void removeSection (const String& sectionName);
private:
StringArray sectionNames;
OwnedArray <CodeDocument> sectionContent;
};
//==============================================================================
void applyToCode (String& codeTemplate, const File& targetFile,
bool isForPreview, Project* project) const;
private:
//==============================================================================
const String getClassDeclaration() const;
const String getInitialiserList() const;
int suffix;


+ 46
- 12
extras/Jucer (experimental)/Source/model/jucer_ComponentDocument.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -48,7 +48,8 @@ const char* const ComponentDocument::markerPosProperty = "position";
//==============================================================================
ComponentDocument::ComponentDocument (Project* project_, const File& cppFile_)
: project (project_), cppFile (cppFile_),
: project (project_),
cppFile (cppFile_),
root (componentDocumentTag),
changedSinceSaved (false)
{
@@ -58,6 +59,17 @@ ComponentDocument::ComponentDocument (Project* project_, const File& cppFile_)
root.addListener (this);
}
ComponentDocument::ComponentDocument (const ComponentDocument& other)
: project (other.project),
cppFile (other.cppFile),
root (other.root.createCopy()),
changedSinceSaved (false)
{
checkRootObject();
root.addListener (this);
}
ComponentDocument::~ComponentDocument()
{
root.removeListener (this);
@@ -104,18 +116,39 @@ bool ComponentDocument::isComponentFile (const File& file)
void ComponentDocument::writeCode (OutputStream& cpp, OutputStream& header)
{
cpp << "/** */"
<< newLine << newLine;
CodeGenerator codeGen;
codeGen.className = getClassName().toString();
codeGen.parentClasses = "public Component";
header << "/** */"
<< newLine << newLine;
{
MemoryOutputStream metaData;
writeMetadata (metaData);
codeGen.jucerMetadata = metaData.toUTF8();
}
{
String code (BinaryData::jucer_ComponentTemplate_cpp);
String oldContent;
codeGen.applyToCode (code, cppFile, false, project);
customisedCodeSnippets.applyTo (code);
cpp << code;
}
{
String code (BinaryData::jucer_ComponentTemplate_h);
String oldContent;
codeGen.applyToCode (code, cppFile.withFileExtension (".h"), false, project);
customisedCodeSnippets.applyTo (code);
header << code;
}
}
void ComponentDocument::writeMetadata (OutputStream& out)
{
out << "#if 0" << newLine
<< "/** Jucer-generated metadata section - Edit this data at own risk!" << newLine
<< metadataTagStart << newLine << newLine;
out << metadataTagStart << newLine << newLine;
ScopedPointer<XmlElement> xml (root.createXml());
jassert (xml != 0);
@@ -124,15 +157,13 @@ void ComponentDocument::writeMetadata (OutputStream& out)
xml->writeToStream (out, String::empty, false, false);
out << newLine
<< metadataTagEnd << " */" << newLine
<< "#endif" << newLine;
<< metadataTagEnd << newLine;
}
bool ComponentDocument::save()
{
MemoryOutputStream cpp, header;
writeCode (cpp, header);
writeMetadata (cpp);
bool savedOk = overwriteFileWithNewDataIfDifferent (cppFile, cpp)
&& overwriteFileWithNewDataIfDifferent (cppFile.withFileExtension (".h"), header);
@@ -192,6 +223,8 @@ bool ComponentDocument::reload()
checkRootObject();
undoManager.clearUndoHistory();
changedSinceSaved = false;
customisedCodeSnippets.reloadFrom (cppFile.loadFileAsString());
return true;
}
}
@@ -523,6 +556,7 @@ ComponentDocument::MarkerList::MarkerList (ComponentDocument& document_, const b
group (document_.getRoot().getChildWithName (isX_ ? markersGroupXTag : markersGroupYTag)),
isX (isX_)
{
jassert (group.isValid());
jassert (group.isAChildOf (document_.getRoot()));
}


+ 11
- 3
extras/Jucer (experimental)/Source/model/jucer_ComponentDocument.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -29,6 +29,7 @@
#include "../jucer_Headers.h"
#include "jucer_Project.h"
#include "jucer_Coordinate.h"
#include "jucer_CodeGenerator.h"
//==============================================================================
@@ -38,6 +39,7 @@ class ComponentDocument : public ValueTree::Listener,
public:
//==============================================================================
ComponentDocument (Project* project, const File& cppFile);
ComponentDocument (const ComponentDocument& other);
~ComponentDocument();
static bool isComponentFile (const File& file);
@@ -45,6 +47,7 @@ public:
bool save();
bool reload();
bool hasChangedSinceLastSave();
const File getCppFile() const { return cppFile; }
//==============================================================================
Value getClassName() const { return getRootValueNonUndoable ("className"); }
@@ -133,7 +136,12 @@ public:
void endDrag (const MouseEvent& e);
//==============================================================================
ValueTree& getRoot() { return root; }
CodeGenerator::CustomisedCodeSnippets& getCustomisedCodeSnippets() throw() { return customisedCodeSnippets; }
//==============================================================================
ValueTree& getRoot() { return root; }
ValueTree getComponentGroup() const;
UndoManager* getUndoManager() const;
void beginNewTransaction();
@@ -156,12 +164,12 @@ private:
File cppFile;
ValueTree root;
ScopedPointer<MarkerList> markersX, markersY;
CodeGenerator::CustomisedCodeSnippets customisedCodeSnippets;
mutable UndoManager undoManager;
bool changedSinceSaved;
void checkRootObject();
void createSubTreeIfNotThere (const String& name);
ValueTree getComponentGroup() const;
void addMarkerMenuItem (int i, const Coordinate& coord, const String& name, PopupMenu& menu,
bool isAnchor1, const String& fullCoordName);


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_Coordinate.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_Coordinate.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_DrawableDocument.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_DrawableDocument.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_NewFileWizard.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_NewFileWizard.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_Project.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_Project.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_ProjectExport_MSVC.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_ProjectExport_Make.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_ProjectExport_XCode.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_ProjectExporter.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_ProjectExporter.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_ProjectSaver.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_ProjectWizard.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_ProjectWizard.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_ResourceFile.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/model/jucer_ResourceFile.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 8
- 15
extras/Jucer (experimental)/Source/templates/jucer_ComponentTemplate.cpp View File

@@ -3,24 +3,21 @@
This is an automatically generated file created by the Jucer!
Creation date: %%creationTime%%
Be careful when adding custom code to these files, as only the code within
the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
and re-saved.
Jucer version: 1.12
Created for JUCE version: %%juceVersion%%
------------------------------------------------------------------------------
The Jucer is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-6 by Raw Material Software ltd.
JUCE and the Jucer are copyright 2004-10 by Raw Material Software ltd.
==============================================================================
*/
//[Headers] You can add your own extra header files here...
//[/Headers]
//[CppHeaders] You can add your own extra header files here...
//[/CppHeaders]
%%includeFilesCPP%%
@@ -53,18 +50,14 @@
//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...
//[/MiscUserCode]
%%staticMemberDefinitions%%
//==============================================================================
//======================= Jucer Information Section ==========================
//==============================================================================
#if 0
/* -- Jucer information section --
This is where the Jucer puts all of its metadata, so don't change anything in here!
BEGIN_JUCER_METADATA
/* This section stores the Jucer's metadata - edit it at your own risk!
%%metadata%%
END_JUCER_METADATA
*/
#endif
%%staticMemberDefinitions%%

+ 4
- 7
extras/Jucer (experimental)/Source/templates/jucer_ComponentTemplate.h View File

@@ -3,18 +3,15 @@
This is an automatically generated file created by the Jucer!
Creation date: %%creationTime%%
Be careful when adding custom code to these files, as only the code within
the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
and re-saved.
Jucer version: 1.12
Created for JUCE version: %%juceVersion%%
------------------------------------------------------------------------------
The Jucer is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-6 by Raw Material Software ltd.
JUCE and the Jucer are copyright 2004-10 by Raw Material Software ltd.
==============================================================================
*/
@@ -23,7 +20,7 @@
#define %%headerGuard%%
//[Headers] -- You can add your own extra header files here --
#include "juce.h"
%%defaultJuceInclude%%
//[/Headers]
%%includeFilesH%%
@@ -62,7 +59,7 @@ private:
//==============================================================================
// (prevent copy constructor and operator= being generated..)
%%className%% (const %%className%%&);
const %%className%%& operator= (const %%className%%&);
%%className%%& operator= (const %%className%%&);
};


+ 1
- 1
extras/Jucer (experimental)/Source/ui/Component Editor/jucer_ComponentDragOperation.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 444
- 7
extras/Jucer (experimental)/Source/ui/Component Editor/jucer_ComponentEditor.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -25,8 +25,289 @@
#include "../../jucer_Headers.h"
#include "jucer_ComponentEditor.h"
#include "../jucer_JucerTreeViewBase.h"
//==============================================================================
namespace ComponentTree
{
//==============================================================================
class Base : public JucerTreeViewBase,
public ValueTree::Listener,
public ChangeListener
{
public:
Base (ComponentEditor& editor_)
: editor (editor_)
{
editor.getCanvas()->getSelection().addChangeListener (this);
}
~Base()
{
editor.getCanvas()->getSelection().removeChangeListener (this);
}
//==============================================================================
void valueTreePropertyChanged (ValueTree& tree, const var::identifier& property) {}
void valueTreeParentChanged (ValueTree& tree) {}
void valueTreeChildrenChanged (ValueTree& tree) {}
const String getUniqueName() const
{
jassert (getItemId().isNotEmpty());
return getItemId();
}
//==============================================================================
void itemOpennessChanged (bool isNowOpen)
{
if (isNowOpen)
refreshSubItems();
}
virtual void refreshSubItems() = 0;
virtual const String getItemId() const = 0;
void setName (const String& newName) {}
void itemClicked (const MouseEvent& e) {}
void itemDoubleClicked (const MouseEvent& e) {}
void itemSelectionChanged (bool isNowSelected)
{
if (isNowSelected)
editor.getCanvas()->getSelection().addToSelection (getItemId());
else
editor.getCanvas()->getSelection().deselect (getItemId());
}
void changeListenerCallback (void*) { updateSelectionState(); }
void updateSelectionState()
{
setSelected (editor.getCanvas()->getSelection().isSelected (getItemId()), false);
}
bool isMissing() { return false; }
const String getTooltip() { return String::empty; }
protected:
//==============================================================================
ComponentEditor& editor;
};
//==============================================================================
class ComponentItem : public Base
{
public:
ComponentItem (ComponentEditor& editor_, const ValueTree& componentState_)
: Base (editor_), componentState (componentState_)
{
componentState.addListener (this);
updateSelectionState();
}
~ComponentItem()
{
componentState.removeListener (this);
}
//==============================================================================
const String getItemId() const { return componentState [ComponentDocument::idProperty]; }
bool mightContainSubItems() { return false; }
void refreshSubItems() {}
const String getDisplayName() const { return getRenamingName(); }
const String getRenamingName() const { return componentState [ComponentDocument::memberNameProperty]; }
Image* getIcon() const { return LookAndFeel::getDefaultLookAndFeel().getDefaultDocumentFileImage(); }
const String getDragSourceDescription() { return componentItemDragType; }
void valueTreePropertyChanged (ValueTree& tree, const var::identifier& property)
{
if (property == ComponentDocument::memberNameProperty)
repaintItem();
}
private:
//==============================================================================
ValueTree componentState;
};
//==============================================================================
class ComponentList : public Base
{
public:
ComponentList (ComponentEditor& editor_)
: Base (editor_), componentTree (editor.getDocument().getComponentGroup())
{
componentTree.addListener (this);
}
~ComponentList()
{
componentTree.removeListener (this);
}
//==============================================================================
const String getItemId() const { return "components"; }
bool mightContainSubItems() { return true; }
void valueTreeChildrenChanged (ValueTree& tree)
{
if (tree == componentTree)
refreshSubItems();
}
void refreshSubItems()
{
ScopedPointer <XmlElement> openness (getOpennessState());
clearSubItems();
ComponentDocument& doc = editor.getDocument();
const int num = doc.getNumComponents();
for (int i = 0; i < num; ++i)
addSubItem (new ComponentItem (editor, doc.getComponent (i)));
if (openness != 0)
restoreOpennessState (*openness);
}
const String getDisplayName() const { return getRenamingName(); }
const String getRenamingName() const { return "Components"; }
Image* getIcon() const { return LookAndFeel::getDefaultLookAndFeel().getDefaultFolderImage(); }
const String getDragSourceDescription() { return String::empty; }
private:
ValueTree componentTree;
};
//==============================================================================
class MarkerItem : public Base
{
public:
MarkerItem (ComponentEditor& editor_, const ValueTree& markerState_)
: Base (editor_), markerState (markerState_)
{
markerState.addListener (this);
updateSelectionState();
}
~MarkerItem()
{
markerState.removeListener (this);
}
//==============================================================================
const String getItemId() const { return markerState [ComponentDocument::idProperty]; }
bool mightContainSubItems() { return false; }
void refreshSubItems() {}
const String getDisplayName() const { return getRenamingName(); }
const String getRenamingName() const { return markerState [ComponentDocument::markerNameProperty]; }
Image* getIcon() const { return LookAndFeel::getDefaultLookAndFeel().getDefaultDocumentFileImage(); }
const String getDragSourceDescription() { return componentItemDragType; }
void valueTreePropertyChanged (ValueTree& tree, const var::identifier& property)
{
if (property == ComponentDocument::markerNameProperty)
repaintItem();
}
private:
//==============================================================================
ValueTree markerState;
};
//==============================================================================
class MarkerList : public Base
{
public:
MarkerList (ComponentEditor& editor_, bool isX_)
: Base (editor_), markerList (editor_.getDocument().getMarkerList (isX_).getGroup()), isX (isX_)
{
markerList.addListener (this);
}
~MarkerList()
{
markerList.removeListener (this);
}
//==============================================================================
const String getItemId() const { return isX ? "markersX" : "markersY"; }
bool mightContainSubItems() { return true; }
void valueTreeChildrenChanged (ValueTree& tree)
{
refreshSubItems();
}
void refreshSubItems()
{
ScopedPointer <XmlElement> openness (getOpennessState());
clearSubItems();
ComponentDocument::MarkerList& markers = editor.getDocument().getMarkerList (isX);
const int num = markers.size();
for (int i = 0; i < num; ++i)
addSubItem (new MarkerItem (editor, markers.getMarker (i)));
if (openness != 0)
restoreOpennessState (*openness);
}
const String getDisplayName() const { return getRenamingName(); }
const String getRenamingName() const { return isX ? "Markers (X-axis)" : "Markers (Y-axis)"; }
Image* getIcon() const { return LookAndFeel::getDefaultLookAndFeel().getDefaultFolderImage(); }
const String getDragSourceDescription() { return String::empty; }
private:
ValueTree markerList;
bool isX;
};
//==============================================================================
class Root : public Base
{
public:
Root (ComponentEditor& editor_) : Base (editor_) {}
~Root() {}
//==============================================================================
const String getItemId() const { return "root"; }
bool mightContainSubItems() { return true; }
void refreshSubItems()
{
ScopedPointer <XmlElement> openness (getOpennessState());
clearSubItems();
addSubItem (new ComponentList (editor));
addSubItem (new MarkerList (editor, true));
addSubItem (new MarkerList (editor, false));
if (openness != 0)
restoreOpennessState (*openness);
}
const String getDisplayName() const { return getRenamingName(); }
const String getRenamingName() const { return editor.getDocument().getClassName().toString(); }
Image* getIcon() const { return LookAndFeel::getDefaultLookAndFeel().getDefaultFolderImage(); }
const String getDragSourceDescription() { return String::empty; }
};
}
//==============================================================================
class ComponentEditor::ClassInfoHolder : public Component
{
@@ -56,18 +337,32 @@ private:
PropertyPanelWithTooltips* panel;
};
//==============================================================================
class ComponentEditor::LayoutEditorHolder : public Component
class ComponentEditor::LayoutEditorHolder : public Component,
public ToolbarItemFactory
{
public:
LayoutEditorHolder (ComponentEditor& editor_)
: editor (editor_), infoPanel (0)
: editor (editor_), infoPanel (0), tree (0)
{
addAndMakeVisible (toolbar = new Toolbar());
toolbar->addDefaultItems (*this);
toolbar->setStyle (Toolbar::textOnly);
addAndMakeVisible (viewport = new Viewport());
addChildComponent (tree = new TreeView());
tree->setRootItemVisible (true);
tree->setMultiSelectEnabled (true);
tree->setDefaultOpenness (true);
tree->setColour (TreeView::backgroundColourId, Colours::white);
tree->setIndentSize (15);
}
~LayoutEditorHolder()
{
tree->deleteRootItem();
deleteAndZero (infoPanel);
deleteAllChildren();
}
@@ -76,20 +371,94 @@ public:
{
viewport->setViewedComponent (new ComponentEditorCanvas (editor));
addAndMakeVisible (infoPanel = new InfoPanel (editor));
tree->setRootItem (new ComponentTree::Root (editor));
resized();
}
void resized()
{
const int infoPanelWidth = 200;
viewport->setBounds (0, 0, getWidth() - infoPanelWidth, getHeight());
const int toolbarHeight = 22;
toolbar->setBounds (0, 0, getWidth(), toolbarHeight);
int infoPanelWidth = 200;
if (infoPanel != 0 && infoPanel->isVisible())
infoPanel->setBounds (getWidth() - infoPanelWidth, toolbar->getBottom(), infoPanelWidth, getHeight() - toolbar->getBottom());
else
infoPanelWidth = 0;
if (tree->isVisible())
{
tree->setBounds (0, toolbar->getBottom(), infoPanelWidth, getHeight() - toolbar->getBottom());
viewport->setBounds (infoPanelWidth, toolbar->getBottom(), getWidth() - infoPanelWidth * 2, getHeight() - toolbar->getBottom());
}
else
{
viewport->setBounds (0, toolbar->getBottom(), getWidth() - infoPanelWidth, getHeight() - toolbar->getBottom());
}
}
void showOrHideProperties()
{
infoPanel->setVisible (! infoPanel->isVisible());
resized();
}
if (infoPanel != 0)
infoPanel->setBounds (getWidth() - infoPanelWidth, 0, infoPanelWidth, getHeight());
void showOrHideTree()
{
tree->setVisible (! tree->isVisible());
resized();
}
Viewport* getViewport() const { return viewport; }
//==============================================================================
enum DemoToolbarItemIds
{
createComponent = 1,
showInfo = 2,
showComponentTree = 3,
};
void getAllToolbarItemIds (Array <int>& ids)
{
ids.add (createComponent);
ids.add (showInfo);
ids.add (showComponentTree);
ids.add (separatorBarId);
ids.add (spacerId);
ids.add (flexibleSpacerId);
}
void getDefaultItemSet (Array <int>& ids)
{
ids.add (createComponent);
ids.add (flexibleSpacerId);
ids.add (showInfo);
ids.add (showComponentTree);
}
ToolbarItemComponent* createItem (int itemId)
{
String name;
int commandId = 0;
switch (itemId)
{
case createComponent: name = "new"; break;
case showInfo: name = "info"; commandId = CommandIDs::showOrHideProperties; break;
case showComponentTree: name = "tree"; commandId = CommandIDs::showOrHideTree; break;
default: jassertfalse; return 0;
}
ToolbarButton* b = new ToolbarButton (itemId, name, new DrawablePath(), 0);
b->setCommandToTrigger (commandManager, commandId, true);
return b;
}
private:
//==============================================================================
class InfoPanel : public Component,
public ChangeListener
{
@@ -136,9 +505,11 @@ private:
PropertyPanel* props;
};
Toolbar* toolbar;
ComponentEditor& editor;
Viewport* viewport;
InfoPanel* infoPanel;
TreeView* tree;
};
//==============================================================================
@@ -233,6 +604,44 @@ Viewport* ComponentEditor::getViewport() const
return layoutEditorHolder->getViewport();
}
//==============================================================================
class TestComponent : public ComponentEditorCanvas::ComponentHolder
{
public:
TestComponent (ComponentDocument& document_)
: document (document_)
{
setSize (document.getCanvasWidth().getValue(),
document.getCanvasHeight().getValue());
}
~TestComponent()
{
}
void resized()
{
document.getCanvasWidth() = getWidth();
document.getCanvasHeight() = getHeight();
ComponentEditorCanvas::ComponentHolder::resized();
updateComponents (document, selected);
}
private:
ComponentDocument document;
ComponentEditorCanvas::SelectedItems selected;
};
void ComponentEditor::test()
{
TestComponent testComp (getDocument());
DialogWindow::showModalDialog ("Testing: " + getDocument().getClassName().toString(),
&testComp, this, Colours::lightgrey, true, true);
}
//==============================================================================
void ComponentEditor::getAllCommands (Array <CommandID>& commands)
{
DocumentEditorComponent::getAllCommands (commands);
@@ -241,6 +650,9 @@ void ComponentEditor::getAllCommands (Array <CommandID>& commands)
CommandIDs::redo,
CommandIDs::toFront,
CommandIDs::toBack,
CommandIDs::test,
CommandIDs::showOrHideProperties,
CommandIDs::showOrHideTree,
StandardApplicationCommandIDs::del };
commands.addArray (ids, numElementsInArray (ids));
@@ -271,6 +683,19 @@ void ComponentEditor::getCommandInfo (CommandID commandID, ApplicationCommandInf
result.setInfo ("Send to Back", "Moves the selected items to the back", CommandCategories::editing, 0);
break;
case CommandIDs::test:
result.setInfo ("Test", "Test the current component", CommandCategories::editing, 0);
result.defaultKeypresses.add (KeyPress ('t', ModifierKeys::commandModifier, 0));
break;
case CommandIDs::showOrHideProperties:
result.setInfo ("Show/Hide Tree", "Shows or hides the component tree view", CommandCategories::editing, 0);
break;
case CommandIDs::showOrHideTree:
result.setInfo ("Show/Hide Properties", "Shows or hides the component properties panel", CommandCategories::editing, 0);
break;
case StandardApplicationCommandIDs::del:
result.setInfo ("Delete", String::empty, CommandCategories::general, 0);
result.defaultKeypresses.add (KeyPress (KeyPress::deleteKey, 0, 0));
@@ -303,6 +728,18 @@ bool ComponentEditor::perform (const InvocationInfo& info)
getCanvas()->selectionToBack();
return true;
case CommandIDs::test:
test();
return true;
case CommandIDs::showOrHideProperties:
layoutEditorHolder->showOrHideProperties();
return true;
case CommandIDs::showOrHideTree:
layoutEditorHolder->showOrHideTree();
return true;
case StandardApplicationCommandIDs::del:
getCanvas()->deleteSelection();
return true;


+ 3
- 2
extras/Jucer (experimental)/Source/ui/Component Editor/jucer_ComponentEditor.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -53,9 +53,10 @@ public:
ComponentDocument& getDocument() const { return *componentDocument; }
Viewport* getViewport() const;
ComponentEditorCanvas* getCanvas() const;
void test();
private:
class ClassInfoHolder;
class LayoutEditorHolder;


+ 103
- 101
extras/Jucer (experimental)/Source/ui/Component Editor/jucer_ComponentEditorCanvas.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -332,8 +332,8 @@ public:
if (axis.expanded (30, 30).contains (e.x, e.y))
{
Coordinate coord (getMarkerList().getCoordinate (marker));
coord.moveToAbsolute (jmax (0.0, dragStartPos + (isX ? e.getDistanceFromDragStartX()
: e.getDistanceFromDragStartY())),
coord.moveToAbsolute (jmax (0, roundToInt (dragStartPos + (isX ? e.getDistanceFromDragStartX()
: e.getDistanceFromDragStartY()))),
getMarkerList());
getMarkerList().setCoordinate (marker, coord);
}
@@ -380,104 +380,6 @@ private:
String labelText;
};
//==============================================================================
class ComponentEditorCanvas::ComponentHolder : public Component
{
public:
ComponentHolder() {}
~ComponentHolder() {}
void updateComponents (ComponentDocument& doc, SelectedItems& selection)
{
int i;
for (i = getNumChildComponents(); --i >= 0;)
{
Component* c = getChildComponent (i);
if (! doc.containsComponent (c))
{
selection.deselect (ComponentDocument::getJucerIDFor (c));
delete c;
}
}
Array <Component*> componentsInOrder;
const int num = doc.getNumComponents();
for (i = 0; i < num; ++i)
{
const ValueTree v (doc.getComponent (i));
Component* c = getComponentForState (doc, v);
if (c == 0)
{
c = doc.createComponent (i);
addAndMakeVisible (c);
}
doc.updateComponent (c);
componentsInOrder.add (c);
}
// Make sure the z-order is correct..
if (num > 0)
{
componentsInOrder.getLast()->toFront (false);
for (i = num - 1; --i >= 0;)
componentsInOrder.getUnchecked(i)->toBehind (componentsInOrder.getUnchecked (i + 1));
}
}
Component* getComponentForState (ComponentDocument& doc, const ValueTree& state) const
{
for (int i = getNumChildComponents(); --i >= 0;)
{
Component* const c = getChildComponent (i);
if (doc.isStateForComponent (state, c))
return c;
}
return 0;
}
Component* findComponentWithID (const String& uid) const
{
for (int i = getNumChildComponents(); --i >= 0;)
{
Component* const c = getChildComponent(i);
if (ComponentDocument::getJucerIDFor (c) == uid)
return c;
}
return 0;
}
Component* findComponentAt (const Point<int>& pos) const
{
for (int i = getNumChildComponents(); --i >= 0;)
{
Component* const c = getChildComponent(i);
if (c->getBounds().contains (pos))
return c;
}
return 0;
}
void findLassoItemsInArea (Array <SelectedItems::ItemType>& itemsFound, const Rectangle<int>& lassoArea)
{
for (int i = getNumChildComponents(); --i >= 0;)
{
Component* c = getChildComponent(i);
if (c->getBounds().intersects (lassoArea))
itemsFound.add (ComponentDocument::getJucerIDFor (c));
}
}
};
//==============================================================================
class ComponentEditorCanvas::OverlayComponent : public Component,
@@ -1097,6 +999,106 @@ void ComponentEditorCanvas::endDrag (const MouseEvent& e)
}
}
//==============================================================================
ComponentEditorCanvas::ComponentHolder::ComponentHolder()
{
}
ComponentEditorCanvas::ComponentHolder::~ComponentHolder()
{
}
void ComponentEditorCanvas::ComponentHolder::updateComponents (ComponentDocument& doc, SelectedItems& selection)
{
int i;
for (i = getNumChildComponents(); --i >= 0;)
{
Component* c = getChildComponent (i);
if (! doc.containsComponent (c))
{
selection.deselect (ComponentDocument::getJucerIDFor (c));
delete c;
}
}
Array <Component*> componentsInOrder;
const int num = doc.getNumComponents();
for (i = 0; i < num; ++i)
{
const ValueTree v (doc.getComponent (i));
Component* c = getComponentForState (doc, v);
if (c == 0)
{
c = doc.createComponent (i);
addAndMakeVisible (c);
}
doc.updateComponent (c);
componentsInOrder.add (c);
}
// Make sure the z-order is correct..
if (num > 0)
{
componentsInOrder.getLast()->toFront (false);
for (i = num - 1; --i >= 0;)
componentsInOrder.getUnchecked(i)->toBehind (componentsInOrder.getUnchecked (i + 1));
}
}
Component* ComponentEditorCanvas::ComponentHolder::getComponentForState (ComponentDocument& doc, const ValueTree& state) const
{
for (int i = getNumChildComponents(); --i >= 0;)
{
Component* const c = getChildComponent (i);
if (doc.isStateForComponent (state, c))
return c;
}
return 0;
}
Component* ComponentEditorCanvas::ComponentHolder::findComponentWithID (const String& uid) const
{
for (int i = getNumChildComponents(); --i >= 0;)
{
Component* const c = getChildComponent(i);
if (ComponentDocument::getJucerIDFor (c) == uid)
return c;
}
return 0;
}
Component* ComponentEditorCanvas::ComponentHolder::findComponentAt (const Point<int>& pos) const
{
for (int i = getNumChildComponents(); --i >= 0;)
{
Component* const c = getChildComponent(i);
if (c->getBounds().contains (pos))
return c;
}
return 0;
}
void ComponentEditorCanvas::ComponentHolder::findLassoItemsInArea (Array <SelectedItems::ItemType>& itemsFound, const Rectangle<int>& lassoArea)
{
for (int i = getNumChildComponents(); --i >= 0;)
{
Component* c = getChildComponent(i);
if (c->getBounds().intersects (lassoArea))
itemsFound.add (ComponentDocument::getJucerIDFor (c));
}
}
//==============================================================================
ComponentEditorCanvas::OverlayItemComponent::OverlayItemComponent (ComponentEditorCanvas& canvas_)
: canvas (canvas_)


+ 15
- 1
extras/Jucer (experimental)/Source/ui/Component Editor/jucer_ComponentEditorCanvas.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -85,6 +85,20 @@ public:
void continueDrag (const MouseEvent& e);
void endDrag (const MouseEvent& e);
//==============================================================================
class ComponentHolder : public Component
{
public:
ComponentHolder();
~ComponentHolder();
void updateComponents (ComponentDocument& doc, SelectedItems& selection);
Component* getComponentForState (ComponentDocument& doc, const ValueTree& state) const;
Component* findComponentWithID (const String& uid) const;
Component* findComponentAt (const Point<int>& pos) const;
void findLassoItemsInArea (Array <SelectedItems::ItemType>& itemsFound, const Rectangle<int>& lassoArea);
};
private:
ComponentEditor& editor;
const BorderSize border;


+ 1
- 1
extras/Jucer (experimental)/Source/ui/Drawable Editor/jucer_DrawableEditor.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/Drawable Editor/jucer_DrawableEditor.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/Drawable Editor/jucer_DrawableObjectComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/Drawable Editor/jucer_DrawableTreeViewItem.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 4
- 2
extras/Jucer (experimental)/Source/ui/jucer_CommandIDs.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -48,7 +48,9 @@ namespace CommandIDs
static const int test = 0x202090;
static const int toFront = 0x2020a0;
static const int toBack = 0x2030b0;
static const int toBack = 0x2030a1;
static const int showOrHideProperties = 0x2030b0;
static const int showOrHideTree = 0x2030b1;
static const int group = 0x202170;
static const int ungroup = 0x202180;


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_CoordinatePropertyComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_DocumentEditorComponent.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_DocumentEditorComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_GroupInformationComponent.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_GroupInformationComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_ItemPreviewComponent.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_ItemPreviewComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_JucerTreeViewBase.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 2
- 2
extras/Jucer (experimental)/Source/ui/jucer_JucerTreeViewBase.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -54,7 +54,7 @@ public:
virtual bool isMissing() = 0;
virtual Image* getIcon() const = 0;
void showRenameBox();
virtual void showRenameBox();
// Text editor listener for renaming..
void textEditorTextChanged (TextEditor& editor) {}


+ 4
- 11
extras/Jucer (experimental)/Source/ui/jucer_MainWindow.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------
@@ -301,7 +301,6 @@ const PopupMenu MainWindow::getMenuForIndex (int topLevelMenuIndex,
menu.addCommandItem (commandManager, CommandIDs::undo);
menu.addCommandItem (commandManager, CommandIDs::redo);
menu.addSeparator();
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::cut);
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::copy);
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::paste);
@@ -322,20 +321,14 @@ const PopupMenu MainWindow::getMenuForIndex (int topLevelMenuIndex,
// "View" menu
menu.addCommandItem (commandManager, CommandIDs::showProjectSettings);
menu.addSeparator();
//menu.addCommandItem (commandManager, CommandIDs::test);
menu.addCommandItem (commandManager, CommandIDs::test);
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::showGrid);
menu.addCommandItem (commandManager, CommandIDs::enableSnapToGrid);
/* const int currentSnapSize = getActiveDocument() != 0 ? getActiveDocument()->getSnappingGridSize() : 0;
PopupMenu m;
for (int i = 0; i < numElementsInArray (snapSizes); ++i)
m.addItem (300 + i, String (snapSizes[i]) + " pixels", true, snapSizes[i] == currentSnapSize);
menu.addSubMenu ("Grid size", m, getActiveDocument() != 0);*/
menu.addSeparator();
menu.addCommandItem (commandManager, CommandIDs::zoomIn);
menu.addCommandItem (commandManager, CommandIDs::zoomOut);


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_MainWindow.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_OpenDocumentManager.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_OpenDocumentManager.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_ProjectContentComponent.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_ProjectContentComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_ProjectTreeViewBase.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_ProjectTreeViewBase.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_SourceCodeEditor.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_SourceCodeEditor.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_TreeViewTypes.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/ui/jucer_TreeViewTypes.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/utility/jucer_ColourEditorComponent.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/utility/jucer_Colours.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/utility/jucer_RelativePath.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/utility/jucer_StoredSettings.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/utility/jucer_StoredSettings.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/utility/jucer_UtilityFunctions.cpp View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/utility/jucer_UtilityFunctions.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 1
- 1
extras/Jucer (experimental)/Source/utility/jucer_ValueRemapperSource.h View File

@@ -2,7 +2,7 @@
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
Copyright 2004-10 by Raw Material Software Ltd.
------------------------------------------------------------------------------


+ 77
- 79
juce_amalgamated.cpp View File

@@ -69219,10 +69219,9 @@ void DragAndDropContainer::startDragging (const String& sourceDescription,
else
{
if (imageOffsetFromMouse == 0)
imageOffset = Point<int> (dragImage->getWidth() / -2,
dragImage->getHeight() / -2);
imageOffset = -dragImage->getBounds().getCentre();
else
imageOffset = *imageOffsetFromMouse;
imageOffset = -(dragImage->getBounds().getConstrainedPoint (-*imageOffsetFromMouse));
}

dragImageComponent = new DragImageComponent (dragImage.release(), sourceDescription, sourceComponent,
@@ -69448,12 +69447,12 @@ void* MouseCursor::getHandle() const throw()
return cursorHandle->getHandle();
}

void MouseCursor::showWaitCursor() throw()
void MouseCursor::showWaitCursor()
{
Desktop::getInstance().getMainMouseSource().showMouseCursor (MouseCursor::WaitCursor);
}

void MouseCursor::hideWaitCursor() throw()
void MouseCursor::hideWaitCursor()
{
Desktop::getInstance().getMainMouseSource().revealCursor();
}
@@ -72624,7 +72623,7 @@ private:

ScopedPointer <Image> colours;

void updateMarker() const throw()
void updateMarker() const
{
marker->setBounds (roundToInt ((getWidth() - edge * 2) * s),
roundToInt ((getHeight() - edge * 2) * (1.0f - v)),
@@ -74188,7 +74187,7 @@ void MidiKeyboardComponent::drawBlackNote (int /*midiNoteNumber*/,
}
}

void MidiKeyboardComponent::setOctaveForMiddleC (const int octaveNumForMiddleC_) throw()
void MidiKeyboardComponent::setOctaveForMiddleC (const int octaveNumForMiddleC_)
{
octaveNumForMiddleC = octaveNumForMiddleC_;
repaint();
@@ -75672,8 +75671,7 @@ BEGIN_JUCE_NAMESPACE

static VoidArray heavyweightPeers;

ComponentPeer::ComponentPeer (Component* const component_,
const int styleFlags_) throw()
ComponentPeer::ComponentPeer (Component* const component_, const int styleFlags_)
: component (component_),
styleFlags (styleFlags_),
lastPaintTime (0),
@@ -76126,12 +76124,12 @@ void ComponentPeer::bringModalComponentToFront()
Component::bringModalComponentToFront();
}

void ComponentPeer::clearMaskedRegion() throw()
void ComponentPeer::clearMaskedRegion()
{
maskedRegion.clear();
}

void ComponentPeer::addMaskedRegion (int x, int y, int w, int h) throw()
void ComponentPeer::addMaskedRegion (int x, int y, int w, int h)
{
maskedRegion.add (x, y, w, h);
}
@@ -77490,7 +77488,7 @@ public:
}
}

bool addWindow (TopLevelWindow* const w) throw()
bool addWindow (TopLevelWindow* const w)
{
windows.add (w);
startTimer (10);
@@ -77498,7 +77496,7 @@ public:
return isWindowActive (w);
}

void removeWindow (TopLevelWindow* const w) throw()
void removeWindow (TopLevelWindow* const w)
{
startTimer (10);

@@ -77516,7 +77514,7 @@ public:
private:
TopLevelWindow* currentActive;

bool isWindowActive (TopLevelWindow* const tlw) const throw()
bool isWindowActive (TopLevelWindow* const tlw) const
{
return (tlw == currentActive
|| tlw->isParentOf (currentActive)
@@ -77569,7 +77567,7 @@ void TopLevelWindow::focusOfChildComponentChanged (FocusChangeType)
TopLevelWindowManager::getInstance()->startTimer (10);
}

void TopLevelWindow::setWindowActive (const bool isNowActive) throw()
void TopLevelWindow::setWindowActive (const bool isNowActive)
{
if (windowIsActive_ != isNowActive)
{
@@ -78273,7 +78271,7 @@ ColourGradient::ColourGradient (const Colour& colour1,
const Colour& colour2,
const float x2_,
const float y2_,
const bool isRadial_) throw()
const bool isRadial_)
: x1 (x1_),
y1 (y1_),
x2 (x2_),
@@ -78287,17 +78285,17 @@ ColourGradient::ColourGradient (const Colour& colour1,
colours.add (colour2.getARGB());
}

ColourGradient::~ColourGradient() throw()
ColourGradient::~ColourGradient()
{
}

void ColourGradient::clearColours() throw()
void ColourGradient::clearColours()
{
colours.clear();
}

void ColourGradient::addColour (const double proportionAlongGradient,
const Colour& colour) throw()
const Colour& colour)
{
// must be within the two end-points
jassert (proportionAlongGradient >= 0 && proportionAlongGradient <= 1.0);
@@ -78362,7 +78360,7 @@ const Colour ColourGradient::getColourAtPosition (const float position) const th
return col1.interpolatedWith (col2, (integerPos - pos1) / (float) (pos2 - pos1));
}

int ColourGradient::createLookupTable (const AffineTransform& transform, HeapBlock <PixelARGB>& lookupTable) const throw()
int ColourGradient::createLookupTable (const AffineTransform& transform, HeapBlock <PixelARGB>& lookupTable) const
{
#ifdef JUCE_DEBUG
// trying to use the object without setting its co-ordinates? Have a careful read of
@@ -79478,7 +79476,7 @@ FillType::FillType (const Colour& colour_) throw()
{
}

FillType::FillType (const ColourGradient& gradient_) throw()
FillType::FillType (const ColourGradient& gradient_)
: colour (0xff000000), gradient (new ColourGradient (gradient_)), image (0)
{
}
@@ -79488,14 +79486,14 @@ FillType::FillType (const Image& image_, const AffineTransform& transform_) thro
{
}

FillType::FillType (const FillType& other) throw()
FillType::FillType (const FillType& other)
: colour (other.colour),
gradient (other.gradient != 0 ? new ColourGradient (*other.gradient) : 0),
image (other.image), transform (other.transform)
{
}

FillType& FillType::operator= (const FillType& other) throw()
FillType& FillType::operator= (const FillType& other)
{
if (this != &other)
{
@@ -79519,7 +79517,7 @@ void FillType::setColour (const Colour& newColour) throw()
colour = newColour;
}

void FillType::setGradient (const ColourGradient& newGradient) throw()
void FillType::setGradient (const ColourGradient& newGradient)
{
if (gradient != 0)
{
@@ -82556,7 +82554,7 @@ Drawable* Drawable::createFromImageFile (const File& file)
return fin != 0 ? createFromImageDataStream (*fin) : 0;
}

Drawable* Drawable::createFromValueTree (const ValueTree& tree) throw()
Drawable* Drawable::createFromValueTree (const ValueTree& tree)
{
Drawable* d = DrawablePath::createFromValueTree (tree);

@@ -82728,7 +82726,7 @@ Drawable* DrawableComposite::createCopy() const
return dc;
}

ValueTree DrawableComposite::createValueTree() const throw()
ValueTree DrawableComposite::createValueTree() const
{
ValueTree v ("Group");

@@ -82758,7 +82756,7 @@ ValueTree DrawableComposite::createValueTree() const throw()
return v;
}

DrawableComposite* DrawableComposite::createFromValueTree (const ValueTree& tree) throw()
DrawableComposite* DrawableComposite::createFromValueTree (const ValueTree& tree)
{
if (! tree.hasType ("Group"))
return 0;
@@ -82913,7 +82911,7 @@ Drawable* DrawableImage::createCopy() const
return di;
}

ValueTree DrawableImage::createValueTree() const throw()
ValueTree DrawableImage::createValueTree() const
{
ValueTree v ("Image");

@@ -82944,7 +82942,7 @@ ValueTree DrawableImage::createValueTree() const throw()
return v;
}

DrawableImage* DrawableImage::createFromValueTree (const ValueTree& tree) throw()
DrawableImage* DrawableImage::createFromValueTree (const ValueTree& tree)
{
if (! tree.hasType ("Image"))
return 0;
@@ -82986,29 +82984,29 @@ DrawablePath::~DrawablePath()
{
}

void DrawablePath::setPath (const Path& newPath) throw()
void DrawablePath::setPath (const Path& newPath)
{
path = newPath;
updateOutline();
}

void DrawablePath::setFill (const FillType& newFill) throw()
void DrawablePath::setFill (const FillType& newFill)
{
mainFill = newFill;
}

void DrawablePath::setStrokeFill (const FillType& newFill) throw()
void DrawablePath::setStrokeFill (const FillType& newFill)
{
strokeFill = newFill;
}

void DrawablePath::setStrokeType (const PathStrokeType& newStrokeType) throw()
void DrawablePath::setStrokeType (const PathStrokeType& newStrokeType)
{
strokeType = newStrokeType;
updateOutline();
}

void DrawablePath::setStrokeThickness (const float newThickness) throw()
void DrawablePath::setStrokeThickness (const float newThickness)
{
setStrokeType (PathStrokeType (newThickness, strokeType.getJointStyle(), strokeType.getEndStyle()));
}
@@ -83135,7 +83133,7 @@ static ValueTree createTreeForFillType (const String& tagName, const FillType& f
return v;
}

ValueTree DrawablePath::createValueTree() const throw()
ValueTree DrawablePath::createValueTree() const
{
ValueTree v ("Path");

@@ -83155,7 +83153,7 @@ ValueTree DrawablePath::createValueTree() const throw()
return v;
}

DrawablePath* DrawablePath::createFromValueTree (const ValueTree& tree) throw()
DrawablePath* DrawablePath::createFromValueTree (const ValueTree& tree)
{
if (! tree.hasType ("Path"))
return 0;
@@ -83243,7 +83241,7 @@ Drawable* DrawableText::createCopy() const
return dt;
}

ValueTree DrawableText::createValueTree() const throw()
ValueTree DrawableText::createValueTree() const
{
ValueTree v ("Text");

@@ -83254,7 +83252,7 @@ ValueTree DrawableText::createValueTree() const throw()
return v;
}

DrawableText* DrawableText::createFromValueTree (const ValueTree& tree) throw()
DrawableText* DrawableText::createFromValueTree (const ValueTree& tree)
{
if (! tree.hasType ("Text"))
return 0;
@@ -89684,28 +89682,28 @@ RectangleList::RectangleList() throw()
{
}

RectangleList::RectangleList (const Rectangle<int>& rect) throw()
RectangleList::RectangleList (const Rectangle<int>& rect)
{
if (! rect.isEmpty())
rects.add (rect);
}

RectangleList::RectangleList (const RectangleList& other) throw()
RectangleList::RectangleList (const RectangleList& other)
: rects (other.rects)
{
}

RectangleList& RectangleList::operator= (const RectangleList& other) throw()
RectangleList& RectangleList::operator= (const RectangleList& other)
{
rects = other.rects;
return *this;
}

RectangleList::~RectangleList() throw()
RectangleList::~RectangleList()
{
}

void RectangleList::clear() throw()
void RectangleList::clear()
{
rects.clearQuick();
}
@@ -89730,7 +89728,7 @@ RectangleList::Iterator::Iterator (const RectangleList& list) throw()
{
}

RectangleList::Iterator::~Iterator() throw()
RectangleList::Iterator::~Iterator()
{
}

@@ -89745,7 +89743,7 @@ bool RectangleList::Iterator::next() throw()
return false;
}

void RectangleList::add (const Rectangle<int>& rect) throw()
void RectangleList::add (const Rectangle<int>& rect)
{
if (! rect.isEmpty())
{
@@ -89799,12 +89797,12 @@ void RectangleList::add (const Rectangle<int>& rect) throw()
}
}

void RectangleList::addWithoutMerging (const Rectangle<int>& rect) throw()
void RectangleList::addWithoutMerging (const Rectangle<int>& rect)
{
rects.add (rect);
}

void RectangleList::add (const int x, const int y, const int w, const int h) throw()
void RectangleList::add (const int x, const int y, const int w, const int h)
{
if (rects.size() == 0)
{
@@ -89817,13 +89815,13 @@ void RectangleList::add (const int x, const int y, const int w, const int h) thr
}
}

void RectangleList::add (const RectangleList& other) throw()
void RectangleList::add (const RectangleList& other)
{
for (int i = 0; i < other.rects.size(); ++i)
add (other.rects.getReference (i));
}

void RectangleList::subtract (const Rectangle<int>& rect) throw()
void RectangleList::subtract (const Rectangle<int>& rect)
{
const int originalNumRects = rects.size();

@@ -89909,13 +89907,13 @@ void RectangleList::subtract (const Rectangle<int>& rect) throw()
}
}

void RectangleList::subtract (const RectangleList& otherList) throw()
void RectangleList::subtract (const RectangleList& otherList)
{
for (int i = otherList.rects.size(); --i >= 0;)
subtract (otherList.rects.getReference (i));
}

bool RectangleList::clipTo (const Rectangle<int>& rect) throw()
bool RectangleList::clipTo (const Rectangle<int>& rect)
{
bool notEmpty = false;

@@ -89939,7 +89937,7 @@ bool RectangleList::clipTo (const Rectangle<int>& rect) throw()
return notEmpty;
}

bool RectangleList::clipTo (const RectangleList& other) throw()
bool RectangleList::clipTo (const RectangleList& other)
{
if (rects.size() == 0)
return false;
@@ -89964,7 +89962,7 @@ bool RectangleList::clipTo (const RectangleList& other) throw()
return ! isEmpty();
}

bool RectangleList::getIntersectionWith (const Rectangle<int>& rect, RectangleList& destRegion) const throw()
bool RectangleList::getIntersectionWith (const Rectangle<int>& rect, RectangleList& destRegion) const
{
destRegion.clear();

@@ -89987,7 +89985,7 @@ void RectangleList::swapWith (RectangleList& otherList) throw()
rects.swapWithArray (otherList.rects);
}

void RectangleList::consolidate() throw()
void RectangleList::consolidate()
{
int i;
for (i = 0; i < getNumRectangles() - 1; ++i)
@@ -90068,7 +90066,7 @@ bool RectangleList::containsPoint (const int x, const int y) const throw()
return false;
}

bool RectangleList::containsRectangle (const Rectangle<int>& rectangleToCheck) const throw()
bool RectangleList::containsRectangle (const Rectangle<int>& rectangleToCheck) const
{
if (rects.size() > 1)
{
@@ -90151,7 +90149,7 @@ void RectangleList::offsetAll (const int dx, const int dy) throw()
}
}

const Path RectangleList::toPath() const throw()
const Path RectangleList::toPath() const
{
Path p;

@@ -216071,13 +216069,13 @@ class FontDCHolder : private DeletedAtShutdown
{
public:

FontDCHolder() throw()
FontDCHolder()
: dc (0), numKPs (0), size (0),
bold (false), italic (false)
{
}

~FontDCHolder() throw()
~FontDCHolder()
{
if (dc != 0)
{
@@ -216090,7 +216088,7 @@ public:

juce_DeclareSingleton_SingleThreaded_Minimal (FontDCHolder);

HDC loadFont (const String& fontName_, const bool bold_, const bool italic_, const int size_) throw()
HDC loadFont (const String& fontName_, const bool bold_, const bool italic_, const int size_)
{
if (fontName != fontName_ || bold != bold_ || italic != italic_ || size != size_)
{
@@ -216160,7 +216158,7 @@ public:
return dc;
}

KERNINGPAIR* getKerningPairs (int& numKPs_) throw()
KERNINGPAIR* getKerningPairs (int& numKPs_)
{
if (kps == 0)
{
@@ -220848,7 +220846,7 @@ public:
}
}

void handle (const uint32 message, const uint32 timeStamp) throw()
void handle (const uint32 message, const uint32 timeStamp)
{
const int byte = message & 0xff;
if (byte < 0x80)
@@ -220877,7 +220875,7 @@ public:
notify();
}

void handleSysEx (MIDIHDR* const hdr, const uint32 timeStamp) throw()
void handleSysEx (MIDIHDR* const hdr, const uint32 timeStamp)
{
const int num = hdr->dwBytesRecorded;

@@ -220906,7 +220904,7 @@ public:
}
}

void writeBlock (const int i) throw()
void writeBlock (const int i)
{
hdr[i].dwBytesRecorded = 0;
MMRESULT res = midiInPrepareHeader (hIn, &hdr[i], sizeof (MIDIHDR));
@@ -220973,7 +220971,7 @@ public:
}
}

void start() throw()
void start()
{
jassert (hIn != 0);
if (hIn != 0 && ! isStarted)
@@ -221000,7 +220998,7 @@ public:
}
}

void stop() throw()
void stop()
{
if (isStarted)
{
@@ -221062,7 +221060,7 @@ private:
int pendingLength;
char pending [MidiConstants::midiBufferSize];

double timeStampToTime (uint32 timeStamp) throw()
double timeStampToTime (uint32 timeStamp)
{
timeStamp += startTime;

@@ -222560,7 +222558,7 @@ private:
return error;
}

void callback (const long index) throw()
void callback (const long index)
{
if (isStarted)
{
@@ -222576,7 +222574,7 @@ private:
calledback = true;
}

void processBuffer() throw()
void processBuffer()
{
const ASIOBufferInfo* const infos = bufferInfos;
const int bi = bufferIndex;
@@ -222705,7 +222703,7 @@ private:
asioObject->outputReady();
}

static ASIOTime* bufferSwitchTimeInfoCallback0 (ASIOTime*, long index, long) throw()
static ASIOTime* bufferSwitchTimeInfoCallback0 (ASIOTime*, long index, long)
{
if (currentASIODev[0] != 0)
currentASIODev[0]->callback (index);
@@ -222713,7 +222711,7 @@ private:
return 0;
}

static ASIOTime* bufferSwitchTimeInfoCallback1 (ASIOTime*, long index, long) throw()
static ASIOTime* bufferSwitchTimeInfoCallback1 (ASIOTime*, long index, long)
{
if (currentASIODev[1] != 0)
currentASIODev[1]->callback (index);
@@ -222721,7 +222719,7 @@ private:
return 0;
}

static ASIOTime* bufferSwitchTimeInfoCallback2 (ASIOTime*, long index, long) throw()
static ASIOTime* bufferSwitchTimeInfoCallback2 (ASIOTime*, long index, long)
{
if (currentASIODev[2] != 0)
currentASIODev[2]->callback (index);
@@ -222729,40 +222727,40 @@ private:
return 0;
}

static void bufferSwitchCallback0 (long index, long) throw()
static void bufferSwitchCallback0 (long index, long)
{
if (currentASIODev[0] != 0)
currentASIODev[0]->callback (index);
}

static void bufferSwitchCallback1 (long index, long) throw()
static void bufferSwitchCallback1 (long index, long)
{
if (currentASIODev[1] != 0)
currentASIODev[1]->callback (index);
}

static void bufferSwitchCallback2 (long index, long) throw()
static void bufferSwitchCallback2 (long index, long)
{
if (currentASIODev[2] != 0)
currentASIODev[2]->callback (index);
}

static long asioMessagesCallback0 (long selector, long value, void*, double*) throw()
static long asioMessagesCallback0 (long selector, long value, void*, double*)
{
return asioMessagesCallback (selector, value, 0);
}

static long asioMessagesCallback1 (long selector, long value, void*, double*) throw()
static long asioMessagesCallback1 (long selector, long value, void*, double*)
{
return asioMessagesCallback (selector, value, 1);
}

static long asioMessagesCallback2 (long selector, long value, void*, double*) throw()
static long asioMessagesCallback2 (long selector, long value, void*, double*)
{
return asioMessagesCallback (selector, value, 2);
}

static long asioMessagesCallback (long selector, long value, const int deviceIndex) throw()
static long asioMessagesCallback (long selector, long value, const int deviceIndex)
{
switch (selector)
{
@@ -238168,7 +238166,7 @@ class ScreenSaverDefeater : public Timer,
public DeletedAtShutdown
{
public:
ScreenSaverDefeater() throw()
ScreenSaverDefeater()
{
startTimer (10000);
timerCallback();


+ 49
- 50
juce_amalgamated.h View File

@@ -9367,9 +9367,9 @@ public:

bool operator!= (const MouseCursor& other) const throw();

static void showWaitCursor() throw();
static void showWaitCursor();

static void hideWaitCursor() throw();
static void hideWaitCursor();

juce_UseDebuggingNewOperator

@@ -11974,16 +11974,16 @@ public:

ColourGradient (const Colour& colour1, float x1, float y1,
const Colour& colour2, float x2, float y2,
bool isRadial) throw();
bool isRadial);

ColourGradient() throw();

~ColourGradient() throw();
~ColourGradient();

void clearColours() throw();
void clearColours();

void addColour (double proportionAlongGradient,
const Colour& colour) throw();
const Colour& colour);

void multiplyOpacity (float multiplier) throw();

@@ -11995,7 +11995,7 @@ public:

const Colour getColourAtPosition (float position) const throw();

int createLookupTable (const AffineTransform& transform, HeapBlock <PixelARGB>& resultLookupTable) const throw();
int createLookupTable (const AffineTransform& transform, HeapBlock <PixelARGB>& resultLookupTable) const;

bool isOpaque() const throw();

@@ -12027,13 +12027,13 @@ public:

FillType (const Colour& colour) throw();

FillType (const ColourGradient& gradient) throw();
FillType (const ColourGradient& gradient);

FillType (const Image& image, const AffineTransform& transform) throw();

FillType (const FillType& other) throw();
FillType (const FillType& other);

FillType& operator= (const FillType& other) throw();
FillType& operator= (const FillType& other);

~FillType() throw();

@@ -12045,7 +12045,7 @@ public:

void setColour (const Colour& newColour) throw();

void setGradient (const ColourGradient& newGradient) throw();
void setGradient (const ColourGradient& newGradient);

void setTiledImage (const Image& image, const AffineTransform& transform) throw();

@@ -12369,13 +12369,13 @@ public:

RectangleList() throw();

RectangleList (const RectangleList& other) throw();
RectangleList (const RectangleList& other);

RectangleList (const Rectangle<int>& rect) throw();
RectangleList (const Rectangle<int>& rect);

RectangleList& operator= (const RectangleList& other) throw();
RectangleList& operator= (const RectangleList& other);

~RectangleList() throw();
~RectangleList();

bool isEmpty() const throw();

@@ -12383,31 +12383,31 @@ public:

const Rectangle<int> getRectangle (const int index) const throw();

void clear() throw();
void clear();

void add (int x, int y, int width, int height) throw();
void add (int x, int y, int width, int height);

void add (const Rectangle<int>& rect) throw();
void add (const Rectangle<int>& rect);

void addWithoutMerging (const Rectangle<int>& rect) throw();
void addWithoutMerging (const Rectangle<int>& rect);

void add (const RectangleList& other) throw();
void add (const RectangleList& other);

void subtract (const Rectangle<int>& rect) throw();
void subtract (const Rectangle<int>& rect);

void subtract (const RectangleList& otherList) throw();
void subtract (const RectangleList& otherList);

bool clipTo (const Rectangle<int>& rect) throw();
bool clipTo (const Rectangle<int>& rect);

bool clipTo (const RectangleList& other) throw();
bool clipTo (const RectangleList& other);

bool getIntersectionWith (const Rectangle<int>& rect, RectangleList& destRegion) const throw();
bool getIntersectionWith (const Rectangle<int>& rect, RectangleList& destRegion) const;

void swapWith (RectangleList& otherList) throw();

bool containsPoint (int x, int y) const throw();

bool containsRectangle (const Rectangle<int>& rectangleToCheck) const throw();
bool containsRectangle (const Rectangle<int>& rectangleToCheck) const;

bool intersectsRectangle (const Rectangle<int>& rectangleToCheck) const throw();

@@ -12415,18 +12415,18 @@ public:

const Rectangle<int> getBounds() const throw();

void consolidate() throw();
void consolidate();

void offsetAll (int dx, int dy) throw();

const Path toPath() const throw();
const Path toPath() const;

class Iterator
{
public:

Iterator (const RectangleList& list) throw();
~Iterator() throw();
~Iterator();

bool next() throw();

@@ -20197,9 +20197,9 @@ public:

static Drawable* createFromSVG (const XmlElement& svgDocument);

static Drawable* createFromValueTree (const ValueTree& tree) throw();
static Drawable* createFromValueTree (const ValueTree& tree);

virtual ValueTree createValueTree() const throw() = 0;
virtual ValueTree createValueTree() const = 0;

juce_UseDebuggingNewOperator

@@ -22947,7 +22947,7 @@ private:
bool useDropShadow, useNativeTitleBar, windowIsActive_;
ScopedPointer <DropShadower> shadower;

void setWindowActive (bool isNowActive) throw();
void setWindowActive (bool isNowActive);

TopLevelWindow (const TopLevelWindow&);
TopLevelWindow& operator= (const TopLevelWindow&);
@@ -26812,7 +26812,7 @@ public:

void setKeyPressBaseOctave (int newOctaveNumber);

void setOctaveForMiddleC (int octaveNumForMiddleC) throw();
void setOctaveForMiddleC (int octaveNumForMiddleC);

int getOctaveForMiddleC() const throw() { return octaveNumForMiddleC; }

@@ -27405,8 +27405,7 @@ public:

};

ComponentPeer (Component* component,
int styleFlags) throw();
ComponentPeer (Component* component, int styleFlags);

virtual ~ComponentPeer();

@@ -27503,9 +27502,9 @@ public:
void handleFileDragExit (const StringArray& files);
void handleFileDragDrop (const StringArray& files, const Point<int>& position);

void clearMaskedRegion() throw();
void clearMaskedRegion();

void addMaskedRegion (int x, int y, int w, int h) throw();
void addMaskedRegion (int x, int y, int w, int h);

static int getNumPeers() throw();

@@ -27985,8 +27984,8 @@ public:
const Rectangle<float> getBounds() const;
bool hitTest (float x, float y) const;
Drawable* createCopy() const;
ValueTree createValueTree() const throw();
static DrawableComposite* createFromValueTree (const ValueTree& tree) throw();
ValueTree createValueTree() const;
static DrawableComposite* createFromValueTree (const ValueTree& tree);

juce_UseDebuggingNewOperator

@@ -28038,8 +28037,8 @@ public:
const Rectangle<float> getBounds() const;
bool hitTest (float x, float y) const;
Drawable* createCopy() const;
ValueTree createValueTree() const throw();
static DrawableImage* createFromValueTree (const ValueTree& tree) throw();
ValueTree createValueTree() const;
static DrawableImage* createFromValueTree (const ValueTree& tree);

juce_UseDebuggingNewOperator

@@ -28072,21 +28071,21 @@ public:

virtual ~DrawablePath();

void setPath (const Path& newPath) throw();
void setPath (const Path& newPath);

const Path& getPath() const throw() { return path; }

void setFill (const FillType& newFill) throw();
void setFill (const FillType& newFill);

const FillType& getFill() const throw() { return mainFill; }

void setStrokeFill (const FillType& newStrokeFill) throw();
void setStrokeFill (const FillType& newStrokeFill);

const FillType& getStrokeFill() const throw() { return strokeFill; }

void setStrokeType (const PathStrokeType& newStrokeType) throw();
void setStrokeType (const PathStrokeType& newStrokeType);

void setStrokeThickness (float newThickness) throw();
void setStrokeThickness (float newThickness);

const PathStrokeType& getStrokeType() const throw() { return strokeType; }

@@ -28094,8 +28093,8 @@ public:
const Rectangle<float> getBounds() const;
bool hitTest (float x, float y) const;
Drawable* createCopy() const;
ValueTree createValueTree() const throw();
static DrawablePath* createFromValueTree (const ValueTree& tree) throw();
ValueTree createValueTree() const;
static DrawablePath* createFromValueTree (const ValueTree& tree);

juce_UseDebuggingNewOperator

@@ -28143,8 +28142,8 @@ public:
const Rectangle<float> getBounds() const;
bool hitTest (float x, float y) const;
Drawable* createCopy() const;
ValueTree createValueTree() const throw();
static DrawableText* createFromValueTree (const ValueTree& tree) throw();
ValueTree createValueTree() const;
static DrawableText* createFromValueTree (const ValueTree& tree);

juce_UseDebuggingNewOperator



+ 2
- 3
src/gui/components/mouse/juce_DragAndDropContainer.cpp View File

@@ -386,10 +386,9 @@ void DragAndDropContainer::startDragging (const String& sourceDescription,
else
{
if (imageOffsetFromMouse == 0)
imageOffset = Point<int> (dragImage->getWidth() / -2,
dragImage->getHeight() / -2);
imageOffset = -dragImage->getBounds().getCentre();
else
imageOffset = *imageOffsetFromMouse;
imageOffset = -(dragImage->getBounds().getConstrainedPoint (-*imageOffsetFromMouse));
}
dragImageComponent = new DragImageComponent (dragImage.release(), sourceDescription, sourceComponent,


+ 2
- 2
src/gui/components/mouse/juce_MouseCursor.cpp View File

@@ -178,12 +178,12 @@ void* MouseCursor::getHandle() const throw()
return cursorHandle->getHandle();
}
void MouseCursor::showWaitCursor() throw()
void MouseCursor::showWaitCursor()
{
Desktop::getInstance().getMainMouseSource().showMouseCursor (MouseCursor::WaitCursor);
}
void MouseCursor::hideWaitCursor() throw()
void MouseCursor::hideWaitCursor()
{
Desktop::getInstance().getMainMouseSource().revealCursor();
}


+ 2
- 2
src/gui/components/mouse/juce_MouseCursor.h View File

@@ -127,7 +127,7 @@ public:
@see MessageManager::setTimeBeforeShowingWaitCursor
*/
static void showWaitCursor() throw();
static void showWaitCursor();
/** If showWaitCursor has been called, this will return the mouse to its
normal state.
@@ -137,7 +137,7 @@ public:
@see showWaitCursor
*/
static void hideWaitCursor() throw();
static void hideWaitCursor();
//==============================================================================


+ 1
- 1
src/gui/components/special/juce_ColourSelector.cpp View File

@@ -184,7 +184,7 @@ private:
ScopedPointer <Image> colours;
void updateMarker() const throw()
void updateMarker() const
{
marker->setBounds (roundToInt ((getWidth() - edge * 2) * s),
roundToInt ((getHeight() - edge * 2) * (1.0f - v)),


+ 1
- 1
src/gui/components/special/juce_MidiKeyboardComponent.cpp View File

@@ -536,7 +536,7 @@ void MidiKeyboardComponent::drawBlackNote (int /*midiNoteNumber*/,
}
}
void MidiKeyboardComponent::setOctaveForMiddleC (const int octaveNumForMiddleC_) throw()
void MidiKeyboardComponent::setOctaveForMiddleC (const int octaveNumForMiddleC_)
{
octaveNumForMiddleC = octaveNumForMiddleC_;
repaint();


+ 1
- 1
src/gui/components/special/juce_MidiKeyboardComponent.h View File

@@ -263,7 +263,7 @@ public:
@see getOctaveForMiddleC
*/
void setOctaveForMiddleC (int octaveNumForMiddleC) throw();
void setOctaveForMiddleC (int octaveNumForMiddleC);
/** This returns the value set by setOctaveForMiddleC().
@see setOctaveForMiddleC


+ 3
- 4
src/gui/components/windows/juce_ComponentPeer.cpp View File

@@ -45,8 +45,7 @@ static VoidArray heavyweightPeers;
//==============================================================================
ComponentPeer::ComponentPeer (Component* const component_,
const int styleFlags_) throw()
ComponentPeer::ComponentPeer (Component* const component_, const int styleFlags_)
: component (component_),
styleFlags (styleFlags_),
lastPaintTime (0),
@@ -507,12 +506,12 @@ void ComponentPeer::bringModalComponentToFront()
}
//==============================================================================
void ComponentPeer::clearMaskedRegion() throw()
void ComponentPeer::clearMaskedRegion()
{
maskedRegion.clear();
}
void ComponentPeer::addMaskedRegion (int x, int y, int w, int h) throw()
void ComponentPeer::addMaskedRegion (int x, int y, int w, int h)
{
maskedRegion.add (x, y, w, h);
}


+ 3
- 4
src/gui/components/windows/juce_ComponentPeer.h View File

@@ -87,8 +87,7 @@ public:
The component is the one that we intend to represent, and the style flags are
a combination of the values in the StyleFlags enum
*/
ComponentPeer (Component* component,
int styleFlags) throw();
ComponentPeer (Component* component, int styleFlags);
/** Destructor. */
virtual ~ComponentPeer();
@@ -310,7 +309,7 @@ public:
@see addMaskedRegion
*/
void clearMaskedRegion() throw();
void clearMaskedRegion();
/** Adds a rectangle to the set of areas not to paint over.
@@ -321,7 +320,7 @@ public:
The masked region is cleared each time before a paint happens, so a component
will have to make sure it calls this every time it's painted.
*/
void addMaskedRegion (int x, int y, int w, int h) throw();
void addMaskedRegion (int x, int y, int w, int h);
//==============================================================================
/** Returns the number of currently-active peers.


+ 4
- 4
src/gui/components/windows/juce_TopLevelWindow.cpp View File

@@ -95,7 +95,7 @@ public:
}
}
bool addWindow (TopLevelWindow* const w) throw()
bool addWindow (TopLevelWindow* const w)
{
windows.add (w);
startTimer (10);
@@ -103,7 +103,7 @@ public:
return isWindowActive (w);
}
void removeWindow (TopLevelWindow* const w) throw()
void removeWindow (TopLevelWindow* const w)
{
startTimer (10);
@@ -121,7 +121,7 @@ public:
private:
TopLevelWindow* currentActive;
bool isWindowActive (TopLevelWindow* const tlw) const throw()
bool isWindowActive (TopLevelWindow* const tlw) const
{
return (tlw == currentActive
|| tlw->isParentOf (currentActive)
@@ -176,7 +176,7 @@ void TopLevelWindow::focusOfChildComponentChanged (FocusChangeType)
TopLevelWindowManager::getInstance()->startTimer (10);
}
void TopLevelWindow::setWindowActive (const bool isNowActive) throw()
void TopLevelWindow::setWindowActive (const bool isNowActive)
{
if (windowIsActive_ != isNowActive)
{


+ 1
- 1
src/gui/components/windows/juce_TopLevelWindow.h View File

@@ -161,7 +161,7 @@ private:
bool useDropShadow, useNativeTitleBar, windowIsActive_;
ScopedPointer <DropShadower> shadower;
void setWindowActive (bool isNowActive) throw();
void setWindowActive (bool isNowActive);
TopLevelWindow (const TopLevelWindow&);
TopLevelWindow& operator= (const TopLevelWindow&);


+ 5
- 5
src/gui/graphics/colour/juce_ColourGradient.cpp View File

@@ -44,7 +44,7 @@ ColourGradient::ColourGradient (const Colour& colour1,
const Colour& colour2,
const float x2_,
const float y2_,
const bool isRadial_) throw()
const bool isRadial_)
: x1 (x1_),
y1 (y1_),
x2 (x2_),
@@ -58,18 +58,18 @@ ColourGradient::ColourGradient (const Colour& colour1,
colours.add (colour2.getARGB());
}
ColourGradient::~ColourGradient() throw()
ColourGradient::~ColourGradient()
{
}
//==============================================================================
void ColourGradient::clearColours() throw()
void ColourGradient::clearColours()
{
colours.clear();
}
void ColourGradient::addColour (const double proportionAlongGradient,
const Colour& colour) throw()
const Colour& colour)
{
// must be within the two end-points
jassert (proportionAlongGradient >= 0 && proportionAlongGradient <= 1.0);
@@ -136,7 +136,7 @@ const Colour ColourGradient::getColourAtPosition (const float position) const th
}
//==============================================================================
int ColourGradient::createLookupTable (const AffineTransform& transform, HeapBlock <PixelARGB>& lookupTable) const throw()
int ColourGradient::createLookupTable (const AffineTransform& transform, HeapBlock <PixelARGB>& lookupTable) const
{
#ifdef JUCE_DEBUG
// trying to use the object without setting its co-ordinates? Have a careful read of


+ 5
- 5
src/gui/graphics/colour/juce_ColourGradient.h View File

@@ -61,7 +61,7 @@ public:
*/
ColourGradient (const Colour& colour1, float x1, float y1,
const Colour& colour2, float x2, float y2,
bool isRadial) throw();
bool isRadial);
/** Creates an uninitialised gradient.
@@ -71,7 +71,7 @@ public:
ColourGradient() throw();
/** Destructor */
~ColourGradient() throw();
~ColourGradient();
//==============================================================================
/** Removes any colours that have been added.
@@ -79,7 +79,7 @@ public:
This will also remove any start and end colours, so the gradient won't work. You'll
need to add more colours with addColour().
*/
void clearColours() throw();
void clearColours();
/** Adds a colour at a point along the length of the gradient.
@@ -92,7 +92,7 @@ public:
@param colour the colour that should be used at this point
*/
void addColour (double proportionAlongGradient,
const Colour& colour) throw();
const Colour& colour);
/** Multiplies the alpha value of all the colours by the given scale factor */
void multiplyOpacity (float multiplier) throw();
@@ -123,7 +123,7 @@ public:
This will resize the HeapBlock, fill it with the colours, and will return the number of
colours that it added.
*/
int createLookupTable (const AffineTransform& transform, HeapBlock <PixelARGB>& resultLookupTable) const throw();
int createLookupTable (const AffineTransform& transform, HeapBlock <PixelARGB>& resultLookupTable) const;
/** Returns true if all colours are opaque. */
bool isOpaque() const throw();


+ 4
- 4
src/gui/graphics/contexts/juce_FillType.cpp View File

@@ -42,7 +42,7 @@ FillType::FillType (const Colour& colour_) throw()
{
}
FillType::FillType (const ColourGradient& gradient_) throw()
FillType::FillType (const ColourGradient& gradient_)
: colour (0xff000000), gradient (new ColourGradient (gradient_)), image (0)
{
}
@@ -52,14 +52,14 @@ FillType::FillType (const Image& image_, const AffineTransform& transform_) thro
{
}
FillType::FillType (const FillType& other) throw()
FillType::FillType (const FillType& other)
: colour (other.colour),
gradient (other.gradient != 0 ? new ColourGradient (*other.gradient) : 0),
image (other.image), transform (other.transform)
{
}
FillType& FillType::operator= (const FillType& other) throw()
FillType& FillType::operator= (const FillType& other)
{
if (this != &other)
{
@@ -83,7 +83,7 @@ void FillType::setColour (const Colour& newColour) throw()
colour = newColour;
}
void FillType::setGradient (const ColourGradient& newGradient) throw()
void FillType::setGradient (const ColourGradient& newGradient)
{
if (gradient != 0)
{


+ 4
- 4
src/gui/graphics/contexts/juce_FillType.h View File

@@ -54,7 +54,7 @@ public:
/** Creates a gradient fill type.
@see setGradient
*/
FillType (const ColourGradient& gradient) throw();
FillType (const ColourGradient& gradient);
/** Creates a tiled image fill type. The transform allows you to set the scaling, offset
and rotation of the pattern.
@@ -63,10 +63,10 @@ public:
FillType (const Image& image, const AffineTransform& transform) throw();
/** Creates a copy of another FillType. */
FillType (const FillType& other) throw();
FillType (const FillType& other);
/** Makes a copy of another FillType. */
FillType& operator= (const FillType& other) throw();
FillType& operator= (const FillType& other);
/** Destructor. */
~FillType() throw();
@@ -85,7 +85,7 @@ public:
void setColour (const Colour& newColour) throw();
/** Turns this object into a gradient fill. */
void setGradient (const ColourGradient& newGradient) throw();
void setGradient (const ColourGradient& newGradient);
/** Turns this object into a tiled image fill type. The transform allows you to set
the scaling, offset and rotation of the pattern.


+ 1
- 1
src/gui/graphics/drawables/juce_Drawable.cpp View File

@@ -133,7 +133,7 @@ Drawable* Drawable::createFromImageFile (const File& file)
}
//==============================================================================
Drawable* Drawable::createFromValueTree (const ValueTree& tree) throw()
Drawable* Drawable::createFromValueTree (const ValueTree& tree)
{
Drawable* d = DrawablePath::createFromValueTree (tree);


+ 2
- 2
src/gui/graphics/drawables/juce_Drawable.h View File

@@ -183,13 +183,13 @@ public:
/** Tries to create a Drawable from a previously-saved ValueTree.
The ValueTree must have been created by the createValueTree() method.
*/
static Drawable* createFromValueTree (const ValueTree& tree) throw();
static Drawable* createFromValueTree (const ValueTree& tree);
/** Creates a ValueTree to represent this Drawable.
The VarTree that is returned can be turned back into a Drawable with
createFromValueTree().
*/
virtual ValueTree createValueTree() const throw() = 0;
virtual ValueTree createValueTree() const = 0;
//==============================================================================
juce_UseDebuggingNewOperator


+ 2
- 2
src/gui/graphics/drawables/juce_DrawableComposite.cpp View File

@@ -183,7 +183,7 @@ Drawable* DrawableComposite::createCopy() const
}
//==============================================================================
ValueTree DrawableComposite::createValueTree() const throw()
ValueTree DrawableComposite::createValueTree() const
{
ValueTree v ("Group");
@@ -213,7 +213,7 @@ ValueTree DrawableComposite::createValueTree() const throw()
return v;
}
DrawableComposite* DrawableComposite::createFromValueTree (const ValueTree& tree) throw()
DrawableComposite* DrawableComposite::createFromValueTree (const ValueTree& tree)
{
if (! tree.hasType ("Group"))
return 0;


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save