[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