Skip to content

Commit 7a750ed

Browse files
authored
Merge pull request #89 from open-ephys-plugins/issue-41
Update Probe Viewer
2 parents 9a50829 + 9064dfe commit 7a750ed

File tree

3 files changed

+93
-22
lines changed

3 files changed

+93
-22
lines changed

Source/NeuropixelsComponents.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,23 @@ namespace OnixSourcePlugin
6565
K = 10,
6666
L = 11,
6767
M = 12,
68+
A1 = 13, // used for quad base
69+
A2 = 14,
70+
A3 = 15,
71+
A4 = 16,
72+
B1 = 17,
73+
B2 = 18,
74+
B3 = 19,
75+
B4 = 20,
76+
C1 = 21,
77+
C2 = 22,
78+
C3 = 23,
79+
C4 = 24,
80+
D1 = 25,
81+
D2 = 26,
82+
D3 = 27,
83+
D4 = 28,
84+
OFF = 255 //used in v1 API
6885
};
6986

7087
enum class ElectrodeStatus

Source/UI/ProbeBrowser.h

Lines changed: 75 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ namespace OnixSourcePlugin
3737
{
3838
parent = parent_;
3939
probeIndex = probeIndex_;
40+
tooltipWindow = std::make_unique <TooltipWindow>(parent, 300);
4041

4142
cursorType = MouseCursor::NormalCursor;
4243

@@ -118,10 +119,27 @@ namespace OnixSourcePlugin
118119
lowerBound = 530; // bottom of interface
119120

120121
disconnectedColors[Bank::NONE] = Colour(0, 0, 0);
122+
disconnectedColors[Bank::OFF] = Colour(0, 0, 0);
121123
disconnectedColors[Bank::A] = Colour(180, 180, 180);
124+
disconnectedColors[Bank::A1] = Colour(180, 180, 180);
125+
disconnectedColors[Bank::A1] = Colour(180, 180, 180);
126+
disconnectedColors[Bank::A1] = Colour(180, 180, 180);
127+
disconnectedColors[Bank::A1] = Colour(180, 180, 180);
122128
disconnectedColors[Bank::B] = Colour(160, 160, 160);
129+
disconnectedColors[Bank::B1] = Colour(160, 160, 160);
130+
disconnectedColors[Bank::B2] = Colour(160, 160, 160);
131+
disconnectedColors[Bank::B3] = Colour(160, 160, 160);
132+
disconnectedColors[Bank::B4] = Colour(160, 160, 160);
123133
disconnectedColors[Bank::C] = Colour(140, 140, 140);
134+
disconnectedColors[Bank::C1] = Colour(140, 140, 140);
135+
disconnectedColors[Bank::C2] = Colour(140, 140, 140);
136+
disconnectedColors[Bank::C3] = Colour(140, 140, 140);
137+
disconnectedColors[Bank::C4] = Colour(140, 140, 140);
124138
disconnectedColors[Bank::D] = Colour(120, 120, 120);
139+
disconnectedColors[Bank::D1] = Colour(120, 120, 120);
140+
disconnectedColors[Bank::D2] = Colour(120, 120, 120);
141+
disconnectedColors[Bank::D3] = Colour(120, 120, 120);
142+
disconnectedColors[Bank::D4] = Colour(120, 120, 120);
125143
disconnectedColors[Bank::E] = Colour(180, 180, 180);
126144
disconnectedColors[Bank::F] = Colour(160, 160, 160);
127145
disconnectedColors[Bank::G] = Colour(140, 140, 140);
@@ -212,10 +230,8 @@ namespace OnixSourcePlugin
212230
if (index > -1)
213231
{
214232
isOverElectrode = true;
215-
electrodeInfoString = getElectrodeInfoString(index);
233+
tooltipWindow->displayTip(event.getScreenPosition(), getElectrodeInfoString(index));
216234
}
217-
218-
repaint();
219235
}
220236
else
221237
{
@@ -224,7 +240,7 @@ namespace OnixSourcePlugin
224240
if (isOverChannelNew != isOverElectrode)
225241
{
226242
isOverElectrode = isOverChannelNew;
227-
repaint();
243+
tooltipWindow->hideTip();
228244
}
229245
}
230246
}
@@ -431,7 +447,7 @@ namespace OnixSourcePlugin
431447
}
432448

433449
// draw channel numbers
434-
g.setColour(Colours::grey);
450+
g.setColour(findColour(ThemeColours::defaultText));
435451
g.setFont(12);
436452

