Browse Source

Introjucer: some code-gen updates.

tags/2021-05-28
jules 13 years ago
parent
commit
82976c2ac7
17 changed files with 108 additions and 161 deletions
  1. +6
    -10
      extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp
  2. +5
    -15
      extras/Introjucer/Source/ComponentEditor/jucer_GeneratedCode.cpp
  3. +11
    -10
      extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementImage.h
  4. +4
    -7
      extras/JuceDemo/Source/demos/AudioDemoLatencyPage.cpp
  5. +3
    -3
      extras/JuceDemo/Source/demos/AudioDemoLatencyPage.h
  6. +8
    -14
      extras/JuceDemo/Source/demos/AudioDemoPlaybackPage.cpp
  7. +6
    -6
      extras/JuceDemo/Source/demos/AudioDemoPlaybackPage.h
  8. +4
    -7
      extras/JuceDemo/Source/demos/AudioDemoRecordPage.cpp
  9. +3
    -3
      extras/JuceDemo/Source/demos/AudioDemoRecordPage.h
  10. +2
    -3
      extras/JuceDemo/Source/demos/AudioDemoSetupPage.cpp
  11. +1
    -1
      extras/JuceDemo/Source/demos/AudioDemoSetupPage.h
  12. +5
    -9
      extras/JuceDemo/Source/demos/AudioDemoSynthPage.cpp
  13. +4
    -4
      extras/JuceDemo/Source/demos/AudioDemoSynthPage.h
  14. +1
    -2
      extras/JuceDemo/Source/demos/AudioDemoTabComponent.cpp
  15. +1
    -1
      extras/JuceDemo/Source/demos/AudioDemoTabComponent.h
  16. +22
    -44
      extras/JuceDemo/Source/demos/RenderingTestComponent.cpp
  17. +22
    -22
      extras/JuceDemo/Source/demos/RenderingTestComponent.h

+ 6
- 10
extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp View File

