您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ uiLayoutColumn函数代码示例

51自学网 2021-06-03 09:06:50
  C++
这篇教程C++ uiLayoutColumn函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中uiLayoutColumn函数的典型用法代码示例。如果您正苦于以下问题:C++ uiLayoutColumn函数的具体用法?C++ uiLayoutColumn怎么用?C++ uiLayoutColumn使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了uiLayoutColumn函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: nla_panel_evaluation

/* evaluation settings for active NLA-Strip */static void nla_panel_evaluation(const bContext *C, Panel *pa){	PointerRNA strip_ptr;	uiLayout *layout = pa->layout;	uiLayout *col, *sub;	uiBlock *block;	/* check context and also validity of pointer */	if (!nla_panel_context(C, NULL, NULL, &strip_ptr))		return;			block = uiLayoutGetBlock(layout);	UI_block_func_handle_set(block, do_nla_region_buttons, NULL);			col = uiLayoutColumn(layout, true);	uiItemR(col, &strip_ptr, "use_animated_influence", 0, NULL, ICON_NONE);		sub = uiLayoutColumn(col, true);	uiLayoutSetEnabled(sub, RNA_boolean_get(&strip_ptr, "use_animated_influence"));	uiItemR(sub, &strip_ptr, "influence", 0, NULL, ICON_NONE);	col = uiLayoutColumn(layout, true);	sub = uiLayoutRow(col, false);	uiItemR(sub, &strip_ptr, "use_animated_time", 0, NULL, ICON_NONE);	uiItemR(sub, &strip_ptr, "use_animated_time_cyclic", 0, NULL, ICON_NONE);	sub = uiLayoutRow(col, false);	uiLayoutSetEnabled(sub, RNA_boolean_get(&strip_ptr, "use_animated_time"));	uiItemR(sub, &strip_ptr, "strip_time", 0, NULL, ICON_NONE);}
开发者ID:mgschwan,项目名称:blensor,代码行数:31,


示例2: graph_panel_driverVar__transChan

/* settings for 'transform channel' driver variable type */static void graph_panel_driverVar__transChan(uiLayout *layout, ID *id, DriverVar *dvar){	DriverTarget *dtar = &dvar->targets[0];	Object *ob = (Object *)dtar->id;	PointerRNA dtar_ptr;	uiLayout *col, *sub;		/* initialize RNA pointer to the target */	RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); 		/* properties */	col = uiLayoutColumn(layout, true);	uiLayoutSetRedAlert(col, (dtar->flag & DTAR_FLAG_INVALID)); /* XXX: per field... */	uiItemR(col, &dtar_ptr, "id", 0, IFACE_("Object"), ICON_NONE);		if (dtar->id && GS(dtar->id->name) == ID_OB && ob->pose) {		PointerRNA tar_ptr;				RNA_pointer_create(dtar->id, &RNA_Pose, ob->pose, &tar_ptr);		uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", IFACE_("Bone"), ICON_BONE_DATA);	}			sub = uiLayoutColumn(layout, true);	uiItemR(sub, &dtar_ptr, "transform_type", 0, NULL, ICON_NONE);	uiItemR(sub, &dtar_ptr, "transform_space", 0, IFACE_("Space"), ICON_NONE);}
开发者ID:diekev,项目名称:blender,代码行数:27,


示例3: draw_modifier__cycles

/* draw settings for cycles modifier */static void draw_modifier__cycles(uiLayout *layout, ID *id, FModifier *fcm, short UNUSED(width)){	uiLayout *split, *col;	PointerRNA ptr;		/* init the RNA-pointer */	RNA_pointer_create(id, &RNA_FModifierCycles, fcm, &ptr);		/* split into 2 columns 	 * NOTE: the mode comboboxes shouldn't get labels, otherwise there isn't enough room	 */	split = uiLayoutSplit(layout, 0.5f, FALSE);		/* before range */	col = uiLayoutColumn(split, TRUE);	uiItemL(col, IFACE_("Before:"), ICON_NONE);	uiItemR(col, &ptr, "mode_before", 0, "", ICON_NONE);	uiItemR(col, &ptr, "cycles_before", 0, NULL, ICON_NONE);			/* after range */	col = uiLayoutColumn(split, TRUE);	uiItemL(col, IFACE_("After:"), ICON_NONE);	uiItemR(col, &ptr, "mode_after", 0, "", ICON_NONE);	uiItemR(col, &ptr, "cycles_after", 0, NULL, ICON_NONE);}
开发者ID:Eibriel,项目名称:kiriblender,代码行数:26,


示例4: graph_panel_view

/* Graph Editor View Settings */static void graph_panel_view(const bContext *C, Panel *pa){	bScreen *sc = CTX_wm_screen(C);	SpaceIpo *sipo = CTX_wm_space_graph(C);	Scene *scene = CTX_data_scene(C);	PointerRNA spaceptr, sceneptr;	uiLayout *col, *sub, *row;		/* get RNA pointers for use when creating the UI elements */	RNA_id_pointer_create(&scene->id, &sceneptr);	RNA_pointer_create(&sc->id, &RNA_SpaceGraphEditor, sipo, &spaceptr);	/* 2D-Cursor */	col = uiLayoutColumn(pa->layout, FALSE);	uiItemR(col, &spaceptr, "show_cursor", 0, NULL, ICON_NONE);			sub = uiLayoutColumn(col, TRUE);	uiLayoutSetActive(sub, RNA_boolean_get(&spaceptr, "show_cursor"));	uiItemO(sub, IFACE_("Cursor from Selection"), ICON_NONE, "GRAPH_OT_frame_jump");	sub = uiLayoutColumn(col, TRUE);	uiLayoutSetActive(sub, RNA_boolean_get(&spaceptr, "show_cursor"));	row = uiLayoutSplit(sub, 0.7f, TRUE);	uiItemR(row, &sceneptr, "frame_current", 0, IFACE_("Cursor X"), ICON_NONE);	uiItemEnumO(row, "GRAPH_OT_snap", IFACE_("To Keys"), 0, "type", GRAPHKEYS_SNAP_CFRA);	row = uiLayoutSplit(sub, 0.7f, TRUE);	uiItemR(row, &spaceptr, "cursor_position_y", 0, IFACE_("Cursor Y"), ICON_NONE);	uiItemEnumO(row, "GRAPH_OT_snap", IFACE_("To Keys"), 0, "type", GRAPHKEYS_SNAP_VALUE);}
开发者ID:vanangamudi,项目名称:blender-main,代码行数:30,


示例5: draw_modifier__stepped

/* draw settings for stepped interpolation modifier */static void draw_modifier__stepped(uiLayout *layout, ID *id, FModifier *fcm, short UNUSED(width)){	uiLayout *col, *sub;	PointerRNA ptr;		/* init the RNA-pointer */	RNA_pointer_create(id, &RNA_FModifierStepped, fcm, &ptr);		/* block 1: "stepping" settings */	col = uiLayoutColumn(layout, FALSE);	uiItemR(col, &ptr, "frame_step", 0, NULL, ICON_NONE);	uiItemR(col, &ptr, "frame_offset", 0, NULL, ICON_NONE);			/* block 2: start range settings */	col = uiLayoutColumn(layout, TRUE);	uiItemR(col, &ptr, "use_frame_start", 0, NULL, ICON_NONE);			sub = uiLayoutColumn(col, TRUE);	uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_frame_start"));	uiItemR(sub, &ptr, "frame_start", 0, NULL, ICON_NONE);				/* block 3: end range settings */	col = uiLayoutColumn(layout, TRUE);	uiItemR(col, &ptr, "use_frame_end", 0, NULL, ICON_NONE);			sub = uiLayoutColumn(col, TRUE);	uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_frame_end"));	uiItemR(sub, &ptr, "frame_end", 0, NULL, ICON_NONE);}
开发者ID:Eibriel,项目名称:kiriblender,代码行数:30,


