12 years ago2.5
Ton Roosendaal [Mon, 16 Feb 2009 12:14:04 +0000 (12:14 +0000)]

Proper integration of File-selecting in WM. The communication
flow was flawed. :) Main problem was that filewindow can change
the screen context entirely, and should not do this directly on
a call inside an operator. Another problem was that the operator
ownership was handed over to SpaceFile, which is asking for
problems if you want to execute the operator with proper context
later on.

Solution is simple; window handlers already are valid owners of
operators and can manage context, so instead of directly talking
to the 'file space', you give the operator to a new handler this

    WM_event_add_fileselect(C, op);

This handler then listens to events (OPEN, EXEC, CANCEL) sent
by the WM or by the filewindow itself. This way local context
operators (like "open new image in imagewindow") will survive
a full-window fileselector fine, and in future also secondary
windows browsing files.

Two bugfixes included in this commit too:
- Add sequence menus in Sequencer used wrong context.
- When handler executes operators, it sets stored context now
  by first checking if this is still valid.

12 years agoF-Curve names: Experimental style 2
Joshua Leung [Mon, 16 Feb 2009 09:48:38 +0000 (09:48 +0000)]
F-Curve names: Experimental style 2

In this commit, I've experimented with the way in which F-Curve names (seen in DopeSheet/Graph Editor) are put together.

Now, F-Curve names are assembled in the form:
<array-index> <property-name> (<struct-name>)
i.e.  "X Location (Bone)", "Y Location (Object)"
"Specularity (VeryLongMaterialName)", etc.

The goal of this experiment was to hopefully make it quicker to do a left-margin scan and identify the defining differences between closely related F-Curves.
- This has the benefit of no (potential) need for horizontal scrolling back and forth to see and compare the end portions of names, and also to avoid the important parts of the name getting pushed out of the standard viewable area by some owner-struct long names.
- The downside is the loss of the clear hierarchial layout closely related to the RNA-paths used internally, that was provided by the old method. Also, this method also looks rather awkward on first glance, but if it improves efficiency of use, why not :)

12 years agoTweaked tooltips drawing - the previous correction I applied here for the width was...
Joshua Leung [Mon, 16 Feb 2009 09:03:32 +0000 (09:03 +0000)]
Tweaked tooltips drawing - the previous correction I applied here for the width was too excessive. That was based on some bug which seems to have disappeared now.

12 years ago2.5: Restoring Auto-Keyframing for Transforms
Joshua Leung [Mon, 16 Feb 2009 03:01:56 +0000 (03:01 +0000)]
2.5: Restoring Auto-Keyframing for Transforms

Auto-Keyframing does not work anywhere else yet, and probably won't for a while.

12 years agoGraph Editor Transform Bugfix:
Joshua Leung [Sun, 15 Feb 2009 23:48:05 +0000 (23:48 +0000)]
Graph Editor Transform Bugfix:

Now grabbing a single handle (auto/aligned) works correctly. One line of missing code mean that the handle recalculations were getting skipped.

12 years ago2.5
Joshua Leung [Sun, 15 Feb 2009 23:28:30 +0000 (23:28 +0000)]

Added RNA wrapping for F-Curve colour settings

12 years agoadded back sequencer RMB select Ctrl/Alt modifier keys.
Campbell Barton [Sun, 15 Feb 2009 17:24:09 +0000 (17:24 +0000)]
added back sequencer RMB select Ctrl/Alt modifier keys.

12 years ago2.5
Ton Roosendaal [Sun, 15 Feb 2009 14:01:27 +0000 (14:01 +0000)]

Accidentally closed comment twice, that doesnt compile!

12 years agothought the hashes were my own mistake from typing python in the wrong window but...
Campbell Barton [Sun, 15 Feb 2009 13:53:26 +0000 (13:53 +0000)]
thought the hashes were my own mistake from typing python in the wrong window but turns out the pre-processor uses them.

12 years ago2.5
Ton Roosendaal [Sun, 15 Feb 2009 13:09:19 +0000 (13:09 +0000)]

Anim playback now uses "Sync" option, skipping frames to match
real time (as set by the frames/sec button).

This is a quicky for tests with audio. Note that the real time
in seconds to update sound to in ED_update_for_newframe() would be:

(scene->r.cfra / FPS) + screen->animtimer->duration

Also this can have a slight inaccuracy, the time between the timer
handler and the ED_update_for_newframe() notifier is not known,
but in general nearly zero. A better implementation is possible, but
thats for later. :)

12 years ago2.5
Ton Roosendaal [Sun, 15 Feb 2009 11:41:22 +0000 (11:41 +0000)]

Graph editor: added refresh tagging on initialize; this is called
on browsing space types, as well on read files or switch screens.

(Makes the fancy fluorescent rainbow colors in channels appear!)

