From 8eebf62c962d9783bcfd6fc6aa184ab20313d0f6 Mon Sep 17 00:00:00 2001 From: jsiegle <jsiegle@mit.edu> Date: Sun, 9 Jun 2013 19:08:20 -0400 Subject: [PATCH] Allow LfpDisplay to show actual channel names --- .../Processors/Editors/VisualizerEditor.cpp | 1 + .../Visualization/LfpDisplayCanvas.cpp | 27 +++++++++++++++++-- .../Visualization/LfpDisplayCanvas.h | 9 +++++-- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/Source/Processors/Editors/VisualizerEditor.cpp b/Source/Processors/Editors/VisualizerEditor.cpp index 4ae16d93a..ff432a7bf 100755 --- a/Source/Processors/Editors/VisualizerEditor.cpp +++ b/Source/Processors/Editors/VisualizerEditor.cpp @@ -170,6 +170,7 @@ void VisualizerEditor::buttonEvent(Button* button) { canvas = createNewCanvas(); + canvas->update(); if (isPlaying) canvas->beginAnimation(); diff --git a/Source/Processors/Visualization/LfpDisplayCanvas.cpp b/Source/Processors/Visualization/LfpDisplayCanvas.cpp index a1ea23d11..1235c8e13 100755 --- a/Source/Processors/Visualization/LfpDisplayCanvas.cpp +++ b/Source/Processors/Visualization/LfpDisplayCanvas.cpp @@ -161,6 +161,18 @@ void LfpDisplayCanvas::update() lfpDisplay->setNumChannels(nChans); + // update channel names + for (int i = 0; i < processor->getNumInputs(); i++) + { + + String chName = processor->channels[i]->getName(); + + //std::cout << chName << std::endl; + + lfpDisplay->channelInfo[i]->setName(chName); + + } + lfpDisplay->setBounds(0,0,getWidth()-scrollBarThickness*2, lfpDisplay->getTotalHeight()); } @@ -756,6 +768,10 @@ LfpChannelDisplay::LfpChannelDisplay(LfpDisplayCanvas* c, int channelNumber) : canvas(c), isSelected(false), chan(channelNumber), channelHeight(40), channelOverlap(300), range(1000.0f) { + + name = String(channelNumber+1); // default is to make the channelNumber the name + + channelHeightFloat = (float) channelHeight; channelFont = Font("Default", channelHeight*0.6, Font::plain); @@ -927,6 +943,11 @@ int LfpChannelDisplay::getChannelOverlap() return channelOverlap; } +void LfpChannelDisplay::setName(String name_) +{ + name = name_; +} + // ------------------------------- LfpChannelDisplayInfo::LfpChannelDisplayInfo(LfpDisplayCanvas* canvas_, int ch) @@ -938,14 +959,16 @@ LfpChannelDisplayInfo::LfpChannelDisplayInfo(LfpDisplayCanvas* canvas_, int ch) void LfpChannelDisplayInfo::paint(Graphics& g) { + + int center = getHeight()/2; g.setColour(lineColour); g.setFont(channelFont); - g.setFont(channelHeightFloat*0.6); + g.setFont(channelHeightFloat*0.3); - g.drawText(String(chan+1), 10, center-channelHeight/2, 200, channelHeight, Justification::left, false); + g.drawText(name, 10, center-channelHeight/2, 200, channelHeight, Justification::left, false); } diff --git a/Source/Processors/Visualization/LfpDisplayCanvas.h b/Source/Processors/Visualization/LfpDisplayCanvas.h index cfbe69b13..298473735 100755 --- a/Source/Processors/Visualization/LfpDisplayCanvas.h +++ b/Source/Processors/Visualization/LfpDisplayCanvas.h @@ -180,6 +180,9 @@ public: void setChannelHeight(int r); int getChannelHeight(); + Array<LfpChannelDisplay*> channels; + Array<LfpChannelDisplayInfo*> channelInfo; + private: int numChans; @@ -188,8 +191,6 @@ private: LfpDisplayCanvas* canvas; Viewport* viewport; - Array<LfpChannelDisplay*> channels; - Array<LfpChannelDisplayInfo*> channelInfo; Array<Colour> channelColours; float range; @@ -207,6 +208,8 @@ public: void select(); void deselect(); + void setName(String); + void setColour(Colour c); void setChannelHeight(int); @@ -228,6 +231,8 @@ protected: int chan; + String name; + Font channelFont; Colour lineColour; -- GitLab