Commit Graph

129 Commits

Author SHA1 Message Date
Julian Eisel
9a35ad752e Cleanup: Get rid of context in editor 'new' callback
Requiring context means we can't easily create new editors to replace deprecated
ones in versioning code.
Think it's reasonable to give editors access to scene and area data for their
initial setup though. They mostly need it for setting "the view", as in,
scrolling values.

Also did minor cleanup in top-bar creation function.
2018-04-21 19:47:27 +02:00
Dalai Felinto
e4f2b2be26 Workspace: Move engines to workspace and Properties Editor cleanup
Engine is not stored in WorkSpaces. That defines the "context" engine, which
is used for the entire UI.

The engine used for the poll of nodes (add node menu, new nodes when "Use Nodes")
is obtained from context.

Introduce a ViewRender struct for viewport settings that are defined for
workspaces and scene. This struct will be populated with the hand-picked
settings that can be defined per workspace as per the 2.8 design.

* use_scene_settings
* properties editor: workshop + organize context path

Use Scene Settings
==================
For viewport drawing, Workspaces have an option to use the Scene render
settings (F12) instead of the viewport settings.

This way users can quickly preview the final render settings, engine and
View Layer. This will affect all the editors in that workspace, and it will be
clearly indicated in the top-bar.

Properties Editor: Add Workspace and organize context path
==========================================================

We now have the properties of:

Scene, Scene > Layer, Scene > World, Workspace

[Scene | Workspace] > Render Layer > Object
[Scene | Workspace] > Render Layer > Object > Data
(...)

Reviewers: Campbell Barton, Julian Eisel
Differential Revision: https://developer.blender.org/D2842
2017-10-16 17:29:04 -02:00
Bastien Montagne
44f91a9a18 Merge branch 'master' into blender2.8
Conflicts:
	source/blender/blenloader/intern/versioning_270.c
2017-05-22 22:49:02 +02:00
Bastien Montagne
9b29233800 Add PovRay syntax hilghting.
Since we already have a rather advanced PovRay exporter, makes sense to
also nicely display generated 'code'.

Patch by Maurice Raybaud (@mauriceraybaud), thanks!
Cleanup (mostly styling) by @mont29.
2017-05-22 22:08:02 +02:00
Campbell Barton
65aab6cdae Merge branch 'master' into blender2.8 2017-05-20 14:19:05 +10:00
Campbell Barton
81e584ed17 CMake: Use GCC7's -Wimplicit-fallthrough=5
Use to avoid accidental missing break statements,
use ATTR_FALLTHROUGH to suppress.
2017-05-20 14:01:03 +10:00
Campbell Barton
a9d6a07d78 Add scene argument for notifiers
From workspaces branch
2017-05-02 09:58:01 +10:00
Bastien Montagne
f738f66f1b Fix (unreported) wrong ID type check in Text editor's ID remap callback. 2016-06-27 17:42:38 +02:00
Bastien Montagne
897e97f078 ID-Remap - Step one: core work (cleanup and rework of generic ID datablock handling).
This commit changes a lot of how IDs are handled internally, especially the unlinking/freeing
processes. So far, this was very fuzy, to summarize cleanly deleting or replacing a datablock
was pretty much impossible, except for a few special cases.

Also, unlinking was handled by each datatype, in a rather messy and prone-to-errors way (quite
a few ID usages were missed or wrongly handled that way).

One of the main goal of id-remap branch was to cleanup this, and fatorize ID links handling
by using library_query utils to allow generic handling of those, which is now the case
(now, generic ID links handling is only "knwon" from readfile.c and library_query.c).

This commit also adds backends to allow live replacement and deletion of datablocks in Blender
(so-called 'remapping' process, where we replace all usages of a given ID pointer by a new one,
or NULL one in case of unlinking).

This will allow nice new features, like ability to easily reload or relocate libraries, real immediate
deletion of datablocks in blender, replacement of one datablock by another, etc.
Some of those are for next commits.

A word of warning: this commit is highly risky, because it affects potentially a lot in Blender core.
Though it was tested rather deeply, being totally impossible to check all possible ID usage cases,
it's likely there are some remaining issues and bugs in new code... Please report them! ;)