12 years agoGraph Editor: F-Curve Colouring
Joshua Leung [Sun, 15 Feb 2009 10:58:24 +0000 (10:58 +0000)]
Graph Editor: F-Curve Colouring

Now F-Curve channels in channels region are drawn with the same colour as their respective curve is drawn in the curves area. I've had to make a compromise to store such colour info in F-Curves themselves, which is not terribly ideal if the F-Curve gets reused in some way. However, for now, this will do (special tweaks can be made to make this work better though).

I've also added a colour-determination mode per curve which should in future allow more control over this. By default, all curves still use the old 'rainbow' style. The available types area:
* Old Rainbow - Colour is determined 'automatically' using a magic method which uses curve position + total curves to generate a colour.
* Auto RGB - Color is determined using the 'array index' stored in F-Curve for data-access. An unresolved issue with this is that all the curves with this will end up with exactly the same colour, leading to confusion (i.e. all location.x and scale.x properties could potentially all be the same red colour).
* Custom colour - self explanatory

Currently, there's a minor bug when loading old files where the colours don't get initialised yet. For now, just clicking in the Graph Editor after file-load will solve any of these problems.
Ton: it looks like area->refresh() isn't getting called after file read.

12 years agoKeying Sets: Added 'remove selected from active set' (Alt-K) operator in Outliner
Joshua Leung [Sun, 15 Feb 2009 07:00:13 +0000 (07:00 +0000)]
Keying Sets: Added 'remove selected from active set' (Alt-K) operator in Outliner

* Cleaned up the helper functions for the Outliner operators which deal with Keying Sets
* Fixed a few minor bugs in the Keying Sets API that won't show up with the current tools, but may crop up later
* Added a new method to find a 'matching' path in a Keying Set. Now adding a new path to a Keying Set will firstly check if there is any similar path already, and skip adding another path.

12 years ago 2.5
Michael Fox [Sat, 14 Feb 2009 23:21:39 +0000 (23:21 +0000)]
- made the armature selection ops use the new editbone/pchan context loops and a little house cleaning

12 years agoadded error reporting to edit mesh
Shaul Kedem [Sat, 14 Feb 2009 21:31:34 +0000 (21:31 +0000)]
added error reporting to edit mesh

12 years ago2.5
Ton Roosendaal [Sat, 14 Feb 2009 18:31:19 +0000 (18:31 +0000)]

Test: making screencast movies inside Blender!
Hotkey: CTRL+F3. Stop with ESC

Keep in mind it's unfinished :)

Just nice to see how simple cleaner code with the new event
system and job manager can be put to work!

- it uses currently output directory and image/movie
  settings from scene. No buttons for this yet.
- Framerate is hardcoded 10 fps
- Thread job takes care of open/write/close movie
  or save image files.
- For speed it uses glReadPixels from backbuffer. Have
  to consult Brecht for nifty triple buffer trick.
- On file reads it stops now.

12 years ago2.5
Ton Roosendaal [Sat, 14 Feb 2009 16:43:02 +0000 (16:43 +0000)]

Making screenshots back. CTRL+F3 does full window now.
Filewindow doesn't show image type, nor does single-area
work now. Need this commit for test in render crashes... :)

12 years ago2.5
Ton Roosendaal [Sat, 14 Feb 2009 14:25:48 +0000 (14:25 +0000)]


It appeared all load/save went via 1 call, so the 'OK save over' menu
popped up on loading files too.
Added check in the function for saving... bit weak, could become an
argument for ED_fileselect.

Also renamed file operators to conform to others.

12 years ago2.5
Ton Roosendaal [Sat, 14 Feb 2009 13:18:18 +0000 (13:18 +0000)]

Node editor: adding node sends proper redraw now, and calls
the old 'auto connect' to make it link to active node.

12 years ago2.5
Ton Roosendaal [Sat, 14 Feb 2009 13:07:09 +0000 (13:07 +0000)]

View3D: snap menu (SHIFT+S) back.

All options are own operators, a (temp?) menu collects them all.
Note that the operators have a full name, for the menu it seems
too much; still I'd prefer a way to name operators in a way
it fits everywhere. That will make a unified translation system
possible for example.

Also: this code was needed to get 'center view' (numpad dot) in
editmode to work.

Last note; it uses old transform code to gather vertex info.
This is fully local to this C file, and quite simple to replace
in future with new transform.

12 years ago2.5
Ton Roosendaal [Sat, 14 Feb 2009 10:03:24 +0000 (10:03 +0000)]

- Localview in 3d window back.
  Note: it puts entire area on localview, so it works nice for
  4-split views as well.

- Added 'save over' menu in filewindow F2 operator. Mostly to
  comply to 2.48... such things can be on the review list.

12 years ago2.5 Bugfixes:
Joshua Leung [Sat, 14 Feb 2009 07:52:25 +0000 (07:52 +0000)]
2.5 Bugfixes:

* Removed unnecessary define for context loop (editable posechannels)

* Fixed crash in animation-channel filtering - missing check for no world animation.

12 years ago2.5 - Adding context iterators for visible/editable (selection is irrelevant) for...
Joshua Leung [Sat, 14 Feb 2009 07:27:12 +0000 (07:27 +0000)]
2.5 - Adding context iterators for visible/editable (selection is irrelevant) for bones and pose-channels.

I'm not totally sure that these are needed, though it does make some tools simpler.

12 years agoBugfix: 'Legacy' Insert Keyframe operator works again... It's future is still uncerta...
Joshua Leung [Fri, 13 Feb 2009 21:40:07 +0000 (21:40 +0000)]
Bugfix: 'Legacy' Insert Keyframe operator works again... It's future is still uncertain though.

12 years ago2.5: Curve edit mode add vertex and add menus now work. Also
Brecht Van Lommel [Fri, 13 Feb 2009 17:37:01 +0000 (17:37 +0000)]
2.5: Curve edit mode add vertex and add menus now work. Also
fixed an issue where sublevel menus did not get right operator

12 years ago2.5: update cmake for rna_animation.c.
Brecht Van Lommel [Fri, 13 Feb 2009 16:05:42 +0000 (16:05 +0000)]
2.5: update cmake for rna_animation.c.

12 years ago2.5: Keyingsets now can construct rna paths including pointers
Brecht Van Lommel [Fri, 13 Feb 2009 14:48:38 +0000 (14:48 +0000)]
2.5: Keyingsets now can construct rna paths including pointers
and collections, which means keying for example object game
settings or constraint properties should work.

12 years agoselect left/right of active sequence strip
Campbell Barton [Fri, 13 Feb 2009 14:16:56 +0000 (14:16 +0000)]
select left/right of active sequence strip

12 years ago2.5
Ton Roosendaal [Fri, 13 Feb 2009 13:55:57 +0000 (13:55 +0000)]

Bugfix: menus in "screen space" could go wrong because the code
accidentally used window->winid instead of screen->mainwin id.
(the first is window id, the 2nd wm subwindow id. On start both
are one, which made it not appear immediately).

12 years ago2.5
Ton Roosendaal [Fri, 13 Feb 2009 13:33:01 +0000 (13:33 +0000)]

feature restored: window title shows file name,
if saved/loaded.

12 years ago2.5
Ton Roosendaal [Fri, 13 Feb 2009 13:04:48 +0000 (13:04 +0000)]

Feature restored: save file for the first time automatically names it
untitled.blend, prevents to accidentally save over last saved

12 years agoKeying Sets: Insert/Delete Keyframe Operator Buttons
Joshua Leung [Fri, 13 Feb 2009 09:46:08 +0000 (09:46 +0000)]
Keying Sets: Insert/Delete Keyframe Operator Buttons

* Insert/Delete keyframe buttons in the TimeLine work again. These now use two new operators which only insert keyframes for the active Keying Set.
* Renamed the old insert/delete keyframe operators. These now have the "*_old" postfix on their names. What happens with these temp operators is yet to be seen.
* Added insert/delete keyframe buttons beside the operator buttons for Keying Sets in the Outliner->Datablocks view

12 years agoAnimato: Various improvements
Joshua Leung [Fri, 13 Feb 2009 06:33:07 +0000 (06:33 +0000)]
Animato: Various improvements

* Scene and World AnimDatas are now included in animation editors

* Keyframes for integer-value settings now get the FCURVE_INT_VALUES flag set for their F-Curves, which restricts those curves to only having integer-values. F-Curve displays have been altered accordingly, but some editing tools may still need tweaks to work with this.

* Fixed notifiers for Insert Keyframe -> Active Keying Set.

12 years agoKeying Sets: Wrapped KeyingSets in RNA
Joshua Leung [Fri, 13 Feb 2009 01:51:33 +0000 (01:51 +0000)]
Keying Sets: Wrapped KeyingSets in RNA

* The settings of KeyingSets can now be viewed/modified through RNA.
* Shuffled RNA wrapping for AnimData over to its own file
* Moved insert-key flags to DNA_anim_types.h, as they're now used for KeyingSets.

12 years agoKeyingSets: Fixing crash when adding KeyingSets and no group name is supplied
Joshua Leung [Thu, 12 Feb 2009 23:25:36 +0000 (23:25 +0000)]
KeyingSets: Fixing crash when adding KeyingSets and no group name is supplied

12 years agoCompilation fix: added missing ;
Joshua Leung [Thu, 12 Feb 2009 22:24:51 +0000 (22:24 +0000)]
Compilation fix: added missing ;

