Commit Graph

68 Commits

Author SHA1 Message Date
b3afbcab8f ListBase API: add utility api funcs for clearing and checking empty 2014-02-08 06:24:05 +11:00
ef765b3606 Fix [#37077] User prefs > Input and Outliner Keymaps mismatch in representation.
Remove KeyMap mode from outliner, was an old half-finished features redondant with user preferences settings...

Also moved key map item's "event type to map type" and map type defines at WM level, this is too much generic to be at RNA level.

Also added a check in versionning code to convert all outdated outliner modes to a valid one (seems old 'verse' ones were not handled as well).

Thanks to Brecht for reviews and advices!
2013-10-15 13:55:06 +00:00
f9f2e20739 A follow-up to Bug #37070: LineStyle appears in Outliner by default though Freestyle is not enabled.
Line style data blocks are shown in the outliner only when the Blender Internal is used.
2013-10-14 23:08:45 +00:00
7e64342f43 Fix for #37070: LineStyle appears in Outliner by default though Freestyle is not enabled. 2013-10-14 19:57:16 +00:00
8064989e7b fix regression [#36878], missing NULL checks for linestyle. 2013-09-30 08:43:22 +00:00
8b723dfafd Added better support for line styles in the Outliner. 2013-09-04 01:15:23 +00:00
8bdb1f6155 Get rid of madness about fnmatch: BLI_fnmatch did not do the OS checks, they had to be done in every file using fnmatch (autoexec.c did not, wonder how it could work under unix???).
Thanks to Brecht for noting this!
2013-08-27 18:29:30 +00:00
52eb61f84b Fix state losses for recursive outliner trees (e.g. datablocks editor)
In previous optimization in outliner I assumed that order in treehash was not important.
But testing outliner in datablocks mode revealed a problem: when user expands multiple recursive levels and then closes any element, it always closed the top level of recursion.
Now it should work fine with recursive trees.
Now treehash contains groups of elements indexed by (id,nr,type). Adding an element with the same (id,nr,type) results in appending it to existing group. No duplicates are possible in treehash.
This commit should also make lookups a little bit faster, because searching in small arrays by "used" is faster than searching in hashtable with duplicates by "id,nr,type,used".
2013-08-23 20:35:00 +00:00
49b0dbd3a3 Add comments for outliner's treestore and treehash (no functional changes) 2013-08-18 20:07:49 +00:00
fbb446dff6 add assert for hashes if an existing element is ever inserted into a ghash/edgehash.
the outliner does this intentionally, so add a flag to allow this situation optionally.
2013-08-18 00:36:04 +00:00
95dc1d922b Fix [36486] Outliner doesn't allow to expand Hierarchies of armature if it's present on 2 Scenes
This is done by fixing logic for finding the first unused element in treehash.
The blend file from [36486] also exposes a memleak, but it should be addressed separately.
2013-08-17 11:49:18 +00:00
dd037a85a0 code cleanup: remove unused define, correct header guard mismatch, add NULL check so DM_to_mesh() can have a NULL object passed (currently not used) and remove redundant NULL check. 2013-08-03 23:58:17 +00:00
Lukas Toenne
20a377f93a Fix #36288, Renderlayer toggles behave unexpected in Outliner. The outliner was using the wrong flag variable for toggling render layers, was setting pass flags instead of the layer on/off flag. 2013-08-03 15:00:22 +00:00
66a4077927 fix for [#36260] 2,300 Objects Makes Blender Unresponsive
- performance of outliner was low because of unoptimal data structures.
- now it uses BLI_mempool instead of custom mempool and GHash to make searches for duplicates faster.
- also fix undesired behaviour of BLI_mempool_as_arrayN

thanks to Campbell Barton and Lukas Tönne for helping me get a better fix put together.
2013-08-03 11:35:09 +00:00
793e17ef6c Remove superfluous iterations (caused by typo) and type casts in outliner
This significantly lowers the position of outliner_draw_tree_element in profiler
and partially fixes [#36260] (2,300 Objects Makes Blender Unresponsive)
2013-07-30 08:45:45 +00:00
33a9cb6caa minor changes for confusing code.
- memset() was argument was truncated.
- outliner had redundant NULL check.
- node texture was allocating memory to make a unique name which isnt needed for a fixed size string.
2013-07-29 04:45:40 +00:00
09aadea2cc remove unused code from object convert and indent. 2013-07-27 09:20:10 +00:00
397da50002 style cleanup: switch statements, include break statements within braces & indent.
also indent case's within the switch (we already did both of these almost everywhere)
2013-07-19 15:23:42 +00:00
925c5010e8 fix for checking char arrays against NULL, instead check their first character. also remove some dead code (return directly after return). 2013-07-16 11:42:07 +00:00
608dc78241 warning cleanup: assignment to unused vars, r56359 changes how brush falloff is used slightly but this isn't so important so just remove falloff adjustment. 2013-04-28 15:37:18 +00:00
628284ccda Bug fix #35124
Outliner was drawing "Animation" category even when no actions/strips/drivers existed.
Would happen after adding Action and unlinking it.
2013-04-28 09:16:10 +00:00
f09f2d1c31 Fix more UI i18n issues (reported by Leon Cheung). 2013-03-11 15:01:03 +00:00
ddddb7bab1 code cleanup: favor braces when blocks have mixed brace use. 2013-03-09 03:46:30 +00:00
5a90721098 Outliner fix:
New "Blender file" viewer now shows names of libraries better.
2012-12-27 19:07:16 +00:00
806720507e style cleanup: wrap long lines (>200) 2012-12-23 01:18:35 +00:00
aef4910eaf New Outliner "Blender File" option: the first entry couldn't be closed/re-opened. 2012-12-22 17:32:56 +00:00
82bbf467ca Reshuffled data view for Outliner.
- The new "Main Data" option is now under the category "Blender File".
- That category also displays the Linked Library files.
  (Including allows browsing what's used from this file)

Also fixed CTRL+click on names, crashed.
2012-12-22 16:49:50 +00:00
df6b0af04a replace RNA_ID_type_name() with BKE_idcode_to_name_plural() 2012-12-22 14:04:09 +00:00
c5cb2c8b33 From the long todo:
New Outliner mode: "Main Data".

This shows a flattened, non-hierarchical list of all linkable "ID" data in
your current project. It works fine on searches. Actually this is the
view on the "Main" database in Blender, the one that's saved in a .blend.

This is in general more useful than the "Datablocks" viewer,
which is not searchable, and shows every property of data as well.
2012-12-22 13:39:44 +00:00
0b9be70591 typo's and some style cleanup, also added asserts into BLI_vsnprintf and BLI_sprintfN when invalid args are given. 2012-11-28 06:43:04 +00:00
0e494b74c4 style cleanup 2012-10-26 04:14:10 +00:00
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
e8872a8ea2 style cleanup: if(); 2012-10-07 09:48:59 +00:00
aa2d84da37 style cleanup:
also remove some redundant conversions int -> short -> int
2012-09-09 00:00:21 +00:00
105b1031dd code cleanup: rename sequencer types to SEQ_TYPE_*** and use enums rather then defines. 2012-06-07 15:49:02 +00:00
b0de69b48f fix for sequencer selection and naming in the outliner, was broken since 2.5x 2012-05-29 05:45:06 +00:00
d4b6927179 remove NULL check in TREESTORE macro, the return NULL value wasny checked for by any callers (ie - it would crash later if the arg was NULL anyway)
also comment on the speed of check_persistent()
2012-05-27 14:43:18 +00:00
6ce6dfba16 - dont create scene.sequence_editor on read, means data-browser or autocomplete will allocate a sequencer.
... instead add scene.sequencer_editor_create / clear, these match id.animation_data_* functions.

- refactor for names, for scene level functions call them BKE_sequencer_*
2012-05-11 10:04:55 +00:00
d5b53420f6 style cleanup: outliner 2012-05-07 17:56:30 +00:00
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
41ebd0bb77 * Compile fix for recent Outliner header cleanup. 2012-04-26 11:48:36 +00:00
5b0fcbd8f9 outliner header cleanup (copy pasted headers when split up Im guessing) 2012-04-26 05:17:54 +00:00
bd7d3c5e9d removed unneeded fnmatch include from outliner, comment files as needing header cleanup. 2012-04-26 04:15:27 +00:00
ab4a2aaf4a style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:38:07 +00:00
2f348d8b5d style cleanup: mainly for mesh code, also some WM function use. 2012-03-24 02:51:46 +00:00
4f19c1a995 spelling cleanup 2012-03-18 07:38:51 +00:00
a2c182e923 style cleanup - use aligned * prefixed blocks for descriptive comments (was already used a lot and part of proposed style guide). 2012-03-03 16:31:46 +00:00
47c373c7a9 style cleanup (mostly whitespace) 2012-02-27 10:35:39 +00:00
9dc992a3fd Some small fixes to get things compiling on solaris with cmake.
There are also some changes that need to be done to libmv but I'm 
leaving those out so I can get it patched upstream first.

(Only works with gcc/g++ if we want to use sun's compiler we would need
to get rid of all of our annonymous structs which I don't think
we want to do at this point, example:

typedef struct wmNDOFMotionData {
        union {
                float tvec[3]; // translation
                struct { float tx, ty, tz; };   // this would need to be fixed
		// something like this or something similar:
                struct { float x, y, z; } t;
                };
...
)

Kent
2012-01-12 16:31:27 +00:00
fbc4846a6e dynamicpaint had some incorrect string sizes for layers names, use BLI string functions in more places too. 2012-01-11 12:56:31 +00:00