Commit: 7142b970853f209f6c43319b7f862bcbdbea3728 Author: Monique Dewanchand Date: Sat Jan 18 18:20:21 2014 +0100 https://developer.blender.org/rB7142b970853f209f6c43319b7f862bcbdbea3728
Make it possible to hide/unhide a node during node transform operations. During drag the H key can be used to toggle the hide flag of the selected nodes. This makes it easier to 'attach' nodes to available links in narrow places. =================================================================== M source/blender/editors/transform/transform.c M source/blender/editors/transform/transform.h M source/blender/editors/transform/transform_conversions.c =================================================================== diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 68fe1c4..59cb050 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -1438,6 +1438,13 @@ int transformEvent(TransInfo *t, const wmEvent *event) handled = true; } break; + case HKEY: + if (t->spacetype == SPACE_NODE) { + t->flag ^= T_TOGGLE_HIDDEN; + t->redraw |= TREDRAW_HARD; + handled = true; + } + break; default: break; } diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index 1e70529..5df6952 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -424,6 +424,7 @@ typedef struct TransInfo { /* alternative transformation. used to add offset to tracking markers */ #define T_ALT_TRANSFORM (1 << 24) +#define T_TOGGLE_HIDDEN (1 << 25) /* node editor: toggle state of the hidden flags */ /* TransInfo->modifiers */ #define MOD_CONSTRAINT_SELECT 0x01 @@ -472,6 +473,7 @@ typedef struct TransInfo { #define TD_MOVEHANDLE2 (1 << 18) #define TD_PBONE_LOCAL_MTX_P (1 << 19) /* exceptional case with pose bone rotating when a parent bone has 'Local Location' option enabled and rotating also transforms it. */ #define TD_PBONE_LOCAL_MTX_C (1 << 20) /* same as above but for a child bone */ +#define TD_HIDDEN (1 << 21) /* for hide toggling node editor */ /* transsnap->status */ #define SNAP_FORCED 1 diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 8c3fa77..0eddb68 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2375,6 +2375,7 @@ cleanup: void flushTransNodes(TransInfo *t) { const float dpi_fac = UI_DPI_FAC; + bool hidden_state; int a; TransData *td; TransData2D *td2d; @@ -2393,6 +2394,17 @@ void flushTransNodes(TransInfo *t) node->locx = td2d->loc[0] / dpi_fac; node->locy = td2d->loc[1] / dpi_fac; #endif + /* update node hidden state with transform data TD_HIDDEN + transformInfo T_TOGGLE_HIDDEN */ + hidden_state = (td->flag & TD_HIDDEN) > 0; + if (t->state != TRANS_CANCEL) { + hidden_state ^= (t->flag & T_TOGGLE_HIDDEN) > 0; + } + + if (hidden_state) { + node->flag |= NODE_HIDDEN; + } else { + node->flag &= ~NODE_HIDDEN; + } } /* handle intersection with noodles */ @@ -5987,6 +5999,9 @@ static void NodeToTransData(TransData *td, TransData2D *td2d, bNode *node, const td->ext = NULL; td->val = NULL; td->flag |= TD_SELECTED; + if(node->flag & NODE_HIDDEN){ + td->flag |= TD_HIDDEN; + } td->dist = 0.0; unit_m3(td->mtx); @@ -6021,6 +6036,8 @@ static void createTransNodeData(bContext *UNUSED(C), TransInfo *t) /* nodes dont support PET and probably never will */ t->flag &= ~T_PROP_EDIT_ALL; + /* initial: do not toggle hidden */ + t->flag &= ~T_TOGGLE_HIDDEN; /* set transform flags on nodes */ for (node = snode->edittree->nodes.first; node; node = node->next) { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs