Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-02-12correct fsf addressCampbell Barton
2010-01-26Drag and drop 2.5 integration! Finally, slashdot regulars can useTon Roosendaal
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-07Color Picker work:Matt Ebb
Restored the old Eyedropper tool from the 2.4 colour picker. Now it's an operator, working nicely using rna properties (fixes #19475 and some todo items) This ended up being a bit more work than expected, it involved converting the colour picker to use RNA properties directly, rather than temporary values. This has several advantages, including being able to type in RGB values greater than 1, however there are still some redraw issues with sliders. Also removed the alternate color pickers after this time spent testing, the current one should be sufficient, or alternatives to the wheel can possibly become preferences in the current design. Converting the picker to RNA also made it very trivial to make a cool new ColorWheel template, which can be embedded in UI layouts. I've enabled it already in texture/vertex paint brush properties and the sequence editor color correction: http://mke3.net/blender/devel/2.5/colorwheels.jpg
2010-01-06Fix for PROP_MATRIX auto UI layoutMatt Ebb
2010-01-03Changes to Brush texture workflowMatt Ebb
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.
2009-12-24Key map related things:Matt Ebb
* Moved 'change shortcut' (previously directly RMB on menu items) to a context-menu item, and added Remove Shortcut and Add Shortcut. This is all available now in a RMB context menu for operator buttons and menu entries. * Renamed a bunch of key maps to be consistent with UI names, and human-readable. Since these key map names are now being directly used in the UI for people to find things, they should be understandable and in plain language. This renaming may break some older saved key map setups - though previously saved .b25.blends should convert over ok. Exported .py files may need some find/replacing - in this commit check the changes in resources.c to see what's changed.
2009-12-22Fix #20433: make single user doesn't work from menu. Popup menus forBrecht Van Lommel
operators were not passing along properties.
2009-12-16First version of updated key map editor UI (in User Preferences)Matt Ebb
Now the key maps are displayed in a hierarchical list which you can browse through. As well as in the main list, modal key maps are also available in context, for example, if you unfold out a Transform key map item, you'll be able to fold out and access its modal key map underneath. More work to do, including search, better operator browsing, etc. Still need to revise the ordering/hierarchy and clean up naming to be consistent too, it's a bit of an 'evolved' mess right now. Thanks to theeth for some initial work here too.
2009-12-10align option for splitCampbell Barton
2009-12-10Fix for [#20216] Search List is unorderedMatt Ebb
This sorts RNA collection (bones, vgroups, etc) search lists alphabetically like ID data search lists are already.
2009-12-02UI: remove unnecessary colon on toggle array buttons.Brecht Van Lommel
2009-12-02Changes to Color ManagementMatt Ebb
After testing and feedback, I've decided to slightly modify the way color management works internally. While the previous method worked well for rendering, was a smaller transition and had some advantages over this new method, it was a bit more ambiguous, and was making things difficult for other areas such as compositing. This implementation now considers all color data (with only a couple of exceptions such as brush colors) to be stored in linear RGB color space, rather than sRGB as previously. This brings it in line with Nuke, which also operates this way, quite successfully. Color swatches, pickers, color ramp display are now gamma corrected to display gamma so you can see what you're doing, but the numbers themselves are considered linear. This makes understanding blending modes more clear (a 0.5 value on overlay will not change the result now) as well as making color swatches act more predictably in the compositor, however bringing over color values from applications like photoshop or gimp, that operate in a gamma space, will give identical results. This commit will convert over existing files saved by earlier 2.5 versions to work generally the same, though there may be some slight differences with things like textures. Now that we're set on changing other areas of shading, this won't be too disruptive overall. I've made a diagram explaining the pipeline here: http://mke3.net/blender/devel/2.5/25_linear_workflow_pipeline.png and some docs here: http://www.blender.org/development/release-logs/blender-250/color-management/
2009-11-28experemental UI introspection added for mindrones,Campbell Barton
in python this gives a map of the ui... ui_dict = eval(layout.introspect())
2009-11-23Various bugfixes:Joshua Leung
* Tweaked the code for operator buttons so that only those operator buttons in the toolbar have their text left-aligned. This is done at layout-block level * Silenced "file_init" print when opening the file browser * Disabled animateability of the "active_shape_key_index" for Objects, since this property behaves in a very unpredictable manner, leading to problems with users trying to keyframe shapekey values and ending up keying the list. * Remove some unnecessary RNA wrapping code
2009-11-05* Partial fix for bug [#19734] N panel's transform doesn't display the unitsMatt Ebb
Converted the Object transform properties to use rna/rna buttons. This has the advantage of not only displaying/editing units, but also RMB menu, keyframing, drivers, etc too. Part of this was to convert 'Dimensions' to an rna property, converting to and from scale. This also allows you to set the object's dimensions via fcurves or python, but note that it's driving the object scale setting internally so if you animate both dimension and scale at the same time one will override the other (i don't expect many people to attempt this).
2009-10-28UI Icon Toggles Fix:Joshua Leung
Boolean settings now use TOG instead of ICONTOG when they have icons, since ICONTOG was causing too much trouble with icons changing when they shouldn't be. Perhaps in future there should be some flag for specifying from RNA/UI-Layouts which one you want, but for now, this will do. Reverting r23936 since that fix depended on ICONTOG behaviour.
2009-10-22Shape KeysBrecht Van Lommel
Blended shape keys can now be displayed & edited in edit mode. This is much like showing an armature modifier in edit mode, and shape keys now are a applied as a virtual modifier (for mesh & lattice only, curve doesn't fit in the stack well due to tilt). The main thing missing still is being able to switch between the active shape key in edit mode, that's more complicated.. but the weights of other shapes can be edited while in edit mode. One thing to be careful about is that this does automatic crazyspace correction, which means that if you edit a shape key with a low value, the actual vertices will be moved to correct for that and actually move a (potentially much) longer distance. Also includes some UI tweaks, mainly placing some buttons horizontally since the vertical list was getting too long.
2009-10-22UI: List Template tweaks to get it a bit more usableBrecht Van Lommel
* Mouse wheel now scrolls the list. * Up/down key and alt mouse wheel change the active item. * Adding/removing items from the list now automatically scrolls so the active item is in the view. * Shift mouse wheel changes the size of the list widget to display more items. Lazy replacement for a proper grip. * Shape key list now displays the influence value next to the name, * Also fix the range of the value slider to match the defined min/max range.
2009-10-19Fix #19638: crash when assiging self in boolean modifier.Brecht Van Lommel
Also: * UI now takes ID self check flag into account so that e.g. it doesn't offer to the make object it's own parent. * Mesh loop cuts number of cuts had wrong limits. * Don't use mesh_get_derived_final in modifier stack, but ob->derivedFinal instead. Avoids crashes on dependency loops, and in case there is no loop it should have been created.
2009-10-19Fixed Layout-Engine bug that was causing checkbox menu entries to draw with ↵Joshua Leung
the wrong icon when enabled.
2009-10-093D View panels now show object and bone name again, not sure itBrecht Van Lommel
belongs here still, but this came up often, it avoids having to switch tabs a lot when creating things. Also renamed uiLayoutFreeBlock to uiLayoutAbsoluteBlock.
2009-10-08menus are now global (like operators), so for eg, the info add menu and the ↵Campbell Barton
3D add menu can be shared.
2009-10-08Key ConfigurationBrecht Van Lommel
Keymaps are now saveable and configurable from the user preferences, note that editing one item in a keymap means the whole keymap is now defined by the user and will not be updated by Blender, an option for syncing might be added later. The outliner interface is still there, but I will probably remove it. There's actually 3 levels now: * Default builtin key configuration. * Key configuration loaded from .py file, for configs like Blender 2.4x or other 3D applications. * Keymaps edited by the user and saved in .B.blend. These can be saved to .py files as well to make creating distributable configurations easier. Also, user preferences sections were reorganized a bit, now there is: Interface, Editing, Input, Files and System. Implementation notes: * wmKeyConfig was added which represents a key configuration containing keymaps. * wmKeymapItem was renamed to wmKeyMapItem for consistency with wmKeyMap. * Modal maps are not wrapped yet. * User preferences DNA file reading did not support newdataadr() yet, added this now for reading keymaps. * Key configuration related settings are now RNA wrapped. * is_property_set and is_property_hidden python methods were added.
2009-10-06new operator - bpy.ops.wm.call_menu(name="SOME_MT_menu")Campbell Barton
This calls a registered menu as a popup so we can reuse header menus , currently used for Node editor and Sequencer add menu (Shift+A), can be used for toolbox too.
2009-10-03Keying Sets UI:Joshua Leung
Added a way to view and edit Keying Sets via the Scene Buttons. These are still some tweaks needed to make this really workable, but should still work well enough for simply viewing and tweaking existing Keying Sets created using other means. Additional bugfixes: * Adjusted the size of labels on properties that had a 'label' for their name. Now it uses 1/3 of the total width instead, which looks much better for most cases. * Added missing entries for adding Force Fields from the Info-header 'Add' menu. At some point we should unify this menu with the popup operator's one, since this is exactly the kind of situation we had hoped in avoid with new UI architectures. * Moved all the operator defines for keyframing stuff to the 'intern' anim header instead
2009-09-28Preview icon rendering for menus now runs in a separate thread, to avoidBrecht Van Lommel
blocking the user when opening a menu. Material and texture buttons now display these icons in the list. Also fixes #19387, icon and full preview render at the same time would crash. I'm not really convinced this is thread-safe, but on the other hand also not sure regular preview render is really thread-safe yet.
2009-09-28Fix drawing of MENU buttons with only an icon, was not aligned rightBrecht Van Lommel
and showing unneeded triangles (+ buttons in Boids Brain).
2009-09-25Drivers: Copy/Paste tools for the RMB MenuJoshua Leung
Drivers can now be copied/pasted for single properties, allowing drivers set up on one property to be added to a few other properties relatively easily. Also, added description strings for the other driver-button operators.
2009-09-21Fix #19418: file browse button for strip filename did not work,Brecht Van Lommel
sequence RNA now also splits up directory and filename automatic.
2009-09-16UIBrecht Van Lommel
* Fix problem with curve mapping / color ramps not updating things like previews propertly. Now it uses the RNA update of the pointer from the material/texture/.. so each of those can define their own update, but still share the RNA struct. * Code for these templates is now in interface_templates.c * Fix exception for "axis" property, now it always shows normal widget with the PROP_DIRECTION subtype. * Remove context from uiBlockLayoutResolve, no longer needed.
2009-09-152.5 BugfixesBrecht Van Lommel
#19302: the spin operator did not redo correct when changing properties. Actually the problem was somewhere else, the search menu always did an unnecessary undo push, which conflicted with an operator undo push with the same name. Only in the case of "Spin" was this noticed, because it's name is so short and you actually type it completely. #19328: swapping areas could crash when dragging mouse outside the window. Attempted fix for #19331, #19335 as well, where backspace and some other keys give square characters instead of working as expected. Couldn't reproducable here, so please test.
2009-09-14* Fix for typo in icon_only commit, causing RNA property buttons text to be ↵Matt Ebb
doubled up brecht: I think this is right now...? :)
2009-09-13Crash Fix: Sequencer Add->Effects->... menu crashed. Joshua Leung
Unfortunately, this menu is now empty, but this shows that the sequencer code is probably doing something funky... http://dpaste.com/92865/
2009-09-10UI:Brecht Van Lommel
* layout.itemR now has icon_only option to show only icon in e.g. enums buttons, for uv editor header. * Automatic key shortcuts in menus now show the shortcut even if operator properties don't match. Not sure this will work well everywhere, but seems to be working ok for now. * Open recent now show shorter filenames instead of the whole file path. * Tweak object Duplicate menu item.
2009-09-092.5: Layer ButtonsBrecht Van Lommel
* Added RNA subtype for layers. * Shift-click works again. * uiItemR can now also handle armature/bone layers. * Also makes Move to Layer popup work as expected.
2009-08-25Implemented dynamic and multidimensional array support in RNA.Arystanbek Dyussenov
Example code: http://www.pasteall.org/7332/c. New API functions: http://www.pasteall.org/7330/c. Maximum number of dimensions is currently limited to 3, but can be increased arbitrarily if needed. What this means for ID property access: * MeshFace.verts - dynamic array, size 3 or 4 depending on MFace.v4 * MeshTextureFace.uv - dynamic, 2-dimensional array, size depends on MFace.v4 * Object.matrix - 2-dimensional array What this means for functions: * more intuitive API possibility, for example: Mesh.add_vertices([(x, y, z), (x, y, z), ...]) Mesh.add_faces([(1, 2, 3), (4, 5, 6), ...]) Python part is not complete yet, e.g. it is possible to: MeshFace.verts = (1, 2, 3) # even if Mesh.verts is (1, 2, 3, 4) and vice-versa MeshTextureFace.uv = [(0.0, 0.0)] * 4 # only if a corresponding MFace is a quad but the following won't work: MeshTextureFace.uv[3] = (0.0, 0.0) # setting uv[3] modifies MTFace.uv[1][0] instead of MTFace.uv[3]
2009-08-24Adjusted spacing of header items. William Reynish
Made toggle buttons less wide, with less extra space around them Made number widgets wider to allow larger numbers, such as the current frame field in the timeline.
2009-08-212.5: layout.itemO now returns OperatorProperties to be filled in,Brecht Van Lommel
when passing properties=True as argument. Other changes: * uiItemR, uiItemFullR, uiItemFullO now accept a flag argument rather than multiple different "boolean" arguments, but still exposed as booleans to python. * Fix RNA to support setting PROP_RNAPTR for return values.
2009-08-212.5: Modifiers & MenusBrecht Van Lommel
* Popup menus now remember the last clicked item again. * Modifier and File Format menus are now organized in multiple columns with categories. * Hook, explode, uv project modifiers have all their buttons again with the relevant operators implemented. * Modifiers that can't be added by the user, or don't work on curves for example, are not in the menu anymore. * Fix search menu overlapping buttons when near the bottom of the screen. * Fix uv layers search menu not working in some modifiers. * Cleanup popup menu code a bit, layout engine is used in more cases now instead of ugly position calculation code.
2009-08-192.5: HeadersBrecht Van Lommel
* Fix header menu spacing bug, and make it consistent for all headers. * For consistency, always put menus first in the header, then any enums to switch the type of data displayed. * Node editor header ported to python layout. Still quite a few operators missing to make the menus complete. * RNA wrapped node editor, and added use_nodes property to material and scene.
2009-08-162.5Ton Roosendaal
Flaw in python UI for headers: code missing to correctly set the total width of header, plus obsolete call in view3d header template to set width. Now MMB scroll of view3d header works again.
2009-08-152.5: fix for layout engine, increase default size of number buttonsBrecht Van Lommel
in headers.
2009-08-11RNA: subtypes and unitsBrecht Van Lommel
* Reviewed subtypes, making them more specific and adding new ones. * Subtypes now have an associated type of units (length, area, volume, mass, rotation, time, velocity, acceleration). These are not used yet anywhere. * Centralized code that decides the name of array items based on subtype (XYZ, RGB), was copied in 3 places. * RNA_def_float etc functions still need to be update, will do this later together with another change.
2009-08-112.5: FixesBrecht Van Lommel
* Disable shaded mode for now, it cause too many crashes combined with preview render, will be fixed properly later. * Make 3d view toolbar region a bit wider. Ideally this would not be needed, but the sculpt/paint buttons just don't fit otherwise. * Revert change to icon/text spacing in buttons, it breaks text editing and clipping. Will properly fix this later so changing the spacing can be done centrally. * Fix for grease pencil simplify stroke python error. Now button is hidden (as in 2.4), but still available through outliner. * Fix for memory leak in UI code, when using ctrl+Q menu. * Fix submenu > icon being drawn on some buttons where it was not needed.
2009-07-282.5: File browse button in ui layouts now works, e.g. for renderBrecht Van Lommel
output path or fluidsim path.
2009-07-242.5: UIBrecht Van Lommel
* Fix issue where it would automatically scroll when collapsing panels. * Fix panel dragging not taking zoom level into account. * Fix enum menu having too small default width in headers. * Fix tooltips not showing shortcuts etc. if there was not tooltip defined for the button. * Fix some refresh issues with color ramps. * Add a bit more space between columns in the layout engine. * Make scrollers darker so they are less distracting, and highlight instead of reverse shading when dragging.
2009-07-212.5: UIBrecht Van Lommel
* List template visual changes. Items now look different, and it expands to size 5 as more items are added. * Added LISTROW and LISTBOX elements. The former is like a typical ROW button, but looks diffrent. The latter looks like a BOUNDBOX, and has no extra features yet. * Fix some glColor3ubv warnings with casting, did not find a nicer way.
2009-07-132.5: RenderBrecht Van Lommel
* UI layout for scene buttons has quite some changes, I tried to better organize things according to the pipeline, and also showing important properties by default, and collapsing less important ones. Some changes compared to 2.4x: * Panorama is now a Camera property. * Sequence and Compositing are now enabled by default, but will only do something when there is a node tree using nodes, or a strip in the sequence editor. * Enabling Full Sample now automatically enables Save Buffers too. * Stamp option to include info in file is removed, it now simply always does this if one of the stamp infos is enabled. * Xvid, H.264 and Ogg Theora are now directly in the file format menu, but still using FFMPEG. Unfortunately Ogg is broken at the moment (also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux, maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes it work. * Organized file format menu by image/movie types. Added: * Render layers RNA wrapped, operatorized, layouted. * FFMPEG format/codec options are now working. Defaults changed: * Compositing & Sequencer enabled. * Tiles set to 8x8. * Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13calling operators from python was raising an error without returning an ↵Campbell Barton
error value. brecht, switched the order back to fix this, added an argument for WM_operatortype_find() to fail without printing an error.
2009-07-10RNABrecht Van Lommel
* Enums can now be dynamically created in the _itemf callback, using RNA_enum_item(s)_add, RNA_enum_item_end. All places asking for enum items now need to potentially free the items. * This callback now also gets context, this was added specifically for operators. This doesn't fit design well at all, needed to do some ugly hacks, but can't find a good solution at the moment. * All enums must have a default list of items too, even with an _itemf callback, for docs and fallback in case there is no context. * Used by MESH_OT_merge, MESH_OT_select_similar, TFM_OT_select_orientation. * Also changes some operator properties that were enums to booleas (unselected, deselect), to make them consistent with other ops.