Skip to content

Commit 4a0dfb1

Browse files
committed
dlog legend heuristic changed
1 parent 8bfe5da commit 4a0dfb1

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

src/eez/modules/psu/dlog_view.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ int getNumVisibleDlogValues(const Recording &recording);
227227
int getDlogValueIndex(Recording &recording, int visibleDlogValueIndex);
228228
int getVisibleDlogValueIndex(Recording &recording, int dlogValueIndex);
229229
DlogValueParams *getVisibleDlogValueParams(Recording &recording, int visibleDlogValueIndex);
230-
230+
bool yAxisHasDifferentUnits(Recording &recording);
231231
Unit getXAxisUnit(Recording& recording);
232232
Unit getYAxisUnit(Recording& recording, int dlogValueIndex);
233233

src/eez/modules/psu/gui/data.cpp

+8-8
Original file line numberDiff line numberDiff line change
@@ -4633,7 +4633,7 @@ void data_recording(data::DataOperationEnum operation, data::Cursor &cursor, dat
46334633
static int yAtTouchDown;
46344634

46354635
if (g_focusDataId == DATA_ID_DLOG_VISIBLE_VALUE_OFFSET) {
4636-
dlog_view::DlogValueParams *dlogValueParams = dlog_view::getVisibleDlogValueParams(recording, dlog_view::getNumVisibleDlogValues(recording) > 4 ? recording.selectedVisibleValueIndex : g_focusCursor.i);
4636+
dlog_view::DlogValueParams *dlogValueParams = dlog_view::getVisibleDlogValueParams(recording, !dlog_view::yAxisHasDifferentUnits(recording) ? recording.selectedVisibleValueIndex : g_focusCursor.i);
46374637

46384638
if (touchDrag->type == EVENT_TYPE_TOUCH_DOWN) {
46394639
valueAtTouchDown = dlogValueParams->offset;
@@ -4649,7 +4649,7 @@ void data_recording(data::DataOperationEnum operation, data::Cursor &cursor, dat
46494649
dlogValueParams->offset = newOffset;
46504650
}
46514651
} else if (g_focusDataId == DATA_ID_DLOG_VISIBLE_VALUE_DIV) {
4652-
dlog_view::DlogValueParams *dlogValueParams = dlog_view::getVisibleDlogValueParams(recording, dlog_view::getNumVisibleDlogValues(recording) > 4 ? recording.selectedVisibleValueIndex : g_focusCursor.i);
4652+
dlog_view::DlogValueParams *dlogValueParams = dlog_view::getVisibleDlogValueParams(recording, !dlog_view::yAxisHasDifferentUnits(recording) ? recording.selectedVisibleValueIndex : g_focusCursor.i);
46534653

46544654
if (touchDrag->type == EVENT_TYPE_TOUCH_DOWN) {
46554655
valueAtTouchDown = dlogValueParams->div;
@@ -4752,7 +4752,7 @@ void data_dlog_overlay(data::DataOperationEnum operation, data::Cursor &cursor,
47524752
int state = 0;
47534753
int numVisibleDlogValues = dlog_view::getNumVisibleDlogValues(recording);
47544754

4755-
if (dlog_view::g_showLegend && numVisibleDlogValues <= 4) {
4755+
if (dlog_view::g_showLegend && dlog_view::yAxisHasDifferentUnits(recording)) {
47564756
state = numVisibleDlogValues;
47574757
}
47584758

@@ -4799,7 +4799,7 @@ void data_dlog_overlay_over_4(data::DataOperationEnum operation, data::Cursor &c
47994799
value = data::Value(&overlay, VALUE_TYPE_POINTER);
48004800
} else if (operation == data::DATA_OPERATION_UPDATE_OVERLAY_DATA) {
48014801
dlog_view::Recording &recording = dlog_view::getRecording();
4802-
overlay.state = dlog_view::g_showLegend && dlog_view::getNumVisibleDlogValues(recording) > 4 ? 1 : 0;
4802+
overlay.state = dlog_view::g_showLegend && !dlog_view::yAxisHasDifferentUnits(recording);
48034803

48044804
WidgetCursor &widgetCursor = *(WidgetCursor *)value.getVoidPointer();
48054805
overlay.width = widgetCursor.widget->w;
@@ -4822,15 +4822,15 @@ void data_dlog_visible_values(data::DataOperationEnum operation, data::Cursor &c
48224822
void data_dlog_visible_value_label(data::DataOperationEnum operation, data::Cursor &cursor, data::Value &value) {
48234823
if (operation == data::DATA_OPERATION_GET) {
48244824
dlog_view::Recording &recording = dlog_view::getRecording();
4825-
int dlogValueIndex = dlog_view::getDlogValueIndex(recording, dlog_view::getNumVisibleDlogValues(recording) > 4 ? recording.selectedVisibleValueIndex : cursor.i);
4825+
int dlogValueIndex = dlog_view::getDlogValueIndex(recording, !dlog_view::yAxisHasDifferentUnits(recording) ? recording.selectedVisibleValueIndex : cursor.i);
48264826
value = Value(dlogValueIndex, VALUE_TYPE_DLOG_VALUE_LABEL);
48274827
}
48284828
}
48294829

48304830
void data_dlog_visible_value_div(data::DataOperationEnum operation, data::Cursor &cursor, data::Value &value) {
48314831
#if OPTION_SD_CARD
48324832
dlog_view::Recording &recording = dlog_view::getRecording();
4833-
int dlogValueIndex = dlog_view::getDlogValueIndex(recording, dlog_view::getNumVisibleDlogValues(recording) > 4 ? recording.selectedVisibleValueIndex : cursor.i);
4833+
int dlogValueIndex = dlog_view::getDlogValueIndex(recording, !dlog_view::yAxisHasDifferentUnits(recording) ? recording.selectedVisibleValueIndex : cursor.i);
48344834

48354835
if (operation == data::DATA_OPERATION_GET) {
48364836
bool focused = g_focusCursor == cursor && g_focusDataId == DATA_ID_DLOG_VISIBLE_VALUE_DIV;
@@ -4866,7 +4866,7 @@ void data_dlog_visible_value_div(data::DataOperationEnum operation, data::Cursor
48664866
void data_dlog_visible_value_offset(data::DataOperationEnum operation, data::Cursor &cursor, data::Value &value) {
48674867
#if OPTION_SD_CARD
48684868
dlog_view::Recording &recording = dlog_view::getRecording();
4869-
int dlogValueIndex = dlog_view::getDlogValueIndex(recording, dlog_view::getNumVisibleDlogValues(recording) > 4 ? recording.selectedVisibleValueIndex : cursor.i);
4869+
int dlogValueIndex = dlog_view::getDlogValueIndex(recording, !dlog_view::yAxisHasDifferentUnits(recording) ? recording.selectedVisibleValueIndex : cursor.i);
48704870

48714871
if (operation == data::DATA_OPERATION_GET) {
48724872
bool focused = g_focusCursor == cursor && g_focusDataId == DATA_ID_DLOG_VISIBLE_VALUE_OFFSET;
@@ -4985,7 +4985,7 @@ void data_dlog_visible_value_cursor(data::DataOperationEnum operation, data::Cur
49854985
#if OPTION_SD_CARD
49864986
if (operation == data::DATA_OPERATION_GET) {
49874987
dlog_view::Recording &recording = dlog_view::getRecording();
4988-
int dlogValueIndex = dlog_view::getDlogValueIndex(recording, dlog_view::getNumVisibleDlogValues(recording) > 4 ? recording.selectedVisibleValueIndex : cursor.i);
4988+
int dlogValueIndex = dlog_view::getDlogValueIndex(recording, !dlog_view::yAxisHasDifferentUnits(recording) ? recording.selectedVisibleValueIndex : cursor.i);
49894989
auto ytDataGetValue = data::ytDataGetGetValueFunc(cursor, DATA_ID_RECORDING);
49904990
float max;
49914991
float min = ytDataGetValue(ytDataGetPosition(cursor, DATA_ID_RECORDING) + recording.cursorOffset, dlogValueIndex, &max);

src/eez/modules/psu/gui/psu.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1428,7 +1428,7 @@ uint16_t overrideStyleHook(const WidgetCursor &widgetCursor, uint16_t styleId) {
14281428
uint16_t overrideStyleColorHook(const WidgetCursor &widgetCursor, const Style *style) {
14291429
if (widgetCursor.widget->type == WIDGET_TYPE_TEXT && (widgetCursor.widget->data == DATA_ID_DLOG_VALUE_LABEL || widgetCursor.widget->data == DATA_ID_DLOG_VISIBLE_VALUE_LABEL)) {
14301430
psu::dlog_view::Recording &recording = psu::dlog_view::getRecording();
1431-
int dlogValueIndex = psu::dlog_view::getDlogValueIndex(recording, psu::dlog_view::getNumVisibleDlogValues(recording) > 4 ? recording.selectedVisibleValueIndex : widgetCursor.cursor.i);
1431+
int dlogValueIndex = psu::dlog_view::getDlogValueIndex(recording, !psu::dlog_view::yAxisHasDifferentUnits(recording) ? recording.selectedVisibleValueIndex : widgetCursor.cursor.i);
14321432
style = ytDataGetStyle(widgetCursor.cursor, DATA_ID_RECORDING, dlogValueIndex);
14331433
}
14341434
return style->color;
@@ -1437,7 +1437,7 @@ uint16_t overrideStyleColorHook(const WidgetCursor &widgetCursor, const Style *s
14371437
uint16_t overrideActiveStyleColorHook(const WidgetCursor &widgetCursor, const Style *style) {
14381438
if (widgetCursor.widget->type == WIDGET_TYPE_TEXT && (widgetCursor.widget->data == DATA_ID_DLOG_VALUE_LABEL || widgetCursor.widget->data == DATA_ID_DLOG_VISIBLE_VALUE_LABEL)) {
14391439
psu::dlog_view::Recording &recording = psu::dlog_view::getRecording();
1440-
int dlogValueIndex = psu::dlog_view::getDlogValueIndex(recording, psu::dlog_view::getNumVisibleDlogValues(recording) > 4 ? recording.selectedVisibleValueIndex : widgetCursor.cursor.i);
1440+
int dlogValueIndex = psu::dlog_view::getDlogValueIndex(recording, !psu::dlog_view::yAxisHasDifferentUnits(recording) ? recording.selectedVisibleValueIndex : widgetCursor.cursor.i);
14411441
style = ytDataGetStyle(widgetCursor.cursor, DATA_ID_RECORDING, dlogValueIndex);
14421442
}
14431443
return style->active_color;

0 commit comments

Comments
 (0)