12 years ago2.5: Most curve/surface editmode operators back:
Brecht Van Lommel [Thu, 12 Feb 2009 22:12:21 +0000 (22:12 +0000)]
2.5: Most curve/surface editmode operators back:

* Hide, Reveal
* Separate, Duplicate, Delete
* Set Weight, Set Radius, Set Spline Type, Set Handle Type, Set Smooth
* Tilt, Clear Tilt
* Smooth, Smooth Radius
* De(select) First, De(select) Last, De(select) All, Select Inverse,
  Select Linked, Select Control Point Row, Select Next, Select Previous,
  Select More, Select Less, Select Random, Select Every Nth
* Switch Direction, Subdivide, Make Segment, Spin, Extrude, Toggle Cyclic
* Specials Menu

Not working correct yet:

* Add Vertex (ctrl click)
* Add Menu

12 years agoDummy commit...
Joshua Leung [Thu, 12 Feb 2009 11:04:08 +0000 (11:04 +0000)]
Dummy commit...

* Added comment for what needs to be done to get KeyingSets fully functional
* In previous commit, also made group-locking be taken into account when drawing curves as locked

12 years agoKeyingSets: First working prototype
Joshua Leung [Thu, 12 Feb 2009 10:41:57 +0000 (10:41 +0000)]
KeyingSets: First working prototype

To use KeyingSets, simply Outliner-select items in the Datablocks view and press K to add to the active KeyingSet. Then keyframes can be inserted by choosing the 'Active Keying Set' option when inserting keyframes.

Important notes on the current implementation:
* Only properties directly inside some ID-block that is close to the root (i.e. main -> objects -> "someobj" -> location, or main -> materials -> "somemat" -> colour) can be accessed for now, as I haven't got the code for building the inner-parts of the paths working yet. Help on getting this working is welcome (hint to Brecht).
* Properties that can be safely included include simple properties "object -> Dupli Verts", entire arrays "object -> Location" or individual array elements "object -> Location -> y"


Also added typo fix for KeyingSet freeing. It was freeing the KeyingSet instead of it's paths.

12 years ago2.5
Ton Roosendaal [Thu, 12 Feb 2009 09:18:35 +0000 (09:18 +0000)]

Bugfix: node editor crashed when using bitmap fonts, still had a
call commented out, happened during migration to get things linked.

12 years agoown error in last commit.
Campbell Barton [Thu, 12 Feb 2009 06:36:06 +0000 (06:36 +0000)]
own error in last commit.

12 years agoCommit to continue tomorrow from work.
Diego Borghetti [Thu, 12 Feb 2009 05:02:42 +0000 (05:02 +0000)]
Commit to continue tomorrow from work.

12 years agoreveil -> reveal
Campbell Barton [Thu, 12 Feb 2009 03:48:56 +0000 (03:48 +0000)]
reveil -> reveal

12 years ago* Added description string to operator types, should be set along with ot->idname...
Campbell Barton [Thu, 12 Feb 2009 03:39:56 +0000 (03:39 +0000)]
* Added description string to operator types, should be set along with ot->idname when defining ops.
* User interface uses this as a tooltip when NULL or "" is given.
* Python doc generation includes this description
* Python defined ops take the description as an argument.

* NULL check to image_ops.c, was crashing on exit when there was an image open.

12 years agoGraph Editor: Experimental variations of curve display
Joshua Leung [Thu, 12 Feb 2009 01:47:45 +0000 (01:47 +0000)]
Graph Editor: Experimental variations of curve display

* Uneditable F-Curves are drawn with dotted lines (and no handles)
* Muted F-Curves are drawn with a greyish colour. I'm not sure how visible this will be under some other colour schemes. Perhaps this needs as separate theme colour?

12 years agoKeyingSets: More work on preparing the UI
Joshua Leung [Thu, 12 Feb 2009 01:11:29 +0000 (01:11 +0000)]
KeyingSets: More work on preparing the UI

KeyingSets can now be added/removed. Next up, the code for the operators to add items to Keying Sets.

12 years ago 2.5
Michael Fox [Wed, 11 Feb 2009 23:50:06 +0000 (23:50 +0000)]
ported selection_invert for both edit armature and pose mode

12 years ago2.5: Curve edit mode. Transform works again, and editcurve.c is
Brecht Van Lommel [Wed, 11 Feb 2009 23:02:21 +0000 (23:02 +0000)]
2.5: Curve edit mode. Transform works again, and editcurve.c is
partly operatorized though nothing hooked up yet.

12 years ago2.5: Image window, some small changes:
Brecht Van Lommel [Wed, 11 Feb 2009 19:16:14 +0000 (19:16 +0000)]
2.5: Image window, some small changes:

* Added notifier for edited images.
* Fix main region emboss drawing when showing render.
* Don't go fullscreen with fileselect for now to work
  around context getting lost, so open/replace works.
* Save operators are more complete now, but still lack
  confirmation and choosing image type.
* Pack operators work correctly now (but not unpack).
* Setting white/black point for curves.
* Time cursor for record composite.

12 years agoOne last bit of personal education -- added OPERATOR_CANCELLED on sanity check failures.
Roland Hess [Wed, 11 Feb 2009 17:46:10 +0000 (17:46 +0000)]
One last bit of personal education -- added OPERATOR_CANCELLED on sanity check failures.

12 years ago2.5
Ton Roosendaal [Wed, 11 Feb 2009 16:54:55 +0000 (16:54 +0000)]

Smaller jobs, all in one commit!

- Moved object_do_update out of view3d drawing, into
  the event system (currently after notifiers).
  Depsgraph calls for setting update flags will have to
  keep track of each Screen's needs, so a UI showing only
  a Sequencer doesn't do objects.

- Added button in "Properties region" in 3D window to set
  or disable 4-split, including the 3 options it has.
  (lock, box, clip)

- Restored legacy code for UI, to make things work like
  bone rename, autocomplete.

- Node editor now shows Curves widgets again

- Bugfix: composite job increased Viewer user id count

- Bugfix: Node editor, not "Enable nodes" still called
  a Job, which didn't do anything

- Various code cleaning, unused vars and prototypes.

12 years agoFirst operator done as a test and to get to know the ropes. "Select Parent" in pose...
Roland Hess [Wed, 11 Feb 2009 16:17:34 +0000 (16:17 +0000)]
First operator done as a test and to get to know the ropes. "Select Parent" in pose mode. Had to move the command to Shift-P, as naked P is taken up by some crazy person's script command.

12 years ago2.5: fix crash due to keyingset commit, ot->idname should always be set.
Brecht Van Lommel [Wed, 11 Feb 2009 14:56:35 +0000 (14:56 +0000)]
2.5: fix crash due to keyingset commit, ot->idname should always be set.

12 years agoKeying Sets: Initial commit of skeleton code
Joshua Leung [Wed, 11 Feb 2009 12:19:42 +0000 (12:19 +0000)]
Keying Sets: Initial commit of skeleton code

When fully implemented, these will be the clearest demonstration of 'Everything is Animateable', as they will allow users to define an arbitary group of settings through selecting items in the Datablocks (RNA-Viewer) View of the Outliner to define custom 'sets'. Such Keying Sets are known as the 'absolute' ones, which are created for a custom purpose.

Of course, 'builtin' Keying Sets will still be provided. Such built-in ones will not work on any particular paths, but will use context info to maintain the legacy method of inserting keyframes (via IKEY menu).

Currently, KeyingSets cannot be created/edited through the UI, though the backend code is in place to do this.

12 years ago 2.5
Michael Fox [Wed, 11 Feb 2009 03:46:14 +0000 (03:46 +0000)]
-ported (de)select all for editarmature and pose mode
- please review my loops and notifiers as i think they are pretty ugly

12 years agoNames from uiMenuItemEnumO were not being used.
Campbell Barton [Wed, 11 Feb 2009 02:09:41 +0000 (02:09 +0000)]
Names from uiMenuItemEnumO were not being used.
Changed some of the sequencer menus to use uiMenuItem's

12 years ago2.5: Image window operators, quite a few of these still have
Brecht Van Lommel [Tue, 10 Feb 2009 23:17:58 +0000 (23:17 +0000)]
2.5: Image window operators, quite a few of these still have
missing parts and are work in progress.

Set 3D Cursor
Set Tile
Sample Color
Save (As)
Save Sequence
Record Composite

The file select operators have context issues still. They need
to get the image space in the context on exec() but it's not
there currently, not sure how to solve that yet.

Also added name parameter to uiMenuItemEnumO, and fixed "mute"
argument in ED_update_for_newframe calls in fluidsim bake.

12 years agoDopeSheet/Action Editor: Fixed display and expand-widget of 'Group' channels
Joshua Leung [Tue, 10 Feb 2009 23:08:53 +0000 (23:08 +0000)]
DopeSheet/Action Editor: Fixed display and expand-widget of 'Group' channels

12 years agoSetting svn-property 'eol-style' to 'native' for all animation-related files. No...
Joshua Leung [Tue, 10 Feb 2009 22:45:20 +0000 (22:45 +0000)]
Setting svn-property 'eol-style' to 'native' for all animation-related files. No more need to do save overs in text editors or with fancy UNIX tools.

12 years agocommit to continue in my home.
Diego Borghetti [Tue, 10 Feb 2009 21:41:14 +0000 (21:41 +0000)]
commit to continue in my home.

Also I remove some of the #if 0.

12 years ago2.5
Ton Roosendaal [Tue, 10 Feb 2009 18:50:40 +0000 (18:50 +0000)]

