Example #1
0
/* サムネイルごとの情報をロードする */
static bool load_thumbnail_params(void)
{
	int32_t flag_val;
	int i;

	/* 各サムネイルの情報を取得する */
	thumbnail_count = 0;
	for(i = 0; i < THUMBNAIL_SIZE; i++) {
		/* ラベルを取得する */
		thumbnail[i].label = get_string_param(PARAM_LABEL(i));
		if (strcmp(thumbnail[i].label, "") == 0)
			break;	/* すべてのサムネイルを処理した*/

		/* 変数の値を求める */
		if (!get_variable_by_string(get_string_param(PARAM_FLAG(i)),
					    &flag_val))
			return false;

		/* サムネイルを有効にするかを求める */
		thumbnail[i].enabled = flag_val != 0;

		/* 表示位置を取得する */
		thumbnail[i].x = get_int_param(PARAM_X(i));
		thumbnail[i].y = get_int_param(PARAM_Y(i));

		thumbnail_count++;
	}

	for(i = thumbnail_count; i < THUMBNAIL_SIZE; i++)
		thumbnail[i].enabled = false;

	return true;
}
Example #2
0
std::string KlassesDialog::g_param_flags_to_string(GParamFlags v)
{
#define xstr(s) str(s)
#define str(s) #s
#define PARAM_FLAG(NAME) { NAME, xstr(NAME) }
	std::map<int, std::string> values = {
			PARAM_FLAG(G_PARAM_READABLE),
			PARAM_FLAG(G_PARAM_WRITABLE),
			PARAM_FLAG(G_PARAM_CONSTRUCT),
			PARAM_FLAG(G_PARAM_CONSTRUCT_ONLY),
			PARAM_FLAG(G_PARAM_LAX_VALIDATION),
			PARAM_FLAG(G_PARAM_STATIC_NAME),
			PARAM_FLAG(G_PARAM_PRIVATE),
			PARAM_FLAG(G_PARAM_STATIC_NICK),
			PARAM_FLAG(G_PARAM_STATIC_BLURB),
			PARAM_FLAG(G_PARAM_EXPLICIT_NOTIFY),
			PARAM_FLAG(G_PARAM_DEPRECATED)
	};

	std::string str;
	bool first = false;
	if (values.empty()) str = _("none");
	for (auto value : values)
	{
		if (value.first & v)
		{
			if (first) str.append(", ");
			else first = true;
			str.append(value.second);
		}
	}

	return str;
}