Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
mvladic committed Feb 14, 2025
1 parent d4aae76 commit 47dc02e
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 10 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"author": "Envox <[email protected]>",
"description": "Cross-platform visual development tool and SCPI instrument controller",
"homepage": "https://www.envox.hr/eez/studio/studio-introduction.html",
"version": "0.22.0",
"version": "0.23.0",
"revision": "1",
"license": "GPL-3.0-only",
"repository": "https://github.com/eez-open/studio",
Expand Down
2 changes: 1 addition & 1 deletion packages/home/tabs-store.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -676,7 +676,7 @@ export class ProjectEditorTab implements IHomeTab {
!event.shiftKey &&
!event.altKey
) {
if (event.key == "Backspace" || event.key == "Delete") {
if (event.key == "Delete") {
deleteSelection();
}
}
Expand Down
Binary file modified packages/project-editor/flow/runtime/eez_runtime.wasm
Binary file not shown.
Binary file modified packages/project-editor/flow/runtime/lvgl_runtime_v8.3.wasm
Binary file not shown.
Binary file modified packages/project-editor/flow/runtime/lvgl_runtime_v9.0.wasm
Binary file not shown.
45 changes: 39 additions & 6 deletions resources/eez-framework-amalgamation/eez-flow.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Autogenerated on February 8, 2025 4:45:10 PM from eez-framework commit 7507056f49c45d6810265e8971792df50e8042de */
/* Autogenerated on February 14, 2025 2:23:02 PM from eez-framework commit 8c23d0d3ae10cc01543a62fe3bcc140b1aef6acb */
/*
* eez-framework
*
Expand Down Expand Up @@ -3202,7 +3202,7 @@ void executeCallAction(FlowState *flowState, unsigned componentIndex, int flowIn
g_executeActionFlowState = flowState;
g_executeActionComponentIndex = componentIndex;
executeActionFunction(flowIndex - flowState->flowDefinition->flows.count);
if ((int)componentIndex != -1) {
if ((int)componentIndex != -1 && !flowState->componenentAsyncStates[componentIndex]) {
propagateValueThroughSeqout(flowState, componentIndex);
}
return;
Expand Down Expand Up @@ -7099,6 +7099,30 @@ void setUserProperty(unsigned propertyIndex, const Value &value) {
}
assignValue(g_executeActionFlowState, g_executeActionComponentIndex, dstValue, value);
}
AsyncAction *beginAsyncExecution() {
startAsyncExecution(g_executeActionFlowState, g_executeActionComponentIndex);
AsyncAction *asyncAction = (AsyncAction *) alloc(sizeof(AsyncAction), 0xcb44f51e);
asyncAction->flowState = g_executeActionFlowState;
asyncAction->componentIndex = g_executeActionComponentIndex;
return asyncAction;
}
void endAsyncExecution(AsyncAction *asyncAction) {
endAsyncExecution(asyncAction->flowState, asyncAction->componentIndex);
propagateValueThroughSeqout(asyncAction->flowState, asyncAction->componentIndex);
eez::free(asyncAction);
}
Value getUserPropertyAsync(AsyncAction *asyncAction, unsigned propertyIndex) {
Value value;
evalProperty(asyncAction->flowState, asyncAction->componentIndex, propertyIndex, value, FlowError::PropertyNum("CallAction", propertyIndex));
return value;
}
void setUserPropertyAsync(AsyncAction *asyncAction, unsigned propertyIndex, const Value &value) {
Value dstValue;
if (!evalAssignableProperty(asyncAction->flowState, asyncAction->componentIndex, propertyIndex, dstValue, FlowError::PropertyInArray("CallAction", "Assignable property", propertyIndex))) {
return;
}
assignValue(g_executeActionFlowState, g_executeActionComponentIndex, dstValue, value);
}
#if EEZ_OPTION_GUI
void executeFlowAction(const WidgetCursor &widgetCursor, int16_t actionId, void *param) {
if (isFlowStopped()) {
Expand Down Expand Up @@ -7489,10 +7513,11 @@ static const void *getLvglImageByName(const char *name) {
}
return 0;
}
static lv_event_t *g_currentLVGLEvent;
uint8_t g_lastLVGLEventUserDataBuffer[64];
uint8_t g_lastLVGLEventParamBuffer[64];
static lv_event_t g_lastLVGLEvent;
static void executeLvglAction(int actionIndex) {
g_actions[actionIndex](g_currentLVGLEvent);
g_currentLVGLEvent = 0;
g_actions[actionIndex](&g_lastLVGLEvent);
}
void eez_flow_init_themes(const char **themeNames, size_t numThemes, void (*changeColorTheme)(uint32_t themeIndex)) {
g_themeNames = themeNames;
Expand Down Expand Up @@ -7709,7 +7734,15 @@ extern "C" void flowPropagateValueLVGLEvent(void *flowState, unsigned componentI
code, currentTarget, target, userData, key, gestureDir, rotaryDiff, 0xe7f23624
)
);
g_currentLVGLEvent = event;
g_lastLVGLEvent = *event;
if (event->user_data) {
g_lastLVGLEvent.user_data = &g_lastLVGLEventUserDataBuffer;
memcpy(&g_lastLVGLEventUserDataBuffer, event->user_data, sizeof(g_lastLVGLEventUserDataBuffer));
}
if (event->param) {
g_lastLVGLEvent.param = &g_lastLVGLEventParamBuffer;
memcpy(&g_lastLVGLEventParamBuffer, event->param, sizeof(g_lastLVGLEventParamBuffer));
}
}
#ifndef EEZ_LVGL_TEMP_STRING_BUFFER_SIZE
#define EEZ_LVGL_TEMP_STRING_BUFFER_SIZE 1024
Expand Down
10 changes: 9 additions & 1 deletion resources/eez-framework-amalgamation/eez-flow.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Autogenerated on February 8, 2025 4:45:10 PM from eez-framework commit 7507056f49c45d6810265e8971792df50e8042de */
/* Autogenerated on February 14, 2025 2:23:02 PM from eez-framework commit 8c23d0d3ae10cc01543a62fe3bcc140b1aef6acb */
/*
* eez-framework
*
Expand Down Expand Up @@ -2632,6 +2632,14 @@ void setGlobalVariable(uint32_t globalVariableIndex, const Value &value);
void setGlobalVariable(Assets *assets, uint32_t globalVariableIndex, const Value &value);
Value getUserProperty(unsigned propertyIndex);
void setUserProperty(unsigned propertyIndex, const Value &value);
struct AsyncAction {
eez::flow::FlowState *flowState;
unsigned componentIndex;
};
AsyncAction *beginAsyncExecution();
void endAsyncExecution(AsyncAction *asyncAction);
Value getUserPropertyAsync(AsyncAction *asyncAction, unsigned propertyIndex);
void setUserPropertyAsync(AsyncAction *asyncAction, unsigned propertyIndex, const Value &value);
#if EEZ_OPTION_GUI
FlowState *getUserWidgetFlowState(FlowState *flowState, uint16_t userWidgetWidgetComponentIndex, int16_t pageId);
void executeFlowAction(const WidgetCursor &widgetCursor, int16_t actionId, void *param);
Expand Down
2 changes: 1 addition & 1 deletion wasm/eez-framework

0 comments on commit 47dc02e

Please sign in to comment.