437453
int ch = 0;
@@ -461,7 +477,7 @@ namespace OnixSourcePlugin
461477
false);
462478

463479
// draw shank outline
464-
g.setColour(Colours::lightgrey);
480+
g.setColour(findColour(ThemeColours::outline).withAlpha(0.75f));
465481

466482
for (int i = 0; i < settings->probeMetadata.shank_count; i++)
467483
{
@@ -499,7 +515,7 @@ namespace OnixSourcePlugin
499515

500516
if (settings->electrodeMetadata[i].isSelected)
501517
{
502-
g.setColour(Colours::white);
518+
g.setColour(findColour(ThemeColours::componentBackground).contrasting());
503519
g.fillRect(xLoc, yLoc, electrodeHeight, electrodeHeight);
504520
}
505521

@@ -510,9 +526,9 @@ namespace OnixSourcePlugin
510526
}
511527

512528
if (isOverZoomRegion)
513-
g.setColour(Colour(25, 25, 25));
529+
g.setColour(findColour(ThemeColours::outline));
514530
else
515-
g.setColour(Colour(55, 55, 55));
531+
g.setColour(findColour(ThemeColours::outline).withAlpha(0.5f));
516532

517533
Path upperBorder;
518534
upperBorder.startNewSubPath(5, lowerBound - zoomOffset - zoomHeight);
@@ -540,16 +556,6 @@ namespace OnixSourcePlugin
540556
{
541557
g.setColour(Colours::white.withAlpha(0.5f));
542558
}
543-
544-
if (isOverElectrode)
545-
{
546-
g.setColour(Colour(55, 55, 55));
547-
g.setFont(15);
548-
g.drawMultiLineText(electrodeInfoString,
549-
250 + shankOffset + 45,
550-
330,
551-
250);
552-
}
553559
}
554560

555561
int getZoomHeight()
@@ -617,7 +623,7 @@ namespace OnixSourcePlugin
617623

618624
MouseCursor::StandardCursorType cursorType;
619625

620-
std::string electrodeInfoString;
626+
std::unique_ptr<TooltipWindow> tooltipWindow;
621627

622628
Colour getElectrodeColour(int i)
623629
{
@@ -662,7 +668,7 @@ namespace OnixSourcePlugin
662668
else if (ref == "Tip")
663669
return Colours::orange;
664670
else
665-
return Colours::black;
671+
return Colours::purple;
666672
}
667673
else if (mode == VisualizationMode::ACTIVITY_VIEW)
668674
{
@@ -775,15 +781,63 @@ namespace OnixSourcePlugin
775781
case Bank::A:
776782
a += "A";
777783
break;
784+
case Bank::A1:
785+
a += "A1";
786+
break;
787+
case Bank::A2:
788+
a += "A2";
789+
break;
790+
case Bank::A3:
791+
a += "A3";
792+
break;
793+
case Bank::A4:
794+
a += "A4";
795+
break;
778796
case Bank::B:
779797
a += "B";
780798
break;
799+
case Bank::B1:
800+
a += "B1";
801+
break;
802+
case Bank::B2:
803+
a += "B2";
804+
break;
805+
case Bank::B3:
806+
a += "B3";
807+
break;
808+
case Bank::B4:
809+
a += "B4";
810+
break;
781811
case Bank::C:
782812
a += "C";
783813
break;
814+
case Bank::C1:
815+
a += "C1";
816+
break;
817+
case Bank::C2:
818+
a += "C2";
819+
break;
820+
case Bank::C3:
821+
a += "C3";
822+
break;
823+
case Bank::C4:
824+
a += "C4";
825+
break;
784826
case Bank::D:
785827
a += "D";
786828
break;
829+
case Bank::D1:
830+
a += "D1";
831+
break;
832+
case Bank::D2:
833+
a += "D2";
834+
break;
835+
case Bank::D3:
836+
a += "D3";
837+
break;
838+
case Bank::D4:
839+
a += "D4";
840+
break;
787841
case Bank::E:
788842
a += "E";
789843
break;

Source/UI/SettingsInterface.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ namespace OnixSourcePlugin
9090
virtual void updateSettings() = 0;
9191

9292
std::shared_ptr<OnixDevice> getDevice() { return device; }
93-
9493
VisualizationMode getMode() const { return mode; }
94+
Type getType() const { return type; }
9595

9696
virtual std::string getReferenceText() { return ""; }
9797

0 commit comments

Comments
 (0)