Commit Graph

96 Commits

Author SHA1 Message Date
Lukas Toenne
fb2fd88463 Moved temporary drag operator link drawing from node tree to node space function. Otherwise these links are redrawn for each node group.
Changed selection flag used for the selected_nodes context property from SELECT to NODE_SELECT. These are just incidentally the same, but NODE_SELECT should be used for nodes.
2011-03-25 16:53:07 +00:00
Lukas Toenne
afd8865181 Added an optional label string to nodes. As pointed out by Sebastian Koenig, some nodes (in particular render layer nodes) need custom labels, but it is not possible to make any useful generic abbreviation. The label string can be used as a custom user-defined label in this case, without the ugly .xxx extensions needed for unique node names. When the label string is empty, the default type label will be used. 2011-03-17 10:11:12 +00:00
Lukas Toenne
24f72abf67 Fix for crashes due to links without fromnode pointers. This can happen with "unfinished" links created during the modal linking operator or when creating links from group tree inputs.
In addition don't store unfinished links in the nodetree->links list any more. This makes code a bit safer because all links in that list can be considered valid now. The temporary bNodeLinkDrag structs used by the modal linking operator are now also stored in a list in SpaceNode, so these links can be drawn too (this separation also allows different display of temporary links, e.g. currently they are drawn on top of all nodes).
2011-03-13 22:07:55 +00:00
a62f7422ff move do_version code under latest subversion bump. 2011-03-11 09:35:16 +00:00
ffb4cf6b32 Bugfix [#26167] Animating inside group nodes behaves strangely
One node update call (for nodes within group nodetrees) was using the
wrong nodetree (node-editor's nodetree, not the group) which meant
that the wrong RNA context for such nodes would get used, resulting in
errors when trying to keyframe such nodes.

Hopefully this is the last time I have to fix these bugs...
2011-03-11 03:27:38 +00:00
c7fccc84bf use NULL rather then 0 for pointer assignments & comparison, modifier, imbuf & editors. 2011-03-05 10:29:10 +00:00
Lukas Toenne
1c0b9dfdf1 Small fix for node drawing: nodes with no sockets now have a minimum height to avoid opengl drawing artifacts. 2011-03-01 10:08:09 +00:00
Nathan Letwory
95100afc12 doxygen: blender/editors tagged. 2011-02-27 20:29:51 +00:00
4ed5cd6cef == UI icons ==
* Change ICON_NULL --> ICON_NONE to avoid two #defines with the same meaning.
2011-02-27 18:03:19 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
Lukas Toenne
2d7b4d1579 Empty groups are now displayed with some basic spacing in edit mode. Long socket lists don't outgrow the group box any more; the box height is adjusted to fit the length of the socket list instead. 2011-02-22 21:22:27 +00:00
Lukas Toenne
b3c60ef3ea Added RNA functions to group tree inputs/outputs for exposing internal sockets or adding custom sockets by name and type (fixes #26171). Changed a few function names for groups for consistency. 2011-02-22 20:24:06 +00:00
Lukas Toenne
1c7a422f78 Big node groups improvement patch. Node group trees now have their own lists of input/output sockets. Those can be linked to internal nodes just like links between regular nodes. In addition group sockets can be renamed and have a defined order, which can be modified, and they can be removed again.
More details can be found in the patch tracker description (#24883) and on the code.blender.org development blog.
2011-02-21 13:47:49 +00:00
7a8a9b4875 Bugfix #26101
Node editor: icons in header sometimes were on wrong locations.
The click hotspots were also off...
2011-02-18 17:53:11 +00:00
8b7482892b made most variables which are only used in a single file and not defined in header static for blenlib, blenkernel and editors. 2011-02-14 17:55:27 +00:00
4124804b4e many functions in blender are not marked static but should be.
most local modifier,GPU,ImBuf and Interface functions are now static.

also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
2011-02-13 14:16:36 +00:00
Lukas Toenne
24db3d17aa Per-type node labels and customizable names. The label displayed in the node header is now by default the node type string. A custom label callback can be implemented to display more detailed information. This is currently used by group nodes, which display their internal tree name, and math, vector math, mix and filter nodes, which use their internal operation sub-type. Also the node tree selection/naming box for groups is now displayed only on open groups, to make it clearer that this is the internal type of the group and get a cleaner main tree. 2011-02-08 12:54:32 +00:00
Lukas Toenne
7215e5085e Changed alpha blending mode for image editor and node previews. This was using the sum of the image and alpha-faded background, leading to almost-white transparent areas. New code uses correct GL_SRC_ALPHA for the source image. 2011-01-31 11:57:37 +00:00
84a464ab62 several cosmetic changes to the node-editor
+ changed lines connecting nodes:
   they now use a linewidth of 1.5px for the light foreground and 4px for the dark background.
   this should fix node-lines not being visible on almost black or all white backdrops.
+ muted nodes now also show a red tinted header if they are hidden (collapsed)
+ both active and selected nodes show a (now properly antialiased) highlighting frame
+ fixed a small error in dropshadow code resulting in a gap at borders
+ fixed a tiny error for the collapsing indicators (triangles) - they were not symmetrical.

Ton will add proper theme colors for the node-editor in the coming days.
2011-01-09 18:59:35 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
b72bffd70c Bug report #25384
Node editor
Some nodes - when muted - didn't draw a red line to indicate
a pass-on action. Stil, the node then is muted and either passes
on a buffer of same type, or just black.

To more clearly indicate muting, it now draws the header in a 
reddish blended color too.
2010-12-27 09:43:22 +00:00
86b89af5dd use ICON_NULL define rather then 0, makes UI calls less confusing. (no functional change)
eg: uiItemR(row, &dvar_ptr, "type", 0, "", 0); -> uiItemR(row, &dvar_ptr, "type", 0, "", ICON_NULL);
2010-12-23 02:43:40 +00:00
6c32bffab0 Bugfix #24163a: Unable to animate INSIDE a group node in the compositor
(This commit doesn't fix the original bug reported in the report, but does fix one that was discovered while investigating that one) 

Trying to insert keyframes for nodes within group nodes was failing. 

This was caused by the ID-block for those UI widgets being set to the Node Editor's current ID-block (i.e. NodeTree) vs the NodeTree that those nodes lived in. The net result was that the paths couldn't be resolved, as the paths obtained for those widgets could only work up to the group's nodetree.
2010-12-07 11:03:53 +00:00
b110c7c8f2 Dependency graph: changed DAG_id_flush_update to DAG_id_tag_update. Now it
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.

This should help performance in python and animation editors, by making 
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.
2010-12-05 18:59:23 +00:00
b45c3363fd fix for some pedantic warnings. 2010-12-03 01:52:28 +00:00
f3e3d59f04 Fix #24435: GLSL 3D view lacks refresh on node setups, patch by Lukas Toenne. 2010-11-02 11:41:25 +00:00
3367ef8b65 initialize structs to zero rather then using memset(). 2010-10-31 15:39:37 +00:00
68dea6591d bugfix [#24247] Duplicating a Composite Group Node no User Count Icon
duplicating nodes wasnt changing the usercount of the referenced ID but file loading deleting was.

also removed some unused args.
2010-10-15 04:27:09 +00:00
a9197c3aa2 remove unused args in draw*.c and some in view*.c, tag some as UNUSED(). 2010-10-14 01:22:14 +00:00
9bb10e571b bugfix [#23868] NodeGroup font resolution problem when editing it 2010-10-08 22:33:43 +00:00
Nathan Letwory
2ac0a5637c Apply patch [#23779] Small cleanup with gl_roundbox*
By Luca Bonavita (mindrones)

The patch renames and moves gl_round_box, gl_round_box_shade and gl_round_box_vertical_shade to UI_interface.h, so the extern usages are not needed anymore.
2010-09-15 12:18:50 +00:00
d1759639dc - remove unused includes IMB_*, BIF_* & MEM_*
- remove MEM_guardedalloc.h from header files (include directly)
2010-08-16 05:46:10 +00:00
f2d77e4496 remove unused includes from editors/space_* 2010-08-08 08:14:07 +00:00
ff56197362 Don't draw nodes that are out of the view
speeds up node editor fairly considerably on a complex comp
2010-06-14 07:02:11 +00:00
39aac78b59 Fix [#20999] Node Header icons drawn wrong
Would like to re-do this stuff properly at some stage...
2010-05-03 08:43:00 +00:00
2d4d820b97 3dview --> view3d, patch by Jonathan Smith with small corrections and changes. 2010-04-28 07:25:39 +00:00
01e2de7c53 was using uninitialized string for node name display, also use sizeof() rather then fixed values. 2010-04-18 08:54:42 +00:00
c3f64b15ca Tweak/code shuffle to make disabled buttons draw nicer on nodes. 2010-04-06 09:05:00 +00:00
5304a65b50 Fix [#21516] UI artifacts in array modifier
Modify the glClearColor used to draw disabled buttons, when creating a ROUNDBOX
ui element. Made a convenience function and rippled it though, too.
2010-04-06 07:02:16 +00:00
1f9b03f64c Fix #21266: cyclic dependency checking for texture nodes was missing. 2010-04-05 17:30:11 +00:00
f4dcd1d570 Fix [#21706] edit field in nodegroup which overlaps a node, edits the field of the overlapped node 2010-03-29 07:15:12 +00:00
f46cccedf6 rna/py-api fix.
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.

next commit will make order of arguments consistant (currently only changed order that rna wrapped).
(commit 27674 and 27683 by Campbell from render25 branch)
2010-03-23 15:31:12 +00:00
f743b583bf more lint includes
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing:  UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
2010-03-23 14:09:09 +00:00
e381395522 Fix [#21288] Colour Ramp doesn't update output
Moved color ramp RNA to rna_color.c, was very texture-centric before.
2010-03-15 04:54:31 +00:00
bc9b873f60 bugfix [#20480] crash/lock-up for certain aspect ratios 2010-02-16 15:59:36 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
e939e74e88 Patch + Bugfix #20999: Node Header icons drawn wrong
Thanks to Thomas Raab (fando) for this patch.

This patch fixes the arrow showing whether nodes are expanded or not, and includes a fix for the other icons getting scaled twice.
2010-02-07 02:54:41 +00:00
87bbb2d827 WM Draw Methods now has a new option Automatic (default). This will
set the draw method to triple buffer or overlap depending on the
configuration. Ideally I could get all cases working well with triple
buffer but it's hard in practice. At the moment there are two cases
that use overlap instead:

* opensource ATI drives on linux
* windows software renderer

Also added a utility function to check GPU device/os/driver.
2010-01-31 23:45:51 +00:00
de56a63849 Fix [#20773] NODE ANIMATION: Animating node values broken
Now the compositing node tree will update on frame change if any of the 
nodes are animated.

This doesn't work for playback (i.e. alt a), that's better off waiting until we 
have some kind of frame caching system.
2010-01-27 05:42:17 +00:00
e74bc901d3 Fix [#20749] Mute doesnt refresh the compositor 2010-01-21 01:42:28 +00:00