Review task: D2027 (https://developer.blender.org/D2027).
Reviewed by campbellbarton, thanks a bunch.
2016-06-22 17:53:50 +02:00
Julian Eisel
dd423a6818 Fix T48198: Missing plus sign to open the tool shelf in text editor
Did not happen when using screen layout saved in default startup.blend
2016-04-19 21:01:55 +02:00
Julian Eisel
175110ec87 Cleanup: 'area' vs 'region'
Apparently this is the result of some sloppiness during 2.5 project and since then it confused people who were trying to understand the area-region relation (myself included).

Sorry if this causes merge conflicts for anyone, but at some point we really had to do it :/
2015-11-28 17:22:44 +01:00
Julian Eisel
b05cf040cb Cleanup: Use bool instead of int 2015-07-01 21:48:42 +02:00
Campbell Barton
2b107beffd Fix T39144: text-select scrolling too fast
Use a timer to get predictable speed.
2014-11-10 20:59:59 +01:00
Campbell Barton
5ad353b6c2 Fix T41379: Drag n Drop .txt files text editor fails
by kevindietrich
2014-08-11 10:20:01 +10:00
Campbell Barton
fff18e049a Text Editor: dropping id's now paste in Python data path (like pyconsole) 2014-06-15 12:15:53 +10:00
Campbell Barton
617557b08e Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT define 2014-04-01 15:22:28 +11:00
Campbell Barton
bcb99b794d Text Editor: Remove key binding for text/object conversion
This can freeze Blender if you accidentally press ctrl+m on a large
script, conversion from text to 3d objects is fairly special case,
restricting access to the menu only.
2014-03-09 14:12:56 +11:00
Campbell Barton
03af4cbf91 Code cleanup: style 2014-03-07 13:28:39 +11:00
Brecht Van Lommel
19e74f1d4f Fix T37867: scroll bar in text editor shows the wrong mouse cursor.
Patch by chipgw.
2014-03-06 18:23:21 +01:00
Brecht Van Lommel
77719bfd06 File Browser: autocomplete keeps focus in the file field when entering a folder.
There is a bunch of internal refactoring going on too:
* No longer use operators to handle these directory and file fields, only makes
  things more complicated than they should be.
* Handle autocomplete partial/full match deeper in the UI code
* Directory field still does not keep focus, that's for another time to fix,
  you can already do pretty quick keyboard only navigation with the file field.

Reviewed By: elubie

Differential Revision: http://developer.blender.org/D29
2013-11-29 17:49:01 +01:00
Campbell Barton
304a32bf1f style cleanup 2013-10-23 02:52:27 +00:00
Sergey Sharybin
596982fe67 ID blocks can be pasted to text editor now with mouse drag and move 2013-10-18 17:35:20 +00:00
Sergey Sharybin
cb9439fc2f Fix #37048: Default keybindings: text.find_next in Text (Global), should be in Text Generic 2013-10-17 18:49:09 +00:00
Dalai Felinto
414fadb192 changing shortcut to toggle Properties in text editor (ctrl+t) 2013-09-30 14:33:18 +00:00
Dalai Felinto
aa70879df4 bugfix [#36724] Ctrl+F in text editor opens Toolbar, but no longer closes it
(added Ctrl+P as a toggle to show Properties)
2013-09-20 18:36:49 +00:00
Campbell Barton
7db1d6556d code cleanup: add break statements in switch ()'s, (even at the last case). 2013-07-21 08:16:37 +00:00
Brecht Van Lommel
02fbfa5c70 Fix unnecessary 3D viewport redraws in various cases, in particular when editing
node materials.

Area and region listener callbacks now get the screen and area pointers passed, so
they can do more fine grained checks to see if redraw is really needed, for example
depending on the 3D view drawtype.
2013-06-24 22:41:33 +00:00
Campbell Barton
ce39c806cf only use OSKEY as a replacement for CTRL on Apple (was already the case in many areas). 2013-05-11 01:12:29 +00:00
Campbell Barton
8f8613df90 fix for missing redraw in own commit r55554 (Ctrl+F text editor find).
since an event wasn't added to the queue no redraws we're done when the panel was already open, instead use a notifier.
2013-03-25 21:31:24 +00:00
Ton Roosendaal
1165236f69 Usablity:
In text editor, the CTRL+F find now opens property region (or keeps it) and
activates the search button for input.

That's already nice! But next step should be to do a search on exit of 
the button (or while typing). That's stuff I need Campbell to help with though.

Notes:
- Probably Py api for property buttons could get an "operator=" arg?
- The warning menu "not found" should go away
- I also suggest to make "wrap" search default for new editors
2013-03-24 13:43:40 +00:00
Ton Roosendaal
fbdec13005 Bug fix #34405
On opening a text editor for first time, and use search (CTRL+F) the scrollers were not
correct initialized, so the view would jump a bit on redraw.
2013-03-22 12:00:29 +00:00
Campbell Barton
aaa8a13c49 code cleanup: use const events for modal and invoke operators. 2013-03-13 09:03:46 +00:00
Campbell Barton
6fd5645d56 patch [#33888] Syntax Highlighting Changes
from Benjamin Tolputt (btolputt), (with minor changes)

adds support for LUA syntax highlighting.
2013-01-16 03:43:09 +00:00
Ton Roosendaal
71b9acaf76 Bug fix #33873
CTRL+F in text editor now also works in the button region.
Added generic keymap for it, could get other shortcuts as well. Will leave it to the
maintainers :)
2013-01-15 16:53:52 +00:00
Campbell Barton
4e1da54b5e add back initial autocomplete support.
- This doesnt use python as 2.4x did, instead it just autocompletes based on the text files unique identifiers so its useful for any language.
- key is same as console (Ctrl+Space)
2012-12-31 15:11:36 +00:00
Campbell Barton
e9c7aaaa3c patch [#33609] Syntax highlighting for OSL in Text Editor
from Patrick Boelens (senshi). with modifications to split it into its own function.

also added C style multi-line comment support /* ... */

I've left out the part of this patch that sets the language in the space, since I think this might be better stored in the text block.

For now it simply uses OSL syntax highlighting when the extension is '.osl'.
2012-12-29 18:25:03 +00:00
Campbell Barton
3134407c48 code cleanup: remove unneeded include's and rename some static functions in text_format_py.c 2012-12-19 04:23:02 +00:00
Campbell Barton
f43923d86d generalize formatting code so different formatters can be registered and each has their own source file,
Since we will likely have OSL formatting added soon.
2012-12-19 04:02:19 +00:00
Justin Dailey
c407c951a0 Text Editor: remove text marker functionality. Patch [#33251] 2012-11-23 14:33:14 +00:00
Campbell Barton
0e494b74c4 style cleanup 2012-10-26 04:14:10 +00:00
Campbell Barton
57c292daf0 style cleanup 2012-05-25 09:51:53 +00:00
Campbell Barton
b6edcc4b33 make text move up/down into a single operator with a direction property 2012-05-04 16:17:09 +00:00
Joshua Leung
2bc29ff426 Patch [#30654] Wiki Quick Hack: Text editor move lines up/down
Submitted by: Justin Dailey (dail)

Patch allows the current line (or selected lines) to be moved up and down with
Ctrl+Shift+Up and Ctrl+Shift+Down. Has undo/redo support and operators in python
menu.
2012-05-04 14:27:13 +00:00
Campbell Barton
44d81faa43 patch [#30821] Wiki Quick Hack: Text editor duplicate line
from Justin Dailey (dail)

made this Ctrl+D, to replace Delete.
2012-04-29 18:53:43 +00:00
Campbell Barton
cbf9c1eb48 style cleanup: text editor 2012-03-31 04:24:02 +00:00
Campbell Barton
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
Campbell Barton
2f348d8b5d style cleanup: mainly for mesh code, also some WM function use. 2012-03-24 02:51:46 +00:00
Campbell Barton
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
Campbell Barton
e1dd245a1e more keymap edits
- make sure defaults are not assumed (so reuse last settings doesnt
override)
- replace 0/1 for TRUE/FALSE defines.
2012-01-16 16:12:03 +00:00
Campbell Barton
3123ad12a3 middle mouse jump scrolling for text window. 2012-01-16 10:48:52 +00:00