Fifth attempt! Previous commit was wrong file :(

12 years ago2.5
Ton Roosendaal [Tue, 10 Feb 2009 18:36:34 +0000 (18:36 +0000)]

Fourth trial to get the invisible character gone!
(I have to add/remove enters to get it committed even)

Thanks to Thomas for retyping the faulty line entirely :)

12 years ago2.5
Ton Roosendaal [Tue, 10 Feb 2009 18:33:32 +0000 (18:33 +0000)]

snprintf should be BLI_snprintf

12 years ago2.5
Ton Roosendaal [Tue, 10 Feb 2009 18:06:26 +0000 (18:06 +0000)]

Made GE compile again

12 years ago2.5
Ton Roosendaal [Tue, 10 Feb 2009 17:56:15 +0000 (17:56 +0000)]

Third attempt to get the invisible character going!

12 years ago2.5
Ton Roosendaal [Tue, 10 Feb 2009 17:53:10 +0000 (17:53 +0000)]

File Window:

- Added PKEY parent directory
- Made "P" button work
- Removed confused theme colors for text, it caused
  selected text to print greyish.

12 years agoA few more files with dos line endings.
Kent Mein [Tue, 10 Feb 2009 17:06:43 +0000 (17:06 +0000)]
A few more files with dos line endings.


12 years ago2.5
Ton Roosendaal [Tue, 10 Feb 2009 15:51:33 +0000 (15:51 +0000)]

Bugfix: Node operators were called in empty node editor, causing
NULL reading. Prevented it from happening with more strict poll()

12 years ago2.5
Ton Roosendaal [Tue, 10 Feb 2009 15:38:00 +0000 (15:38 +0000)]

*** Proof of concept! ****

3D window Panels back, in own designated region for now.
Activate or hide it with Nkey.

Note that Background Image doesn't work yet,  Transform
Orientations probably need tests by Martin, Sculpt options
have to be recoded there by Nicholas.

The UI design sessions will of course review all of this!
We'll have to solve a lot of related topics;
- navigation (where) and context (what)
- non-overlapping layouts vs floating panels/bars
- properties vs tools (toolbars)
- drop panels and make nice (semi-automated) list views?

I've also done experiments with making the main 3d view
stay 'behind' the buttons region. That makes popping buttons
in and out less distracting, but also makes it obscuring
the view... it's not in this commit, it didn't work proper :)
To get that work it has to be handled by the internal
compositor, then it even can have fancy transparency in back.

Anyhoo, time enough to play with this a while. Especially for
Image window (paint) it can work well too.

12 years agoGraph Editor: Visibility toggles
Joshua Leung [Tue, 10 Feb 2009 11:37:14 +0000 (11:37 +0000)]
Graph Editor: Visibility toggles

F-Curves can now be hidden/shown in the Graph Editor in one of 3 ways:
* Specialised VKEY toggle hotkey, which alters the visibility of all selected F-Curves
* The setting toggle operators (Shift-W, Alt-W, Ctrl-Shift-W)
* Checkmark (*1) boxes in front of names of F-Curves

This allows irrelevant curves to be hidden from the keyframes area only if you want them hidden. By default, all curves are visible. Also note that a separate hotkey is used now for toggling visibility (VKEY) instead of lumping it under select-all (AKEY) as in the past, which was a major cause of confusion.

1) I've used the ICON_BLANK011 and ICON_BLANK012 icons, which in the current icon set are two states for a checkbox type thing. These defines should probably get renamed sometime, but I'll leave that up to Matt.

12 years agoGraph Editor: Restoring 'View All' (HomeKey) and Auto-Set Preview Range ('Ctrl Alt P')
Joshua Leung [Tue, 10 Feb 2009 10:42:04 +0000 (10:42 +0000)]
Graph Editor: Restoring 'View All' (HomeKey) and Auto-Set Preview Range ('Ctrl Alt P')

12 years agoArmature Parenting: Fixing up this operator to use the new context iterators properly
Joshua Leung [Tue, 10 Feb 2009 09:55:46 +0000 (09:55 +0000)]
Armature Parenting: Fixing up this operator to use the new context iterators properly

12 years ago2.5
Ton Roosendaal [Tue, 10 Feb 2009 09:49:36 +0000 (09:49 +0000)]

Bugfix: CTRL+W "Save file" still gave a 'save over' popup when the
file didn't exist yet. It then attempted to free the operator twice.

