Severin
5a17c9bcbc
Merge branch 'blender2.8' into temp-tab_drag_drop
2018-07-02 14:50:45 +02:00
Severin
9887b38692
Cleanup: Refactor button-group code
...
* Split generic button-group code from specific application
* Move button-group API to interface.c.
* Avoid struct abuse by using wrapper structs
* Naming, comments, etc.
2018-07-02 14:19:49 +02:00
Severin
9b2a4c6765
Fix error in reordering after new items were added.
2018-07-02 02:09:32 +02:00
Severin
edca1e3dbf
Fix error in last merge
...
Was freeing memory too early, it will be correctly freed a few lines later.
2018-07-02 01:51:58 +02:00
Severin
e5f49598b0
Merge branch 'blender2.8' into temp-tab_drag_drop
2018-06-30 21:12:19 +02:00
Julian Eisel
b088a38791
Merge branch 'topbar' into temp-tab_drag_drop
2018-05-13 14:57:06 +02:00
Julian Eisel
3d376dfd52
Merge branch 'blender2.8' into topbar
2018-05-13 14:56:46 +02:00
Julian Eisel
0bbc97b63a
Merge branch 'topbar' into temp-tab_drag_drop
2018-05-12 15:36:59 +02:00
Julian Eisel
ca4964a37a
Merge branch 'blender2.8' into topbar
...
Keeping the branch for now, I might delete it soon though.
2018-05-12 15:30:35 +02:00
Julian Eisel
54d99ef2c3
Fix unintentional changes from merge conflicts
2018-04-20 17:09:52 +02:00
Julian Eisel
7ac193cd7a
Merge branch 'blender2.8' into topbar
2018-04-20 16:05:07 +02:00
Julian Eisel
8ff385dd49
Move data of global areas into a separate struct
...
Made the struct accessible via a pointer in the ScrArea so that we can
use a simple NULL-check for this pointer to see if the area is global.
The struct is not written to files, meaning we have the freedom to do
changes to it without having to worry about compatibility.
2018-04-20 15:59:31 +02:00
Julian Eisel
17da4eadba
Fix hint for makesdna to not write top-bar struct commented out
...
Just did this for testing, but should not have ended up in the commit.
2018-04-20 14:43:54 +02:00
Julian Eisel
032d268313
Support hiding the lower sub-bar by dragging the area edge up
2018-04-20 14:43:54 +02:00
Julian Eisel
93271e5857
Bring back unintentionally removed error print
2018-04-20 14:43:54 +02:00
ab10cb5ca8
Topbar: disable redo properties in topbar entirely for now, behind #ifdef.
...
This is going to be different with the tool / command separation plans, so
let's not confuse users for now.
2018-04-20 14:33:48 +02:00
f8872e8576
Fix error from one of the merges, this line should have been removed.
2018-04-20 14:33:37 +02:00
52883dd4ed
Tweaks to topbar versioning code
...
* Don't write global area pointers at all, leaves .blends a little
cleaner without broken pointers.
* Don't call editors functions from blenloader.
* Fix black topbar when loading some existing 2.8 saved .blends.
2018-04-19 19:39:21 +02:00
3f977d18f0
Merge branch 'blender2.8' into topbar
2018-04-19 19:39:19 +02:00
Julian Eisel
90c1426870
Fix typo in #define
2018-04-19 15:25:16 +02:00
Julian Eisel
f44680b360
Make global areas use properly managed screen-verts and screen-edges
...
* Added functions for ScrAreaMap to avoid code duplication
* Fixed loading files without top-bar not adding top-bar at all
2018-04-19 15:22:58 +02:00
Julian Eisel
9571a2b27f
Add ScrAreaMap struct wrapping screen-areas, -edges and -vertices
...
Global areas will need to use the edge and vertex lists in future too.
Once the topbar branch is merged, we can also change bScreen to use this
struct, avoiding code duplication.
2018-04-19 12:42:58 +02:00
Julian Eisel
ff377b9c16
Don't allow changing area into topbar editor, hide its menu item
...
We probably want to allow Python scripts to check if an area is the
topbar or later the status bar. Not sure if that'll work right now, I
can't test since global areas are not iterable through BPY at all.
Maybe that's fine too ;)
2018-04-19 11:52:27 +02:00
Julian Eisel
72ca39f2a8
Disable toolshelf redo regions for now
...
Inteded to do that in rB223f4fa583cb386 already, but forgot to comment
out again after testing...
2018-04-19 11:03:04 +02:00
Julian Eisel
739d3bc534
Don't write topbar data into files (yet)
...
We decided to do this so we don't have to care much about compatibility. The
code for writing is just #ifdef'ed out so it can easily be brought back.
2018-04-19 11:02:39 +02:00
Julian Eisel
223f4fa583
Bring back toolshelf redo region, ifdef'ed out though
...
Just for until the design is better defined. Also moved SpaceTopBar
struct to a better place in its DNA file.
2018-04-18 23:40:35 +02:00
Julian Eisel
2fb94f457e
Only remove info editors on top of the window using the full width
...
Removing all info editors could cause issues. Wanted to get proper
layout resolving to work, but wasted more than an entire day on that.
Still planning to look into that again though.
2018-04-18 22:35:31 +02:00
Julian Eisel
6979de0c17
Fixup for last merge
2018-04-18 22:32:57 +02:00
Julian Eisel
d7a063f166
Merge branch 'blender2.8' into topbar
2018-04-18 18:31:29 +02:00
Julian Eisel
39784b70e2
Merge branch 'blender2.8' into topbar
2018-04-17 10:36:45 +02:00
Julian Eisel
e519bfea37
Initial working drag & drop for workspace tabs
...
Had to do quite some changes to get this to work, mainly because we'd
want to have the customized order written to files. Also wanted to use
existing wmDrag and wmDropBox code but modify it for our needs.
And of course, this should not just work for a single case, code should
be applicable to other areas as well.
Note that file read/write is not working (yet), neither is versioning, region
copying and deleting workspaces working.
Code is also very WIP, much of it is placed in temporary places and
such.
Once the basics are done, we can add nicer feeback during drag & drop.
2018-04-16 19:09:14 +02:00
78fdd1a6f0
Merge branch 'blender2.8' into topbar
2018-04-16 15:26:37 +02:00
Julian Eisel
d03634b7d9
Merge branch 'blender2.8' into topbar
2018-04-13 11:09:25 +02:00
Julian Eisel
3df270b1cf
Merge branch 'blender2.8' into topbar
2018-04-12 14:42:55 +02:00
Julian Eisel
4d250c4469
Merge branch 'blender2.8' into topbar
2018-04-08 15:01:51 +02:00
Julian Eisel
3a2d7ef541
Merge branch 'blender2.8' into topbar
2018-04-08 12:51:13 +02:00
Julian Eisel
aee5a80a83
Merge branch 'blender2.8' into topbar
2018-03-19 21:53:48 +01:00
Julian Eisel
ec6545efad
Merge branch 'blender2.8' into topbar
2018-02-21 18:22:25 +01:00
Julian Eisel
3f0871dfcf
Merge branch 'blender2.8' into topbar
2018-01-29 23:24:11 +01:00
Julian Eisel
53d94dafc4
Fix issues in .py after last merge
2017-12-07 18:02:12 +01:00
Julian Eisel
9d956c65a6
Merge branch 'blender2.8' into topbar
2017-12-06 17:42:39 +01:00
Julian Eisel
8f46733e77
Merge branch 'blender2.8' into topbar
2017-11-27 16:25:53 +01:00
Julian Eisel
e1f7ea1f0f
Get rid of left over from redo panel in clip editor
2017-11-23 20:50:12 +01:00
Julian Eisel
3ba7204927
Fix context issues when using operator repeat from top-bar
...
Use same fix for it as rB815eebbe17ab632.
2017-11-23 19:53:22 +01:00
Julian Eisel
dbbbc1649b
Fix glitches when using repeat button in top-bar
...
Repeat button is the one with the operator name in it.
In some cases it wouldn't work at all, e.g. Edit Mode toggle operator.
2017-11-23 19:00:51 +01:00
Julian Eisel
1b400c1364
Only add "More..." button when there are advanced operator properties
2017-11-23 18:26:50 +01:00
Julian Eisel
b8c2a79b87
Don't draw advanced operator properties in top-bar
2017-11-23 17:29:00 +01:00
Julian Eisel
400b610b7e
Merge branch 'blender2.8' into topbar
2017-11-23 17:15:12 +01:00
Julian Eisel
8f753ca09f
Merge branch 'blender2.8' into topbar
2017-11-18 05:01:49 +01:00
Julian Eisel
fbfe7cc50a
Cleanup: Use enum instead of char codes, naming
2017-11-18 04:54:52 +01:00
Julian Eisel
d824d1026f
Fix buttons for string properties not drawn nicely in top-bar
2017-11-18 04:12:49 +01:00
Julian Eisel
f25f7fd9f1
Merge branch 'blender2.8' into topbar
2017-11-15 23:52:16 +01:00
Julian Eisel
145077bea7
Fix top-bar showing "Redo Unsupported" in operator settings again
...
Own mistake in rBd6ca724a0e57791d96.
2017-10-28 01:06:07 +02:00
Julian Eisel
d6ca724a0e
Refactor operator settings drawing to support operator-macros
...
Settings of operator-macros wouldn't be shown in the top-bar.
2017-10-27 17:13:53 +02:00
Julian Eisel
08258f92e4
Workaround for 1 px button alignment issue
...
Needed to offset layout by one pixel to the right and top. Spent hours
debugging what causes this, without luck. For now a stupid workaround
should do it.
2017-10-27 15:41:33 +02:00
Julian Eisel
98e72c2860
Corrections to screen-vertex placement
2017-10-27 15:30:02 +02:00
Julian Eisel
72ef82ea56
Fix crash when trying to maximize area while hovering separator
2017-10-26 23:33:16 +02:00
Julian Eisel
27fac6b417
Forbid flipping regions in top-bar
2017-10-26 23:30:02 +02:00
Julian Eisel
4400973ae4
Merge branch 'blender2.8' into topbar
2017-10-26 23:16:33 +02:00
Julian Eisel
e1557b0d7a
Fix crash when trying to make top-bar area full-screen
...
Top-bar should never be full-screen, so disable operator.
2017-10-26 19:48:48 +02:00
Julian Eisel
5a5cdabb25
Merge branch 'blender2.8' into topbar
2017-10-25 22:04:27 +02:00
Julian Eisel
e3f8d16f4b
Merge branch 'blender2.8' into topbar
2017-10-25 17:34:55 +02:00
Julian Eisel
8b5bc54dd6
Merge branch 'blender2.8' into topbar
2017-10-24 22:43:30 +02:00
Julian Eisel
815eebbe17
Solve context issues when tweaking operator settings from top-bar
...
E.g. editing settings after transforming in 3D View would print
warnings, or in Movie Clip Editor wouldn't work at all.
We now store the area & region an operator was executed in and restore
it temporarily when redoing.
Ideally operators wouldn't depend on screen context for event-less
execution (exec callback), but we're far from that.
2017-10-24 17:53:32 +02:00
Julian Eisel
85f7ed1aa8
Remove operator redo panel from clip editor
2017-10-24 17:53:32 +02:00
Dalai Felinto
093de3e97b
Merge remote-tracking branch 'origin/blender2.8' into topbar
2017-10-23 18:49:56 -02:00
Julian Eisel
c0bc3c2e14
Move info editor removal versioning code to pre-lib-linking stage
2017-10-23 03:36:09 +02:00
Julian Eisel
1c9c25e5ae
Cleanup: Avoid duplicated topbar creation code in versioning code
2017-10-23 03:04:24 +02:00
Julian Eisel
3ddc222c28
Merge branch 'blender2.8' into topbar
2017-10-23 02:18:32 +02:00
Julian Eisel
006efb5fbc
Cleanup: Remove leftovers from when branch was based on workspace branch
2017-10-23 02:10:02 +02:00
Julian Eisel
d369421a1f
Fixes for last merge
2017-10-23 01:09:52 +02:00
Julian Eisel
94fd6df9fa
Merge branch 'blender2.8' into topbar
2017-10-23 00:23:10 +02:00
Julian Eisel
c9e67c49bb
Merge branch 'blender2.8' into topbar
2017-10-22 15:02:20 +02:00
Julian Eisel
01880202d8
Cleanup: Change flag name, add comment
2017-10-21 16:17:10 +02:00
Julian Eisel
689b52bf6a
Clarify region size refreshing code in ED_screen_ensure_updated
2017-10-21 16:05:02 +02:00
Julian Eisel
82b667bb00
Fix headers not using correct background color
2017-10-21 15:51:06 +02:00
Julian Eisel
3ebfd533ca
Top-bar operator settings: Add simple "More..." button to show all settings
...
Doesn't make much sense yet, but it will once operator settings are
split into basic and advanced ones (see D2883).
2017-10-21 15:36:03 +02:00
Julian Eisel
f2b31b510a
Fix errors in UI scripts after last merge
...
Patch by @sergey , with minor fixes.
2017-10-19 19:37:29 +02:00
Julian Eisel
69b4c9f6e5
Merge branch 'blender2.8' into topbar
2017-10-18 19:31:00 +02:00
Julian Eisel
c470620c16
Rework tab data storing to fix glitches & get rid of hacks
...
Fixes glitch where hovering an active tab would make the tab appear like
a hovered non-active one.
Still not the most beautiful solution, but it's as good as it can get
with our current UI code I'm afraid.
2017-10-15 15:06:13 +02:00
Julian Eisel
01cfcfaed6
Don't show redo buttons in top-bar if redo is not supported
2017-10-14 00:17:22 +02:00
Julian Eisel
6213b91952
Merge branch 'blender2.8' into topbar
2017-10-13 21:51:09 +02:00
Julian Eisel
7d97751b0c
Merge branch 'blender2.8' into topbar
2017-10-10 17:31:51 +02:00
Julian Eisel
0aaffc4f03
Remove ED_area_global_initialize
...
Should be fine if global areas call ED_area_initialize now.
2017-10-07 16:42:06 +02:00
Julian Eisel
f05bad92bf
Fix small jumps of area rectangles and contents
...
Should also fix some glitches/jumping on HiDPI screens.
Most of this is related cleanup, actual fix is rather small (check
changes in screen_vertices_scale and WM_window_screen_pixels_y)
2017-10-07 16:35:07 +02:00
Julian Eisel
a11ecbd8ef
Merge branch 'blender2.8' into topbar
2017-10-06 23:28:06 +02:00
Julian Eisel
33bed11248
Add 'x' icon to active workspace tab to delete workspace
...
Icon could be a bit nicer, but is consistent with other places in the
UI. Code is also a bit hacky, as usual in interface handling...
2017-10-06 17:02:22 +02:00
Julian Eisel
b11679cbf6
Merge branch 'blender2.8' into topbar
2017-10-05 21:20:45 +02:00
Julian Eisel
abb8265368
Merge branch 'blender2.8' into topbar
2017-10-04 19:10:12 +02:00
Julian Eisel
ce8b061216
Splash: Increase contrast of build info text
...
Now uses "Text Selected" theme color of "Menu Back" widget colors. Also
repositioned text slightly to have same margin on top and right (measured
by eye ;) ).
Tested with all bundled themes (contrib and no-contrib) and worked fine.
Considering that different splashes may need different colors for
overlaid text, using theme color may not be the best solution. I would
like to try how this works before adding an ugly way to force a certain
text color though.
Also tried different approaches, but this one I find the least ugly :S
As far as longer term plans go, we wanted to get a redesigned multi-page
splash screen anyway. At this point we can rethink how splash colors work
in general (i.e. auto-contrast, own splash theme colors, etc).
2017-09-23 15:57:11 +02:00
Julian Eisel
357fd70acf
Merge branch 'blender2.8' into topbar
2017-09-23 04:16:36 +02:00
Julian Eisel
6889c5d106
Merge branch 'blender2.8' into topbar
2017-09-20 21:46:32 +02:00
Julian Eisel
59f39055a8
Merge branch 'blender2.8' into topbar
2017-09-16 09:19:07 +02:00
Julian Eisel
e890a3f7cb
Merge branch 'blender2.8' into topbar
2017-09-06 00:18:39 +02:00
Julian Eisel
671a0dd85f
Merge branch 'blender2.8' into topbar
...
Conflicts:
source/blender/windowmanager/intern/wm_event_system.c
2017-08-28 02:11:19 +02:00
Julian Eisel
6d65c2cff6
Merge branch 'blender2.8' into topbar
...
Conflicts:
source/blender/editors/interface/resources.c
2017-08-18 21:00:39 +02:00
Julian Eisel
985c0cd39f
Fix touchpad scrolling not working in topbar
2017-08-12 18:14:22 +02:00
Julian Eisel
9f9866b617
Remove redundant setting of area size; Add comments
2017-08-02 03:24:46 +02:00
Julian Eisel
7ee8c576b3
Merge branch 'blender2.8' into topbar
2017-08-01 14:05:49 +02:00
Julian Eisel
cc3ae5415a
Show theme options for tags in UserPrefs
...
Also fix buffer out-of-range access and default color of tab outline.
2017-08-01 14:04:39 +02:00
Julian Eisel
f447c49772
Show 'Redo Last' button in the topbar, in front of redo settings
2017-07-29 20:47:44 +02:00
Julian Eisel
7ccf0c694f
Don't open old info editor topbar when going fullscreen
2017-07-29 19:45:44 +02:00
Julian Eisel
38ccbac482
Fixes for topbar layout updating
2017-07-29 18:54:32 +02:00
Julian Eisel
4ad68e00a9
Get file read/write and undo/redo to work
2017-07-28 19:14:32 +02:00
Julian Eisel
8489bdccce
Merge branch 'blender2.8' into topbar
2017-07-28 14:29:34 +02:00
Julian Eisel
c9a4f25594
Merge branch 'blender2.8' into topbar
2017-07-27 13:17:54 +02:00
Julian Eisel
0fe04593a8
Merge branch 'blender2.8' into topbar
...
Conflicts:
source/blender/windowmanager/intern/wm_event_system.c
2017-07-27 13:16:55 +02:00
Julian Eisel
63f54f6d8d
Fix scale glitches on startup & DPI change
2017-07-18 20:49:14 +02:00
Julian Eisel
be7bec33f6
Support renaming workspaces through tabs
...
Rename workspaces by double or ctrl clicking their tab.
2017-07-18 01:43:47 +02:00
Julian Eisel
f8cf3afb22
Minor corrections to tab drawing
2017-07-17 17:56:26 +02:00
e7d5cc8111
Merge branch 'blender2.8' into topbar
2017-07-17 16:05:58 +02:00
Julian Eisel
36806f935f
Make topbar scale correctly with DPI
2017-07-11 21:03:16 +02:00
Julian Eisel
9525a41c32
Split topbar into multiple aligned & independently scrollable sections
...
Done by adding multiple window/header region types.
2017-07-11 05:57:37 +02:00
Julian Eisel
dd1509de43
Merge branch 'blender2.8' into topbar
...
Conflicts:
source/blenderplayer/bad_level_call_stubs/stubs.c
2017-07-09 21:52:32 +02:00
Julian Eisel
26251c2673
Fix 'New Window' operator not creating topbar
2017-07-09 21:13:38 +02:00
Julian Eisel
84c2f941f5
Fix multiple tooltips appearing in topbar
...
Could happen on quick mouse moves throughout topbar regions.
2017-07-09 21:06:14 +02:00
Julian Eisel
bcb8bfdf60
Fix redraw glitches with popups overlapping topbar
2017-07-08 20:36:31 +02:00
Julian Eisel
bc1f409d1e
Use tabs to list workspaces in topbar
...
Did some additional changes to make tabs align properly and look good.
2017-07-08 19:08:43 +02:00
Julian Eisel
e463dc8dac
Merge branch 'blender2.8' into topbar
...
Conflicts:
source/blender/blenloader/intern/versioning_280.c
source/blenderplayer/bad_level_call_stubs/stubs.c
2017-07-08 16:09:25 +02:00
Julian Eisel
1675f7664d
Quick fix for huge preview button in topbar
2017-06-28 14:05:34 +02:00
Julian Eisel
50b2122c70
Fix error in versioning code after latest merge
2017-06-12 03:32:36 +02:00
Julian Eisel
a0cc71ce7a
Merge branch 'blender2.8' into topbar
...
Conflicts:
release/scripts/startup/bl_ui/space_info.py
source/blender/CMakeLists.txt
source/blender/blenkernel/BKE_library.h
source/blender/blenkernel/BKE_screen.h
source/blender/blenkernel/BKE_workspace.h
source/blender/blenkernel/intern/blendfile.c
source/blender/blenkernel/intern/idcode.c
source/blender/blenkernel/intern/library.c
source/blender/blenkernel/intern/library_query.c
source/blender/blenkernel/intern/screen.c
source/blender/blenkernel/intern/workspace.c
source/blender/blenloader/BLO_readfile.h
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/versioning_280.c
source/blender/blenloader/intern/versioning_defaults.c
source/blender/blenloader/intern/writefile.c
source/blender/editors/include/ED_scene.h
source/blender/editors/include/ED_screen.h
source/blender/editors/interface/interface_intern.h
source/blender/editors/interface/interface_layout.c
source/blender/editors/interface/interface_templates.c
source/blender/editors/interface/interface_utils.c
source/blender/editors/object/object_edit.c
source/blender/editors/scene/CMakeLists.txt
source/blender/editors/scene/scene_edit.c
source/blender/editors/screen/area.c
source/blender/editors/screen/screen_edit.c
source/blender/editors/screen/screen_intern.h
source/blender/editors/screen/screen_ops.c
source/blender/editors/screen/workspace_edit.c
source/blender/editors/screen/workspace_layout_edit.c
source/blender/editors/space_file/filesel.c
source/blender/editors/space_outliner/outliner_intern.h
source/blender/editors/space_view3d/view3d_header.c
source/blender/editors/transform/transform_manipulator.c
source/blender/editors/transform/transform_ops.c
source/blender/editors/transform/transform_orientations.c
source/blender/imbuf/intern/thumbs_blend.c
source/blender/makesdna/DNA_ID.h
source/blender/makesdna/intern/makesdna.c
source/blender/makesrna/intern/rna_internal.h
source/blender/makesrna/intern/rna_main.c
source/blender/makesrna/intern/rna_main_api.c
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_screen.c
source/blender/makesrna/intern/rna_space.c
source/blender/makesrna/intern/rna_space_api.c
source/blender/makesrna/intern/rna_wm.c
source/blender/makesrna/intern/rna_workspace.c
source/blender/python/intern/bpy_library_load.c
source/blender/windowmanager/intern/wm_draw.c
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_files_link.c
source/blender/windowmanager/intern/wm_window.c
source/blenderplayer/bad_level_call_stubs/stubs.c
2017-06-12 03:16:07 +02:00
Julian Eisel
f920910ca4
Update topbar theme colors
2017-05-11 21:16:57 +02:00
Julian Eisel
99e16eb2f6
Remove 3D View redo region/panel
2017-05-11 03:59:04 +02:00
Julian Eisel
5546dae589
Move around buttons in topbar
2017-05-11 03:42:48 +02:00
Julian Eisel
25556e9eaa
Show operator redo buttons in topbar
...
Just an initial implementation, could use some more work/polish.
2017-05-11 03:29:46 +02:00
Julian Eisel
bbbeae4531
Draw lower bar of top-bar using header drawing & definition code
2017-05-11 00:07:02 +02:00
Julian Eisel
bd0e396557
Fix compile error, cleanup
2017-05-10 23:21:50 +02:00
Julian Eisel
58c6d5c1c1
Merge branch 'workspaces' into topbar
2017-05-10 20:26:31 +02:00
Julian Eisel
3f5ddbf724
Merge branch 'blender2.8' into workspaces
2017-05-08 00:19:46 +02:00
Julian Eisel
b7c756985a
Revert redundant workaround for buffer overflow
...
This reverts commit 9ddb857c7a
.
Should be redundant after rB839bf119c1a774b475.
2017-05-07 23:57:08 +02:00
Julian Eisel
9b1a5b942c
Better fix for reading fullscreens from old files
...
Old fix was rBe38481e53b84db. We now solve this in a nicer way by doing
all workspace versioning after lib-linking.
2017-05-07 23:26:42 +02:00
Julian Eisel
99184b77f9
Fix empty default workspace configuration
...
The default workspace configuration bundled with Blender was supposed to
contain the pre-2.8 default screen-layouts converted to workspaces ("3D
View Full", "Animation", "Compositing", ...). Apparently I committed the
configuration with only one workspace though ("General"), so correcting
now.
2017-05-07 20:58:10 +02:00
Julian Eisel
d0f4a4fc67
Fix crash opening startup.blend as regular .blend (again)
...
Earlier fix could cause issues and was reverted in rBfc601d8eaa79a7.
Fixed now by avoiding CTX_ call when context hasn't been setup
completely yet.
I think it's fine to assume G.main equals CTX_data_main call at this point.
2017-05-07 02:00:21 +02:00
Julian Eisel
84f9c8e618
Fix (harmless) error print with multiple workspaces
...
Fixes issue reported in https://developer.blender.org/D2451#62155 .
Caused by rB8c250c9b73797520.
2017-05-07 01:44:03 +02:00
Julian Eisel
b10943568b
Fix failing assert on undo
...
Caused by rB9fa84d640f151 which set the deprecated pointer for forward
compatibility, leading to failling assertion of this pointer being NULL.
We now NULL the pointer again after writing to file.
2017-05-07 01:03:53 +02:00
Julian Eisel
31f9627d95
Merge branch 'blender2.8' into workspaces
2017-05-07 00:38:29 +02:00
Julian Eisel
b4ff8e9947
Fix crash when loading .blend with multiple scenes
2017-05-06 01:50:22 +02:00
Julian Eisel
9e9ebf6210
Fix crash loading pre-2.80 .blends
...
Caused by rBe0f4fbd45ad6e57b.
2017-05-05 21:46:35 +02:00
Julian Eisel
52c46ceede
Fix unfreed IDProperties, caused by branch merges
2017-05-05 21:42:22 +02:00
Julian Eisel
638a0410d1
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/versioning_280.c
2017-05-05 21:40:36 +02:00
Julian Eisel
33ab40504d
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/blenloader/intern/readfile.c
2017-05-05 13:20:41 +02:00
Julian Eisel
e0f4fbd45a
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/blenkernel/intern/scene.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/versioning_280.c
2017-05-03 23:49:53 +02:00
d0937aa54b
Merge branch '28' into workspaces
2017-05-02 10:06:02 +10:00
b7607949f7
Use iterator for for do_version_workspaces_after_lib_link
2017-05-02 09:16:50 +10:00
f7e57c4474
Disabling USE_WORKSPACE_MODE works again
2017-05-02 09:03:54 +10:00
d9d769732d
Use uppercase for macros
2017-05-02 09:00:58 +10:00
08d36367ed
Use DNA as a prefix, for workspace define too
2017-05-02 08:35:11 +10:00
e2b73c5bfd
Use DNA as a prefix
2017-05-02 08:33:23 +10:00
fca4be1c82
Cleanup: formatting
2017-05-02 08:32:06 +10:00
7502b07806
Clear win->screen pointer
...
Caused assert when loading
2017-05-02 07:22:05 +10:00
4d7d7f6e57
Merge branch '28' into workspaces
2017-05-02 07:03:53 +10:00
fc601d8eaa
Revert minor order change - wm_file_read_post
...
This function is meant to be last and I couldn't redo any bugs after
re-ordering.
2017-05-02 06:57:18 +10:00
4963a41382
Use Main as the first argument
2017-05-02 06:54:27 +10:00
e38481e53b
Fix for crash loading a file containing a temp (maximized) screen.
...
Not pretty, we need to remove temp workspaces after creating them
because of order-of-initialization logic here, see: D2451#62433
2017-05-02 06:46:20 +10:00
6f54ce516d
Re-order for versioning
2017-05-02 02:06:54 +10:00
1d12ab0281
Use printf instead of assert
...
I can only assume BLI_assert wasn't configured to call real asserts,
is seems this is more of a warning.
2017-05-02 01:54:14 +10:00
9ddb857c7a
Fix buffer overrun when setting the name
...
Would happen on default startup file. Strings allocations were set to
`but->hardmax + 1`, not `items->maxstrlen`
2017-05-02 01:18:44 +10:00
a2c8c32f01
Odd use of BLI_strncpy (just use strcpy)
2017-05-02 00:13:05 +10:00
41541b33f8
Merge branch '28' into workspaces
2017-05-01 23:51:09 +10:00
Julian Eisel
cdf7722bee
Merge branch 'workspaces' into topbar
...
Conflicts:
source/blender/blenloader/intern/versioning_280.c
source/blender/editors/screen/workspace_edit.c
2017-04-27 01:27:06 +02:00
Julian Eisel
7cb2f43b07
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/blenkernel/BKE_layer.h
source/blender/blenkernel/intern/layer.c
source/blender/blenkernel/intern/library_query.c
source/blender/editors/interface/interface_eyedropper.c
source/blender/editors/space_image/space_image.c
2017-04-26 21:54:28 +02:00
07f76baa86
App Templates: optionally use app-template path for workspaces
...
Also make WM_OT_save_workspace_file follow WM_OT_save_userpref logic
more closely.
2017-04-25 16:54:09 +10:00
a09609f21e
Minor changes only, use BKE prefix and remove nested header
2017-04-25 16:24:26 +10:00
63822449f9
Merge branch '28' into workspaces
2017-04-14 18:32:43 +10:00
1614853d6d
Merge branch 'blender2.8' into workspaces
2017-04-12 21:08:26 +10:00
Julian Eisel
0d122bb7b4
Merge branch 'blender2.8' into workspaces
2017-04-09 22:52:56 +02:00
Julian Eisel
9936f702ba
Fix missing workspace render-layer update when changing scene
2017-04-09 14:41:39 +02:00
Julian Eisel
3e77baafa7
Minor fix for notifiers & cleanup
2017-04-09 14:30:26 +02:00
Julian Eisel
4af46de05b
Merge branch 'blender2.8' into workspaces
2017-04-09 13:55:33 +02:00
6e12bd6cf2
Merge branch 'blender2.8' into workspaces
2017-04-09 16:12:07 +10:00
6525396057
Cleanup: use calloc for DNA data
...
ensures pad-members are set, avoids junk data in the file & quiets
memory checking tools.
2017-04-09 15:03:36 +10:00
7ab89c260e
Cleanup: use BLI_find util functions
2017-04-09 15:02:29 +10:00
Julian Eisel
4e7a99047f
Add/use utility macros for getters/setters in BKE_workspace.h
2017-04-08 17:42:29 +02:00
Julian Eisel
8c250c9b73
General cleanup of workspace files (naming, function ordering, etc)
2017-04-08 17:23:48 +02:00
fca0b1a790
Merge branch 'blender2.8' into workspaces
2017-04-08 14:22:24 +10:00
Julian Eisel
86d6ee427c
Sync with blender2.8, cleanup, remove unintentionally committed files
2017-04-07 17:54:08 +02:00
Julian Eisel
1042a22cbb
OpenGL: Get rid of PRIM_QUADS usage in manipulators code
2017-04-07 17:04:14 +02:00
Julian Eisel
5ec9754286
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/depsgraph/intern/depsgraph_tag.cc
source/blender/editors/screen/screen_edit.c
2017-04-07 16:30:18 +02:00
6a287b2551
Remove DNA_workspace_types
...
Accidentally committed after choosing not to rename
2017-04-07 10:06:24 +10:00
Julian Eisel
c749bfef52
Fix search menu using wrong search list in full window draw mode
...
Turns out we can't use static struct data here, so just adding logic for
freeing custom search data when needed.
2017-04-07 01:09:15 +02:00
Julian Eisel
b3e69525a4
Remove redundant TODO mark
...
workspaces.blend file contain nothing but workspaces (mostly), so there's
nothing to skip when reading.
2017-04-07 00:03:42 +02:00
Julian Eisel
8edb116a81
Don't append temporary screen-layouts with workspaces
2017-04-06 23:46:58 +02:00
Julian Eisel
1ad7359efd
Bundle default workspace user configuration file with Blender
...
This contains nothing but the old screen-layouts converted into
workspaces (and "Default" layout/workspace is now called "General").
Note that this adds the workspaces.blend directly, no datatoc conversion
is used like for default startup.blend. Mainly for these two reasons:
* Appending only supports regular .blend files
* Regular .blend is much smaller than datatoc one (181kB vs. 1.4MB)
2017-04-06 23:32:45 +02:00
Julian Eisel
711a2f59da
Rename workflow.blend -> workspaces.blend
...
Idea was that workflow.blend could be used for non-workspace data later,
but it's not worth the confusion it may cause.
2017-04-06 16:29:12 +02:00
Julian Eisel
6bf8907863
Fix crash opening startup.blend as regular .blend
...
Also fixed incorrect context change.
2017-04-06 15:32:14 +02:00
Julian Eisel
2825498518
Allow storing workspaces as part of user config (UI preliminary)
...
Adds a button in the User Preference Interface tab to save all
workspaces of the current file into [user config
path]/config/worflow.blend.
When clicking the button to add a new workspace, the menu will list
these then (and of course the option to duplicate current workspace).
Note that the operator currently overrides all workspaces in the config
file. There should be ways to add and remove workspaces from it instead,
but we need to figure out a good UI design for how to do that still.
2017-04-06 12:19:23 +02:00
9586e36fdc
Fix workspace mode syncing
...
Toggling off a mode didn't correctly update the workspace.
2017-04-05 16:39:01 +10:00
6fa06bdb79
Minor changes
...
- Remove utildefines from BKE_workspace header
- doxy example are typically for code examples, just use heading
- wrap args, avoid right shift
2017-04-04 23:49:21 +10:00
9fa84d640f
Fix files loading with wrong screen in 2.7x
2017-04-04 23:09:37 +10:00
cf47de1201
Place holder icon
...
Superficial but looks buggy having no icon
2017-04-04 23:09:37 +10:00
Julian Eisel
fd79a1139c
Rename WorkSpaceDataAssignment -> WorkSpaceDataRelation
2017-04-04 14:14:01 +02:00
Julian Eisel
d9b9f53090
Comments: Try to describe WorkSpaceDataAssignment struct better
2017-04-04 13:51:32 +02:00
Julian Eisel
6b29ce360b
Merge branch 'blender2.8' into workspaces
2017-04-04 13:05:02 +02:00
1a46fad5f8
Merge branch 'blender2.8' into workspaces
2017-04-04 17:52:50 +10:00
e7d47c2821
Indent to avoid conflicts
...
without this many lines differ from 2.8x
2017-04-04 17:37:20 +10:00
f737f04457
Merge branch 'blender2.8' into workspaces
2017-04-04 16:29:52 +10:00
924444a640
Error in last commit
2017-04-04 14:12:42 +10:00
125e74d02e
Alternate workaround for accessing window at startup
2017-04-04 14:09:48 +10:00
5089fdec18
Merge branch 'blender2.8' into workspaces
2017-04-04 13:58:19 +10:00
a1e997e0be
Merge branch 'blender2.8' into workspaces
2017-04-04 13:53:37 +10:00
76cbb49001
Merge branch 'blender2.8' into workspaces
2017-04-04 13:51:49 +10:00
3ba200ccfe
Merge branch 'blender2.8' into workspaces
2017-04-04 13:43:13 +10:00
d43aee8320
Merge branch 'blender2.8' into workspaces
2017-04-04 13:35:07 +10:00
7f842e5910
Merge branch 'blender2.8' into workspaces
2017-04-04 13:24:35 +10:00
a881f1da88
Workaround for crash using CTX_data_scene_layer
2017-04-04 13:23:11 +10:00
6b55cd9e08
Merge branch 'blender2.8' into workspaces
2017-04-04 11:54:48 +10:00
5c3641bee4
Merge branch 'blender2.8' into workspaces
2017-04-04 11:25:50 +10:00
fccfc3d76b
Merge branch 'blender2.8' into workspaces
2017-04-04 10:51:18 +10:00
Julian Eisel
bde3cda710
Rename editors/workspace back to editors/screen
...
We'll keep the name 'screen' to describe everything visible within the
window, including the global bars (top bar, status bar) which are not
part of bScreen struct (which describes the customizable screen-layout).
It's quite confusing to have the term 'screen' used for bScreen
operations too, but plan is to get rid of bScreen and move its data to
WorkSpace and WorkSpaceLayout (could be called ScreenLayout then).
2017-03-30 01:30:50 +02:00
Julian Eisel
5896e8ea4e
Fix incorrect operator name
2017-03-30 00:48:56 +02:00
Julian Eisel
2803e9ef67
Make branch work with recent changes from master/workspaces
2017-03-30 00:35:27 +02:00
Julian Eisel
0934578f8c
Merge branch 'workspaces' into topbar
...
Conflicts:
source/blender/blenloader/intern/versioning_280.c
2017-03-30 00:20:01 +02:00
Julian Eisel
ee1177c896
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/blenloader/intern/versioning_280.c
2017-03-30 00:08:55 +02:00
Julian Eisel
8255daa459
Make reading without UI work again (and undo)
...
We now try to read the workspace render-layer from the opened file and
activate it in all workspaces.
The workspace of the first stored window is used hereby, just like we use
the scene from the first window too.
2017-03-29 21:33:18 +02:00
Julian Eisel
d045feca5b
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/blenloader/intern/readfile.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/windowmanager/intern/wm_window.c
2017-03-28 23:33:13 +02:00
Julian Eisel
848df59773
Allow choosing workspace from user config when adding workspace
...
When clicking the '+' icon to add a new workspace, a menu is spawned
now, showing the option 'Duplicate Current', but also a list of all
workspaces stored in a 'workflow.blend' as part of the user
configuration (next to startup.blend and userpref.blend)
Note that this workflow.blend has to be stored manually into the user
config folder right now. Of course it's not supposed to stay like this,
it should all be handled through simple operators for adding and removing
workspaces from the user configuration. We need to find out how that
would work UI wise though (tm).
When choosing a workspace from the menu, Blender does nothing but
appending the workspace from the workflow.blend file.
This design allows having a custom workspace setup stored as part of
the user configuration, it's however still possible to append workspaces
from regular .blend files.
This is useful e.g. if users want to open their workspaces without
overriding the workflow.blend when using the machine of someone else.
2017-03-28 22:52:02 +02:00
Julian Eisel
c0638a4afa
Fix crashes when appending workspaces
...
Also removed FileData access in after-lib-link versioning code, which
can't be used reliably.
2017-03-28 21:20:44 +02:00
Julian Eisel
37c7cfd2c6
Merge branch 'blender2.8' into workspaces
2017-03-25 18:11:33 +01:00
Julian Eisel
dd3707a83d
Add missing file
2017-03-17 17:18:24 +01:00
Julian Eisel
b8de04423c
Merge branch 'blender2.8' into topbar
...
Conflicts:
source/blender/editors/interface/resources.c
2017-03-17 17:17:25 +01:00
Julian Eisel
6a42a17d18
Merge branch 'workspaces' into topbar
...
Conflicts:
source/blender/blenloader/intern/writefile.c
2017-03-17 16:19:13 +01:00
Julian Eisel
ae188045fc
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/blenloader/intern/writefile.c
Adapted branch to changes in blender2.8
2017-03-17 16:09:26 +01:00
Julian Eisel
ff67b9010c
Fix wrong render layer used for multi-window setups
2017-03-17 14:59:38 +01:00
Julian Eisel
88eafe078a
Fix crash when displaying tooltip of 'New Window' operator
2017-03-17 14:19:19 +01:00
Julian Eisel
6287d254b4
Avoid duplicating layout when activating workspace with used layout
...
We now fall-back to the first un-used layout we can find, we only create
a new one if none can be found.
2017-03-17 12:39:43 +01:00
Julian Eisel
5f8a1a40b7
Fix new window always duplicating active window instead of selected one
...
Also removed wrong assert.
2017-03-17 12:01:56 +01:00
Julian Eisel
49f001cd3a
Fix 'New Window' operator using name from screen, not layout
2017-03-17 11:41:06 +01:00
Julian Eisel
c7ee2d0e7c
Fix crash creating new window with existing layout
2017-03-16 22:58:52 +01:00
Julian Eisel
cf5238aab6
Uber-picky: Remove single pixel offset on topbar
2017-03-16 21:50:16 +01:00
Julian Eisel
bc4590cfe1
Remove all Info Editors when loading old files
...
Had to move some functions from ED to BKE to avoid having to duplicate
it all.
Works surprisingly well, didn't expect it to be that easy :)
2017-03-16 21:39:01 +01:00
Julian Eisel
dfb442bf4a
Merge branch 'workspaces' into topbar
...
Conflicts:
source/blender/blenloader/intern/versioning_280.c
source/blender/editors/workspace/screen_ops.c
source/blender/editors/workspace/workspace_layout_edit.c
source/blender/gpu/intern/gpu_framebuffer.c
source/blender/windowmanager/intern/wm.c
2017-03-16 20:14:13 +01:00
Julian Eisel
e5f3acb123
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/blenloader/intern/versioning_280.c
source/blenderplayer/bad_level_call_stubs/stubs.c
Also had to do some more changes in versioning_280.c to prevent startup
crash.
2017-03-16 19:54:35 +01:00
Julian Eisel
3c1b955b4d
Store active layout of each workspace per window
...
Allows users having a different active window stored even in inactive
workspaces per window. So that when activating a workspace the layout
is activated that was active the last time the workspace was active in
this window.
This is basically a per window, per workspace storage, but it's probably
how users would expect things to work.
Also, getting file read/write to work correctly was a challenge once
again, had to use global oldnew-map for pointer lookup on file read.
And another 'also': had to change order in which IDs are freed, so that
workspaces are freed after window-manager. Needed so that we can free
assignments/relations correctly when closing windows.
2017-03-16 18:50:53 +01:00
Julian Eisel
398c6541d0
Fix layout duplicating when changing/adding workspaces
...
Also fixes glitch with name clash handling when duplicating layout.
2017-03-15 15:17:57 +01:00
Julian Eisel
a283a7f29b
Merge branch 'blender2.8' into workspaces
2017-03-15 12:51:51 +01:00
Julian Eisel
a65880dc69
Fix layout being duplicated when activating already active workspace
2017-03-15 12:07:38 +01:00
Julian Eisel
c8f9be2930
Fix crashes when reading files saved with workspace branch
...
Wasn't easy to solve this and would prefer a more elegant solution,
commented in code what the issues are.
2017-03-15 12:01:34 +01:00
Julian Eisel
4a66507972
Only ensure unique layout name within workspace
...
For users it doesn't make sense to have screen-layout names unique in
the entire .blend, since they are just a sub-set of workspaces for them.
Uses RNA_def_struct_name_property to override the RNA name of bScreen
and makes sure template_ID gets the name from RNA, not from ID directly.
2017-03-14 16:50:10 +01:00
Julian Eisel
f97fc5f7d7
Support multi-window setups nicely
...
Opening new windows now never duplicates the workspace, you can now
show the same workspace in multiple windows. The layout is per window
though, so you can have the same workspace active in multiple windows,
but use a different active layout.
Opening windows behaves as follows now:
* Adapt behavior of rB7bc76f8a3c1416b
* Duplicating an area into a new window creates a new screen-layout, we agreed this is probably what users would want.
* Creating a new temporary window (e.g. UserPrefs) adds a new hidden screen-layout
* Enabling multi-view time-sequential creates a new window but doesn't duplicate screen-layout anymore
2017-03-14 12:59:59 +01:00
Julian Eisel
f01ec6e27e
Allow changing to workspace that's open in another window
...
This needs more work still.
2017-03-14 11:42:37 +01:00
Julian Eisel
6e0e156c83
Store active screen-layout per window
2017-03-13 23:21:52 +01:00
Julian Eisel
b8a36f1b07
Fix crashes on file read
2017-03-13 22:34:14 +01:00
Julian Eisel
333719193a
Move window level workspace data into struct managed by workspace code
2017-03-13 22:12:33 +01:00
Julian Eisel
8e529690cf
Merge branch 'blender2.8' into workspaces
2017-03-13 16:20:50 +01:00
Julian Eisel
40fea5ac9d
Get basic button handling in top bar to work
2017-03-13 16:14:03 +01:00
Julian Eisel
5c6eca9467
Support topbar drawing for all draw methods
2017-03-13 15:58:51 +01:00
Julian Eisel
982cd7ef5e
Add/use iterator for all areas in screen (not just screen-layout)
2017-03-13 15:28:40 +01:00
Julian Eisel
d7535d4374
Draw info editor buttons in topbar
...
Basically copies most of the UI definitions from info editor to top bar.
2017-03-13 14:58:18 +01:00
Julian Eisel
c642c2420b
Create global areas for all non-temp windows
2017-03-13 11:22:26 +01:00
Julian Eisel
0320b667ab
Get rid of hardcoded screen-size calculation
...
Screen size is the rectangle that can be used by screen layouts, so it
excludes global areas.
2017-03-13 11:04:00 +01:00
Julian Eisel
3ccc83f7bf
Merge branch 'workspaces' into topbar
...
Conflicts:
source/blender/blenloader/intern/readfile.h
source/blender/blenloader/intern/versioning_280.c
2017-03-13 10:53:02 +01:00
Julian Eisel
a0b275e8a4
Merge branch 'blender2.8' into workspaces
2017-03-13 10:05:18 +01:00
Julian Eisel
1a64b03963
Merge branch 'blender2.8' into workspaces
2017-03-11 17:46:10 +01:00
Julian Eisel
d88e033f30
Merge branch 'blender2.8' into workspaces
2017-03-09 12:13:33 +01:00
Julian Eisel
e081df9597
Merge branch 'blender2.8' into workspaces
2017-03-06 13:01:43 +01:00
Julian Eisel
d642b25440
Merge branch 'blender2.8' into workspaces
2017-03-03 13:02:32 +01:00
Julian Eisel
d8fe5e0ea1
Support render layer per workspace
...
We decided to keep workspace and scene render layer separate for now,
but in future they'll probably be either unified or there are going to
be ways to sync them.
2017-03-03 12:35:56 +01:00
Julian Eisel
5941d4e33b
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/makesrna/intern/rna_space.c
2017-03-02 19:26:29 +01:00
Dalai Felinto
c1f0139899
Merge remote-tracking branch 'origin/blender2.8' into workspaces
2017-02-28 14:25:14 +01:00
Julian Eisel
771610bbaf
Merge branch 'workspaces' into topbar
2017-02-28 01:30:56 +01:00
Julian Eisel
8e724b6043
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/editors/workspace/glutil.c
source/blender/gpu/intern/gpu_framebuffer.c
2017-02-28 01:29:53 +01:00
06c51dfa94
OpenGL: wm_gesture uses new imm mode
...
D2376 by @ianwill, part of T49043
review by @merwin
Box select, circle select, etc. Introducing the dashed-line shader! See D2376 for more info.
2017-02-28 01:21:33 +01:00
dabeaf806c
OpenColorIO: Update glsl implementation to be ready for ogl 3.3 core
2017-02-28 01:21:33 +01:00
4cc07f819b
Opengl glaDrawPixels removal: More descriptive setup.
2017-02-28 01:21:33 +01:00
Dalai Felinto
3414b883f6
Fix break in drawscredge_area_draw when in fullscreen
2017-02-28 01:21:32 +01:00
Dalai Felinto
a8ad736682
Fix T50714: Collections: Adding object to scene without an existing collection
...
This was causing blender to segfault.
We now add create a new collection and link to the layer before adding
the new object
(also included unittests, and requires updated lib/tests)
2017-02-28 01:21:31 +01:00
Dalai Felinto
a097123701
Unittest: split object_add in individual test files
...
(and small cleanup in unittest)
This is required to the upcoming unittest + bugfix
2017-02-28 01:21:31 +01:00
Dalai Felinto
aab365df37
Silence warnings in draw_armature.c
...
Also add note about incomplete functions there
2017-02-28 01:21:31 +01:00
9a2745b95a
OpenGl immediate mode: drawnode.c
...
Part of T49043
2017-02-28 01:21:31 +01:00
897bd04465
Add immDrawBorderCorners function
...
This replaces `glaDrawBorderCorners`.
2017-02-28 01:21:31 +01:00
863cc2ebec
Opengl glaDrawPixels removal: #if 0 glDrawPixels...
2017-02-28 01:21:30 +01:00
61a7ddb2b2
Opengl glaDrawPixels removal: mask_draw.c
2017-02-28 01:21:30 +01:00
31c4fef9c8
Opengl glaDrawPixels removal: image_draw.c
...
Using float buffer is still laggy because of the data volume we have to transfer to the GC.
2017-02-28 01:21:30 +01:00
acca78d651
Opengl glaDrawPixels removal: interface
2017-02-28 01:21:30 +01:00
15367dce76
Opengl glaDrawPixels removal: editors/spaces
2017-02-28 01:21:29 +01:00
e428dcaf0d
Opengl glaDrawPixels removal: windowmanager
2017-02-28 01:21:29 +01:00
bf9666ae5f
Opengl glaDrawPixels removal: editors/render
2017-02-28 01:21:29 +01:00
cd487d654d
OpenGL: Make glaDrawImBuf_glsl functions compatible with new immDrawPixels
...
And change relevant function calls.
2017-02-28 01:21:29 +01:00
61aa808a54
OpenGL immediate mode: new shader image shuffle color
...
new shader to draw an image with one isolated channel
2017-02-28 01:21:29 +01:00
8a1d44cbd2
OpenGL immediate mode: fix asserts in clip dopesheet
2017-02-28 01:21:29 +01:00
c228848ee5
OpenGL immediate mode: modifying immDrawPixelsTex
...
This way OCIO can be used with it.
2017-02-28 01:21:28 +01:00
70ceb16552
Clay Engine: fix format (3D instead of 2D)
2017-02-28 01:21:27 +01:00
28ccb92f2a
OpenGL immediate mode: gpu_framebuffer.c
...
I had to make some changes to the sep_gaussian_blur shader to be compliant for gl 3.3 leap
2017-02-28 01:21:27 +01:00
Julian Eisel
f1cedca822
Make global areas draw-able
2017-02-26 15:49:58 +01:00
Julian Eisel
79de361970
Add Top Bar space-type
2017-02-25 22:48:36 +01:00
Julian Eisel
2aa7e32bbd
Merge branch 'workspaces' into topbar
2017-02-25 22:12:45 +01:00
Julian Eisel
d0bfb9d1c6
Merge branch 'blender2.8' into workspaces
2017-02-25 22:12:25 +01:00
Julian Eisel
07a1c20398
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/blenloader/intern/readfile.c
source/blender/editors/workspace/screen_draw.c
2017-02-24 00:57:17 +01:00
Julian Eisel
95644ec046
Merge branch 'blender2.8' into workspaces
2017-02-12 21:57:10 +01:00
Julian Eisel
af0f9835f8
Merge branch 'blender2.8' into workspaces
2017-02-10 22:48:25 +01:00
Julian Eisel
6a73beed32
Force some free space in window for global topbar
2017-02-10 05:21:47 +01:00
Julian Eisel
92e4f85686
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/blenkernel/intern/context.c
source/blender/blenkernel/intern/depsgraph.c
source/blender/blenkernel/intern/library_query.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/readfile.h
source/blender/blenloader/intern/versioning_270.c
source/blender/editors/workspace/screen_context.c
source/blender/makesdna/intern/makesdna.c
source/blenderplayer/bad_level_call_stubs/stubs.c
2017-02-10 03:51:18 +01:00
Julian Eisel
2c400527c5
Change workspace allocation string
...
Makes it easier to grep.
2017-01-23 17:20:23 +01:00
Julian Eisel
b2c610c92e
Fix error on some compiler configurations
...
Sergey was having compile errors here, I couldn't recreate them though. It actually seems weird that we have to include BLI_utildefines.h before BLI_listbase.h, since the latter one already includes the former. Don't want to bother much with such minor issues though, so let's just make all compilers happy ;)
Patch is by @sergey himself.
2017-01-23 17:18:58 +01:00
Julian Eisel
63d69cf157
Merge branch 'blender2.8' into workspaces
2017-01-22 23:26:44 +01:00
Julian Eisel
9031d5cc8f
Fix and compile time option for workspace object-mode
...
Now we also sync the workspace object-mode when selecting a different object. It's still quite easy to get the mode of the active object and the one stored in the workspace out of sync, but fixing this would require a bunch of changes that would only be temporary anyway. Remember, plan is to make object-mode a purely workspace level option, not storing it within the object anymore.
The current object-mode syncing isn't supposed to stay there for long, I added a #define USE_WORKSPACE_MODE so we can disable it easily (DNA still stores it in files though).
2017-01-22 20:56:18 +01:00
Julian Eisel
f6ceeea4f7
Fix compile error and warning in release builds
2017-01-06 01:18:34 +01:00
Julian Eisel
f05b6afec5
More cleanup (renaming, comments, etc), added asserts
2017-01-05 23:34:50 +01:00
Julian Eisel
7c4a6963e2
Fix foreach_ID_link iterator, undo version bump, cleanup
2017-01-05 22:24:17 +01:00
Julian Eisel
ab46e5402a
Improve button placement in Info Editor
...
* Moved object mode menu in front of scene selection buttons.
* Added separators.
* Show scene selection buttons in editor full-screen
Of course this will all change again once the actual new top-bar is there.
2017-01-05 20:49:52 +01:00
Julian Eisel
2ae0736591
Remove accidentally committed files
2017-01-05 20:33:03 +01:00
Julian Eisel
7aa53f4520
Rename directory editors/screen/ to editors/workspace/
...
Screen is now considered lower level as workspaces, so screen files should rather be in a folder called 'workspace' instead of having workspace files in a 'screen' directory.
Also corrected doxygen info for editors/scene/.
2017-01-05 20:23:58 +01:00
Julian Eisel
66776bd2f7
Cleanup: Screen/workspace change functions, comments, naming, etc
2017-01-05 19:35:47 +01:00
Julian Eisel
e3c12bb139
Fix glitch when removing custom transform orientations
...
Scenes aren't stored within screens anymore, meaning we can't associate a 3D View in an inactive workspace/screen with a scene. This again means we can't identify the active transform orientation of a 3D View by its index (it might belong to a different scene) to unset it correctly when removing it. We now additionally store a pointer in the 3D View to the active custom orientation data to identify it.
2017-01-05 16:43:05 +01:00
Julian Eisel
7f173aea9f
Remove "Use Global Scene" option
...
This option isn't really needed now that scenes are only on window level.
2017-01-05 01:15:42 +01:00
Julian Eisel
dc76cd65cc
Remove redundant Depsgraph update call
...
Scene can't be changed by changing a screen or workspace anymore.
2017-01-05 01:00:06 +01:00
Julian Eisel
b809b02ea5
Merge branch 'blender2.8' into workspaces
2017-01-05 00:36:31 +01:00
Julian Eisel
ff829a365f
Fix minor mistake in python UI code
2017-01-05 00:17:51 +01:00
Julian Eisel
73eb89c643
Make object mode part of the workspace
...
Each workspace now stores the last set object mode type, activating a workspace also activates this mode. This commit also removes the object mode menu from the 3D view header, it's displayed in the info editor header now (and later will be in the top-bar).
We have one issue with Grease Pencil here though: The active grease pencil data-block depends on the active editor, and an editor can only enter GPencil edit mode if it has an active GPencil data-block. The new object mode menu is independent of 3D Views (or any other editor supporting GPencil) though. For now the menu simply won't show the GPencil edit mode item, it will be back once GPencil gets its own object type (as planned). GPencil still provides other ways to enter this mode.
2017-01-04 23:35:24 +01:00
Julian Eisel
9206c3d40a
Move workspace DNA back into DNA module
...
Added some special include guards to protect from access from outside of BKE_workspace and makesdna.
2017-01-04 02:21:43 +01:00
Julian Eisel
2ff803992c
Properly append screens with workspaces
...
Meaning screen data is now fully editable when appending a screen(-layout) indirectly by appending a workspace. Screens aren't visible while browsing inside .blend files, don't think we need/want that.
2017-01-04 01:12:23 +01:00
Julian Eisel
44088be22d
Merge branch 'blender2.8' into workspaces
2017-01-04 00:55:26 +01:00
Julian Eisel
18ae49948f
Make workspaces appendable, but non-linkable
...
This basically adds support for data-blocks that are either linkable, appendable or both and uses it for making workspaces appendable only. Note that non-appendable but linkable data-blocks aren't used currently and poorly tested, added note about this in code.
2017-01-04 00:47:28 +01:00
Julian Eisel
7cda7bd22e
Make workspaces append-/linkable
...
TODO:
* Make indirectly linked screens local.
* Make workspaces only appendable, it doesn't make sense to link them.
2017-01-02 02:50:11 +01:00
Julian Eisel
6e1db12a12
Rename "Default" workspace to "General"
...
Default screen-layout is still called "Default", not sure if we should change that. Ideally the layouts shouldn't be identified by names anyway.
2016-12-31 17:59:20 +01:00
Julian Eisel
fca739e731
Remove workspaces/screen-layouts from default startup.blend except of "Default" one
...
This means in the default startup.blend, there's only going to be one workspace and one screen-layout, both called "Default" (will be renamed to "General" though). Idea is that users will have the option add a pre-configured workspace from a menu. This avoids cluttering screen space with workspaces the user won't use even.
For compatibility, screen-layouts from old files are still converted to workspaces, this only affects the default startup.blend.
2016-12-31 17:54:23 +01:00
Julian Eisel
d19ebcbe07
Use new after lib-linking versioning
2016-12-31 15:42:42 +01:00
Julian Eisel
f6a43e07ab
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/editors/space_outliner/outliner_intern.h
2016-12-31 02:11:48 +01:00
Julian Eisel
cbaaeb8d9b
Deprecate Screen.scene completely
...
Removing a custom transform orientation is a bit broken right now because we don't know which scene is visible in hidden 3D Views. Think I know how to fix this, but want to go on with other stuff first.
2016-12-31 01:45:59 +01:00
Julian Eisel
0bd8b8fc71
Add/use function to get/set window workspace
2016-12-24 01:31:32 +01:00
Julian Eisel
f98cab1c4b
Remove temp workspace when closing temp window (e.g. UserPrefs)
...
The active screen of the workspace was freed which caused use-after-free in some corner-cases. Now workspace, workspace layout and the screen are deleted correctly.
2016-12-23 20:39:14 +01:00
Julian Eisel
4597b93b52
Make undo and file loading without UI work
...
Phew, that wasn't easy... lots of digging through history to understand why code is like it is... Also, the window manager relinking in blo_lib_link_screen_restore was never executed (I think) because WM is recreated during file read and was NULL at this point. Now we need to run it, so we simply pass old WM. Things are working quite stable now.
2016-12-23 20:29:21 +01:00
Julian Eisel
e9ba64cb9d
Fix incorrect RNA function parameter flags
2016-12-22 14:04:58 +01:00
Julian Eisel
52a80cfc6b
Merge branch 'blender2.8' into workspaces
...
Conflicts:
source/blender/editors/screen/screen_draw.c
source/blender/editors/screen/screen_edit.c
source/blender/editors/screen/screen_intern.h
2016-12-22 02:27:02 +01:00
Julian Eisel
b7e9161833
Make 3D View scene data syncing work with window level scenes.
...
We previously updated all screens - visible or not - when changing scene layers or scene camera. Now we only update visible ones and ensure a screen is updated when activating it. This simplifies things a bit and makes it possible to update 3D Views directly through notifiers.
2016-12-22 01:50:20 +01:00
Julian Eisel
40272b43c0
Fix crashes when opening new windows
2016-12-21 03:52:44 +01:00
Julian Eisel
61ac773ac1
Find correct scene from screen in RNA callbacks
2016-12-21 03:26:20 +01:00
Julian Eisel
3788eeaad8
Add missing CMakeLists file
2016-12-09 14:01:35 +01:00
Julian Eisel
bdc209faa9
Make WorkSpace and WorkSpaceLayout local DNA structs
...
Wanted to try this to avoid having (almost) global scope of DNA structs, instead, everything should be handled through BKE_workspace API.
2016-12-09 14:00:05 +01:00
Julian Eisel
f99252693b
File read/write support
2016-12-09 02:42:04 +01:00
Julian Eisel
f633873784
Move screen drawing functions into new screen_draw.c
2016-12-08 23:02:29 +01:00
Julian Eisel
944b920a5f
Move scene utils into own file (and improve API)
...
Previously they were kinda mixed with screen utils.
2016-12-08 22:44:34 +01:00
Julian Eisel
adfc9b8550
Make window-level scene switching work
2016-12-08 20:24:29 +01:00
Julian Eisel
56fa168eeb
Update RNA and UI scripts to use scene from window
2016-12-08 18:36:59 +01:00
Julian Eisel
c435be7f90
Main work to move active scene into window
...
Added scene as argument to area/region listeners. It's only used in a really few cases though, I might instead do a lookup.
2016-12-08 00:17:34 +01:00
Julian Eisel
6c64d85eb4
Rename notifier category: NC_SCREEN -> NC_WORKSPACE
2016-12-06 23:52:52 +01:00
Julian Eisel
bdaf74c05e
Fix crash when duplicating window
2016-12-06 23:43:40 +01:00
Julian Eisel
476aeb68f6
Manage screen creation within workspace-layout editor API
2016-12-06 23:14:50 +01:00
Julian Eisel
788319b13d
Move ED_workspace_layout API into own file
2016-12-06 17:43:30 +01:00
Julian Eisel
e56bfc27bd
Fix crash when deleting layouts
...
Behavior change: The layout we switch to when deleting another one now has to meet similar requirements as the one we choose for cycling layouts (Ctrl+Arrow left/right). E.g. no hidden screen will be activated.
2016-12-06 15:36:40 +01:00
Julian Eisel
db07bce54f
Fix crash when toggling area fullscreen
2016-12-06 02:42:05 +01:00
Julian Eisel
20809ec279
Make layout cycling work (Ctrl+Arrow Left/Right)
2016-12-06 01:58:22 +01:00
Julian Eisel
cd20acc529
Make changing layout within workspace work
2016-12-06 00:36:09 +01:00
Julian Eisel
fceaa8f959
Fix mistake in last (non-merge) commit
2016-12-05 18:26:23 +01:00
Julian Eisel
1d04d5f221
Merge branch 'blender2.8' into workspaces
2016-12-05 18:22:03 +01:00
Julian Eisel
387bc547cb
Make layout template only show layouts of current workspace
...
Mainly had to do some changes to template_ID to make this work. It now supports setting a custom RNA collection to search the ID's in.
2016-12-05 18:14:38 +01:00
Julian Eisel
436c1e0221
Make duplicating workspaces work
2016-12-04 23:08:41 +01:00
Julian Eisel
4552b8e1b5
Fixes for changing layout with workspace
...
Changing workspace should now change to the active layout of the workspace just fine.
Screen/workspace changing is still a bit hacky since we can't do it during normal handlers. Not sure how we could do it instead, for now I'm just copying hacks from screen changing.
2016-12-04 21:47:26 +01:00
Julian Eisel
5c0c1ef8fa
Fix layout changing when changing workspace
2016-12-04 00:51:21 +01:00
Julian Eisel
6b47c1d90b
Move active screen layout into the active workspace
...
Changing the workspace now also changes the layout. Note that there is a drawing issue here so you'll have to move the window to see the change. There is also a crash when closing Blender, need to investigate some more.
This commit also cares for compatibility, we simply create a new workspace for each screen layout of the old file.
I want to avoid any low-level access of workspace related data, instead everything should go through an API. Thus I also added some API functions for workspaces.
To store bScreens (aka layout) using a ListBase in a workspace, I had to add a bScreen wrapper, called WorkSpaceLayout.
2016-12-03 14:43:45 +01:00
Julian Eisel
b9d1d90b90
Add/use worksace API functions for adding/changing/deleting
...
Also removed anything that influences workspace user count, from now on it's simply *always* 1.
2016-12-02 17:40:31 +01:00
Julian Eisel
974c0d3828
Add workspace to bContext
2016-12-02 11:58:36 +01:00
Julian Eisel
8174f8fcbe
Add a workspace browsing button to Info Editor header
...
And actually make it work.
2016-12-02 11:33:58 +01:00
Julian Eisel
177b53fe86
Store a workspace in each window
...
Some details need to be figured out still (Windows should probably be able to share an active workspace).
2016-12-01 23:59:57 +01:00
Julian Eisel
7a20bbd30e
Initially add WorkSpace ID type
2016-12-01 22:54:25 +01:00