static void repeat () { if(gcomprisBoard!=NULL) { _repeat(); } }
RegNodePtr _concat() { auto r = _repeat(); if (!r) return r; if (auto n = _concat()) { r.reset(new RegNode_Concat(r, n)); } return r; }
/* ==================================== */ static GooCanvasItem *click_on_letter_create_item(GooCanvasItem *parent) { int xOffset, yOffset, i; if (gcomprisBoard->sublevel == 1) { Level *level = &g_array_index (levels, Level, gcomprisBoard->level - 1); n_answer = g_utf8_strlen (level->answers, -1); g_assert( n_answer <= MAX_N_ANSWER ); if ( uppercase_only ) { gchar *answers_up = g_utf8_strup( level->answers, -1 ); gchar *questions_up = g_utf8_strup( level->questions, -1 ); answers = shuffle_utf8(answers_up); questions = shuffle_utf8(questions_up); g_free(answers_up); g_free(questions_up); } else { answers = shuffle_utf8(level->answers); questions = shuffle_utf8(level->questions); } /* Go to next level after this number of 'play' */ gcomprisBoard->number_of_sublevel = g_utf8_strlen (level->questions, -1); } right_letter = g_utf8_strdown(questions[gcomprisBoard->sublevel - 1], -1); boardRootItem = goo_canvas_group_new (goo_canvas_get_root_item(gcomprisBoard->canvas), NULL); if ( ! _repeat() ) { /* Sound was not played, display the letter to find instead */ guint x = 10; guint y = 110; guint width = 80; guint height = 80; goo_canvas_rect_new (boardRootItem, x, y, width, height, "stroke_color_rgba", 0xFFFFFFFFL, "fill_color_rgba", 0x00005550L, "line-width", (double) 2, "radius-x", (double) 10, "radius-y", (double) 10, NULL); goo_canvas_text_new (boardRootItem, questions[gcomprisBoard->sublevel - 1], (double) x + width / 2, (double) y + height / 2, -1, GTK_ANCHOR_CENTER, "font", gc_skin_font_board_huge_bold, "fill_color_rgba", 0xffffffff, NULL); } /* Display the answers */ yOffset = VERTICAL_SEPARATION - carriage_svg_dimension.height; xOffset = 144; gint text_gap_x = -5; gint text_gap_y = -35; RsvgHandle *svg_handle= carriage_svg_handle; RsvgDimensionData svg_dimension = carriage_svg_dimension; for (i = 0; i< n_answer; i++) { if ( i > 0 && i % N_LETTER_PER_LINE == 0 ) { /* Line wrapping */ svg_handle= cloud_svg_handle; svg_dimension = cloud_svg_dimension; xOffset = 144; yOffset -= svg_dimension.height; text_gap_x = 0; text_gap_y = 0; } GooCanvasItem *button_item = \ goo_canvas_svg_new (boardRootItem, svg_handle, "svg-id", "#OFF", NULL); goo_canvas_item_translate( button_item, xOffset, yOffset); GooCanvasItem *text_item = \ goo_canvas_text_new (boardRootItem, answers[i], (double) xOffset + svg_dimension.width / 2 + text_gap_x, (double) yOffset + svg_dimension.height / 2 + text_gap_y, -1, GTK_ANCHOR_CENTER, "font", gc_skin_font_board_huge_bold, "fill_color_rgba", 0x000000ff, NULL); xOffset += HORIZONTAL_SEPARATION + svg_dimension.width; g_signal_connect(text_item, "button_press_event", (GCallback) item_event, answers[i]); g_signal_connect(button_item, "button_press_event", (GCallback) item_event, answers[i]); gc_item_focus_init(text_item, button_item); gc_item_focus_init(button_item, NULL); g_object_set_data(G_OBJECT(button_item), "button_item", button_item); g_object_set_data(G_OBJECT(text_item), "button_item", button_item); } return NULL; }
QVariant ZStringFormatter::transform(QVariant val){ if(method() == ZFMT_METHOD_STR_CONCAT){ //! concat( with ) return _concat(val,arg("with",ZML_DEFAULT_PARAM_NAME)); }else if(method() == ZFMT_METHOD_STR_DOWNCASE){ //! downcase return _downcase(val); }else if(method() == ZFMT_METHOD_STR_ELIDE){ //! elide( [maxLength [, placeholder]] ) if(arg("placeholder").isValid()) return _elide(val, arg("maxLength",ZML_DEFAULT_PARAM_NAME).toInt(), arg("placeholder").toString()); else return _elide(val, arg("maxLength",ZML_DEFAULT_PARAM_NAME).toInt()); }else if(method() == ZFMT_METHOD_STR_LEFT){ //! left( length ) return _left(val, arg("length",ZML_DEFAULT_PARAM_NAME).toUInt()); }else if(method() == ZFMT_METHOD_STR_LEFTOF){ //! leftOf( delimiter ) return _leftOf(val, arg("delimiter",ZML_DEFAULT_PARAM_NAME).toString()); }else if(method() == ZFMT_METHOD_STR_LELIDE){ //! lelide( [maxLength [, placeholder]] ) if(arg("placeholder").isValid()) return _lelide(val, arg("maxLength",ZML_DEFAULT_PARAM_NAME).toInt(), arg("placeholder").toString()); else return _lelide(val, arg("maxLength",ZML_DEFAULT_PARAM_NAME).toInt()); }else if(method() == ZFMT_METHOD_STR_LPAD){ //! lpad( length [, symbol] ) if(arg("symbol").isValid()) return _lpad(val, arg("length",ZML_DEFAULT_PARAM_NAME).toUInt(), arg("symbol").toChar()); else return _lpad(val, arg("length",ZML_DEFAULT_PARAM_NAME).toUInt()); }else if(method() == ZFMT_METHOD_STR_LSHIFT){ //! lshift( places ) return _lshift(val, arg("places", ZML_DEFAULT_PARAM_NAME).toUInt()); }else if(method() == ZFMT_METHOD_STR_LTRIM){ //! ltrim( [pattern] ) if(arg("pattern").isValid()) return _ltrim(val, arg("pattern",ZML_DEFAULT_PARAM_NAME).toString()); else return _ltrim(val); }else if(method() == ZFMT_METHOD_STR_RELIDE){ //! relide( [maxLength [, placeholder]] ) if(arg("placeholder").isValid()) return _relide(val, arg("maxLength",ZML_DEFAULT_PARAM_NAME).toInt(), arg("placeholder").toString()); else return _relide(val, arg("maxLength",ZML_DEFAULT_PARAM_NAME).toInt()); }else if(method() == ZFMT_METHOD_STR_REPEAT){ //! repeat( times ) return _repeat(val, arg("times",ZML_DEFAULT_PARAM_NAME).toUInt()); }else if(method() == ZFMT_METHOD_STR_REVERSE){ //! reverse return _reverse(val); }else if(method() == ZFMT_METHOD_STR_RIGHT){ //! right( length ) return _right(val, arg("length",ZML_DEFAULT_PARAM_NAME).toUInt()); }else if(method() == ZFMT_METHOD_STR_RIGHTOF){ //! rightOf( delimiter ) return _rightOf(val, arg("delimiter",ZML_DEFAULT_PARAM_NAME).toString()); }else if(method() == ZFMT_METHOD_STR_RPAD){ //! rpad( length [, symbol] ) if(arg("symbol").isValid()) return _rpad(val, arg("length",ZML_DEFAULT_PARAM_NAME).toUInt(), arg("symbol").toChar()); else return _rpad(val, arg("length",ZML_DEFAULT_PARAM_NAME).toUInt()); }else if(method() == ZFMT_METHOD_STR_RSHIFT){ //! rshift( places ) return _rshift(val, arg("places",ZML_DEFAULT_PARAM_NAME).toUInt()); }else if(method() == ZFMT_METHOD_STR_RTRIM){ //! rtrim( [pattern] ) if(arg("pattern").isValid()) return _rtrim(val, arg("pattern",ZML_DEFAULT_PARAM_NAME).toString()); else return _rtrim(val); }else if(method() == ZFMT_METHOD_STR_SCASE){ //! capitalize return _sentenceCase(val); }else if(method() == ZFMT_METHOD_STR_SQUEEZE){ //! squeeze( [symbol] ) if(arg("symbol").isValid()) return _squeeze(val, arg("symbol",ZML_DEFAULT_PARAM_NAME).toChar()); else return _squeeze(val); }else if(method() == ZFMT_METHOD_STR_TCASE){ //! titleize return _titleCase(val); }else if(method() == ZFMT_METHOD_STR_TRIM){ //! trim( [pattern] ) if(arg("pattern").isValid()) return _trim(val, arg("pattern",ZML_DEFAULT_PARAM_NAME).toString()); else return _trim(val); }else if(method() == ZFMT_METHOD_STR_UPCASE){ //! upcase return _upcase(val); } return val; }