12 years ago2.5: Silencing MSVC warnings in a few files (many files still have many to clean...
Joshua Leung [Tue, 10 Feb 2009 09:18:04 +0000 (09:18 +0000)]
2.5: Silencing MSVC warnings in a few files (many files still have many to clean out some other day).

12 years ago 2.5
Michael Fox [Tue, 10 Feb 2009 06:12:35 +0000 (06:12 +0000)]
- ported make/clear parent for editbones (paent_set, parent_clear to align with naming conventions)

Aligorith and Kaito please look over this and make sure everything is right

12 years agoSome theme colour tweaks
Matt Ebb [Tue, 10 Feb 2009 03:27:33 +0000 (03:27 +0000)]
Some theme colour tweaks

12 years ago* Some more icon file updates (thanks jendrzych), and associated UI tweaks.
Matt Ebb [Tue, 10 Feb 2009 02:39:19 +0000 (02:39 +0000)]
* Some more icon file updates (thanks jendrzych), and associated UI tweaks.

12 years agoGraph Editor - Drawing Tweaks
Joshua Leung [Mon, 9 Feb 2009 23:46:13 +0000 (23:46 +0000)]
Graph Editor - Drawing Tweaks

* Handles now draw with anti-aliased lines for a 'tidier' appearance at certain scales
* Added new drawing code for 'samples'

12 years ago2.5:
Joshua Leung [Mon, 9 Feb 2009 23:06:29 +0000 (23:06 +0000)]

Added missing colour/theme entries from Graph Editor in RNA

12 years ago2.5 Bugfixes:
Joshua Leung [Mon, 9 Feb 2009 22:59:26 +0000 (22:59 +0000)]
2.5 Bugfixes:

Adjusted ranges for subdivide operators (Mesh + Armature).
* The Mesh one was causing lockups as its range started from 0. Now it starts from 1.
* Tweaked the soft-limits for subdivide operators to be easier to use (1-10 instead of 0-100)

12 years ago2.5: UV Editor module porting pretty much finished now, only missing
Brecht Van Lommel [Mon, 9 Feb 2009 20:58:31 +0000 (20:58 +0000)]
2.5: UV Editor module porting pretty much finished now, only missing
still is mirror transform. This commits adds the remaining operators:

* UV mapping operators (U key menu): cube, sphere, cylinder, etc.
* Hide/Show operators.

And solves most XXX's, including:

* Fix bad includes and calls into space image.
* Aspect ratio correction.
* Create UVs if they don't exist yet on unwrap.
* Assign image to UVs.
* Drawing proportional edit circle.

12 years ago2.5
Ton Roosendaal [Mon, 9 Feb 2009 18:06:45 +0000 (18:06 +0000)]

Bugfix: enter editmode had wrong notifier reference pointer,
caused redraws to skip.

12 years ago2.5
Ton Roosendaal [Mon, 9 Feb 2009 16:52:33 +0000 (16:52 +0000)]

- Render: scene buttons RENDER and ANIM now work
- Nodes: text drawing for socket names back

12 years ago2.5
Ton Roosendaal [Mon, 9 Feb 2009 15:50:09 +0000 (15:50 +0000)]

- Added depsgraph tag for object-change in AnimData, so the
  new animsys doesn't have to all objects anymore.
  (Still WIP, depsgraph has to do this much better)

- Bugfix in notifiers; only 1 notifier was handled for
  frame updates

Result: 2 windows, displaying 2 scenes, now can be edited
independently, and play independent. Not when they share
data, of course. :)

12 years agoKeyframe-related bugfixes:
Joshua Leung [Mon, 9 Feb 2009 11:05:34 +0000 (11:05 +0000)]
Keyframe-related bugfixes:

* Deleting keyframes should be safer now
* Graph Editor no longer crashes on F-Curves with no keyframes/samples
* Silenced console prints that occurred when an F-Curve had now keyframes.

12 years agoGraph Editor: Drawing tweaks for previous commit
Joshua Leung [Mon, 9 Feb 2009 10:33:05 +0000 (10:33 +0000)]
Graph Editor: Drawing tweaks for previous commit

* Group channels are drawn with better indention now
* Colors for group channels in Graph Editor are now initialised properly
* When selecting individual keyframes in Graph Editor, it is now possible to see which curve it belonged to, as the 'active' and 'selected' flags are set on that curve only.

12 years agoAnimato: Added 'experimental' grouping schemes for F-Curves
Joshua Leung [Mon, 9 Feb 2009 10:04:11 +0000 (10:04 +0000)]
Animato: Added 'experimental' grouping schemes for F-Curves

When inserting keyframes on previous un-animated Objects/bones, F-Curves will be added into Action Groups into either "Object Transform" or <PoseChannel Name>. Ob->Material settings are not grouped for now to illustrate what's possible.

Old files are currently not patched to use do this, as it's still not clear whether this will be ideal.

12 years agoJust commit so I can continue tomorrow from work.
Diego Borghetti [Mon, 9 Feb 2009 07:15:22 +0000 (07:15 +0000)]
Just commit so I can continue tomorrow from work.

All the code have #if 0 / #endif so nothing to worry about.

