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
2013-04-30fix [#35156] Edge slide gg shortcut brings up wrong settings.Campbell Barton
switch operator types from transform, this would normally be problematic, but transform operators share callbacks so it can be supported.
2013-04-18Fix #34997: when starting the game engine in one window and switching to a ↵Brecht Van Lommel
second window, the game would stop drawing in the first and mess up the OpenGL state of the second. Also fixes glPushAttrib/glPopAttrib getting out of sync in some cases.
2013-04-04code cleanup: use bools in UI and WM code, quiet some shadow warnings, ↵Campbell Barton
remove unused function uiEmboss()
2013-03-07Change !BLI_ghashIterator_isDone to BLI_ghashIterator_notDone. It isAntony Riakiotakis
always used in that context so we can at least avoid reverting it twice :p.
2013-01-22fix [#33841] Disabling and re-enabling live addon crashes blender ↵Campbell Barton
(modal/draw handler)
2012-12-28This commit frees list ui items from their dependencies to Panel, and hence ↵Bastien Montagne
from all the limitations this implied (mostly, the "only one list per panel" one). It introduces a new (py-extendable and registrable) RNA type, UIList (roughly similar to Panel one), which currently contains only "standard" list's scroll pos and size (but may be expended to include e.g. some filtering data, etc.). This now makes lists completely independent from Panels! This UIList has a draw_item callback which allows to customize items' drawing from python, that all addons can now use. Incidentally, this also greatly simplifies the C code of this widget, as we do not code any "special case" here anymore! To make all this work, other changes were also necessary: * Now all buttons (uiBut struct) have a 'custom_data' void pointer, used currently to store the uiList struct associated with a given uiLayoutListBox. * DynamicPaintSurface now exposes a new bool, use_color_preview (readonly), saying whether that surface has some 3D view preview data or not. * UILayout class has now four new (static) functions, to get the actual icon of any RNA object (important e.g. with materials or textures), and to get an enum item's UI name, description and icon. * UILayout's label() func now takes an optional 'icon_value' integer parameter, which if not zero will override the 'icon' one (mandatory to use "custom" icons as generated for material/texture/... previews). Note: not sure whether we should add that one to all UILayout's prop funcs? Note: will update addons using template list asap.
2012-10-26fix [#31661] Custom properties do no respect min/max valuesCampbell Barton
also renamed function added prev commit
2012-10-26fix for crash when a python operator or render engine was freed in the C ↵Campbell Barton
code and then referenced from python. now further access in python gives an exception at the line when the freed data is accessed.
2012-05-16Code cleanup: simplify standard GHash creation.Nicholas Bishop
Added four new functions as shortcuts to creating GHashes that use the standard ptr/str/int/pair hash and compare functions. GHash *BLI_ghash_ptr_new(const char *info); GHash *BLI_ghash_str_new(const char *info); GHash *BLI_ghash_int_new(const char *info); GHash *BLI_ghash_pair_new(const char *info); Replaced almost all occurrences of BLI_ghash_new() with one of the above functions.
2012-05-05code cleanup: function naming, use BKE_*type* prefix.Campbell Barton
2012-03-27style cleanup: wm, mosyly adding space around opsCampbell Barton
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-10patch [#30511] Save/load window state (allows Blender to start maximised)Campbell Barton
from Tom Edwards (artfunkel) This patch fixes bug [#20791]
2012-03-09style cleanup: comment blocksCampbell Barton
2012-03-09style cleanup: spelling.Campbell Barton
also remove large, duplicate comments from sunsky.h
2011-11-14fix [#29242] menus have no keyboard shortcutsCampbell Barton
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-09-29Fix #28769 & #28768: problem with duplicated keymap items after fix yesterday.Brecht Van Lommel
2011-08-11use ghash for operator and menu types, was doing string lookup in the ↵Campbell Barton
operator list (containing over 1000 items) for each button draw. gives small speedup for UI drawing and overall startup time.
2011-08-06KEYMAP REFACTORINGBrecht Van Lommel
Diff Keymaps User edited keymaps now no longer override the builtin keymaps entirely, but rather save only the difference and reapply those changes. This means they can stay better in sync when the builtin keymaps change. The diff/patch algorithm is not perfect, but better for the common case where only a few items are changed rather than entire keymaps The main weakness is that if a builtin keymap item changes, user modification of that item may need to be redone in some cases. Keymap Editor The most noticeable change here is that there is no longer an "Edit" button for keymaps, all are editable immediately, but a "Restore" buttons shows for keymaps and items that have been edited. Shortcuts for addons can also be edited in the keymap editor. Addons Addons now should only modify the new addon keyconfiguration, the keymap items there will be added to the builtin ones for handling events, and not get lost when starting new files. Example code of register/unregister: km = wm.keyconfigs.addon.keymaps.new("3D View", space_type="VIEW_3D") km.keymap_items.new('my.operator', 'ESC', 'PRESS') km = wm.keyconfigs.addon.keymaps["3D View"] km.keymap_items.remove(km.keymap_items["my.operator"]) Compatibility The changes made are not forward compatible, i.e. if you save user preferences with newer versions, older versions will not have key configuration changes that were made.
2011-07-26include menu ID's in tooltips when python tips are enabled, there was no way ↵Campbell Barton
to find the ID of a menu which become annoying if you wanted to reference it from a script.
2011-05-18RNA: pass Main rather than Context to register/unregister callbacks.Brecht Van Lommel
2011-02-25doxygen: blender/windowmanager tagged.Nathan Letwory
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2010-11-11move report/operator view out of the 'Console' into the 'Info' space (file ↵Campbell Barton
menu). Ton will work on moving the File menu out of the Info space before release. notes. - reply Operator isn't working anymore. - UI for reports is commented out so its not mixed with the file menu.
2010-11-05tedious string copying changesCampbell Barton
- use sizeof() in more places. - fixed some off by 1 bugs copying strings. setting curve font family for instance was 1 char too short. - replace strncpy and strcpy with BLI_strncpy
2010-10-31rename and negate DISABLE_PYTHON --> WITH_PYTHONCampbell Barton
2010-10-27bugfix [#24341] Problems running blender headlessCampbell Barton
bg mode didnt have the screen context callback set. Though this sounds logical, bg mode defines a screen it should be set.
2010-10-16- UNUSED macro wasn't throwing an error with GCC if a var become used.Campbell Barton
- made interface, windowmanager, readfile build without unused warnings. - re-arranged CMake's source/blender build order so less changed libs are build later, eg: IK, avi
2010-09-15Apply patch [#23809] Blender.exe -W supportNathan Letwory
by Dalai Felinto/Nathan Letwory This basically implements -W support for Blender.
2010-09-12building without python was brokenCampbell Barton
2010-08-31rna support for passing dynamic sized arrays to rna functionsCampbell Barton
using this for object.vertex_groups.assign([index list ...], group, weight, mode)
2010-08-30- keymap import/export works again (broke with own api changes)Campbell Barton
- function renames, move WM functions into collections wm.add_keymap() --> wm.keymaps.new() note: new is used for named items in a collection, which return the result. - Action.get_frame_range() is now a readonly property 'frame_range', floats rather then ints.
2010-08-13minor changes to rna/python.Campbell Barton
- raise an exception when python calls is_property_set(name) or is_property_hidden(name) and the property does not exist. - added BLI_findstring_ptr(), which finds a named item in a listbase where that name is a pointer to a string. - replaced inline for loops with calls to BLI_findstring_ptr() and IDP_GetPropertyFromGroup().
2010-06-03Reworked the non-blocking reports display in the info header:Matt Ebb
* Now it displays the last report from the global list, not just from operators * Rather than disappearing when a new operator is run, it stays until it times out or a new report is added * Fun animated transitions ;) http://mke3.net/blender/devel/2.5/reports_header.mov Now need to investigate report usage with popups. Ideally we can have most reports non-blocking, so they're less intrusive, only popping up for dire errors. Problem is many things in Blender right now are marked as RPT_ERROR when probably RPT_WARNING is more appropriate. Should probably keep RPT_ERROR for things that demand immediate attention.
2010-05-29[#21842] Beta patch to restore cmake MinGW compilationCampbell Barton
from Riakiotakis Antonis (psy-fi) with modifications. notes: - needed to remove quotes around filepaths for copying. - WITH_JACK, doesnt link - WITH_FFMPEG, doesnt build - WITH_RAYOPTIMIZATION, gave an error for me. (no mmx support)
2010-04-06Fix #21402: python operator redo properties not refreshed. Now sends aBrecht Van Lommel
NC_WM|ND_HISTORY notifier on registering an operator.
2010-03-24remove unused rna includesCampbell Barton
2010-03-24enable compiling without python againCampbell Barton
2010-03-21Fix syntax for ID keyword.Guillermo S. Romero
2010-02-27hold the python operator instance in the operator, otherwise the handelers ↵Campbell Barton
need to be stored in the operator type or in the module which isnt nice for modal operators.
2010-02-12correct fsf addressCampbell Barton
2010-01-30Fix #20886: user defined keymap could be loaded before python scripts,Brecht Van Lommel
printing errors when that keymap included python operators.
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.
2009-12-08RNA:Brecht Van Lommel
* Property update functions no longer get context, instead they get only Main and Scene. The RNA api was intended to be as context-less as possible, since it doesn't really matter who is changing the property, everything that uses the property should be updated. * There's still one exception case that use it now, screen operations still depend on context too much. It also revealed a few places using context where they shouldn't. * Ideally Scene shouldn't be passed, but much of Blender still depends on it, should be dropped when we try to support multiple scene editing. Change was planned for a while, but need this now to be able to call update without a context pointer.
2009-11-11Background mode in more working conditions.Martin Poirier
What works: The usual command line options for rendering. All python scripts are loaded (which includes custom properties) Render engines are loaded and can be used -P to run scripts works partially: rna api works ok, not operators. What doesn't: Most operator calls in python. This is a problem with poll functions. (Brecht and Campbell are aware of this already) Changes: -d now also applied with -b (it was ignored before) user file (.B25.blend) now also loaded in bg mode. This helps for custom paths and all. wm is also initialized (it's needed for a lot of context calls) Ghost, however, is not initialized.
2009-10-20Auto SaveBrecht Van Lommel
Auto save is now working again in 2.5. It will also remember now what the location of the original file was when recovering it, so that library links still work and saving the restored file does not save to the temp directory. There is also a new Recover Auto Save operator which will open the filebrowser in the temp directory and show the auto saved .blends. Implemenation Notes: * Timer storage was moved from window to windowmanager, so we can have windowmanager level timers too now, doesn't make sense to have autosave timer attached to a particular window. * FileGlobal now has a filename field storing where the file was saved. Note that this is only used when loading a file through the recover operators, regular file read doesn't use it, so copying the quit.blend manually over the original file will still work as expected. * Jobs timer no longer uses operator now, this seems more like an internal thing, changing keymaps should not make it possible to break the jobs manager. * Autosave is postponed by 10 seconds when a modal operator is running, e.g. transform or file browsing. * Moved setting G.sce in setup_app_data before depsgraph updates, these can use the filename for pointcaches.
2009-10-18Bugfix: memory was leaking when opening a new file (Ctl-N). Reports were ↵Ken Hughes
not being freed. Brecht (or someone), can you check this?
2009-10-09wm menu freeing was using freed memory, bone-parent names were being set to ↵Campbell Barton
"" on menu draw WHY??? - r23247, you know who you are ;)
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.