Commit Graph

401 Commits

Author SHA1 Message Date
bd34be86bf Bugfix for [#21560] space bar in edit mode of bezier curves doesnt work
The wrong flag was used, OB_CURVE instead of OB_FONT.
2010-03-14 12:12:48 +00:00
1708ac0723 rename some functions to use easier to understand names.
'BLI_makestringcode' --> 'BLI_path_rel'
'BLI_convertstringcwd' --> 'BLI_path_cwd'
'BLI_convertstringframe' --> 'BLI_path_frame'
'BLI_convertstringframe_range' --> 'BLI_path_frame_range'
'BLI_make_cwdpath' --> 'BLI_path_cwd'
2010-03-09 17:36:23 +00:00
26272d4c58 added relative path option for image load and save, relative path option from the userprefs wasnt being used. 2010-03-09 16:57:24 +00:00
94d5b31b9d reproject operator, use to reproject edited renders back into textures.
- uses project paint options (UV bleed, normals, culling)
- bicubic interolation from the image
- multithraded

TODO.
project into multiple objects at once.
2010-03-05 18:19:32 +00:00
34857189bc fixes for auto script execution, changing the user preference also updates the global flag. 2010-02-27 12:34:49 +00:00
820570031e was using wrong global flag for python script disabling in recent commit. 2010-02-27 12:01:10 +00:00
15db857628 rename flag for auto script execution since scriptlinks are no more. 2010-02-27 01:47:46 +00:00
4e931482f4 option to set the blend file as from a 'Trusted Source' on load. 2010-02-27 01:27:22 +00:00
f696d57af7 Added a Recovery space in splash so new users don't panic when they
loose work (close by mistake or a crash)
2010-02-25 03:13:50 +00:00
55d0ae8ed9 - use search box for adding actions in the NLA
- use less complicated string conversion for saving keymaps
2010-02-23 19:32:32 +00:00
0e40d71fb0 [#21123] Refresh screen after applying click in WM_gesture_circle_modal()
patch from Sergey Sharybin (nazgul)
2010-02-12 15:33:32 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
157a694607 - select active camera operator
- calling menu use exec rather then invoke
2010-02-11 21:17:05 +00:00
78faeb73b8 Operation Dot-Kill finished 2010-02-11 01:11:52 +00:00
148435b70a batch remove .'s used with RNA_def_struct_ui_text 2010-02-10 21:15:44 +00:00
bfdf6d139e Remove NO_CONTEXT flag from enum when copying operator properties to the operator itself. 2010-02-01 18:26:45 +00:00
aafe6e2d9c Renamed the FILE_OPEN option for the file browser to FILE_OPENFILE to cleanup compiler warnings about redefined definitions (mingw) 2010-01-31 23:07:32 +00:00
04991f0ab7 2.5: quick fix to make 10-timer menu appear again. It's a debug tool, is
allowed to show menus in end. But, report API doesn't have a type for this
yet... has been noted, and will be checked soon.
2010-01-31 18:06:50 +00:00
fb7878a2c2 PROP_ENUM_NO_CONTEXT flag for rna properties, forcing enum item functions to be passed a null context (to return non-contextual items).
This is set on keymap item operator properties and macro definition operator properties to make them non-contextual (since the context at definition time is most likely not the same then at execution time, it's better to have all options visible).

This removes some more errors in keymap export and import.

This commit also sanitize some enum item function, making sure they can cope with null context and have usable defaults in that case.
2010-01-27 21:19:39 +00:00
107f6cb269 - duplicate window crasheing when it was full screen
- keymap item was missing NULL check crash
- editmode object in inactive layer crash
2010-01-27 09:16:28 +00:00
904665f15b [#20728] "Export UV Layout" overwrites existing files (without feedback)
The 'save over' popup was only appearing based on a string comparison of the operator name ("Save"). Changed this to use a hidden operator property: "check_existing". Python operators must 
have this property for the file selector confirmation too.

This property can also be set to false, to prevent checking for existing files, useful in the File->Save menu item to prevent the dangerously missable confirmation popup.
2010-01-27 02:20:24 +00:00
b119ce5fcc Drag and drop 2.5 integration! Finally, slashdot regulars can use
Blender too now! :)

** Drag works as follows:

- drag-able items are defined by the standard interface ui toolkit
- each button can get this feature, via uiButSetDragXXX(but, ...).
  There are calls to define drag-able images, ID blocks, RNA paths, 
  file paths, and so on. By default you drag an icon, exceptionally 
  an ImBuf
- Drag items are registered centrally in the WM, it allows more drag 
  items simultaneous too, but not implemented

** Drop works as follows:

- On mouse release, and if drag items exist in the WM, it converts 
  the mouse event to an EVT_DROP type. This event then gets the full 
  drag info as customdata

- drop regions are defined with WM_dropbox_add(), similar to keymaps 
  you can make a "drop map" this way, which become 'drop map handlers' 
  in the queues.
- next to that the UI kit handles some common button types (like 
  accepting ID or names) to be catching a drop event too.

- Every "drop box" has two callbacks:
  - poll() = check if the event drag data is relevant for this box
  - copy() = fill in custom properties in the dropbox to initialize 
    an operator
- The dropbox handler then calls its standard Operator with its 
  dropbox properties.

** Currently implemented

Drag items:
- ID icons in browse buttons
- ID icons in context menu of properties region
- ID icons in outliner and rna viewer
- FileBrowser icons
- FileBrowser preview images

Drag-able icons are subtly visualized by making them brighter a bit 
on mouse-over. In case the icon is a button or UI element too (most 
cases), the drag-able feature will make the item react to 
mouse-release instead of mouse-press. 

Drop options:

- UI buttons: ID and text buttons (paste name)
- View3d: Object ID drop copies object
- View3d: Material ID drop assigns to object under cursor
- View3d: Image ID drop assigns to object UV texture under cursor
- Sequencer: Path drop will add either Image or Movie strip
- Image window: Path drop will open image


** Drag and drop Notes:

- Dropping into another Blender window (from same application) works 
too. I've added code that passes on mousemoves and clicks to other 
windows, without activating them though. This does make using multi-window
Blender a bit friendler.

- Dropping a file path to an image, is not the same as dropping an 
Image ID... keep this in mind. Sequencer for example wants paths to 
be dropped,  textures in 3d window wants an Image ID.

- Although drop boxes could be defined via Python, I suggest they're 
part of the UI and editor design (= how we want an editor to work), and 
not default offered configurable like keymaps. 

- At the moment only one item can be dragged at a time. This is for 
several reasons.... For one, Blender doesn't have a well defined 
uniform way to define "what is selected" (files, outliner items, etc). 
Secondly there's potential conflicts on what todo when you drop mixed 
drag sets on spots. All undefined stuff... nice for later.

- Example to bypass the above: a collection of images that form a strip, 
should be represented in filewindow as a single sequence anyway. 
This then will fit well and gets handled neatly by design.

- Another option to check is to allow multiple options per drop... it 
could show the operator as a sort of menu, allowing arrow or scrollwheel 
to choose. For time being I'd prefer to try to design a singular drop 
though, just offer only one drop action per data type on given spots.

- What does work already, but a tad slow, is to use a function that 
detects an object (type) under cursor, so a drag item's option can be 
further refined (like drop object on object = parent). (disabled)


** More notes

- Added saving for Region layouts (like split points for toolbar)

- Label buttons now handle mouse over

- File list: added full path entry for drop feature.

- Filesel bugfix: wm_operator_exec() got called there and fully handled, 
while WM event code tried same. Added new OPERATOR_HANDLED flag for this. 
Maybe python needs it too?

- Cocoa: added window move event, so multi-win setups work OK (didnt save).

- Interface_handlers.c: removed win->active

- Severe area copy bug: area handlers were not set to NULL

- Filesel bugfix: next/prev folder list was not copied on area copies

** Leftover todos

- Cocoa windows seem to hang on cases still... needs check
- Cocoa 'draw overlap' swap doesn't work
- Cocoa window loses focus permanently on using Spotlight
  (for these reasons, makefile building has Carbon as default atm)

- ListView templates in UI cannot become dragged yet, needs review... 
it consists of two overlapping UI elements, preventing handling icon clicks.

- There's already Ghost library code to handle dropping from OS 
into Blender window. I've noticed this code is unfinished for Macs, but 
seems to be complete for Windows. Needs test... currently, an external 
drop event will print in console when succesfully delivered to Blender's WM.
2010-01-26 18:18:21 +00:00
4efed23517 Use #include "BLI_math.h" instead of _USE_MATH_DEFINES to get M_PI defined. 2010-01-26 11:25:39 +00:00
e03bbf12c3 Assorted Bugfixes:
* Adding new Keying Set paths didn't initialise the id-type setting. Make this default to Object
* Fixed bad poll callbacks for Graph Editor operators working on keyframes, which were expecting F-Curves to be selected too to be eligible for editing. This was often too restrictive, resulting in nothing happening.
* Fixed error with default property for Debug Redraw-Timer Operator not being set. However, this operator is currently still no use, since the info popups are now disabled.
2010-01-26 10:29:10 +00:00
b400703403 Macro operator properties using property groups in groups (initial code by brecht).
Works correctly with menu, keymap definitions and keymap export/import.

Properties set in the macro definition overwrite those set by the user (there's no way to see that in the UI at this point).

MISSING: Python operator calling code to fill in the properties hierarchy.

Also contains some keymap export changes by Imran Syed (freakabcd on irc): the exported configuration will use the name of the file and the exported script will select the added configuration when ran.
2010-01-21 21:58:40 +00:00
5272991e8b generic operator menu was searching for "type" and using the first enum property if it wasnt found.
this is too arbitrary and could break if roperty order is changed.
store the property in the operator type that is to be used for menu and enum search func's.

python function for searching operator enums on invoke. (just need dynamic python enums now)
 wm.invoke_search_popup(self)
2010-01-15 22:40:33 +00:00
a4732eefa5 a new generic invoke function - WM_enum_search_invoke()
This can search operators enum property.

Make proxy menu could easily get too big. use the new search popup.
2010-01-15 17:23:16 +00:00
a3e461ce1b - player building again
- fix for compiler warnigns
- bpath reporting was incorrect
2010-01-11 10:48:41 +00:00
9d67c720d5 * Tweak for splash screen rev. info - dalai, does this look ok on your machine?
* Added very feint separator lines in menus
2010-01-11 01:26:16 +00:00
6a15ac70b6 [#20581] Lasso tool ends unexpectedly
Don't limit lasso to 1024 points, just realloc array with increased size when current limit is reached.

Also silence two stupid warnings.
2010-01-10 20:16:56 +00:00
d2b27d00ff Fix for clipped text in splash svn version string - I must have been working around an
extra space at the end of local revision version string.. weird!
2010-01-09 00:49:29 +00:00
1f1245a92a Remap Relative paths save option.
If you have a blend file and want to save in a new directory enabling this will save with the paths corrected relative to the new directory.
2010-01-08 17:50:55 +00:00
ceab17ee17 Fix for problems in previous commit when buildinfo wasn't enabled. 2010-01-08 06:05:42 +00:00
ce538a0694 Added the svn revision number to the splash screen (when buildinfo is
enabled). Also fixed cmake so buildinfo works.


Note to all:
** Please mention the revision number when making a bug report **
2010-01-08 05:51:51 +00:00
bce42d6b5e group instance still didnt work in some cases, now tag ID flag when linking as well as appending so its easy to know if an ID is newly added or not. 2010-01-07 16:19:38 +00:00
ba645ad67e option to instance groups when linking or appending. 2010-01-07 14:28:00 +00:00
a325b8b3b9 bugfix: macro redo could crash because of not nulled freed pointer. 2010-01-04 20:18:13 +00:00
251ef0a47f Changes to Brush texture workflow
This changes how textures are accessed from Brushes, with the intention of simplifying 
the workflow, and reducing the amount of clicking. Rather than the previous texture slots 
(which didn't work as a stack anyway), brushes now have a single texture linked. Rather 
than taking time having to set up your slots in advance, you can now select and change 
textures directly as you sculpt/paint on the fly. For complex brushes, node textures can 
be used, or for fast access, it's easy to make a duplicate of your brush with the texture 
you like and assign a hotkey.

Brush textures can now be chosen from a new Textures panel in the brush tool 
properties - click on the thumbnail to open a texture selector. This is done using a new 
variation on the ID template - the number of rows and columns to display in the popup 
can be customised in the UI scripts.
2010-01-03 08:37:18 +00:00
28c137a8eb bugfix [#20510] .blog file causes crash (again rev25592) 2010-01-03 05:34:53 +00:00
b00cddeb66 Macro registration using the normal rna registration methods (like operators).
bpy.types.register(MacroClass)

instead of

bpy.ops.add_macro(MacroClass)

The rest is unchanged.

Also remove some now unused code for the old registration methods (there's still some remaining).
2009-12-30 22:14:32 +00:00
e09d77507e remove operators WM_OT_open_recentfile and WM_OT_open_recentfile_splash
use a python menu instead.
2009-12-28 10:44:02 +00:00
351f5d1837 - loading missing files didnt give any warning
- shape key transfer poll function
2009-12-27 23:29:34 +00:00
d1f1583c79 Wrong description in WM_OT_call_menu 2009-12-27 17:57:24 +00:00
5f4e24d599 operator draw function working again. needed to add layout to the operator to give access to "self.layout" - like panels, headers and manu's have 2009-12-24 21:17:14 +00:00
bbe13e7823 * register operators like other classes
* operators now return sets (converted into flags)
* can't remove bpy_operator_wrap.c since macro's still use the custom register funcs
2009-12-24 19:50:43 +00:00
accfa71b2c pedantic naming: wmKeyMapItem wasnt called 'kmi' in some cases. 2009-12-24 09:36:15 +00:00
0606dbe291 Fix #20433: make single user doesn't work from menu. Popup menus for
operators were not passing along properties.
2009-12-22 11:59:30 +00:00
725319f771 Hotkey for outliner window was there twice
(testing conflict detection)
2009-12-17 19:05:06 +00:00
231ddb67b1 Fix #19897: WM_OT_redraw_timer memory leak using Draw Window. 2009-12-14 20:37:05 +00:00
3a9dcf1fea Sculpt Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r25245:25315
2009-12-11 14:38:02 +00:00