Skip to content

Commit b0a43aa

Browse files
authored
Merge pull request #1052 from OpenBCI/development
Unified triangles in dropdowns - UX Review
2 parents d12ea92 + ecb4198 commit b0a43aa

4 files changed

Lines changed: 37 additions & 23 deletions

File tree

OpenBCI_GUI/FilterUI.pde

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class FilterUIPopup extends PApplet implements Runnable {
1313
private boolean needToResizePopup = false;
1414
private boolean needToResetCp5Graphics = false;
1515

16+
private int middle;
1617
private final int sm_spacer = 6;
1718
private final int halfSmSpacer = sm_spacer/2;
1819
private final int lg_spacer = 12;
@@ -78,10 +79,13 @@ class FilterUIPopup extends PApplet implements Runnable {
7879
private int widthOfAllChannelColumns;
7980

8081
private int expanderX, expanderY, expanderW;
81-
private final int expanderH = 16;
82+
private final int expanderH = 20;
8283
private boolean expanderIsHover = false;
83-
private int expanderTriangleWidth = 22;
84-
private int expanderTriangleHeight = 10;
84+
private int expanderTriangleWidth = 12;
85+
private int expanderTriangleHeight = 6;
86+
private int expanderBreakMiddle = 90;
87+
private int expanderLineOneEnd;
88+
private int expanderLineTwoStart;
8589
private int[] expanderTriangleXYCollapsed = new int[6];
8690
private int[] expanderTriangleXYExpanded = new int[6];
8791

@@ -212,8 +216,15 @@ class FilterUIPopup extends PApplet implements Runnable {
212216
expanderTriangleXYExpanded;
213217
stroke(expanderColor);
214218
fill(expanderColor);
215-
line(expanderX, expanderY, triXY[0], expanderY);
216-
line(triXY[4], expanderY, expanderX + expanderW - 1, expanderY);
219+
line(expanderX, expanderY, expanderLineOneEnd, expanderY);
220+
line(expanderLineTwoStart, expanderY, expanderX + expanderW - 1, expanderY);
221+
textAlign(CENTER, TOP);
222+
textFont(p6, 10);
223+
StringBuilder expanderString = new StringBuilder();
224+
expanderString.append(filterSettings.values.filterChannelSelect == FilterChannelSelect.ALL_CHANNELS ? "Show " : "Hide ");
225+
expanderString.append("Channels");
226+
int expanderTextWidth = (int)textWidth(expanderString.toString()) + 4;
227+
text(expanderString.toString(), middle - expanderTextWidth/2, expanderY - expanderH/2 - 2, expanderTextWidth, expanderH);
217228
noStroke();
218229
triangle(triXY[0], triXY[1], triXY[2], triXY[3], triXY[4], triXY[5]);
219230

@@ -328,7 +339,7 @@ class FilterUIPopup extends PApplet implements Runnable {
328339
}
329340

330341
private void calculateXYForHeaderColumnsAndFooter() {
331-
int middle = width / 2;
342+
middle = width / 2;
332343

333344
headerObjX[0] = middle - sm_spacer*2 - headerObjWidth*2;
334345
headerObjX[1] = middle - sm_spacer - headerObjWidth;
@@ -345,6 +356,9 @@ class FilterUIPopup extends PApplet implements Runnable {
345356
footerObjX[1] = middle - halfObjWidth;
346357
footerObjX[2] = middle + halfObjWidth + lg_spacer;
347358
setFooterObjYPosition(filterSettings.values.filterChannelSelect);
359+
360+
expanderLineOneEnd = middle - expanderBreakMiddle/2;
361+
expanderLineTwoStart = middle + expanderBreakMiddle/2;
348362
}
349363

350364
public void arrangeAllObjectsXY() {
@@ -366,20 +380,20 @@ class FilterUIPopup extends PApplet implements Runnable {
366380
expanderY = (int)masterOnOffButton.getPosition()[1] + uiObjectHeight + sm_spacer + expanderH/2;
367381
expanderW = widthOfAllChannelColumns;
368382

369-
expanderTriangleXYCollapsed[0] = expanderX + expanderW/2 - expanderTriangleWidth/2;
370-
expanderTriangleXYCollapsed[1] = expanderY - expanderTriangleHeight/2;
371-
expanderTriangleXYCollapsed[2] = expanderX + expanderW/2;
372-
expanderTriangleXYCollapsed[3] = expanderY + expanderH/2;
373-
expanderTriangleXYCollapsed[4] = expanderX + expanderW/2 + expanderTriangleWidth/2;
374-
expanderTriangleXYCollapsed[5] = expanderTriangleXYCollapsed[1];
375-
376-
expanderTriangleXYExpanded[0] = expanderTriangleXYCollapsed[0];
377-
expanderTriangleXYExpanded[1] = expanderY + expanderTriangleHeight/2;
378-
expanderTriangleXYExpanded[2] = expanderTriangleXYCollapsed[2];
379-
expanderTriangleXYExpanded[3] = expanderY - expanderH/2;
380-
expanderTriangleXYExpanded[4] = expanderTriangleXYCollapsed[4];
383+
expanderTriangleXYExpanded[0] = expanderX + expanderW/2 - expanderTriangleWidth/2;
384+
expanderTriangleXYExpanded[1] = expanderY + 2;
385+
expanderTriangleXYExpanded[2] = expanderX + expanderW/2;
386+
expanderTriangleXYExpanded[3] = expanderY + 2 + expanderTriangleHeight;
387+
expanderTriangleXYExpanded[4] = expanderX + expanderW/2 + expanderTriangleWidth/2;
381388
expanderTriangleXYExpanded[5] = expanderTriangleXYExpanded[1];
382389

390+
expanderTriangleXYCollapsed[0] = expanderTriangleXYExpanded[0];
391+
expanderTriangleXYCollapsed[1] = expanderTriangleXYExpanded[3];
392+
expanderTriangleXYCollapsed[2] = expanderTriangleXYExpanded[2];
393+
expanderTriangleXYCollapsed[3] = expanderTriangleXYExpanded[1];
394+
expanderTriangleXYCollapsed[4] = expanderTriangleXYExpanded[4];
395+
expanderTriangleXYCollapsed[5] = expanderTriangleXYExpanded[3];
396+
383397
for (int chan = 0; chan < filterSettings.getChannelCount(); chan++) {
384398
rowY = (int)onOffButtons[chan].getPosition()[1];
385399
onOffButtons[chan].setPosition(onOffButtonNewX, rowY);

OpenBCI_GUI/Info.plist.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
Copyright © 2022 OpenBCI
3333
</string>
3434
<key>CFBundleGetInfoString</key>
35-
<string>April 2022</string>
35+
<string>May 2022</string>
3636
<!-- End of the set that can be customized -->
3737

3838
@@jvm_runtime@@

OpenBCI_GUI/OpenBCI_GUI.pde

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ import http.requests.*;
6060
// Global Variables & Instances
6161
//------------------------------------------------------------------------
6262
//Used to check GUI version in TopNav.pde and displayed on the splash screen on startup
63-
String localGUIVersionString = "v5.1.0-beta.1";
64-
String localGUIVersionDate = "April 2022";
63+
String localGUIVersionString = "v5.1.0";
64+
String localGUIVersionDate = "May 2022";
6565
String guiLatestVersionGithubAPI = "https://api.github.com/repos/OpenBCI/OpenBCI_GUI/releases/latest";
6666
String guiLatestReleaseLocation = "https://github.com/OpenBCI/OpenBCI_GUI/releases/latest";
6767
Boolean guiIsUpToDate;

OpenBCI_GUI/Widget.pde

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -449,9 +449,9 @@ class ChannelSelect {
449449

450450
//draw triangle as pointing up or down, depending on if channel Select is active or closed
451451
if (!isVisible) {
452-
triangle(tri_xpos, y - navH*0.65, tri_xpos + 5, y - navH*0.25, tri_xpos + 10, y - navH*0.65);
452+
triangle(tri_xpos, y - 7, tri_xpos + 6, y - 13, tri_xpos + 12, y - 7);
453453
} else {
454-
triangle(tri_xpos, y - navH*0.25, tri_xpos + 5, y - navH*0.65, tri_xpos + 10, y - navH*0.25);
454+
triangle(tri_xpos, y - 13, tri_xpos + 6, y - 7, tri_xpos + 12, y - 13);
455455
//if active, draw a grey background for the channel select checkboxes
456456
fill(200);
457457
rect(x,y,w,navH);

0 commit comments

Comments
 (0)