Skip to content

Commit 5a5053d

Browse files
committed
Remove widgetOptions ArrayList from WidgetManager
1 parent 54ef837 commit 5a5053d

2 files changed

Lines changed: 16 additions & 7 deletions

File tree

OpenBCI_GUI/Widget.pde

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ class Widget {
4848
mapToCurrentContainer();
4949
}
5050

51+
public String getWidgetTitle() {
52+
return widgetTitle;
53+
}
54+
5155
public boolean getIsActive() {
5256
return isWidgetActive;
5357
}
@@ -225,7 +229,7 @@ class Widget {
225229
int dropdownsItemsToShow = int((h0 * widgetDropdownScaling) / (navH - 4));
226230
widgetSelectorHeight = (dropdownsItemsToShow + 1) * (navH - 4);
227231
if (widgetManager != null) {
228-
int maxDropdownHeight = (widgetManager.widgetOptions.size() + 1) * (navH - 4);
232+
int maxDropdownHeight = (widgetManager.getWidgetCount() + 1) * (navH - 4);
229233
if (widgetSelectorHeight > maxDropdownHeight) widgetSelectorHeight = maxDropdownHeight;
230234
}
231235

OpenBCI_GUI/WidgetManager.pde

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,13 @@
1313
class WidgetManager {
1414
//This holds all of the widgets. When creating/adding new widgets, we will add them to this ArrayList (below)
1515
private ArrayList<Widget> widgets;
16-
private ArrayList<String> widgetOptions; //List of Widget Titles, used to populate cp5 widgetSelector dropdown of all widgets
1716
private int currentContainerLayout; //This is the Layout structure for the main body of the GUI
1817
private ArrayList<Layout> layouts = new ArrayList<Layout>(); //This holds all of the different layouts ...
1918

2019
private boolean visible = true;
2120

2221
WidgetManager() {
2322
widgets = new ArrayList<Widget>();
24-
widgetOptions = new ArrayList<String>();
2523

2624
//DO NOT re-order the functions below
2725
setupLayouts();
@@ -97,14 +95,17 @@ class WidgetManager {
9795
}
9896

9997
private void setupWidgetSelectorDropdowns() {
100-
// Populate the dropdown options with widget titles
98+
// Create a temporary list of widget titles for dropdown setup
99+
ArrayList<String> widgetTitles = new ArrayList<String>();
100+
101+
// Populate the titles list by calling getWidgetTitle() on each widget
101102
for (Widget widget : widgets) {
102-
widgetOptions.add(widget.widgetTitle);
103+
widgetTitles.add(widget.getWidgetTitle());
103104
}
104105

105-
// Setup the dropdown for each widget
106+
// Setup the dropdown for each widget using the temporary list
106107
for (Widget widget : widgets) {
107-
widget.setupWidgetSelectorDropdown(widgetOptions);
108+
widget.setupWidgetSelectorDropdown(widgetTitles);
108109
widget.setupNavDropdowns();
109110
}
110111
}
@@ -310,4 +311,8 @@ class WidgetManager {
310311
public W_TimeSeries getTimeSeriesWidget() {
311312
return (W_TimeSeries) getWidget("W_TimeSeries");
312313
}
314+
315+
public int getWidgetCount() {
316+
return widgets.size();
317+
}
313318
};

0 commit comments

Comments
 (0)