示例6: graph_panel_driverVar__rotDiff

/* settings for 'rotation difference' driver variable type */static void graph_panel_driverVar__rotDiff(uiLayout *layout, ID *id, DriverVar *dvar){	DriverTarget *dtar = &dvar->targets[0];	DriverTarget *dtar2 = &dvar->targets[1];	Object *ob1 = (Object *)dtar->id;	Object *ob2 = (Object *)dtar2->id;	PointerRNA dtar_ptr, dtar2_ptr;	uiLayout *col;		/* initialize RNA pointer to the target */	RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); 	RNA_pointer_create(id, &RNA_DriverTarget, dtar2, &dtar2_ptr); 		/* Bone 1 */	col = uiLayoutColumn(layout, TRUE);	uiTemplateAnyID(col, &dtar_ptr, "id", "id_type", IFACE_("Bone 1:"));			if (dtar->id && ob1->pose) {		PointerRNA tar_ptr;					RNA_pointer_create(dtar->id, &RNA_Pose, ob1->pose, &tar_ptr);		uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);	}		col = uiLayoutColumn(layout, TRUE);	uiTemplateAnyID(col, &dtar2_ptr, "id", "id_type", IFACE_("Bone 2:"));			if (dtar2->id && ob2->pose) {		PointerRNA tar_ptr;					RNA_pointer_create(dtar2->id, &RNA_Pose, ob2->pose, &tar_ptr);		uiItemPointerR(col, &dtar2_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);	}}
开发者ID:vanangamudi,项目名称:blender-main,代码行数:35,


示例7: graph_panel_driverVar__transChan

