[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55097] trunk/blender/source/blender/ editors/gpencil/gpencil_buttons.c: GPencil feature request:
Ton Roosendaal
ton at blender.org
Thu Mar 7 19:01:10 CET 2013
Revision: 55097
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55097
Author: ton
Date: 2013-03-07 18:01:10 +0000 (Thu, 07 Mar 2013)
Log Message:
-----------
GPencil feature request:
Allow layers to be moved up and down, so you can control drawing order nicer.
Modified Paths:
--------------
trunk/blender/source/blender/editors/gpencil/gpencil_buttons.c
Modified: trunk/blender/source/blender/editors/gpencil/gpencil_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/gpencil/gpencil_buttons.c 2013-03-07 17:53:16 UTC (rev 55096)
+++ trunk/blender/source/blender/editors/gpencil/gpencil_buttons.c 2013-03-07 18:01:10 UTC (rev 55097)
@@ -86,7 +86,30 @@
WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
}
+/* move layer up */
+static void gp_ui_layer_up_cb(bContext *C, void *gpd_v, void *gpl_v)
+{
+ bGPdata *gpd = gpd_v;
+ bGPDlayer *gpl = gpl_v;
+
+ BLI_remlink(&gpd->layers, gpl);
+ BLI_insertlinkbefore(&gpd->layers, gpl->prev, gpl);
+
+ WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+}
+/* move layer down */
+static void gp_ui_layer_down_cb(bContext *C, void *gpd_v, void *gpl_v)
+{
+ bGPdata *gpd = gpd_v;
+ bGPDlayer *gpl = gpl_v;
+
+ BLI_remlink(&gpd->layers, gpl);
+ BLI_insertlinkafter(&gpd->layers, gpl->next, gpl);
+
+ WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+}
+
/* ------- Drawing Code ------- */
/* draw the controls for a given layer */
@@ -174,6 +197,18 @@
/* name */
uiItemR(sub, &ptr, "info", 0, "", ICON_NONE);
+ /* move up/down */
+ if (gpl->prev) {
+ but = uiDefIconBut(block, BUT, 0, ICON_TRIA_UP, 0, 0, UI_UNIT_X, UI_UNIT_Y,
+ NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Move layer up"));
+ uiButSetFunc(but, gp_ui_layer_up_cb, gpd, gpl);
+ }
+ if (gpl->next) {
+ but = uiDefIconBut(block, BUT, 0, ICON_TRIA_DOWN, 0, 0, UI_UNIT_X, UI_UNIT_Y,
+ NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Move layer down"));
+ uiButSetFunc(but, gp_ui_layer_down_cb, gpd, gpl);
+ }
+
/* delete 'button' */
uiBlockSetEmboss(block, UI_EMBOSSN);
/* right-align ............................... */
More information about the Bf-blender-cvs
mailing list