@@ -496,19 +496,15 @@ void ComponentTypeHandler::fillInGeneratedCode (Component* component, GeneratedC
void ComponentTypeHandler::fillInMemberVariableDeclarations (GeneratedCode& code, Component* component, const String& memberVariableName)
{
const String virtualName (component->getProperties() ["virtualName"].toString());
String clsName (component->getProperties() ["virtualName"].toString());
if (virtualName.isNotEmpty())
code.privateMemberDeclarations
<< CodeHelpers::makeValidIdentifier (virtualName, false, false, true);
if (clsName.isNotEmpty())
clsName = CodeHelpers::makeValidIdentifier (clsName, false, false, true);
else
code.privateMemberDeclarations
<< getClassName (component);
clsName = getClassName (component);
code.privateMemberDeclarations
<< "* " << memberVariableName << ";\n";
code.initialisers.add (memberVariableName + " (0)");
<< "ScopedPointer<" << clsName << "> " << memberVariableName << ";\n";
}
void ComponentTypeHandler::fillInResizeCode (GeneratedCode& code, Component* component, const String& memberVariableName)
@@ -579,5 +575,5 @@ void ComponentTypeHandler::fillInDeletionCode (GeneratedCode& code, Component*,
const String& memberVariableName)
{
code.destructorCode
<< "deleteAndZero (" << memberVariableName << ");\n";
<< memberVariableName << " = nullptr;\n";
}

+ 5
- 15
extras/Introjucer/Source/ComponentEditor/jucer_GeneratedCode.cpp View File

@@ -90,22 +90,12 @@ void GeneratedCode::removeCallback (const String& returnType, const String& prot
void GeneratedCode::addImageResourceLoader (const String& imageMemberName, const String& resourceName)
{
const String initialiser (imageMemberName + " (0)");
privateMemberDeclarations
<< "Image " << imageMemberName << ";\n";
if (! initialisers.contains (initialiser, false))
{
initialisers.add (initialiser);
privateMemberDeclarations
<< "Image " << imageMemberName << ";\n";
if (resourceName.isNotEmpty())
{
constructorCode
<< imageMemberName << " = ImageCache::getFromMemory ("
<< resourceName << ", " << resourceName << "Size);\n";
}
}
if (resourceName.isNotEmpty())
constructorCode << imageMemberName << " = ImageCache::getFromMemory ("
<< resourceName << ", " << resourceName << "Size);\n";
}
StringArray GeneratedCode::getExtraParentClasses() const


+ 11
- 10
extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementImage.h View File

@@ -144,14 +144,14 @@ public:
const String imageVariable ("drawable" + String (code.getUniqueSuffix()));
code.privateMemberDeclarations
<< "Drawable* " << imageVariable << ";\n";
<< "ScopedPointer<Drawable> " << imageVariable << ";\n";
code.constructorCode
<< imageVariable << " = Drawable::createFromImageData ("
<< resourceName << ", " << resourceName << "Size);\n";
code.destructorCode
<< "deleteAndZero (" << imageVariable << ");\n";
<< imageVariable << " = nullptr;\n";
if (opacity >= 254.0 / 255.0)
r << "g.setColour (Colours::black);\n";
@@ -291,18 +291,19 @@ public:
void resetToImageSize()
{
const Drawable* const image = getDrawable();
if (image != nullptr && getParentComponent() != nullptr)
if (const Drawable* const image = getDrawable())
{
const Rectangle<int> parentArea (((PaintRoutineEditor*) getParentComponent())->getComponentArea());
if (PaintRoutineEditor* ed = dynamic_cast <PaintRoutineEditor*> (getParentComponent()))
{
const Rectangle<int> parentArea (ed->getComponentArea());
Rectangle<int> r (getCurrentBounds (parentArea));
Rectangle<float> bounds (image->getDrawableBounds());
Rectangle<int> r (getCurrentBounds (parentArea));
Rectangle<float> bounds (image->getDrawableBounds());
r.setSize ((int) (bounds.getWidth() + 0.999f), (int) (bounds.getHeight() + 0.999f));
r.setSize ((int) (bounds.getWidth() + 0.999f), (int) (bounds.getHeight() + 0.999f));
setCurrentBounds (r, parentArea, true);
setCurrentBounds (r, parentArea, true);
}
}
}


+ 4
- 7
extras/JuceDemo/Source/demos/AudioDemoLatencyPage.cpp View File

@@ -279,10 +279,7 @@ private:
//==============================================================================
AudioDemoLatencyPage::AudioDemoLatencyPage (AudioDeviceManager& deviceManager_)
: deviceManager (deviceManager_),
liveAudioDisplayComp (0),
startTestButton (0),
testResultsBox (0)
: deviceManager (deviceManager_)
{
addAndMakeVisible (liveAudioDisplayComp = new LiveAudioInputDisplayComp());
@@ -325,9 +322,9 @@ AudioDemoLatencyPage::~AudioDemoLatencyPage()
deviceManager.removeAudioCallback (latencyTester);
//[/Destructor_pre]
deleteAndZero (liveAudioDisplayComp);
deleteAndZero (startTestButton);
deleteAndZero (testResultsBox);
liveAudioDisplayComp = nullptr;
startTestButton = nullptr;
testResultsBox = nullptr;
//[Destructor]. You can add your own custom destruction code here..


+ 3
- 3
extras/JuceDemo/Source/demos/AudioDemoLatencyPage.h View File

@@ -61,9 +61,9 @@ private:
//[/UserVariables]
//==============================================================================
LiveAudioInputDisplayComp* liveAudioDisplayComp;
TextButton* startTestButton;
TextEditor* testResultsBox;
ScopedPointer<LiveAudioInputDisplayComp> liveAudioDisplayComp;
ScopedPointer<TextButton> startTestButton;
ScopedPointer<TextEditor> testResultsBox;
//==============================================================================


+ 8
- 14
extras/JuceDemo/Source/demos/AudioDemoPlaybackPage.cpp View File

@@ -173,13 +173,7 @@ private:
AudioDemoPlaybackPage::AudioDemoPlaybackPage (AudioDeviceManager& deviceManager_)
: deviceManager (deviceManager_),
thread ("audio file preview"),
directoryList (0, thread),
zoomLabel (0),
explanation (0),
zoomSlider (0),
thumbnail (0),
startStopButton (0),
fileTreeComp (0)
directoryList (nullptr, thread)
{
addAndMakeVisible (zoomLabel = new Label (String::empty,
"zoom:"));
@@ -244,12 +238,12 @@ AudioDemoPlaybackPage::~AudioDemoPlaybackPage()
fileTreeComp->removeListener (this);
//[/Destructor_pre]
deleteAndZero (zoomLabel);
deleteAndZero (explanation);
deleteAndZero (zoomSlider);
deleteAndZero (thumbnail);
deleteAndZero (startStopButton);
deleteAndZero (fileTreeComp);
zoomLabel = nullptr;
explanation = nullptr;
zoomSlider = nullptr;
thumbnail = nullptr;
startStopButton = nullptr;
fileTreeComp = nullptr;
//[Destructor]. You can add your own custom destruction code here..
@@ -379,7 +373,7 @@ BEGIN_JUCER_METADATA
<JUCER_COMPONENT documentType="Component" className="AudioDemoPlaybackPage" componentName=""
parentClasses="public Component, public FileBrowserListener"
constructorParams="AudioDeviceManager&amp; deviceManager_" variableInitialisers="deviceManager (deviceManager_),&#10;thread (&quot;audio file preview&quot;),&#10;directoryList (0, thread)"
constructorParams="AudioDeviceManager&amp; deviceManager_" variableInitialisers="deviceManager (deviceManager_),&#10;thread (&quot;audio file preview&quot;),&#10;directoryList (nullptr, thread)"
snapPixels="8" snapActive="1" snapShown="1" overlayOpacity="0.330000013"
fixedSize="0" initialWidth="600" initialHeight="400">
<BACKGROUND backgroundColour="ffd3d3d3"/>


+ 6
- 6
extras/JuceDemo/Source/demos/AudioDemoPlaybackPage.h View File

@@ -78,12 +78,12 @@ private:
//[/UserVariables]
//==============================================================================
Label* zoomLabel;
Label* explanation;
Slider* zoomSlider;
DemoThumbnailComp* thumbnail;
TextButton* startStopButton;
FileTreeComponent* fileTreeComp;
ScopedPointer<Label> zoomLabel;
ScopedPointer<Label> explanation;
ScopedPointer<Slider> zoomSlider;
ScopedPointer<DemoThumbnailComp> thumbnail;
ScopedPointer<TextButton> startStopButton;
ScopedPointer<FileTreeComponent> fileTreeComp;
//==============================================================================


+ 4
- 7
extras/JuceDemo/Source/demos/AudioDemoRecordPage.cpp View File

@@ -136,10 +136,7 @@ private:
//==============================================================================
AudioDemoRecordPage::AudioDemoRecordPage (AudioDeviceManager& deviceManager_)
: deviceManager (deviceManager_),
liveAudioDisplayComp (0),
explanationLabel (0),
recordButton (0)
: deviceManager (deviceManager_)
{
addAndMakeVisible (liveAudioDisplayComp = new LiveAudioInputDisplayComp());
@@ -179,9 +176,9 @@ AudioDemoRecordPage::~AudioDemoRecordPage()
recorder = 0;
//[/Destructor_pre]
deleteAndZero (liveAudioDisplayComp);
deleteAndZero (explanationLabel);
deleteAndZero (recordButton);
liveAudioDisplayComp = nullptr;
explanationLabel = nullptr;
recordButton = nullptr;
//[Destructor]. You can add your own custom destruction code here..


+ 3
- 3
extras/JuceDemo/Source/demos/AudioDemoRecordPage.h View File

@@ -62,9 +62,9 @@ private:
//[/UserVariables]
//==============================================================================
LiveAudioInputDisplayComp* liveAudioDisplayComp;
Label* explanationLabel;
TextButton* recordButton;
ScopedPointer<LiveAudioInputDisplayComp> liveAudioDisplayComp;
ScopedPointer<Label> explanationLabel;
ScopedPointer<TextButton> recordButton;
//==============================================================================


+ 2
- 3
extras/JuceDemo/Source/demos/AudioDemoSetupPage.cpp View File

@@ -28,8 +28,7 @@
//==============================================================================
AudioDemoSetupPage::AudioDemoSetupPage (AudioDeviceManager& deviceManager_)
: deviceManager (deviceManager_),
deviceSelector (0)
: deviceManager (deviceManager_)
{
addAndMakeVisible (deviceSelector = new AudioDeviceSelectorComponent (deviceManager, 0, 2, 0, 2, true, true, true, false));
@@ -49,7 +48,7 @@ AudioDemoSetupPage::~AudioDemoSetupPage()
//[Destructor_pre]. You can add your own custom destruction code here..
//[/Destructor_pre]
deleteAndZero (deviceSelector);
deviceSelector = nullptr;
//[Destructor]. You can add your own custom destruction code here..


+ 1
- 1
extras/JuceDemo/Source/demos/AudioDemoSetupPage.h View File

@@ -56,7 +56,7 @@ private:
//[/UserVariables]
//==============================================================================
AudioDeviceSelectorComponent* deviceSelector;
ScopedPointer<AudioDeviceSelectorComponent> deviceSelector;
//==============================================================================


+ 5
- 9
extras/JuceDemo/Source/demos/AudioDemoSynthPage.cpp View File

@@ -246,11 +246,7 @@ public:
//==============================================================================
AudioDemoSynthPage::AudioDemoSynthPage (AudioDeviceManager& deviceManager_)
: deviceManager (deviceManager_),
keyboardComponent (0),
sineButton (0),
sampledButton (0),
liveAudioDisplayComp (0)
: deviceManager (deviceManager_)
{
addAndMakeVisible (keyboardComponent = new MidiKeyboardComponent (keyboardState, MidiKeyboardComponent::horizontalKeyboard));
@@ -294,10 +290,10 @@ AudioDemoSynthPage::~AudioDemoSynthPage()
deviceManager.removeAudioCallback (liveAudioDisplayComp);
//[/Destructor_pre]
deleteAndZero (keyboardComponent);
deleteAndZero (sineButton);
deleteAndZero (sampledButton);
deleteAndZero (liveAudioDisplayComp);
keyboardComponent = nullptr;
sineButton = nullptr;
sampledButton = nullptr;
liveAudioDisplayComp = nullptr;
//[Destructor]. You can add your own custom destruction code here..


+ 4
- 4
extras/JuceDemo/Source/demos/AudioDemoSynthPage.h View File

@@ -63,10 +63,10 @@ private:
//[/UserVariables]
//==============================================================================
MidiKeyboardComponent* keyboardComponent;
ToggleButton* sineButton;
ToggleButton* sampledButton;
LiveAudioInputDisplayComp* liveAudioDisplayComp;
ScopedPointer<MidiKeyboardComponent> keyboardComponent;
ScopedPointer<ToggleButton> sineButton;
ScopedPointer<ToggleButton> sampledButton;
ScopedPointer<LiveAudioInputDisplayComp> liveAudioDisplayComp;
//==============================================================================


+ 1
- 2
extras/JuceDemo/Source/demos/AudioDemoTabComponent.cpp View File

@@ -110,7 +110,6 @@ void LiveAudioInputDisplayComp::audioDeviceIOCallback (const float** inputChanne
//==============================================================================
AudioDemoTabComponent::AudioDemoTabComponent ()
: tabbedComponent (0)
{
addAndMakeVisible (tabbedComponent = new TabbedComponent (TabbedButtonBar::TabsAtTop));
tabbedComponent->setTabBarDepth (30);
@@ -138,7 +137,7 @@ AudioDemoTabComponent::~AudioDemoTabComponent()
//[Destructor_pre]. You can add your own custom destruction code here..
//[/Destructor_pre]
deleteAndZero (tabbedComponent);
tabbedComponent = nullptr;
//[Destructor]. You can add your own custom destruction code here..


+ 1
- 1
extras/JuceDemo/Source/demos/AudioDemoTabComponent.h View File

@@ -86,7 +86,7 @@ private:
//[/UserVariables]
//==============================================================================
TabbedComponent* tabbedComponent;
ScopedPointer<TabbedComponent> tabbedComponent;
//==============================================================================


+ 22
- 44
extras/JuceDemo/Source/demos/RenderingTestComponent.cpp View File

@@ -377,28 +377,6 @@ Component* createRenderingDemo()
//==============================================================================
RenderingTestComponent::RenderingTestComponent ()
: testTypeComboBox (0),
testTypeLabel (0),
speedLabel (0),
testCanvas (0),
opacitySlider (0),
highQualityToggle (0),
animateSizeToggle (0),
animateRotationToggle (0),
animatePositionToggle (0),
animateFillToggle (0),
opacityLabel (0),
xSlider (0),
ySlider (0),
sizeSlider (0),
angleSlider (0),
xSliderLabel (0),
ySliderLabel (0),
sizeSliderLabel (0),
angleSliderLabel (0),
clipToRectangleToggle (0),
clipToPathToggle (0),
clipToImageToggle (0)
{
addAndMakeVisible (testTypeComboBox = new ComboBox (String::empty));
testTypeComboBox->setEditableText (false);
@@ -551,28 +529,28 @@ RenderingTestComponent::~RenderingTestComponent()
//[Destructor_pre]. You can add your own custom destruction code here..
//[/Destructor_pre]
deleteAndZero (testTypeComboBox);
deleteAndZero (testTypeLabel);
deleteAndZero (speedLabel);
deleteAndZero (testCanvas);
deleteAndZero (opacitySlider);
deleteAndZero (highQualityToggle);
deleteAndZero (animateSizeToggle);
deleteAndZero (animateRotationToggle);
deleteAndZero (animatePositionToggle);
deleteAndZero (animateFillToggle);
deleteAndZero (opacityLabel);
deleteAndZero (xSlider);
deleteAndZero (ySlider);
deleteAndZero (sizeSlider);
deleteAndZero (angleSlider);
deleteAndZero (xSliderLabel);
deleteAndZero (ySliderLabel);
deleteAndZero (sizeSliderLabel);
deleteAndZero (angleSliderLabel);
deleteAndZero (clipToRectangleToggle);
deleteAndZero (clipToPathToggle);
deleteAndZero (clipToImageToggle);
testTypeComboBox = nullptr;
testTypeLabel = nullptr;
speedLabel = nullptr;
testCanvas = nullptr;
opacitySlider = nullptr;
highQualityToggle = nullptr;
animateSizeToggle = nullptr;
animateRotationToggle = nullptr;
animatePositionToggle = nullptr;
animateFillToggle = nullptr;
opacityLabel = nullptr;
xSlider = nullptr;
ySlider = nullptr;
sizeSlider = nullptr;
angleSlider = nullptr;
xSliderLabel = nullptr;
ySliderLabel = nullptr;
sizeSliderLabel = nullptr;
angleSliderLabel = nullptr;
clipToRectangleToggle = nullptr;
clipToPathToggle = nullptr;
clipToImageToggle = nullptr;
//[Destructor]. You can add your own custom destruction code here..


+ 22
- 22
extras/JuceDemo/Source/demos/RenderingTestComponent.h View File

@@ -66,28 +66,28 @@ private:
//[/UserVariables]
//==============================================================================
ComboBox* testTypeComboBox;
Label* testTypeLabel;
Label* speedLabel;
RenderingTestCanvas* testCanvas;
Slider* opacitySlider;
ToggleButton* highQualityToggle;
ToggleButton* animateSizeToggle;
ToggleButton* animateRotationToggle;
ToggleButton* animatePositionToggle;
ToggleButton* animateFillToggle;
Label* opacityLabel;
Slider* xSlider;
Slider* ySlider;
Slider* sizeSlider;
Slider* angleSlider;
Label* xSliderLabel;
Label* ySliderLabel;
Label* sizeSliderLabel;
Label* angleSliderLabel;
ToggleButton* clipToRectangleToggle;
ToggleButton* clipToPathToggle;
ToggleButton* clipToImageToggle;
ScopedPointer<ComboBox> testTypeComboBox;
ScopedPointer<Label> testTypeLabel;
ScopedPointer<Label> speedLabel;
ScopedPointer<RenderingTestCanvas> testCanvas;
ScopedPointer<Slider> opacitySlider;
ScopedPointer<ToggleButton> highQualityToggle;
ScopedPointer<ToggleButton> animateSizeToggle;
ScopedPointer<ToggleButton> animateRotationToggle;
ScopedPointer<ToggleButton> animatePositionToggle;
ScopedPointer<ToggleButton> animateFillToggle;
ScopedPointer<Label> opacityLabel;
ScopedPointer<Slider> xSlider;
ScopedPointer<Slider> ySlider;
ScopedPointer<Slider> sizeSlider;
ScopedPointer<Slider> angleSlider;
ScopedPointer<Label> xSliderLabel;
ScopedPointer<Label> ySliderLabel;
ScopedPointer<Label> sizeSliderLabel;
ScopedPointer<Label> angleSliderLabel;
ScopedPointer<ToggleButton> clipToRectangleToggle;
ScopedPointer<ToggleButton> clipToPathToggle;
ScopedPointer<ToggleButton> clipToImageToggle;
//==============================================================================


Loading…
Cancel
Save