/* settings for 'transform channel' driver variable type */static void graph_panel_driverVar__transChan(uiLayout *layout, ID *id, DriverVar *dvar){	DriverTarget *dtar = &dvar->targets[0];	Object *ob = (Object *)dtar->id;	PointerRNA dtar_ptr;	uiLayout *col, *sub;		/* initialize RNA pointer to the target */	RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); 		/* properties */	col = uiLayoutColumn(layout, TRUE);	uiTemplateAnyID(col, &dtar_ptr, "id", "id_type", IFACE_("Ob/Bone:"));			if (dtar->id && ob->pose) {		PointerRNA tar_ptr;					RNA_pointer_create(dtar->id, &RNA_Pose, ob->pose, &tar_ptr);		uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);	}			sub = uiLayoutColumn(layout, TRUE);	uiItemR(sub, &dtar_ptr, "transform_type", 0, NULL, ICON_NONE);	uiItemR(sub, &dtar_ptr, "transform_space", 0, IFACE_("Space"), ICON_NONE);}
开发者ID:vanangamudi,项目名称:blender-main,代码行数:26,


示例8: graph_panel_key_properties

static void graph_panel_key_properties(const bContext *C, Panel *pa){	bAnimListElem *ale;	FCurve *fcu;	BezTriple *bezt, *prevbezt;		uiLayout *layout = pa->layout;	uiLayout *col;	uiBlock *block;	if (!graph_panel_context(C, &ale, &fcu))		return;		block = uiLayoutGetBlock(layout);	uiBlockSetHandleFunc(block, do_graph_region_buttons, NULL);		/* only show this info if there are keyframes to edit */	if (get_active_fcurve_keyframe_edit(fcu, &bezt, &prevbezt)) {		PointerRNA bezt_ptr;				/* RNA pointer to keyframe, to allow editing */		RNA_pointer_create(ale->id, &RNA_Keyframe, bezt, &bezt_ptr);				/* interpolation */		col= uiLayoutColumn(layout, 0);			uiItemR(col, &bezt_ptr, "interpolation", 0, NULL, ICON_NONE);					/* numerical coordinate editing */		col= uiLayoutColumn(layout, 1);			/* keyframe itself */			uiItemR(col, &bezt_ptr, "co", 0, "Key", ICON_NONE);						/* previous handle - only if previous was Bezier interpolation */			if ((prevbezt) && (prevbezt->ipo == BEZT_IPO_BEZ))				uiItemR(col, &bezt_ptr, "handle_left", 0, NULL, ICON_NONE);						/* next handle - only if current is Bezier interpolation */			if (bezt->ipo == BEZT_IPO_BEZ)				uiItemR(col, &bezt_ptr, "handle_right", 0, NULL, ICON_NONE);	}	else {		if ((fcu->bezt == NULL) && (fcu->modifiers.first)) {			/* modifiers only - so no keyframes to be active */			uiItemL(layout, "F-Curve only has F-Modifiers", ICON_NONE);			uiItemL(layout, "See Modifiers panel below", ICON_INFO);		}		else if (fcu->fpt) {			/* samples only */			uiItemL(layout, "F-Curve doesn't have any keyframes as it only contains sampled points", ICON_NONE);		}		else			uiItemL(layout, "No active keyframe on F-Curve", ICON_NONE);	}		MEM_freeN(ale);}
开发者ID:OldBrunet,项目名称:BGERTPS,代码行数:56,


示例9: uiDefAutoButsRNA

