Skip to content

Commit

Permalink
property: Allow optional labels for properties with # (#634)
Browse files Browse the repository at this point in the history
  • Loading branch information
RobLoach authored Apr 28, 2024
1 parent 7e9da57 commit 37e54da
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 6 deletions.
5 changes: 5 additions & 0 deletions demo/common/overview.c
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ overview(struct nk_context *ctx)
static int range_int_value = 2048;
static int range_int_max = 4096;
static const float ratio[] = {120, 150};
static int range_int_value_hidden = 2048;

nk_layout_row_dynamic(ctx, 0, 1);
nk_checkbox_label(ctx, "CheckLeft TextLeft", &checkbox_left_text_left);
Expand Down Expand Up @@ -278,6 +279,10 @@ overview(struct nk_context *ctx)
nk_property_int(ctx, "#neg:", range_int_min, &range_int_value, range_int_max, 1, 10);
nk_property_int(ctx, "#max:", range_int_min, &range_int_max, INT_MAX, 1, 10);

nk_layout_row_dynamic(ctx, 0, 2);
nk_label(ctx, "Hidden Label:", NK_TEXT_LEFT);
nk_property_int(ctx, "##Hidden Label", range_int_min, &range_int_value_hidden, INT_MAX, 1, 10);

nk_tree_pop(ctx);
}

Expand Down
10 changes: 7 additions & 3 deletions nuklear.h
Original file line number Diff line number Diff line change
Expand Up @@ -28180,7 +28180,9 @@ nk_draw_property(struct nk_command_buffer *out, const struct nk_style_property *

/* draw label */
text.padding = nk_vec2(0,0);
nk_widget_text(out, *label, name, len, &text, NK_TEXT_CENTERED, font);
if (name && name[0] != '#') {
nk_widget_text(out, *label, name, len, &text, NK_TEXT_CENTERED, font);
}
}
NK_LIB void
nk_do_property(nk_flags *ws,
Expand All @@ -28198,7 +28200,7 @@ nk_do_property(nk_flags *ws,
nk_filter_float
};
nk_bool active, old;
int num_len = 0, name_len;
int num_len = 0, name_len = 0;
char string[NK_MAX_NUMBER_BUFFER];
float size;

Expand All @@ -28218,7 +28220,9 @@ nk_do_property(nk_flags *ws,
left.y = property.y + style->border + property.h/2.0f - left.h/2;

/* text label */
name_len = nk_strlen(name);
if (name && name[0] != '#') {
name_len = nk_strlen(name);
}
size = font->width(font->userdata, font->height, name, name_len);
label.x = left.x + left.w + style->padding.x;
label.w = (float)size + 2 * style->padding.x;
Expand Down
10 changes: 7 additions & 3 deletions src/nuklear_property.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,9 @@ nk_draw_property(struct nk_command_buffer *out, const struct nk_style_property *

/* draw label */
text.padding = nk_vec2(0,0);
nk_widget_text(out, *label, name, len, &text, NK_TEXT_CENTERED, font);
if (name && name[0] != '#') {
nk_widget_text(out, *label, name, len, &text, NK_TEXT_CENTERED, font);
}
}
NK_LIB void
nk_do_property(nk_flags *ws,
Expand All @@ -124,7 +126,7 @@ nk_do_property(nk_flags *ws,
nk_filter_float
};
nk_bool active, old;
int num_len = 0, name_len;
int num_len = 0, name_len = 0;
char string[NK_MAX_NUMBER_BUFFER];
float size;

Expand All @@ -144,7 +146,9 @@ nk_do_property(nk_flags *ws,
left.y = property.y + style->border + property.h/2.0f - left.h/2;

/* text label */
name_len = nk_strlen(name);
if (name && name[0] != '#') {
name_len = nk_strlen(name);
}
size = font->width(font->userdata, font->height, name, name_len);
label.x = left.x + left.w + style->padding.x;
label.w = (float)size + 2 * style->padding.x;
Expand Down

0 comments on commit 37e54da

Please sign in to comment.