diff --git a/.clang-format b/.clang-format index e168365..10cb6ac 100644 --- a/.clang-format +++ b/.clang-format @@ -5,7 +5,7 @@ AlignConsecutiveAssignments: Enabled: true AlignConsecutiveDeclarations: Enabled: true -IndentAccessModifiers: true +AccessModifierOffset: -4 NamespaceIndentation: All IndentWidth: 8 PointerAlignment: Left diff --git a/examples/basic/periodic.c b/examples/basic/periodic.c index 593e766..b01264a 100644 --- a/examples/basic/periodic.c +++ b/examples/basic/periodic.c @@ -231,6 +231,7 @@ int main() { add(f); f = frame("Entry", -PaddingContent, 24, MwEntryClass, NULL); + MwAddUserHandler(child(f), MwNchangedHandler, abort, NULL); add(f); f = frame("Label", -PaddingContent, -PaddingContent, MwLabelClass, diff --git a/include/Mw/LowLevel/Cocoa.h b/include/Mw/LowLevel/Cocoa.h index 6c5f12b..53c85a1 100644 --- a/include/Mw/LowLevel/Cocoa.h +++ b/include/Mw/LowLevel/Cocoa.h @@ -84,7 +84,7 @@ typedef struct { @end @interface MilskoCocoaPixmap : NSObject { - @public + @public MwBool valid; int width; int height; @@ -106,7 +106,7 @@ typedef struct { @interface MilskoCocoaView : NSView { MwBool _child; - @public + @public draw_command* commands; } @@ -119,7 +119,7 @@ typedef struct { @end @interface MilskoCocoa : NSObject { - @public + @public MilskoCocoaApplication* application; MwBool _forceRender; MwBool _eventsPending; diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index a21c0da..c75f7bc 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -454,7 +454,7 @@ struct _MwLLWayland { #endif MwBool dark_theme_detection; - MwU32 dark_theme; + MwU32 dark_theme; /* clipboard related stuff. * Note that unlike most interfaces, we don't keep zwp_primary_selection stuff in a wayland_protocol_t because we use wl_data_device as a fallback and want to have it share memory space.*/ diff --git a/milsko.xml b/milsko.xml index debb22e..30f4b2d 100644 --- a/milsko.xml +++ b/milsko.xml @@ -112,7 +112,8 @@ - + + @@ -120,33 +121,33 @@ - - + + - + - + - + - + - + - - + + @@ -157,13 +158,13 @@ - + - + - + 0 @@ -598,17 +599,28 @@ + + + + + + + + + + + @@ -648,6 +660,9 @@ + + + @@ -678,6 +693,9 @@ + + + @@ -694,6 +712,10 @@ + + + + @@ -704,6 +726,9 @@ + + + @@ -764,12 +789,18 @@ + + + + + + @@ -782,6 +813,9 @@ + + + diff --git a/src/backend/x11.c b/src/backend/x11.c index 704bd7b..f772b7b 100644 --- a/src/backend/x11.c +++ b/src/backend/x11.c @@ -788,7 +788,9 @@ static void MwLLNextEventImpl(MwLL handle) { } else { n = s; } - } else if(strcmp(str, "BackSpace") == 0) { + } + + if(strcmp(str, "BackSpace") == 0) { n = MwLLKeyBackSpace; } else if(strcmp(str, "Left") == 0) { n = MwLLKeyLeft; diff --git a/src/lowlevel.c b/src/lowlevel.c index 7dfeea1..e2a576e 100644 --- a/src/lowlevel.c +++ b/src/lowlevel.c @@ -128,7 +128,7 @@ MwBool MwLLDBusNewContext(MwLLDBusFuncTable* tbl, MwLLDBusContext* ctx) { MWDECL MwBool MwLLDBusPortalGet(MwLLDBusFuncTable* tbl, MwLLDBusContext* ctx, const char* portal, const char* namespace, const char* key, void* out) { DBusMessageIter dbus_args, dbus_variant, dbus_inner_variant; - char arg_type; + char arg_type; if(!ctx->dbus_conn) { return MwFALSE; } @@ -182,7 +182,7 @@ MWDECL MwBool MwLLDBusPortalGet(MwLLDBusFuncTable* tbl, MwLLDBusContext* ctx, co return MwFALSE; } tbl->dbus_message_iter_get_basic(&dbus_inner_variant, out); - } else if (arg_type == 'u') { + } else if(arg_type == 'u') { tbl->dbus_message_iter_get_basic(&dbus_variant, out); } else { fprintf(stderr, "[WARNING] Couldn't get %s::%s: Expected variant or string, got: %c\n", namespace, key, arg_type); @@ -277,7 +277,7 @@ MWDECL MwBool MwLLDBusPortalPoll(MwLLDBusFuncTable* tbl, MwLLDBusContext* ctx, M return MwFALSE; } tbl->dbus_message_iter_get_basic(&msg_value_inner, &msg_value_content); - } else if (arg_type == 'u') { + } else if(arg_type == 'u') { tbl->dbus_message_iter_get_basic(&msg_value, &msg_value_content); } else { fprintf(stderr, "[WARNING] Couldn't get %s::%s: Expected variant or string, got: %c\n", namespace, key, arg_type); diff --git a/src/widget/combobox.c b/src/widget/combobox.c index 4c964f1..b913878 100644 --- a/src/widget/combobox.c +++ b/src/widget/combobox.c @@ -133,7 +133,7 @@ static void click(MwWidget handle) { MwListBoxInsert(cb->listbox, -1, packet); MwListBoxDestroyPacket(packet); - MwAddUserHandler(cb->listbox, MwNactivateHandler, listbox_activate, NULL); + MwAddUserHandler(cb->listbox, MwNlistBoxActivateHandler, listbox_activate, NULL); p.x = 0; p.y = MwGetInteger(handle, MwNheight); diff --git a/src/widget/entry.c b/src/widget/entry.c index 41b976e..71b3284 100644 --- a/src/widget/entry.c +++ b/src/widget/entry.c @@ -102,6 +102,7 @@ static void key(MwWidget handle, int code) { MwUTF8Copy(str, t->cursor + 1, out, t->cursor, MwUTF8Length(str) - (t->cursor + 1)); MwSetText(handle, MwNtext, out); + MwDispatchUserHandler(handle, MwNchangedHandler, NULL); free(out); } else if(code == MwLLKeyLeft) { @@ -124,6 +125,7 @@ static void key(MwWidget handle, int code) { t->cursor++; MwSetText(handle, MwNtext, out); + MwDispatchUserHandler(handle, MwNchangedHandler, NULL); free(out); } diff --git a/src/widget/numberentry.c b/src/widget/numberentry.c index 69ee4c9..617f2a1 100644 --- a/src/widget/numberentry.c +++ b/src/widget/numberentry.c @@ -108,6 +108,8 @@ static void mouse_up(MwWidget handle, void* ptr) { MwStringPrintIntoBuffer(s, 512, "%g", atof(str) + 1); } MwSetText(handle, MwNtext, s); + + MwDispatchUserHandler(handle, MwNchangedHandler, NULL); } MwForceRender(handle); diff --git a/src/widget/vulkan.c b/src/widget/vulkan.c index 1e67ea9..bc0e1bb 100644 --- a/src/widget/vulkan.c +++ b/src/widget/vulkan.c @@ -556,8 +556,8 @@ static void* mwVulkanGetFieldImpl(MwWidget handle, int field, int* err) { static void func_handler(MwWidget handle, const char* name, void* output, va_list va) { if(strcmp(name, "mwVulkanGetField") == 0) { - int field = va_arg(va, int); - int* err = va_arg(va, int*); + int field = va_arg(va, int); + int* err = va_arg(va, int*); *(void**)output = mwVulkanGetFieldImpl(handle, field, err); } }