From 5fc524bcc49bd535ed58842f5b534b916ca81971 Mon Sep 17 00:00:00 2001
From: jsiegle <jsiegle@mit.edu>
Date: Sat, 10 Mar 2012 14:43:02 -0500
Subject: [PATCH] Changed GenericProcessor editor to ScopedPointer

---
 Source/Processors/AudioNode.cpp          | 10 ++++----
 Source/Processors/AudioNode.h            |  4 ++++
 Source/Processors/EventNode.cpp          |  4 ++--
 Source/Processors/FilterNode.cpp         |  6 ++---
 Source/Processors/GenericProcessor.cpp   | 15 ++++++------
 Source/Processors/GenericProcessor.h     | 29 ++++--------------------
 Source/Processors/LfpDisplayNode.cpp     |  4 ++--
 Source/Processors/SignalGenerator.cpp    |  8 +++----
 Source/Processors/SourceNode.cpp         |  8 +++----
 Source/Processors/SpikeDetector.cpp      |  6 ++---
 Source/Processors/Utilities/Merger.cpp   |  6 ++---
 Source/Processors/Utilities/Splitter.cpp |  6 ++---
 Source/Processors/WiFiOutput.cpp         |  8 +++----
 13 files changed, 49 insertions(+), 65 deletions(-)

diff --git a/Source/Processors/AudioNode.cpp b/Source/Processors/AudioNode.cpp
index 5ba800e76..d513370f2 100644
--- a/Source/Processors/AudioNode.cpp
+++ b/Source/Processors/AudioNode.cpp
@@ -25,7 +25,7 @@
 #include "AudioNode.h"
 
 AudioNode::AudioNode()
