# HG changeset patch # User Olaf Wintermann # Date 1730021604 -3600 # Node ID 98b26a19cbeb3c2c905222c0092b676e67e81c58 # Parent 3f2a84587e4e281e6c396a69011758ca1416f4ba add more label styles (GTK) diff -r 3f2a84587e4e -r 98b26a19cbeb application/main.c --- a/application/main.c Sun Oct 27 10:23:02 2024 +0100 +++ b/application/main.c Sun Oct 27 10:33:24 2024 +0100 @@ -250,7 +250,7 @@ ui_newline(obj); ui_label(obj, .label = "Label Col 1", .align = UI_ALIGN_LEFT); - ui_label(obj, .label = "Label Col 2", .type = UI_LABEL_STYLE_HEADING, .align = UI_ALIGN_RIGHT); + ui_label(obj, .label = "Label Col 2", .style = UI_LABEL_STYLE_TITLE, .align = UI_ALIGN_RIGHT); ui_newline(obj); ui_spinner(obj, .step = 5); @@ -315,8 +315,10 @@ } ui_frame(obj, .label = "Frame", .margin = 10, .spacing = 10) { - ui_label(obj, .label = "Test"); - ui_button(obj, .label = "Button"); + ui_label(obj, .label = "Title", .style = UI_LABEL_STYLE_TITLE); + ui_label(obj, .label = "Sub-Title", .style = UI_LABEL_STYLE_SUBTITLE); + ui_label(obj, .label = "Dim Label", .style = UI_LABEL_STYLE_DIM); + ui_label(obj, .label = "No Style"); } for(int i=0;i<100;i++) { diff -r 3f2a84587e4e -r 98b26a19cbeb ui/gtk/display.c --- a/ui/gtk/display.c Sun Oct 27 10:23:02 2024 +0100 +++ b/ui/gtk/display.c Sun Oct 27 10:33:24 2024 +0100 @@ -51,24 +51,41 @@ const char *css_class = NULL; char *markup = NULL; -#if GTK_MAJOR_VERSION < 3 - switch(args.type && args.label) { - case UI_LABEL_STYLE_DEFAULT: break; - case UI_LABEL_STYLE_HEADING: { - cxmutstr m = cx_asprintf("%s", args.label); - markup = m.ptr; - args.label = NULL; - } + if(args.label) { + #if GTK_MAJOR_VERSION < 3 + switch(args.style) { + case UI_LABEL_STYLE_DEFAULT: break; + case UI_LABEL_STYLE_TITLE: { + cxmutstr m = cx_asprintf("%s", args.label); + markup = m.ptr; + args.label = NULL; + } + case UI_LABEL_STYLE_SUBTITLE: { + break; + } + case UI_LABEL_STYLE_DIM: { + break; + } + } +# else + switch(args.style) { + case UI_LABEL_STYLE_DEFAULT: break; + case UI_LABEL_STYLE_TITLE: { + css_class = "ui_label_title"; + break; + } + case UI_LABEL_STYLE_SUBTITLE: { + css_class = "subtitle"; + break; + } + case UI_LABEL_STYLE_DIM: { + css_class = "dim-label"; + break; + } + } +# endif } -#else - switch(args.type && args.label) { - case UI_LABEL_STYLE_DEFAULT: break; - case UI_LABEL_STYLE_HEADING: { - css_class = "ui_label_heading"; - break; - } - } -#endif + GtkWidget *widget = gtk_label_new(args.label); if(markup) { diff -r 3f2a84587e4e -r 98b26a19cbeb ui/gtk/toolkit.c --- a/ui/gtk/toolkit.c Sun Oct 27 10:23:02 2024 +0100 +++ b/ui/gtk/toolkit.c Sun Oct 27 10:33:24 2024 +0100 @@ -351,7 +351,7 @@ ".ui_test {\n" " background-color: red;\n" "}\n" -".ui_label_heading {\n" +".ui_label_title {\n" " font-weight: bold;\n" "}\n" ; @@ -366,7 +366,7 @@ ".ui_test {\n" " background-color: red;\n" "}\n" -".ui_label_heading {\n" +".ui_label_title {\n" " font-weight: bold;\n" "}\n" ; diff -r 3f2a84587e4e -r 98b26a19cbeb ui/ui/display.h --- a/ui/ui/display.h Sun Oct 27 10:23:02 2024 +0100 +++ b/ui/ui/display.h Sun Oct 27 10:33:24 2024 +0100 @@ -50,7 +50,9 @@ enum UiLabelStyle { UI_LABEL_STYLE_DEFAULT = 0, - UI_LABEL_STYLE_HEADING + UI_LABEL_STYLE_TITLE, + UI_LABEL_STYLE_SUBTITLE, + UI_LABEL_STYLE_DIM }; typedef enum UiLabelStyle UiLabelStyle; @@ -64,7 +66,7 @@ const char* label; UiAlignment align; - UiLabelType type; + UiLabelStyle style; UiString* value; const char* varname; } UiLabelArgs;