Exemple #1
0
/**
 *
 * @param widget
 * @param msg
 */
void cwt_msgbox_set_msg(CWT_WIDGET_PTR widget, const CWT_CHAR* msg)
{
	if( msg ) {
		CWT_WIDGET_PTR label;
		const CWT_CHAR *ptr = msg;
		StringBufferPtr sb;

		sb = strbuf_new_defaults();

		while( *ptr ) {
			if( *ptr == '\n' ) {
				label = cwt_new_widget(0, CWT_WT_LABEL, widget);
				cwt_label_set_text(label, strbuf_cstr(sb));
				strbuf_clear(sb);
			} else {
				strbuf_append_char(sb, *ptr);
			}
			ptr++;
		}

		if( strbuf_size(sb) > 0 ) {
			label = cwt_new_widget(0, CWT_WT_LABEL, widget);
			cwt_label_set_text(label, strbuf_cstr(sb));
		}

		strbuf_delete(sb);
		widget->need_layout = TRUE;
	}
}
Exemple #2
0
void test()
{
  // tests for strbuf_new
  struct strbuf* sb = strbuf_new(2);
  printf("strbuf_new() passes tests\n");

  // tests for strbuf_add
  strbuf_add(sb, "H", 1);
  ASSERT(sb->len == 1);
  ASSERT(sb->limit == 2);
  strbuf_add(sb, "ello", 4);
  ASSERT(sb->len == 5);
  strbuf_addstr(sb, ",world!");
  ASSERT(sb->len == 12);
  printf("strbuf_add() and strbuf_addstr() passes tests\n");

  char *s = strbuf_str(sb);
  ASSERT(strcmp(s, "Hello,world!") == 0);
  free(s);
  printf("strbuf_str() passes tests\n");

  char c = strbuf_pop(sb);
  ASSERT(c = '!');
  s = strbuf_str(sb);
  ASSERT(strcmp(s, "Hello,world") == 0);
  free(s);
  printf("strbuf_pop() passes tests\n");

  strbuf_delete(sb, 5);
  s = strbuf_str(sb);
  ASSERT(strcmp(s, "Helloworld") == 0);
  free(s);
  printf("strbuf_delete() passes tests\n");

  strbuf_push(sb, c);
  s = strbuf_str(sb);
  ASSERT(strcmp(s, "Helloworld!") == 0);
  free(s);
  printf("strbuf_push() passes tests\n");

  free(strbuf_dealloc(sb));
  return;
}
Exemple #3
0
void _cwt_destroy_input(CWT_WIDGET_PTR widget)
{
	CWT_INPUT_PTR input = (CWT_INPUT_PTR)widget;
	JQ_ASSERT(widget);
	strbuf_delete(input->strbuf);
}