[Bf-blender-cvs] [4ce9447] pie-menus: remove rna_Space_transform_manipulators_update

Campbell Barton noreply at git.blender.org
Thu Aug 7 16:21:45 CEST 2014


Commit: 4ce9447b086112fafbb7c744a49e0dd5a0dc6536
Author: Campbell Barton
Date:   Fri Aug 8 00:09:38 2014 +1000
Branches: pie-menus
https://developer.blender.org/rB4ce9447b086112fafbb7c744a49e0dd5a0dc6536

remove rna_Space_transform_manipulators_update

Better not have settings manipulate eachother where possible,
in this case an operator could be used to manage mixing manipulator options

===================================================================

A	source/blender/editors/interface/interface_intern.h.orig

===================================================================

diff --git a/source/blender/editors/interface/interface_intern.h.orig b/source/blender/editors/interface/interface_intern.h.orig
new file mode 100644
index 0000000..d3ff1c7
--- /dev/null
+++ b/source/blender/editors/interface/interface_intern.h.orig
@@ -0,0 +1,677 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/interface/interface_intern.h
+ *  \ingroup edinterface
+ */
+
+
+#ifndef __INTERFACE_INTERN_H__
+#define __INTERFACE_INTERN_H__
+
+#include "BLI_compiler_attrs.h"
+#include "UI_resources.h"
+#include "RNA_types.h"
+
+struct ARegion;
+struct bContext;
+struct IDProperty;
+struct uiHandleButtonData;
+struct wmEvent;
+struct wmOperatorType;
+struct wmWindow;
+struct wmTimer;
+struct uiStyle;
+struct uiWidgetColors;
+struct uiLayout;
+struct bContextStore;
+struct Scene;
+struct ID;
+struct ImBuf;
+
+/* ****************** general defines ************** */
+
+#define RNA_NO_INDEX    -1
+#define RNA_ENUM_VALUE  -2
+
+/* visual types for drawing */
+/* for time being separated from functional types */
+typedef enum {
+	/* default */
+	UI_WTYPE_REGULAR,
+
+	/* standard set */
+	UI_WTYPE_LABEL,
+	UI_WTYPE_TOGGLE,
+	UI_WTYPE_OPTION,
+	UI_WTYPE_RADIO,
+	UI_WTYPE_NUMBER,
+	UI_WTYPE_SLIDER,
+	UI_WTYPE_EXEC,
+	UI_WTYPE_TOOLTIP,
+	
+	/* strings */
+	UI_WTYPE_NAME,
+	UI_WTYPE_NAME_LINK,
+	UI_WTYPE_POINTER_LINK,
+	UI_WTYPE_FILENAME,
+	
+	/* menus */
+	UI_WTYPE_MENU_RADIO,
+	UI_WTYPE_MENU_ICON_RADIO,
+	UI_WTYPE_MENU_POINTER_LINK,
+	UI_WTYPE_MENU_NODE_LINK,
+	
+	UI_WTYPE_PULLDOWN,
+	UI_WTYPE_MENU_ITEM,
+	UI_WTYPE_MENU_ITEM_RADIAL,
+	UI_WTYPE_MENU_BACK,
+
+	/* specials */
+	UI_WTYPE_ICON,
+	UI_WTYPE_SWATCH,
+	UI_WTYPE_RGB_PICKER,
+	UI_WTYPE_NORMAL,
+	UI_WTYPE_BOX,
+	UI_WTYPE_SCROLL,
+	UI_WTYPE_LISTITEM,
+	UI_WTYPE_PROGRESSBAR,
+} uiWidgetTypeEnum;
+
+/* menu scrolling */
+#define UI_MENU_SCROLL_ARROW	12
+#define UI_MENU_SCROLL_MOUSE	(UI_MENU_SCROLL_ARROW + 2)
+#define UI_MENU_SCROLL_PAD		4
+
+/* panel limits */
+#define UI_PANEL_MINX   100
+#define UI_PANEL_MINY   70
+
+/* uiBut->flag */
+enum {
+	UI_SELECT       = (1 << 0),  /* use when the button is pressed */
+	UI_SCROLLED     = (1 << 1),  /* temp hidden, scrolled away */
+	UI_ACTIVE       = (1 << 2),
+	UI_HAS_ICON     = (1 << 3),
+	UI_TEXTINPUT    = (1 << 4),
+	UI_HIDDEN       = (1 << 5),
+	/* warn: rest of uiBut->flag in UI_interface.h */
+};
+
+/* but->pie_dir */
+typedef enum RadialDirection {
+	UI_RADIAL_NONE  = -1,
+	UI_RADIAL_N     =  0,
+	UI_RADIAL_NE    =  1,
+	UI_RADIAL_E     =  2,
+	UI_RADIAL_SE    =  3,
+	UI_RADIAL_S     =  4,
+	UI_RADIAL_SW    =  5,
+	UI_RADIAL_W     =  6,
+	UI_RADIAL_NW    =  7,
+} RadialDirection;
+
+extern const char  ui_radial_dir_order[8];
+extern const char  ui_radial_dir_to_numpad[8];
+extern const short ui_radial_dir_to_angle_visual[8];
+extern const short ui_radial_dir_to_angle[8];
+
+/* internal panel drawing defines */
+#define PNL_GRID    (UI_UNIT_Y / 5) /* 4 default */
+#define PNL_HEADER  (UI_UNIT_Y + 4) /* 24 default */
+
+/* Button text selection:
+ * extension direction, selextend, inside ui_do_but_TEX */
+#define EXTEND_LEFT     1
+#define EXTEND_RIGHT    2
+
+/* for scope resize zone */
+#define SCOPE_RESIZE_PAD    9
+
+/* bit button defines */
+/* Bit operations */
+#define UI_BITBUT_TEST(a, b)    ( ( (a) & 1 << (b) ) != 0)
+#define UI_BITBUT_SET(a, b)     ( (a) | 1 << (b) )
+#define UI_BITBUT_CLR(a, b)     ( (a) & ~(1 << (b)) )
+/* bit-row */
+#define UI_BITBUT_ROW(min, max)  (((max) >= 31 ? 0xFFFFFFFF : (1 << (max + 1)) - 1) - ((min) ? ((1 << (min)) - 1) : 0) )
+
+/* split numbuts by ':' and align l/r */
+#define USE_NUMBUTS_LR_ALIGN
+
+/* PieMenuData->flags */
+enum {
+	UI_PIE_DEGREES_RANGE_LARGE  = (1 << 0),  /* pie menu item collision is detected at 90 degrees */
+	UI_PIE_INITIAL_DIRECTION    = (1 << 1),  /* use initial center of pie menu to calculate direction */
+	UI_PIE_3_ITEMS              = (1 << 2),  /* pie menu has only 3 items, careful when centering */
+	UI_PIE_INVALID_DIR          = (1 << 3),  /* mouse not far enough from center position  */
+	UI_PIE_FINISHED             = (1 << 4),  /* pie menu finished but we still wait for a release event  */
+	UI_PIE_CLICK_STYLE          = (1 << 5),  /* pie menu changed to click style, click to confirm  */
+	UI_PIE_ANIMATION_FINISHED   = (1 << 6),  /* pie animation finished, do not calculate any more motio  */
+};
+
+#define PIE_CLICK_THRESHOLD_SQ 50.0f
+
+typedef struct uiLinkLine {  /* only for draw/edit */
+	struct uiLinkLine *next, *prev;
+	struct uiBut *from, *to;
+	short flag, deactive;
+} uiLinkLine;
+
+typedef struct {
+	void **poin;        /* pointer to original pointer */
+	void ***ppoin;      /* pointer to original pointer-array */
+	short *totlink;     /* if pointer-array, here is the total */
+	
+	short maxlink, pad;
+	short fromcode, tocode;
+	
+	ListBase lines;
+} uiLink;
+
+struct uiBut {
+	struct uiBut *next, *prev;
+	int flag, drawflag;
+	eButType         type;
+	eButPointerType  pointype;
+	short bit, bitnr, retval, strwidth, alignnr;
+	short ofs, pos, selsta, selend;
+
+	char *str;
+	char strdata[UI_MAX_NAME_STR];
+	char drawstr[UI_MAX_DRAW_STR];
+
+	rctf rect;  /* block relative coords */
+
+	char *poin;
+	float hardmin, hardmax, softmin, softmax;
+
+	/* both these values use depends on the button type
+	 * (polymorphic struct or union would be nicer for this stuff) */
+
+	/* (type == HSVCUBE),      Use UI_GRAD_* values.
+	 * (type == NUM),        Use to store RNA 'step' value, for dragging and click-step.
+	 * (type == LABEL),      Use (a1 == 1.0f) to use a2 as a blending factor (wow, this is imaginative!).
+	 * (type == SCROLL)      Use as scroll size.
+	 * (type == SEARCH_MENU) Use as number or rows.
+	 * (type == COLOR)       Use as indication of color palette
+	 */
+	float a1;
+
+	/* (type == HSVCIRCLE ), Use to store the luminosity.
+	 * (type == NUM),        Use to store RNA 'precision' value, for dragging and click-step.
+	 * (type == LABEL),      If (a1 == 1.0f) use a2 as a blending factor.
+	 * (type == SEARCH_MENU) Use as number or columns.
+	 * (type == COLOR)       Use as indication of active palette color
+	 */
+	float a2;
+
+	unsigned char col[4];
+
+	uiButHandleFunc func;
+	void *func_arg1;
+	void *func_arg2;
+
+	uiButHandleNFunc funcN;
+	void *func_argN;
+
+	struct bContextStore *context;
+
+	uiButCompleteFunc autocomplete_func;
+	void *autofunc_arg;
+	
+	uiButSearchFunc search_func;
+	void *search_arg;
+
+	uiButHandleRenameFunc rename_func;
+	void *rename_arg1;
+	void *rename_orig;
+
+	uiLink *link;
+	short linkto[2];  /* region relative coords */
+	
+	const char *tip, *lockstr;
+
+	BIFIconID icon;
+	bool lock;
+	char dt; /* drawtype: UI_EMBOSS, UI_EMBOSSN ... etc, copied from the block */
+	signed char pie_dir; /* direction in a pie menu, used for collision detection (RadialDirection) */
+	char changed; /* could be made into a single flag */
+	unsigned char unit_type; /* so buttons can support unit systems which are not RNA */
+	short modifier_key;
+	short iconadd;
+
+	/* BLOCK data */
+	uiBlockCreateFunc block_create_func;
+
+	/* PULLDOWN/MENU data */
+	uiMenuCreateFunc menu_create_func;
+
+	/* RNA data */
+	struct PointerRNA rnapoin;
+	struct PropertyRNA *rnaprop;
+	int rnaindex;
+
+	struct PointerRNA rnasearchpoin;
+	struct PropertyRNA *rnasearchprop;
+
+	/* Operator data */
+	struct wmOperatorType *optype;
+	struct PointerRNA *opptr;
+	short opcontext;
+	unsigned char menu_key; /* 'a'-'z', always lower case */
+
+	/* Draggable data, type is WM_DRAG_... */
+	char dragtype;
+	void *dragpoin;
+	struct ImBuf *imb;
+	float imb_scale;
+	
+	/* active button data */
+	struct uiHandleButtonData *active;
+
+	/* Custom button data. */
+	void *custom_data;
+
+	char *editstr;
+	double *editval;
+	float *editvec;
+	void *editcoba;
+	void *editcumap;
+	
+	/* pointer back */
+	uiBlock *block;
+};
+
+struct PieMenuData {
+	float pie_dir[2];
+	float pie_center_init[2];
+	float pie_center_spawned[2];
+	int flags;
+	int event; /* initial event used to fire the pie menu, store here so we can query for release */
+	float alphafac;
+};
+
+struct uiBlock {
+	uiBlock *next, *prev;
+
+	ListBase buttons;
+	Panel *panel;
+	uiBlock *oldblock;
+
+	ListBase butstore;  /* UI_butstore_* runtime function */
+
+	ListBase layouts;
+	struct uiLayout *curlayout;
+
+	ListBase contexts;
+	
+	char name[UI_MAX_NAME_STR];
+	
+	float winmat[4][4];
+
+	rctf rect;
+	float aspect;
+
+	unsigned int puphash;  /* popup menu hash for memory */
+
+	uiButHandleFunc func;
+	void *func_arg1;
+	void *func_arg2;
+
+	uiButHandleNFunc funcN;
+	void *func_argN;
+
+	uiMenuHandleFunc butm_func;
+	void *butm_func_arg;
+
+	uiBlockHandleFunc handle_func;
+	void *handle_func_arg;
+	
+	/* custom extra handling */
+	int (*block_event_func)(const struct bContext *C, struct uiBlock *, const struct wmEvent *);
+	
+	/* extra draw function for custom blocks */
+	void (*drawextra)(const struct bContext *C, void *idv, void *arg1, void *arg2, rcti *rect);
+	void *drawextra_arg1;
+	void *drawextra_arg2;
+
+	int flag;
+	short alignnr;
+
+	char direction;
+	char dt; /* drawtype: UI_EMBOSS, UI_EMBOSSN ... etc, copied to buttons */
+	bool auto_open;
+	char _pad[7];
+	double auto_open_last;
+
+	const char *lockstr;
+
+	char lock;
+	char active;                /* to keep 

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list