/** * /a check_prop callback filters functions to avoid drawing certain properties, * in cases where PROP_HIDDEN flag can't be used for a property. */int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr,                     int (*check_prop)(PointerRNA *, PropertyRNA *),                     const char label_align){	uiLayout *split, *col;	int flag;	const char *name;	int tot = 0;	assert(ELEM3(label_align, '/0', 'H', 'V'));	RNA_STRUCT_BEGIN (ptr, prop)	{		flag = RNA_property_flag(prop);		if (flag & PROP_HIDDEN || (check_prop && check_prop(ptr, prop) == FALSE))			continue;		if (label_align != '/0') {			PropertyType type = RNA_property_type(prop);			int is_boolean = (type == PROP_BOOLEAN && !RNA_property_array_check(prop));			name = RNA_property_ui_name(prop);			if (label_align == 'V') {				col = uiLayoutColumn(layout, TRUE);				if (!is_boolean)					uiItemL(col, name, ICON_NONE);			}			else if (label_align == 'H') {				split = uiLayoutSplit(layout, 0.5f, FALSE);				col = uiLayoutColumn(split, FALSE);				uiItemL(col, (is_boolean) ? "" : name, ICON_NONE);				col = uiLayoutColumn(split, FALSE);			}			else {				col = NULL;			}			/* may meed to add more cases here.			 * don't override enum flag names */			/* name is shown above, empty name for button below */			name = (flag & PROP_ENUM_FLAG || is_boolean) ? NULL : "";		}		else {			col = layout;			name = NULL; /* no smart label alignment, show default name with button */		}		uiItemFullR(col, ptr, prop, -1, 0, 0, name, ICON_NONE);		tot++;	}
开发者ID:vanangamudi,项目名称:blender-main,代码行数:58,


示例10: node_tree_interface_panel

static void node_tree_interface_panel(const bContext *C, Panel *pa){	SpaceNode *snode = CTX_wm_space_node(C);	bNodeTree *ntree = (snode) ? snode->edittree : NULL;	bNodeSocket *sock;	int in_out;	uiLayout *layout = pa->layout, *row, *split, *col;	PointerRNA ptr, sockptr, opptr;	if (!ntree)		return;		RNA_id_pointer_create((ID *)ntree, &ptr);		node_tree_find_active_socket(ntree, &sock, &in_out);	RNA_pointer_create((ID *)ntree, &RNA_NodeSocketInterface, sock, &sockptr);		row = uiLayoutRow(layout, false);		split = uiLayoutRow(row, true);	col = uiLayoutColumn(split, true);	uiItemL(col, IFACE_("Inputs:"), ICON_NONE);	uiTemplateList(col, (bContext *)C, "NODE_UL_interface_sockets", "inputs", &ptr, "inputs", &ptr, "active_input",	               NULL, 0, 0, 0, 0);	opptr = uiItemFullO(col, "NODE_OT_tree_socket_add", "", ICON_PLUS, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);	RNA_enum_set(&opptr, "in_out", SOCK_IN);		col = uiLayoutColumn(split, true);	uiItemL(col, IFACE_("Outputs:"), ICON_NONE);	uiTemplateList(col, (bContext *)C, "NODE_UL_interface_sockets", "outputs", &ptr, "outputs", &ptr, "active_output",	               NULL, 0, 0, 0, 0);	opptr = uiItemFullO(col, "NODE_OT_tree_socket_add", "", ICON_PLUS, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);	RNA_enum_set(&opptr, "in_out", SOCK_OUT);		col = uiLayoutColumn(row, true);	opptr = uiItemFullO(col, "NODE_OT_tree_socket_move", "", ICON_TRIA_UP, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);	RNA_enum_set(&opptr, "direction", 1);	opptr = uiItemFullO(col, "NODE_OT_tree_socket_move", "", ICON_TRIA_DOWN, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);	RNA_enum_set(&opptr, "direction", 2);		if (sock) {		row = uiLayoutRow(layout, true);		uiItemR(row, &sockptr, "name", 0, NULL, ICON_NONE);		uiItemO(row, "", ICON_X, "NODE_OT_tree_socket_remove");				if (sock->typeinfo->interface_draw) {			uiItemS(layout);			sock->typeinfo->interface_draw((bContext *)C, layout, &sockptr);		}	}}
开发者ID:Andrewson3D,项目名称:blender-for-vray,代码行数:51,


示例11: file_panel_category

static void file_panel_category(const bContext *C, Panel *pa, FSMenuCategory category, short *nr, int icon, int allow_delete){	SpaceFile *sfile = CTX_wm_space_file(C);	uiBlock *block;	uiBut *but;	uiLayout *box, *col;	struct FSMenu *fsmenu = fsmenu_get();	int i, nentries = fsmenu_get_nentries(fsmenu, category);	/* reset each time */	*nr = -1;	/* hide if no entries */	if (nentries == 0)		return;	/* layout */	uiLayoutSetAlignment(pa->layout, UI_LAYOUT_ALIGN_LEFT);	block = uiLayoutGetBlock(pa->layout);	box = uiLayoutBox(pa->layout);	col = uiLayoutColumn(box, TRUE);	for (i = 0; i < nentries; ++i) {		char dir[FILE_MAX];		char temp[FILE_MAX];		uiLayout *layout = uiLayoutRow(col, FALSE);		char *entry;				entry = fsmenu_get_entry(fsmenu, category, i);				/* set this list item as active if we have a match */		if (sfile->params) {			if (BLI_path_cmp(sfile->params->dir, entry) == 0) {				*nr = i;			}		}		/* create nice bookmark name, shows last directory in the full path currently */		BLI_strncpy(temp, entry, FILE_MAX);		BLI_add_slash(temp);		BLI_getlastdir(temp, dir, FILE_MAX);		BLI_del_slash(dir);		if (dir[0] == 0)			BLI_strncpy(dir, entry, FILE_MAX);		/* create list item */		but = uiDefIconTextButS(block, LISTROW, 0, icon, dir, 0, 0, UI_UNIT_X * 10, UI_UNIT_Y, nr, 0, i, 0, 0, entry);		uiButSetFunc(but, file_panel_cb, entry, NULL);		uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */		uiButSetFlag(but, UI_ICON_LEFT | UI_TEXT_LEFT);		/* create delete button */		if (allow_delete && fsmenu_can_save(fsmenu, category, i)) {			uiBlockSetEmboss(block, UI_EMBOSSN);			uiItemIntO(layout, "", ICON_X, "FILE_OT_delete_bookmark", "index", i);			uiBlockSetEmboss(block, UI_EMBOSS);		}	}}
开发者ID:diosney,项目名称:blender,代码行数:60,


示例12: graph_panel_driverVar__singleProp

/* settings for 'single property' driver variable type */static void graph_panel_driverVar__singleProp(uiLayout *layout, ID *id, DriverVar *dvar){	DriverTarget *dtar = &dvar->targets[0];	PointerRNA dtar_ptr;	uiLayout *row, *col;		/* initialize RNA pointer to the target */	RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); 		/* Target ID */	row = uiLayoutRow(layout, FALSE);	uiTemplateAnyID(row, &dtar_ptr, "id", "id_type", IFACE_("Prop:"));		/* Target Property */	// TODO: make this less technical...	if (dtar->id) {		PointerRNA root_ptr;				/* get pointer for resolving the property selected */		RNA_id_pointer_create(dtar->id, &root_ptr);				col = uiLayoutColumn(layout, TRUE);		/* rna path */		uiTemplatePathBuilder(col, &dtar_ptr, "data_path", &root_ptr, IFACE_("Path"));	}}
开发者ID:vanangamudi,项目名称:blender-main,代码行数:27,


示例13: graph_panel_driverVar__singleProp

/* settings for 'single property' driver variable type */static void graph_panel_driverVar__singleProp(uiLayout *layout, ID *id, DriverVar *dvar){	DriverTarget *dtar = &dvar->targets[0];	PointerRNA dtar_ptr;	uiLayout *row, *col;		/* initialize RNA pointer to the target */	RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); 		/* Target ID */	row = uiLayoutRow(layout, false);	uiLayoutSetRedAlert(row, ((dtar->flag & DTAR_FLAG_INVALID) && !dtar->id));	uiTemplateAnyID(row, &dtar_ptr, "id", "id_type", IFACE_("Prop:"));		/* Target Property */	if (dtar->id) {		PointerRNA root_ptr;				/* get pointer for resolving the property selected */		RNA_id_pointer_create(dtar->id, &root_ptr);				/* rna path */		col = uiLayoutColumn(layout, true);		uiLayoutSetRedAlert(col, (dtar->flag & DTAR_FLAG_INVALID));		uiTemplatePathBuilder(col, &dtar_ptr, "data_path", &root_ptr, IFACE_("Path"));	}}
开发者ID:SuriyaaKudoIsc,项目名称:blender-git,代码行数:28,


示例14: ui_imageuser_layer_menu

static void ui_imageuser_layer_menu(bContext *UNUSED(C), uiLayout *layout, void *rnd_pt){	void **rnd_data = rnd_pt;	uiBlock *block = uiLayoutGetBlock(layout);	RenderResult *rr = rnd_data[0];	ImageUser *iuser = rnd_data[1];	RenderLayer *rl;	RenderLayer rl_fake = {NULL};	const char *fake_name;	int nr;	uiBlockSetCurLayout(block, layout);	uiLayoutColumn(layout, false);	uiDefBut(block, LABEL, 0, IFACE_("Layer"),	         0, 0, UI_UNIT_X * 5, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");	uiItemS(layout);	nr = BLI_countlist(&rr->layers) - 1;	fake_name = ui_imageuser_layer_fake_name(rr);	if (fake_name) {		BLI_strncpy(rl_fake.name, fake_name, sizeof(rl_fake.name));		nr += 1;	}	for (rl = rr->layers.last; rl; rl = rl->prev, nr--) {final:		uiDefButS(block, BUTM, B_NOP, IFACE_(rl->name), 0, 0,		          UI_UNIT_X * 5, UI_UNIT_X, &iuser->layer, (float) nr, 0.0, 0, -1, "");	}
开发者ID:zedd4x,项目名称:bepuik,代码行数:31,


示例15: graph_panel_properties

static void graph_panel_properties(const bContext *C, Panel *pa){	bAnimListElem *ale;	FCurve *fcu;	PointerRNA fcu_ptr;	uiLayout *layout = pa->layout;	uiLayout *col, *row, *sub;	// uiBlock *block;  // UNUSED	char name[256];	int icon = 0;	if (!graph_panel_context(C, &ale, &fcu))		return;		// UNUSED	// block = uiLayoutGetBlock(layout);	// uiBlockSetHandleFunc(block, do_graph_region_buttons, NULL);		/* F-Curve pointer */	RNA_pointer_create(ale->id, &RNA_FCurve, fcu, &fcu_ptr);		/* user-friendly 'name' for F-Curve */	/* TODO: only show the path if this is invalid? */	col = uiLayoutColumn(layout, false);	icon = getname_anim_fcurve(name, ale->id, fcu);	uiItemL(col, name, icon);			/* RNA-Path Editing - only really should be enabled when things aren't working */	col = uiLayoutColumn(layout, true);	uiLayoutSetEnabled(col, (fcu->flag & FCURVE_DISABLED) != 0);	uiItemR(col, &fcu_ptr, "data_path", 0, "", ICON_RNA);	uiItemR(col, &fcu_ptr, "array_index", 0, NULL, ICON_NONE);			/* color settings */	col = uiLayoutColumn(layout, true);	uiItemL(col, IFACE_("Display Color:"), ICON_NONE);			row = uiLayoutRow(col, true);	uiItemR(row, &fcu_ptr, "color_mode", 0, "", ICON_NONE);				sub = uiLayoutRow(row, true);	uiLayoutSetEnabled(sub, (fcu->color_mode == FCURVE_COLOR_CUSTOM));	uiItemR(sub, &fcu_ptr, "color", 0, "", ICON_NONE);		MEM_freeN(ale);}
开发者ID:SuriyaaKudoIsc,项目名称:blender-git,代码行数:46,


示例16: draw_modifier__limits

/* draw settings for limits modifier */static void draw_modifier__limits(uiLayout *layout, ID *id, FModifier *fcm, short UNUSED(width)){	uiLayout *split, *col /* , *row */ /* UNUSED */;	PointerRNA ptr;		/* init the RNA-pointer */	RNA_pointer_create(id, &RNA_FModifierLimits, fcm, &ptr);		/* row 1: minimum */	{		/* row = uiLayoutRow(layout, FALSE); */ /* UNUSED */				/* split into 2 columns */		split = uiLayoutSplit(layout, 0.5f, FALSE);				/* x-minimum */		col = uiLayoutColumn(split, TRUE);		uiItemR(col, &ptr, "use_min_x", 0, NULL, ICON_NONE);		uiItemR(col, &ptr, "min_x", 0, NULL, ICON_NONE);					/* y-minimum*/		col = uiLayoutColumn(split, TRUE);		uiItemR(col, &ptr, "use_min_y", 0, NULL, ICON_NONE);		uiItemR(col, &ptr, "min_y", 0, NULL, ICON_NONE);	}		/* row 2: maximum */	{		/* row = uiLayoutRow(layout, FALSE); */ /* UNUSED */				/* split into 2 columns */		split = uiLayoutSplit(layout, 0.5f, FALSE);				/* x-minimum */		col = uiLayoutColumn(split, TRUE);		uiItemR(col, &ptr, "use_max_x", 0, NULL, ICON_NONE);		uiItemR(col, &ptr, "max_x", 0, NULL, ICON_NONE);					/* y-minimum*/		col = uiLayoutColumn(split, TRUE);		uiItemR(col, &ptr, "use_max_y", 0, NULL, ICON_NONE);		uiItemR(col, &ptr, "max_y", 0, NULL, ICON_NONE);	}}
开发者ID:Eibriel,项目名称:kiriblender,代码行数:45,


示例17: draw_modifier__envelope

/* draw settings for envelope modifier */static void draw_modifier__envelope(uiLayout *layout, ID *id, FModifier *fcm, short UNUSED(width)){	FMod_Envelope *env = (FMod_Envelope *)fcm->data;	FCM_EnvelopeData *fed;	uiLayout *col, *row;	uiBlock *block;	uiBut *but;	PointerRNA ptr;	int i;		/* init the RNA-pointer */	RNA_pointer_create(id, &RNA_FModifierEnvelope, fcm, &ptr);		/* general settings */	col = uiLayoutColumn(layout, TRUE);	uiItemL(col, IFACE_("Envelope:"), ICON_NONE);	uiItemR(col, &ptr, "reference_value", 0, NULL, ICON_NONE);	row = uiLayoutRow(col, TRUE);	uiItemR(row, &ptr, "default_min", 0, IFACE_("Min"), ICON_NONE);	uiItemR(row, &ptr, "default_max", 0, IFACE_("Max"), ICON_NONE);	/* control points header */	/* TODO: move this control-point control stuff to using the new special widgets for lists	 * the current way is far too cramped */	row = uiLayoutRow(layout, FALSE);	block = uiLayoutGetBlock(row);			uiDefBut(block, LABEL, 1, IFACE_("Control Points:"), 0, 0, 7.5 * UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");			but = uiDefBut(block, BUT, B_FMODIFIER_REDRAW, IFACE_("Add Point"), 0, 0, 7.5 * UI_UNIT_X, UI_UNIT_Y,	               NULL, 0, 0, 0, 0, TIP_("Add a new control-point to the envelope on the current frame"));	uiButSetFunc(but, fmod_envelope_addpoint_cb, env, NULL);			/* control points list */	for (i = 0, fed = env->data; i < env->totvert; i++, fed++) {		/* get a new row to operate on */		row = uiLayoutRow(layout, TRUE);		block = uiLayoutGetBlock(row);				uiBlockBeginAlign(block);		but = uiDefButF(block, NUM, B_FMODIFIER_REDRAW, IFACE_("Fra:"), 0, 0, 4.5 * UI_UNIT_X, UI_UNIT_Y,		                &fed->time, -MAXFRAMEF, MAXFRAMEF, 10, 1, TIP_("Frame that envelope point occurs"));		uiButSetFunc(but, validate_fmodifier_cb, fcm, NULL);					uiDefButF(block, NUM, B_FMODIFIER_REDRAW, IFACE_("Min:"), 0, 0, 5 * UI_UNIT_X, UI_UNIT_Y,		          &fed->min, -UI_FLT_MAX, UI_FLT_MAX, 10, 2, TIP_("Minimum bound of envelope at this point"));		uiDefButF(block, NUM, B_FMODIFIER_REDRAW, IFACE_("Max:"), 0, 0, 5 * UI_UNIT_X, UI_UNIT_Y,		          &fed->max, -UI_FLT_MAX, UI_FLT_MAX, 10, 2, TIP_("Maximum bound of envelope at this point"));		but = uiDefIconBut(block, BUT, B_FMODIFIER_REDRAW, ICON_X, 0, 0, 0.9 * UI_UNIT_X, UI_UNIT_Y,		                   NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Delete envelope control point"));		uiButSetFunc(but, fmod_envelope_deletepoint_cb, env, SET_INT_IN_POINTER(i));		uiBlockBeginAlign(block);	}}
开发者ID:Eibriel,项目名称:kiriblender,代码行数:57,


示例18: draw_modifier__fn_generator

/* draw settings for generator modifier */static void draw_modifier__fn_generator(uiLayout *layout, ID *id, FModifier *fcm, short UNUSED(width)){	uiLayout *col;	PointerRNA ptr;		/* init the RNA-pointer */	RNA_pointer_create(id, &RNA_FModifierFunctionGenerator, fcm, &ptr);		/* add the settings */	col = uiLayoutColumn(layout, TRUE);	uiItemR(col, &ptr, "function_type", 0, "", ICON_NONE);	uiItemR(col, &ptr, "use_additive", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);	col = uiLayoutColumn(layout, FALSE); // no grouping for now	uiItemR(col, &ptr, "amplitude", 0, NULL, ICON_NONE);	uiItemR(col, &ptr, "phase_multiplier", 0, NULL, ICON_NONE);	uiItemR(col, &ptr, "phase_offset", 0, NULL, ICON_NONE);	uiItemR(col, &ptr, "value_offset", 0, NULL, ICON_NONE);}
开发者ID:Eibriel,项目名称:kiriblender,代码行数:20,


示例19: graph_panel_driverVar__locDiff

/* settings for 'location difference' driver variable type */static void graph_panel_driverVar__locDiff(uiLayout *layout, ID *id, DriverVar *dvar){	DriverTarget *dtar  = &dvar->targets[0];	DriverTarget *dtar2 = &dvar->targets[1];	Object *ob1 = (Object *)dtar->id;	Object *ob2 = (Object *)dtar2->id;	PointerRNA dtar_ptr, dtar2_ptr;	uiLayout *col;		/* initialize RNA pointer to the target */	RNA_pointer_create(id, &RNA_DriverTarget, dtar,  &dtar_ptr); 	RNA_pointer_create(id, &RNA_DriverTarget, dtar2, &dtar2_ptr); 		/* Bone 1 */	col = uiLayoutColumn(layout, true);	uiLayoutSetRedAlert(col, (dtar->flag & DTAR_FLAG_INVALID)); /* XXX: per field... */	uiTemplateAnyID(col, &dtar_ptr, "id", "id_type", IFACE_("Ob/Bone 1:"));			if (dtar->id && GS(dtar->id->name) == ID_OB && ob1->pose) {		PointerRNA tar_ptr;				RNA_pointer_create(dtar->id, &RNA_Pose, ob1->pose, &tar_ptr);		uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);	}		uiLayoutSetRedAlert(col, false); /* we can clear it again now - it's only needed when creating the ID/Bone fields */	uiItemR(col, &dtar_ptr, "transform_space", 0, NULL, ICON_NONE);		col = uiLayoutColumn(layout, true);	uiLayoutSetRedAlert(col, (dtar2->flag & DTAR_FLAG_INVALID)); /* XXX: per field... */	uiTemplateAnyID(col, &dtar2_ptr, "id", "id_type", IFACE_("Ob/Bone 2:"));			if (dtar2->id && GS(dtar2->id->name) == ID_OB && ob2->pose) {		PointerRNA tar_ptr;				RNA_pointer_create(dtar2->id, &RNA_Pose, ob2->pose, &tar_ptr);		uiItemPointerR(col, &dtar2_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);	}			uiLayoutSetRedAlert(col, false); /* we can clear it again now - it's only needed when creating the ID/Bone fields */	uiItemR(col, &dtar2_ptr, "transform_space", 0, NULL, ICON_NONE);}
开发者ID:SuriyaaKudoIsc,项目名称:blender-git,代码行数:43,


示例20: ui_node_draw_node

static void ui_node_draw_node(uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, int depth){	bNodeSocket *input;	uiLayout *col, *split;	PointerRNA nodeptr;	RNA_pointer_create(&ntree->id, &RNA_Node, node, &nodeptr);	if (node->typeinfo->draw_buttons) {		if (node->type != NODE_GROUP) {			split = uiLayoutSplit(layout, 0.35f, false);			col = uiLayoutColumn(split, false);			col = uiLayoutColumn(split, false);			node->typeinfo->draw_buttons(col, C, &nodeptr);		}	}	for (input = node->inputs.first; input; input = input->next)		ui_node_draw_input(layout, C, ntree, node, input, depth + 1);}
开发者ID:JasonWilkins,项目名称:blender-viewport_fx,代码行数:21,


示例21: graph_panel_driverVar__locDiff

/* settings for 'location difference' driver variable type */static void graph_panel_driverVar__locDiff(uiLayout *layout, ID *id, DriverVar *dvar){	DriverTarget *dtar= &dvar->targets[0];	DriverTarget *dtar2= &dvar->targets[1];	Object *ob1 = (Object *)dtar->id;	Object *ob2 = (Object *)dtar2->id;	PointerRNA dtar_ptr, dtar2_ptr;	uiLayout *col;		/* initialise RNA pointer to the target */	RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); 	RNA_pointer_create(id, &RNA_DriverTarget, dtar2, &dtar2_ptr); 		/* Bone 1 */	col= uiLayoutColumn(layout, 1);		uiTemplateAnyID(col, &dtar_ptr, "id", "id_type", "Ob/Bone 1:");				if (dtar->id && ob1->pose) {			PointerRNA tar_ptr;						RNA_pointer_create(dtar->id, &RNA_Pose, ob1->pose, &tar_ptr);			uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);		}				uiItemR(col, &dtar_ptr, "use_local_space_transform", 0, NULL, ICON_NONE);		col= uiLayoutColumn(layout, 1);		uiTemplateAnyID(col, &dtar2_ptr, "id", "id_type", "Ob/Bone 2:");				if (dtar2->id && ob2->pose) {			PointerRNA tar_ptr;						RNA_pointer_create(dtar2->id, &RNA_Pose, ob2->pose, &tar_ptr);			uiItemPointerR(col, &dtar2_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);		}				uiItemR(col, &dtar2_ptr, "use_local_space_transform", 0, NULL, ICON_NONE);}
开发者ID:OldBrunet,项目名称:BGERTPS,代码行数:39,


示例22: nla_panel_actclip

/* action-clip only settings for active NLA-Strip */static void nla_panel_actclip(const bContext *C, Panel *pa){	PointerRNA strip_ptr;	uiLayout *layout = pa->layout;	uiLayout *column, *row;	uiBlock *block;	/* check context and also validity of pointer */	if (!nla_panel_context(C, NULL, NULL, &strip_ptr))		return;		block = uiLayoutGetBlock(layout);	UI_block_func_handle_set(block, do_nla_region_buttons, NULL);			/* Strip Properties ------------------------------------- */	/* action pointer */	row = uiLayoutRow(layout, true);	uiItemR(row, &strip_ptr, "action", 0, NULL, ICON_ACTION);			/* action extents */	// XXX custom names were used here (to avoid the prefixes)... probably not necessary in future?	column = uiLayoutColumn(layout, true);	uiItemL(column, IFACE_("Action Extents:"), ICON_NONE);	uiItemR(column, &strip_ptr, "action_frame_start", 0, IFACE_("Start Frame"), ICON_NONE);	uiItemR(column, &strip_ptr, "action_frame_end", 0, IFACE_("End Frame"), ICON_NONE);		// XXX: this layout may actually be too abstract and confusing, and may be better using standard column layout	row = uiLayoutRow(layout, false);	uiItemR(row, &strip_ptr, "use_sync_length", 0, IFACE_("Sync Length"), ICON_NONE);	uiItemO(row, IFACE_("Now"), ICON_FILE_REFRESH, "NLA_OT_action_sync_length");			/* action usage */	column = uiLayoutColumn(layout, true);	uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "use_animated_time") == false);	uiItemL(column, IFACE_("Playback Settings:"), ICON_NONE);	uiItemR(column, &strip_ptr, "scale", 0, NULL, ICON_NONE);	uiItemR(column, &strip_ptr, "repeat", 0, NULL, ICON_NONE);}
开发者ID:mgschwan,项目名称:blensor,代码行数:39,


示例23: view3d_panel_tool_shelf

static void view3d_panel_tool_shelf(const bContext *C, Panel *pa){	SpaceLink *sl = CTX_wm_space_data(C);	SpaceType *st = NULL;	uiLayout *col;	const char *context = CTX_data_mode_string(C);		if (sl)		st = BKE_spacetype_from_id(sl->spacetype);		if (st && st->toolshelf.first) {		CustomTool *ct;				for (ct = st->toolshelf.first; ct; ct = ct->next) {			if (STREQLEN(context, ct->context, OP_MAX_TYPENAME)) {				col = uiLayoutColumn(pa->layout, true);				uiItemFullO(col, ct->opname, NULL, ICON_NONE, NULL, WM_OP_INVOKE_REGION_WIN, 0);			}		}	}	col = uiLayoutColumn(pa->layout, true);	uiDefBlockBut(uiLayoutGetBlock(pa->layout), tool_search_menu, &st->toolshelf, "Add Tool", 0, 0, UI_UNIT_X, UI_UNIT_Y, "Add Tool in shelf, gets saved in files");}
开发者ID:Andrewson3D,项目名称:blender-for-vray,代码行数:23,



注:本文中的uiLayoutColumn函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ uiLayoutGetBlock函数代码示例
C++ uiItemR函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。