mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-02-08 04:20:09 +00:00
Minor clean-ups. Jucer development.
This commit is contained in:
parent
10f53a1cb4
commit
5093ecbc84
113 changed files with 1181 additions and 637 deletions
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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,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";
|
||||
|
|
|
|||
|
|
@ -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,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,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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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,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,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,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,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,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,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,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,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,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,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,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,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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
header << "/** */"
|
||||
<< newLine << newLine;
|
||||
codeGen.className = getClassName().toString();
|
||||
codeGen.parentClasses = "public Component";
|
||||
|
||||
{
|
||||
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()));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -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%%
|
||||
|
|
|
|||
|
|
@ -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%%&);
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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,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;
|
||||
|
||||
if (infoPanel != 0)
|
||||
infoPanel->setBounds (getWidth() - infoPanelWidth, 0, infoPanelWidth, getHeight());
|
||||
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();
|
||||
}
|
||||
|
||||
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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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_)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,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,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,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,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;
|
||||
|
|
|
|||
|
|
@ -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,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,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,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,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,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,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,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,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) {}
|
||||
|
|
|
|||
|
|
@ -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.addCommandItem (commandManager, CommandIDs::test);
|
||||
menu.addSeparator();
|
||||
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -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)),
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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&);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue