Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2013-11-12 22:18:04 +0400
committerLukas Toenne <lukas.toenne@googlemail.com>2013-11-12 22:18:04 +0400
commit4d4ef0434b0078364824c2fe5ebfb8153fb44956 (patch)
treed3f5d286cca7b7bfa34fab18c57e4a38da0f80e4 /source/blender/blenkernel
parent8663b940eda703c45baf664c9aa379a9ecb684f9 (diff)
Make dynamic node labels possible as a registerable function 'draw_label' (simple 'label' identifier is already in use, need to avoid API breakage). This should simply return a string. The dynamic label can still be overridden by the user-defined node.label string.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_node.h6
-rw-r--r--source/blender/blenkernel/intern/node.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 1fdceb872f9..b700cbb16db 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -175,7 +175,7 @@ typedef struct bNodeType {
void (*draw_backdrop)(struct SpaceNode *snode, struct ImBuf *backdrop, struct bNode *node, int x, int y);
/// Optional custom label function for the node header.
- void (*labelfunc)(struct bNode *node, char *label, int maxlen);
+ void (*labelfunc)(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen);
/// Optional custom resize handle polling.
int (*resize_area_func)(struct bNode *node, int x, int y);
/// Optional selection area polling.
@@ -556,7 +556,7 @@ void BKE_node_preview_set_pixel(struct bNodePreview *preview, const f
/* ************** NODE TYPE ACCESS *************** */
-void nodeLabel(struct bNode *node, char *label, int maxlen);
+void nodeLabel(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen);
int nodeGroupPoll(struct bNodeTree *nodetree, struct bNodeTree *grouptree);
@@ -571,7 +571,7 @@ void node_type_storage(struct bNodeType *ntype,
const char *storagename,
void (*freefunc)(struct bNode *node),
void (*copyfunc)(struct bNodeTree *dest_ntree, struct bNode *dest_node, struct bNode *src_node));
-void node_type_label(struct bNodeType *ntype, void (*labelfunc)(struct bNode *, char *label, int maxlen));
+void node_type_label(struct bNodeType *ntype, void (*labelfunc)(struct bNodeTree *ntree, struct bNode *, char *label, int maxlen));
void node_type_update(struct bNodeType *ntype,
void (*updatefunc)(struct bNodeTree *ntree, struct bNode *node),
void (*verifyfunc)(struct bNodeTree *ntree, struct bNode *node, struct ID *id));
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index d441b103743..869dbe032c9 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -3089,12 +3089,12 @@ void nodeSynchronizeID(bNode *node, bool copy_to_id)
/* ************* node type access ********** */
-void nodeLabel(bNode *node, char *label, int maxlen)
+void nodeLabel(bNodeTree *ntree, bNode *node, char *label, int maxlen)
{
if (node->label[0] != '\0')
BLI_strncpy(label, node->label, maxlen);
else if (node->typeinfo->labelfunc)
- node->typeinfo->labelfunc(node, label, maxlen);
+ node->typeinfo->labelfunc(ntree, node, label, maxlen);
else
BLI_strncpy(label, IFACE_(node->typeinfo->ui_name), maxlen);
}
@@ -3267,7 +3267,7 @@ void node_type_storage(bNodeType *ntype,
ntype->freefunc = freefunc;
}
-void node_type_label(struct bNodeType *ntype, void (*labelfunc)(struct bNode *, char *label, int maxlen))
+void node_type_label(struct bNodeType *ntype, void (*labelfunc)(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen))
{
ntype->labelfunc = labelfunc;
}