Skip to content

Commit ac27e49

Browse files
committed
Update Marker Widget Vert Scale UI and show all 8 buttons always
Also, update Software Settings to account for this change
1 parent 9eaf884 commit ac27e49

2 files changed

Lines changed: 40 additions & 49 deletions

File tree

OpenBCI_GUI/SessionSettings.pde

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ class SessionSettings {
198198

199199
//Marker Widget
200200
private int loadMarkerWindow;
201-
private int loadMarkerCount;
201+
private int loadMarkerVertScale;
202202

203203
//Primary JSON objects for saving and loading data
204204
private JSONObject saveSettingsJSONData;
@@ -494,7 +494,7 @@ class SessionSettings {
494494
///////////////////////////////////////////////Setup new JSON object to save Marker Widget Settings
495495
JSONObject saveMarkerSettings = new JSONObject();
496496
saveMarkerSettings.setInt("markerWindow", w_marker.getMarkerWindow().getIndex());
497-
saveMarkerSettings.setInt("markerCount", w_marker.getMarkerCount().getIndex());
497+
saveMarkerSettings.setInt("markerVertScale", w_marker.getMarkerVertScale().getIndex());
498498
saveSettingsJSONData.setJSONObject(kJSONKeyMarker, saveMarkerSettings);
499499

500500
///////////////////////////////////////////////Setup new JSON object to save Widgets Active in respective Containers
@@ -689,7 +689,7 @@ class SessionSettings {
689689
//Get Marker widget settings
690690
JSONObject loadMarkerSettings = loadSettingsJSONData.getJSONObject(kJSONKeyMarker);
691691
loadMarkerWindow = loadMarkerSettings.getInt("markerWindow");
692-
loadMarkerCount = loadMarkerSettings.getInt("markerCount");
692+
loadMarkerVertScale = loadMarkerSettings.getInt("markerVertScale");
693693

694694
//get the Widget/Container settings
695695
JSONObject loadWidgetSettings = loadSettingsJSONData.getJSONObject(kJSONKeyWidget);
@@ -952,8 +952,8 @@ class SessionSettings {
952952
////////////////////////////Apply Marker Widget settings
953953
w_marker.setMarkerWindow(loadMarkerWindow);
954954
w_marker.cp5_widget.getController("markerWindowDropdown").getCaptionLabel().setText(w_marker.getMarkerWindow().getString());
955-
w_marker.setMarkerCount(loadMarkerCount);
956-
w_marker.cp5_widget.getController("markerCountDropdown").getCaptionLabel().setText(w_marker.getMarkerCount().getString());
955+
w_marker.setMarkerVertScale(loadMarkerVertScale);
956+
w_marker.cp5_widget.getController("markerVertScaleDropdown").getCaptionLabel().setText(w_marker.getMarkerVertScale().getString());
957957

958958
////////////////////////////////////////////////////////////
959959
// Apply more loaded widget settings above this line //

OpenBCI_GUI/W_Marker.pde

Lines changed: 35 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ class W_Marker extends Widget {
1818
private final int MARKER_UI_GRID_CELL_HEIGHT = 30;
1919
private final int MAX_NUMBER_OF_MARKER_BUTTONS = 8;
2020
private final int MARKER_UI_GRID_EXTERIOR_PADDING = 10;
21+
private final int MARKER_UI_GRID_ROWS = 4;
22+
private final int MARKER_UI_GRID_COLUMNS = 4;
2123
private Button[] markerButtons = new Button[MAX_NUMBER_OF_MARKER_BUTTONS];
2224
private Grid markerUIGrid;
2325

@@ -35,8 +37,8 @@ class W_Marker extends Widget {
3537
private int PAD_FIVE = 5;
3638
private int GRAPH_PADDING = 30;
3739

38-
private MarkerCount markerCount = MarkerCount.FOUR; //Default number of markers to display
39-
private MarkerWindow markerWindow = MarkerWindow.TEN;
40+
private MarkerVertScale markerVertScale = MarkerVertScale.EIGHT;
41+
private MarkerWindow markerWindow = MarkerWindow.FIVE;
4042

4143
W_Marker(PApplet _parent){
4244
super(_parent); //calls the parent CONSTRUCTOR method of Widget (DON'T REMOVE)
@@ -49,11 +51,11 @@ class W_Marker extends Widget {
4951
createMarkerButtons();
5052

5153
updateGraphDims();
54+
addDropdown("markerVertScaleDropdown", "Vert Scale", markerVertScale.getEnumStringsAsList(), markerVertScale.getIndex());
5255
addDropdown("markerWindowDropdown", "Window", markerWindow.getEnumStringsAsList(), markerWindow.getIndex());
53-
addDropdown("markerCountDropdown", "Count", markerCount.getEnumStringsAsList(), markerCount.getIndex());
54-
markerBar = new MarkerBar(_parent, MAX_NUMBER_OF_MARKER_BUTTONS, markerWindow.getValue(), markerCount.getValue(), graphX, graphY, graphW, graphH);
56+
markerBar = new MarkerBar(_parent, MAX_NUMBER_OF_MARKER_BUTTONS, markerWindow.getValue(), markerVertScale.getValue(), graphX, graphY, graphW, graphH);
5557

56-
markerUIGrid = new Grid(4, 4, MARKER_UI_GRID_CELL_HEIGHT);
58+
markerUIGrid = new Grid(MARKER_UI_GRID_ROWS, MARKER_UI_GRID_COLUMNS, MARKER_UI_GRID_CELL_HEIGHT);
5759
markerUIGrid.setDrawTableBorder(false);
5860
markerUIGrid.setDrawTableInnerLines(false);
5961
markerUIGrid.setTableFontAndSize(p4, 14);
@@ -133,9 +135,8 @@ class W_Marker extends Widget {
133135

134136
//Update positions of marker buttons
135137
for (int i = 0; i < MAX_NUMBER_OF_MARKER_BUTTONS; i++) {
136-
//int column = i % (markerCount.getValue() / 2);
137-
int row = i < 4 ? 0 : 1;
138-
int column = i % (4);
138+
int row = i < MARKER_UI_GRID_COLUMNS ? 0 : 1;
139+
int column = i % (MARKER_UI_GRID_COLUMNS);
139140
RectDimensions cellDims = markerUIGrid.getCellDims(row, column);
140141
markerButtons[i].setPosition(cellDims.x + CELL_PADDING, cellDims.y + HALF_CELL_PADDING);
141142
markerButtons[i].setSize(cellDims.w - CELL_PADDING_TOTAL, cellDims.h - CELL_PADDING);
@@ -160,7 +161,7 @@ class W_Marker extends Widget {
160161
}
161162

162163
private Button createMarkerButton(final int markerNumber, int _x, int _y) {
163-
Button newButton = createButton(localCP5, "markerButton" + markerNumber, "Insert Marker " + markerNumber, _x, _y, MARKER_BUTTON_WIDTH, MARKER_BUTTON_HEIGHT, p5, 12, colorNotPressed, OPENBCI_DARKBLUE);
164+
Button newButton = createButton(localCP5, "markerButton" + markerNumber, "Insert " + markerNumber, _x, _y, MARKER_BUTTON_WIDTH, MARKER_BUTTON_HEIGHT, p5, 12, colorNotPressed, OPENBCI_DARKBLUE);
164165
newButton.setBorderColor(OBJECT_BORDER_GREY);
165166
newButton.onRelease(new CallbackListener() {
166167
public void controlEvent(CallbackEvent theEvent) {
@@ -309,24 +310,17 @@ class W_Marker extends Widget {
309310
markerBar.adjustTimeAxis(markerWindow.getValue());
310311
}
311312

312-
public void setMarkerCount(int n) {
313-
markerCount = markerCount.values()[n];
314-
markerBar.adjustYAxis(markerCount.getValue());
315-
for (int i = 0; i < MAX_NUMBER_OF_MARKER_BUTTONS; i++) {
316-
if (i < markerCount.getValue()) {
317-
markerButtons[i].setVisible(true);
318-
} else {
319-
markerButtons[i].setVisible(false);
320-
}
321-
}
313+
public void setMarkerVertScale(int n) {
314+
markerVertScale = markerVertScale.values()[n];
315+
markerBar.adjustYAxis(markerVertScale.getValue());
322316
}
323317

324318
public MarkerWindow getMarkerWindow() {
325319
return markerWindow;
326320
}
327321

328-
public MarkerCount getMarkerCount() {
329-
return markerCount;
322+
public MarkerVertScale getMarkerVertScale() {
323+
return markerVertScale;
330324
}
331325

332326
public String getMarkerReceiveIP() {
@@ -349,27 +343,20 @@ class MarkerBar {
349343

350344
private GPlot plot; //the actual grafica-based GPlot that will be rendering the Time Series trace
351345
private GPointsArray markerPointsArray;
352-
private int numMarkers;
353-
354346
private final String PLOT_LAYER = "layer1";
355347

356348
private int nPoints;
357-
private int numSeconds = 20; //default to 20 seconds
349+
private int numSeconds;
350+
private int yAxisMax;
358351
private float timeBetweenPoints;
359352
private float[] markerTimeArray;
360353
private int numSamplesToProcess;
361-
private float minX, minY, minZ;
362-
private float maxX, maxY, maxZ;
363-
private float minVal;
364-
private float maxVal;
365-
366-
private int lastProcessedDataPacketInd = 0;
367354

368355
private DataSource markerBoard;
369356

370-
MarkerBar(PApplet _parent, int _numMarkers, int markerWindow, float yLimit, int _x, int _y, int _w, int _h) { //channel number, x/y location, height, width
357+
MarkerBar(PApplet _parent, int _yAxisMax, int markerWindow, float yLimit, int _x, int _y, int _w, int _h) { //channel number, x/y location, height, width
371358

372-
numMarkers = _numMarkers;
359+
yAxisMax = _yAxisMax;
373360
numSeconds = markerWindow;
374361

375362
// This widget is only instantiated when the board is accel capable, so we don't need to check
@@ -389,7 +376,7 @@ class MarkerBar {
389376
plot.setPos(x + 36 + 4 + xOffset, y); //match marker plot position with Time Series
390377
plot.setDim(w - 36 - 4 - xOffset, h);
391378
plot.setMar(0f, 0f, 0f, 0f);
392-
plot.setLineColor((int)channelColors[(numMarkers)%8]);
379+
plot.setLineColor(WHITE);
393380
plot.setXLim(-numSeconds, 0); //set the horizontal scale
394381
plot.setYLim(-0.2, yLimit + .2); //change this to adjust vertical scale
395382
//plot.setPointSize(2);
@@ -466,9 +453,9 @@ class MarkerBar {
466453
}
467454
}
468455

469-
public void adjustYAxis(int markerCount) {
470-
numMarkers = markerCount;
471-
plot.setYLim(-0.2, numMarkers + .2);
456+
public void adjustYAxis(int _yAxisMax) {
457+
yAxisMax = _yAxisMax;
458+
plot.setYLim(-0.2, yAxisMax + .2);
472459
}
473460

474461
//Used to update the Points within the graph
@@ -536,18 +523,22 @@ public enum MarkerWindow implements IndexingInterface
536523
}
537524
}
538525

539-
//Enum for the Marker Count in W_Marker class
540-
public enum MarkerCount implements IndexingInterface
526+
//Enum for the Marker Vertical Scale in W_Marker class
527+
public enum MarkerVertScale implements IndexingInterface
541528
{
542-
FOUR (0, 4, "4"),
543-
EIGHT (1, 8, "8");
529+
TWO (0, 2, "2"),
530+
FOUR (1, 4, "4"),
531+
EIGHT (2, 8, "8"),
532+
TEN (3, 10, "10"),
533+
FIFTEEN (4, 15, "15"),
534+
TWENTY (5, 20, "20");
544535

545536
private int index;
546537
private int value;
547538
private String label;
548-
private static MarkerCount[] vals = values();
539+
private static MarkerVertScale[] vals = values();
549540

550-
MarkerCount(int _index, int _value, String _label) {
541+
MarkerVertScale(int _index, int _value, String _label) {
551542
this.index = _index;
552543
this.value = _value;
553544
this.label = _label;
@@ -581,8 +572,8 @@ public void markerWindowDropdown(int n) {
581572
w_marker.setMarkerWindow(n);
582573
}
583574

584-
public void markerCountDropdown(int n) {
585-
w_marker.setMarkerCount(n);
575+
public void markerVertScaleDropdown(int n) {
576+
w_marker.setMarkerVertScale(n);
586577
}
587578

588579
//Custom UDP receive handler for receiving markers from external sources

0 commit comments

Comments
 (0)