12 years agoDopeSheet: Bugfix for View All (HomeKey)
Joshua Leung [Mon, 9 Feb 2009 04:47:34 +0000 (04:47 +0000)]
DopeSheet: Bugfix for View All (HomeKey)

Removing an old line of temporary code I forgot to remove

12 years ago2.5 - Assorted View2D-Related Cleanups
Joshua Leung [Mon, 9 Feb 2009 04:39:25 +0000 (04:39 +0000)]
2.5 - Assorted View2D-Related Cleanups

* Removed Sequencer's own 'border zoom' tool. There is a generic one in View2D that should be used instead.

* Changed the hotkey for View2D's version of borderzoom to Shift-B

* Fixed a few hotkey mentions entries in old menus

* Added set start/end frame operators for TimeLine. (SKEY and EKEY)

* Fixed various issues in Graph Editor
- channels area is now drawn wide enough to show the 'protect' toggles without needing to scroll
- new Graph Editors have 'auto-snap' enabled by default

12 years ago2.5 - Animation UI tweaks
Joshua Leung [Mon, 9 Feb 2009 03:06:52 +0000 (03:06 +0000)]
2.5 - Animation UI tweaks

* Frame-change (scrubbing) now works when using LMB select. It now uses ACTIONMOUSE, so it doesn't conflict with selection. However, the check for exiting the modal op currently needs to check for LEFTMOUSE and/or RIGHTMOUSE instead of ACTIONMOUSE otherwise errors occur.

* Renamed the 'DopeSheet Editor' entry to simply 'DopeSheet'

12 years ago* Some more 2.5 theme updates
Matt Ebb [Mon, 9 Feb 2009 02:54:40 +0000 (02:54 +0000)]
* Some more 2.5 theme updates

12 years ago2.5
Joshua Leung [Mon, 9 Feb 2009 01:33:50 +0000 (01:33 +0000)]

Fixed memory leaks when closing Blender without exiting Armature EditMode first.

Ton/Brecht - mesh editmode (and a few others I think) are still leaking in this case.

12 years agoArmature Editing: Subdivide Operators
Joshua Leung [Mon, 9 Feb 2009 01:27:44 +0000 (01:27 +0000)]
Armature Editing: Subdivide Operators

* Added back the Subdivide tools. Use the Alt-S hotkey (for now) to get a menu with the subdivision options. There are also two standalone operators which are not used yet.

* Fixed the PoseMode checking callback to make sure that it doesn't override any tools in EditMode.

* Fixed an old comment in transform code, and a few warnings in editarmature.c

12 years agoArmature Tools - Ported Switch Direction (Alt-F)
Joshua Leung [Sun, 8 Feb 2009 23:41:21 +0000 (23:41 +0000)]
Armature Tools - Ported Switch Direction (Alt-F)

This is one of the few armature tools where it is currently not that easy/desireable to port to use context-loops exclusively, since they depend on working with 'chains' of bones from the tips to the roots, which cannot be easily done using EditBones.

12 years ago2.5
Ton Roosendaal [Sun, 8 Feb 2009 19:15:59 +0000 (19:15 +0000)]

Added CTRL+W save Blender file.

It's the first user of the uiPupMenuSaveOver() function,
which I've recoded to accept an operator pointer.
This is required because the operator property 'filename'
has to be set to work. Other 'save over' users will
require running operators too I guess.

12 years ago2.5: RNA auto pointer type detection didn't find right types. If
Brecht Van Lommel [Sun, 8 Feb 2009 14:56:43 +0000 (14:56 +0000)]
2.5: RNA auto pointer type detection didn't find right types. If
two RNA structs have the same DNA structs it should use the first
defined one, could be smarter but for now this makes it work again.

12 years ago2.5
Ton Roosendaal [Sun, 8 Feb 2009 12:16:35 +0000 (12:16 +0000)]

Scene browse button now works.
Note that animsys currently executes animation for the entire
database, so multiple scenes in multiple windows don't work yet.

Various fixes:

- crash on invoking filewindow when mouse outside (active) window
- removed obsolete error prints (set screen error, copy data error)
- displist fix for loading files with curve/nurbs, the select-outline
  then didnt draw immediately.
- outliner allows scene activating

12 years agoAnimato Conversions:
Joshua Leung [Sun, 8 Feb 2009 11:28:20 +0000 (11:28 +0000)]
Animato Conversions:

Added a few Material->Mode bitflag conversions as an example for Roland to extend to the remaining settings. There are currently still quite a few settings missing from RNA to be able to convert all of these.

12 years agoAction Editor - Tweaking code for refreshing.
Joshua Leung [Sun, 8 Feb 2009 11:06:26 +0000 (11:06 +0000)]
Action Editor - Tweaking code for refreshing.

Although there is currently code in place to listen to notifiers + tag updates for regions, these don't actually result in any changes yet. Everything still relies on 'manual' redraw tags for the entire area to have refreshes.