-	: GenericProcessor("Audio Node"), volume(5.0f)
+	: GenericProcessor("Audio Node"), volume(5.0f), audioEditor(0)
 {
 
 	numInputs = 64;
@@ -45,16 +45,18 @@ AudioNode::AudioNode()
 
 AudioNode::~AudioNode() {
 
+
+
 }
 
 AudioProcessorEditor* AudioNode::createEditor()
 {
 	
-	AudioEditor* editor = new AudioEditor(this);
+	audioEditor = new AudioEditor(this);
 
-	setEditor(editor);
+	//setEditor(editor);
 	
-	return editor; 
+	return audioEditor; 
 
 }
 
diff --git a/Source/Processors/AudioNode.h b/Source/Processors/AudioNode.h
index ad8c07ef5..6040c43d0 100644
--- a/Source/Processors/AudioNode.h
+++ b/Source/Processors/AudioNode.h
@@ -41,6 +41,8 @@
 
 */
 
+class AudioEditor;
+
 class AudioNode : public GenericProcessor
 {
 public:
@@ -53,6 +55,8 @@ public:
 	void setParameter (int parameterIndex, float newValue);
 
 	AudioProcessorEditor* createEditor();
+
+    ScopedPointer<AudioEditor> audioEditor;
 	
 private:
 
diff --git a/Source/Processors/EventNode.cpp b/Source/Processors/EventNode.cpp
index e1bba9c70..59ddf5944 100644
--- a/Source/Processors/EventNode.cpp
+++ b/Source/Processors/EventNode.cpp
@@ -41,8 +41,8 @@ EventNode::~EventNode()
 
 AudioProcessorEditor* EventNode::createEditor()
 {
-	EventNodeEditor* editor = new EventNodeEditor(this);
-	setEditor(editor);
+	editor = new EventNodeEditor(this);
+	//setEditor(editor);
 
 	std::cout << "Creating editor." << std::endl;
 
diff --git a/Source/Processors/FilterNode.cpp b/Source/Processors/FilterNode.cpp
index fd8fb9e55..e8526cf86 100644
--- a/Source/Processors/FilterNode.cpp
+++ b/Source/Processors/FilterNode.cpp
@@ -39,12 +39,12 @@ FilterNode::~FilterNode()
 
 AudioProcessorEditor* FilterNode::createEditor()
 {
-	FilterEditor* filterEditor = new FilterEditor(this);
-	setEditor(filterEditor);
+	editor = new FilterEditor(this);
+	//setEditor(filterEditor);
 	
 	std::cout << "Creating editor." << std::endl;
 
-	return filterEditor;
+	return editor;
 }
 
 
diff --git a/Source/Processors/GenericProcessor.cpp b/Source/Processors/GenericProcessor.cpp
index 385d8a8d8..2bee50b37 100644
--- a/Source/Processors/GenericProcessor.cpp
+++ b/Source/Processors/GenericProcessor.cpp
@@ -24,20 +24,19 @@
 #include "GenericProcessor.h"
 #include "../UI/UIComponent.h"
 
-GenericProcessor::GenericProcessor(const String& name_) : name(name_),
-	sourceNode(0), destNode(0), editor(0), isEnabled(true), saveOrder(-1), loadOrder(-1),
-	nextAvailableChannel(0), wasConnected(false), currentChannel(-1)
-	
+GenericProcessor::GenericProcessor(const String& name_) : 
+    name(name_),
+	sourceNode(0), destNode(0),
+	isEnabled(true), 
+	saveOrder(-1), loadOrder(-1),
+	nextAvailableChannel(0), currentChannel(-1),
+	wasConnected(false)
 {
 
 }
 
 GenericProcessor::~GenericProcessor()
 {
-	if (editor != 0)
-	{
-		deleteAndZero(editor);
-	}
 }
 
 AudioProcessorEditor* GenericProcessor::createEditor()
diff --git a/Source/Processors/GenericProcessor.h b/Source/Processors/GenericProcessor.h
index 1612abe31..3889ee507 100644
--- a/Source/Processors/GenericProcessor.h
+++ b/Source/Processors/GenericProcessor.h
@@ -49,9 +49,9 @@
 class EditorViewport;
 class DataViewport;
 class UIComponent;
+class GenericEditor;
 
 class GenericProcessor : public AudioProcessor,
-						// public ActionBroadcaster,
 						 public AccessClass
 
 {
@@ -196,31 +196,10 @@ public:
 
 	// Getting and setting:
 
-	AudioProcessorEditor* getEditor() {return editor;}
-	void setEditor(AudioProcessorEditor* e) {editor = e;}
+	GenericEditor* getEditor() {return editor;}
+	//void setEditor(GenericEditor* e) {editor = e;}
 
-	// void setUIComponent(UIComponent* ui) {UI = ui;}
-	// UIComponent* getUIComponent() {return UI;}
-
-	// virtual void setConfiguration(Configuration* cf) {config = cf;}
-	// Configuration* getConfiguration() {return config;}
-
-	// void setFilterViewport(FilterViewport* vp) {viewport = vp;}
-	// FilterViewport* getFilterViewport() {return viewport;}
-
-	// void setDataViewport(DataViewport* dv) {dataViewport = dv;}
-	// DataViewport* getDataViewport() {return dataViewport;}
-
-
-	//FilterViewport* viewport;
-	//DataViewport* dataViewport;
-	//UIComponent* UI;
-
-	//Configuration* config;
-
-	//int tabA, tabB; // needed for Merger
-
-	AudioProcessorEditor* editor;
+	ScopedPointer<GenericEditor> editor;
 
 private:
 
diff --git a/Source/Processors/LfpDisplayNode.cpp b/Source/Processors/LfpDisplayNode.cpp
index 09935130a..efc8841b3 100644
--- a/Source/Processors/LfpDisplayNode.cpp
+++ b/Source/Processors/LfpDisplayNode.cpp
@@ -51,7 +51,7 @@ LfpDisplayNode::~LfpDisplayNode()
 AudioProcessorEditor* LfpDisplayNode::createEditor()
 {
 
-	LfpDisplayEditor* editor = new LfpDisplayEditor(this);
+	editor = new LfpDisplayEditor(this);
 
 	//editor->setBuffers (displayBuffer, eventBuffer);
 	//editor->setUIComponent (getUIComponent());
@@ -59,7 +59,7 @@ AudioProcessorEditor* LfpDisplayNode::createEditor()
 	//editor->updateNumInputs(getNumInputs());
 	//editor->updateSampleRate(sampleRate);
 
-	setEditor(editor);
+	//setEditor(editor);
 	
 	return editor;
 
diff --git a/Source/Processors/SignalGenerator.cpp b/Source/Processors/SignalGenerator.cpp
index 08093b35b..0b7740618 100644
--- a/Source/Processors/SignalGenerator.cpp
+++ b/Source/Processors/SignalGenerator.cpp
@@ -62,12 +62,12 @@ SignalGenerator::~SignalGenerator()
 
 AudioProcessorEditor* SignalGenerator::createEditor( )
 {
-	SignalGeneratorEditor* ed = new SignalGeneratorEditor(this);
-	setEditor(ed);
+	editor = new SignalGeneratorEditor(this);
+	//setEditor(ed);
 	
-	std::cout << "Creating editor." << std::endl;
+	//std::cout << "Creating editor." << std::endl;
 	//filterEditor = new FilterEditor(this);
-	return ed;
+	return editor;
 }
 
 void SignalGenerator::updateParameters()
diff --git a/Source/Processors/SourceNode.cpp b/Source/Processors/SourceNode.cpp
index fdbd4e134..fc031adaf 100644
--- a/Source/Processors/SourceNode.cpp
+++ b/Source/Processors/SourceNode.cpp
@@ -139,11 +139,11 @@ void SourceNode::setParameter (int parameterIndex, float newValue)
 
 AudioProcessorEditor* SourceNode::createEditor()
 {
-	SourceNodeEditor* ed = new SourceNodeEditor(this);
-	setEditor(ed);
+	editor = new SourceNodeEditor(this);
+	//setEditor(ed);
 	
-	std::cout << "Creating editor." << std::endl;
-	return ed;
+//	std::cout << "Creating editor." << std::endl;
+	return editor;
 }
 
 void SourceNode::timerCallback()
diff --git a/Source/Processors/SpikeDetector.cpp b/Source/Processors/SpikeDetector.cpp
index ee47256cd..3eb899e2e 100644
--- a/Source/Processors/SpikeDetector.cpp
+++ b/Source/Processors/SpikeDetector.cpp
@@ -44,11 +44,11 @@ SpikeDetector::~SpikeDetector()
 AudioProcessorEditor* SpikeDetector::createEditor()
 {
 
-	SpikeDetectorEditor* editor = new SpikeDetectorEditor(this);
+	editor = new SpikeDetectorEditor(this);
 	
-	std::cout << "Creating editor." << std::endl;
+	//std::cout << "Creating editor." << std::endl;
 
-    setEditor(editor);
+    //setEditor(editor);
 
 	return editor;
 }
diff --git a/Source/Processors/Utilities/Merger.cpp b/Source/Processors/Utilities/Merger.cpp
index 2ac4ae812..778ecd665 100644
--- a/Source/Processors/Utilities/Merger.cpp
+++ b/Source/Processors/Utilities/Merger.cpp
@@ -43,10 +43,10 @@ Merger::~Merger()
 
 AudioProcessorEditor* Merger::createEditor()
 {
-	MergerEditor* editor = new MergerEditor(this);
-	setEditor(editor);
+	editor = new MergerEditor(this);
+	//tEditor(editor);
 	
-	std::cout << "Creating editor." << std::endl;
+	//std::cout << "Creating editor." << std::endl;
 	return editor;
 }
 
diff --git a/Source/Processors/Utilities/Splitter.cpp b/Source/Processors/Utilities/Splitter.cpp
index f259291f9..32fa9e0f7 100644
--- a/Source/Processors/Utilities/Splitter.cpp
+++ b/Source/Processors/Utilities/Splitter.cpp
@@ -44,10 +44,10 @@ Splitter::~Splitter()
 
 AudioProcessorEditor* Splitter::createEditor()
 {
-	SplitterEditor* editor = new SplitterEditor(this);
-	setEditor(editor);
+	editor = new SplitterEditor(this);
+	//tEditor(editor);
 	
-	std::cout << "Creating editor." << std::endl;
+	//std::cout << "Creating editor." << std::endl;
 	return editor;
 }
 
diff --git a/Source/Processors/WiFiOutput.cpp b/Source/Processors/WiFiOutput.cpp
index d9fa1ba3f..c84664285 100644
--- a/Source/Processors/WiFiOutput.cpp
+++ b/Source/Processors/WiFiOutput.cpp
@@ -41,13 +41,13 @@ WiFiOutput::~WiFiOutput()
 
 AudioProcessorEditor* WiFiOutput::createEditor()
 {
-	WiFiOutputEditor* wifiEditor = new WiFiOutputEditor(this);
+	editor = new WiFiOutputEditor(this);
 	
-	setEditor(wifiEditor);
+	//setEditor(wifiEditor);
 	//wifiEditor->setConfiguration(config);
 
-	std::cout << "Creating editor." << std::endl;
-	return wifiEditor;
+	//std::cout << "Creating editor." << std::endl;
+	return editor;
 }
 
 
-- 
GitLab