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
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.
2009-07-102.5:Brecht Van Lommel
* 3D view Object menu works again, many operators missing still because they are not yet implemented. * Constraint types now have separator, and fix too much spacing in the constraints header.
2009-07-102.5:Brecht Van Lommel
* RNA: enum items with "" indentifier are now interpreted as separators. * Add Object menu: added consistent names, separators.
2009-07-092.5: Buttons WindowBrecht Van Lommel
* Fix poll() callback changes in recent commit, note that these have to work with pinned context too. * Hide header for context panels in py layout. * Don't jump back when collapsing a panel, allow the view to be over some empty space until you scroll back. * Fix follow context icon, order had to be reversed in icon file. * ID template now has icon as part of browse button instead of outside the buttons.
2009-07-092.5: Mesh and Various FixesBrecht Van Lommel
* 3D view Mesh menu works again, but incomplete. * Add Properties and Toolbar to 3D View menu. * Added "specials" menus back, vertex/edge/face and general. * Various fixes in existing mesh operators, some were not working. * Add MESH_OT_merge. * Merge all subdivide ops into MESH_OT_subdivide, subdivide code changes to make smooth + multi give good results. * Rename all select inverse ops to *_OT_select_inverse. * Fix "search for unknown operator" prints at startup, and some warnings in py code. * Don't run .pyc files on startup. * Remove unused image window header C code.
2009-07-032.5Brecht Van Lommel
* Lattices: properties editable, editmode operators, menus working again. As a bonus you can now edit u/v/w in editmode. * Shape Keys: some code cleanup, and added more buttons. The value/min/max buttons don't work correct yet though. * Fix issue with uv textures, vertex colors not being visible outside editmode, and a few other issue. Mesh.edit_mesh is now NULL when not in editmode.
2009-07-022.5: Physics ButtonsBrecht Van Lommel
All kinds of changes to get it ready for UI layouts. This means RNA and operators should be working correct, but most buttons are still not actually there yet. * Added near empty soft body, fluid, field and collision panels, tweaks to cloth panels. * Fluid bake works, but without escape or showing any progress. * Fluid/Softbody/Cloth/Collision can now be both added as modifiers or in the physics panels. * Missing: fields & soft body for particles. * Missing: proper updating softbodies, guess this code still needs updates after pointcache refactor?
2009-06-292.5Ton Roosendaal
Search Menu: added feature that on opening, it shows the current ID block, and selects it. Same can be used for other searches, just pass on pointer to active item for the search callback. Also fixed arrow triangle draw for search.
2009-06-27UIBrecht Van Lommel
* Search popup + autocomplete for bones, vertex groups, etc. This is done with layout.item_pointerR, specifying an RNA collection to take the items from. Used by constraints and modifiers. * Some tests with the List template, ignore those for now..
2009-06-24UIBrecht Van Lommel
* Added SCROLL button type, use like a NUMSLI basically, with a1 used to define the scroller size. * Add scroll and toggle colors to the Theme (toggle was set to draw like radio in a recent commit, but it's the intention these look different). * Added rudimentary list template, used for object material slots, this is WIP though. * In popup menu, split text with line breaks over multiple lines, makes python errors display slightly nicer.
2009-06-23UIBrecht Van Lommel
* Make Directional Order menus the default again. * Scale up contents panels that do not use layout system. * Fix for enum size and uncesseray colon in some cases. * For item_menu_enumO, show icons if specified in RNA in the menu (e.g. in the add modifier menu if there were icons specified).
2009-06-16UIBrecht Van Lommel
* Added option for panel to be closed by default. * Added support for RNA property and enum icons in buttons. * Remove some deprecated RNA menu code. * Fix issue with newly created panels not being inserted in the right place. * Fix issue with 3-split layout not being divided correctly. * FIx issue with menu items not drawing correct using python UI.
2009-06-09added layout attribute for setting the operator execution context.Campbell Barton
eg, layout.operator_context = 'INVOKE_REGION_WIN' Needed to set the context that menu item operators are executed in. fixed missing NULL check with anim system debug printing.
2009-06-09- rna wrapped sequencer spaceCampbell Barton
- uiItemEnumO_string, forgot to actually set the enum value - added more sequencer header buttons (these should probably be moved to a view panel eventually)
2009-06-092.50:Brecht Van Lommel
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19820:HEAD Notes: * Game and sequencer RNA, and sequencer header are now out of date a bit after changes in trunk. * I didn't know how to port these bugfixes, most likely they are not needed anymore. * Fix "duplicate strip" always increase the user count for ipo. * IPO pinning on sequencer strips was lost during Undo.
2009-06-08Sequencer WIPCampbell Barton
- Move buttons into the sequencer Nkey region - Made the header and menu items use the python api, still need to get more buttons working. - Fixed some minor problems
2009-06-082.5Ton Roosendaal
Preview renders: - Added proper button type (BUT_EXTRA) for preview buttons, to handle drawing better. It now first draws an alpha mask, to ensure the preview is correctly fitting inside the widget style. It then draws the outline. - Added protection for executing preview renders while regular rendering, that's not going to work...
2009-06-07added item_enumO() so python menu items can call enum types with string args.Campbell Barton
Example sequencer menu self.layout.column() self.layout.item_enumO("SEQUENCER_OT_effect_strip_add", property='type', value='ADD', text="Effect Strip (Add)")
2009-06-07UI:Brecht Van Lommel
* layout.split() now takes a percentage argument to control the split position. * ID template now works for more than just the Text ID type, includes and icon, and some other fixes.
2009-06-04UI/RNA:Brecht Van Lommel
* Added an icon entry to RNA structs, instead of the UI_GetIconRNA function, to keep code together a bit more and make the lookup faster.
2009-06-03UI:Brecht Van Lommel
* Implemented scale_x/scale_y for layouts. * Implemented left/right/center/expand alignment for row layouts.
2009-05-29UI: Matt, check space_outliner.c diff to see how to get pythonBrecht Van Lommel
layouts in a header.
2009-05-29UI:Brecht Van Lommel
* Added some properties of uiLayout that can be set. I've added some API code for more than the two I've implementeds, so ignore those for now. * layout.active = False will gray out buttons inside a layout. * layout.enabled = False will gray out and completely disable the buttons inside a layout. * Also some function renames.
2009-05-29Context:Brecht Van Lommel
Added a system for adding a "local" context in a UI layout. This way you can define for example within a modifier panel all operators to get the modifier in the context. In the layout code: uiLayoutSetContextPointer(layout, "modifier", &ptr) layout.set_context_pointer("modifier", md) In the operator: ptr = CTX_data_pointer_get(C, "modifier") md = context.modifier
2009-05-27UI:Brecht Van Lommel
* Added Constraints template and Add Constraint operator. * Added toggle=True/False parameter to uiItemR, to get a toggle button (actual button) rather than an "option" button (checkbox) * Added OPTION/OPTIONN button type, to distinguish with TOG/TOGN. RNA: * Make all modifier pointers editable, including correct updates. * Added notifiers and updates to constraints. * Fix a stack corruption, pointed out by Andrea, and potentially causing crashes.
2009-05-212.5 UI: Modifier TemplateBrecht Van Lommel
* template_modifier creates the modifier box, and returns a layout to put the buttons in. * Only the armature modifier is now done with python code, all other modifiers use C code. To convert a modifier to python, remove the corresponding C code and create a function in DATA_PT_modifiers. * Some modifiers still require some RNA work to get it working well, especially to make pointers editable. Mostly that is a matter of defining an own _set callback and put some of the modifier C code into it. * Still various buttons that don't work, like for hooks or mesh deform binding. * Fix for crashing decimate modifier (still disabled). * Removed UI_BUT_NO_HILITE, HMENU. * Make uiLayoutBox work with align.
2009-05-20UI:Brecht Van Lommel
* Hide enable button in horizontal collapsed panels. * Fix enable button not being in correct position when zooming. * Fix n-key panels layout being messed up.
2009-05-19UIBrecht Van Lommel
* Fix buttons jumping around when resizing and zoom. Part of this was adding a tiny a 0.001f offset in UI_view2d_view_ortho, otherwise the rounding is unpredictable (used to be 0.375f, but that was disabled). * Fix various issues with zooming, panning panels. V2D_LOCKOFS_X/Y is now taken into account in more places in the view2d code, to avoid zooming into the center or panning out of the view. * Remove "Free" align mode in buttons window (it's not really useful). * View3D/Graph/Image editors now use the same PanelType system as the buttons window, means some deprecated panel code could be removed. * Some small visual tweaks for panels. * View 2D Reset operator (Home key), to reset zoom and panning for panels. * Added argument to set number buttons as sliders (slider=True for itemR). * Ignore labels for button alignment (doesn't look right). * Fix some use of context.main in py scripts, should get data from active object instead. * Fix autotexspace -> auto_texspace in py script.
2009-05-15UI: Layout EngineBrecht Van Lommel
* Buttons are now created first, and after that the layout is computed. This means the layout engine now works at button level, and makes it easier to write templates. Otherwise you had to store all info and create the buttons later. * Added interface_templates.c as a separate file to put templates in. These can contain regular buttons, and can be put in a Free layout, which means you can specify manual coordinates, but still get nested correct inside other layouts. * API was changed to allow better nesting. Previously items were added in the last added layout specifier, i.e. one level up in the layout hierarchy. This doesn't work well in always, so now when creating things like rows or columns it always returns a layout which you have to add the items in. All py scripts were updated to follow this. * Computing the layout now goes in two passes, first estimating the required width/height of all nested layouts, and then in the second pass using the results of that to decide on the actual locations. * Enum and array buttons now follow the direction of the layout, i.e. they are vertical or horizontal depending if they are in a column or row. * Color properties now get a color picker, and only get the additional RGB sliders with Expand=True. * File/directory string properties now get a button next to them for opening the file browse, though this is not implemented yet. * Layout items can now be aligned, set align=True when creating a column, row, etc. * Buttons now get a minimum width of one icon (avoids squashing icon buttons). * Moved some more space variables into Style.
2009-04-302.5Ton Roosendaal
Cleanup of conventions for icon placement in menus. Old code only allowed 1 icon per menu, forcing to pass on the sublevel menu icon with exception handling. Now sublevel icons are drawn automatically, allowing to add an icon before name too. (Check shift+a menu)
2009-04-27UI:Brecht Van Lommel
* Made separator item work horizontal & vertical. * Add colon (:) automatic for int/float/enum/string. * Added space variables to uiStyle and use them in the layout engine. * Added initial World buttons by Thomas Dinges, thanks! * Added some code for modifiers in the Object Data context. This will become a template though. * Use a common poll() callback in the scripts to reduce code.
2009-04-272.5Ton Roosendaal
Summary of ain features: - Themes and Styles are now editable. - CTRL+U "Save user defaults" now goes to new .B25.blend, so you can use 2.4x and 2.5x next to each other. If B25 doesn't exist, it reads the regular .B.blend - Press Tkey in 3d window for (unfinished) toolbar WIP. It now only shows the last operator, if appropriate. Nkey properties moved to the other side. A lot of work was done on removing old themes for good and properly getting it work with the 2.5 region system. Here's some notes; - Buttons now all have a complete set of colors, based on button classifications (See outliner -> user prefs -> Interface - Theme colors have been extended with basic colors for region types. Currently colors are defined for Window, Header, List/Channels and for Button/Tool views. The screen manager handles this btw, so a TH_BACK will always pick the right backdrop color. - Menu backdrops are in in Button theme colors. Floating Panels will be in the per-space type Themes. - Styles were added in RNA too, but only for the font settings now. Only Panel font, widget font and widget-label work now. The 'group label' will be for templates mostly. Style settings will be expanded with spacing defaults, label conventions, etc. - Label text colors are stored in per-space Theme too, to make sure they fit. Same goes for Panel title color. Note that 'shadow' for fonts can conflict with text colors; shadow color is currently stored in Style... shadow code needs a bit of work still.
2009-04-22UIBrecht Van Lommel
* Headers and menus can now be created in python. * Replaced the uiMenuItem functions to create menus with equivalent uiItem functions using a layout, removing duplicated code. * More uiItem functions are now exposed to python. * The text editor header, panels and one of its menus are now created in space_text.py. * Buttons window data context icon new changes depending on active object. Issues * Icons are not wrapped yet, hardcoded ints at the moment. * The ID browse template is unfinished.
2009-04-20changed some {} to {0}, these were causing errors on msvc. also got rid of ↵Joseph Eagar
some spurious prototypes I forgot to get rid off.
2009-04-19RNA:Brecht Van Lommel
* Wrapped HeaderType/Header. * Some tweaks to get type properties wrapped with less code. * Made Panel space and region types enum instead of string.
2009-04-19RNA: Generic Type RegistrationBrecht Van Lommel
The Python API to define Panels and Operators is based on subclassing, this makes that system more generic, and based on RNA. Hopefully that will make it easy to make various parts of Blender more extensible. * The system simply uses RNA properties and functions and marks them with REGISTER to make them part of the type registration process. Additionally, the struct must provide a register/unregister callback to create/free the PanelType or similar. * From the python side there were some small changes, mainly that registration now goes trough bpy.types.register instead of bpy.ui.addPanel. * Only Panels have been wrapped this way now. Check rna_ui.c to see how this code works. There's still some rough edges and possibilities to make it cleaner, though it works without any manual python code. * Started some docs here: http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNATypeRegistration * Also changed some RNA_property and RNA_struct functions to not require a PointerRNA anymore, where they were not required (which is actually the cause of most changed files).
2009-04-17UI:Brecht Van Lommel
* Broke loading buttons_scene.py in last commit. * Fix issue with space not being distributed equally in the layout engine.
2009-04-17UI:Brecht Van Lommel
* For new buttons spaces, automatically set horizontal/vertical align depending on size, instead of free. * Cleaned up the UI panel API. There's now a new uiBeginPanel function which takes a panel type, and a uiEndPanel which takes the final size. uiNewPanel* functions will be phased out. * Animate the re-alignment when a panel size changes, e.g. when enabling dupliframes. * Load ui scripts from the release/ folder first if it is available. This makes it easier to edit ui scripts, since it will directly use the original files which avoids having to run the build system. * Improve editing of panel types while blender is open. That means fixing some issues with lacking updates, overlaps, strange ordering. It even does an animation now when the panel resizes.
2009-04-16UI:Brecht Van Lommel
* Don't call generic layout hints templates anymore, i.e. TemplateRow becomes Row, etc. * Added more general layout nesting, using uiLayoutSplit() and uiLayoutBox() functions, for which the sublayouts can then be accessed using uiLayoutSub(), to put items in those sublayouts. * Some steps to make the layout decisions, like which items to put in which columns, independent of the width of the window or the text in the buttons. We want the layout to be stable under resizes and translations. * Added an "expand" parameter to uiItemR, used now to expand enums into a row instead of using a menu.
2009-04-15UI:Brecht Van Lommel
* Added simple row template to layout buttons in a horizontal row, so you don't need to use columns for it.
2009-04-142.5Ton Roosendaal
More cleanup! - removed old UI font completely, including from uiBeginBlock - emboss hints for uiBlock only have three types now; Regular, Pulldown, or "Nothing" (only icon/text) - removed old font path from Userdef - removed all old button theme hinting - removed old "auto block" to merge buttons in groups (was only in use for radiosity buttons) And went over all warnings. One hooray for make giving clean output :) Well, we need uniform definitions for warnings, so people at least fix them... here's the real bad bugs I found: - in mesh code, a call to editmesh mixed *em and *me - in armature, ED_util.h was not included, so no warnings for wrong call to ED_undo_push() - The extern Py api .h was not included in the bpy_interface.c, showing a several calls using different args. Further just added the missing includes, and removed unused vars.
2009-04-11UI:Brecht Van Lommel
* Template slots are no longer specified per item, but are a state now, set with uiTemplateSlot. * Some renaming of Layout functions for consistency. * Fix for roundbox in stack template, now is always behind the other buttons. * Improved python API for layout: http://www.pasteall.org/5008/python
2009-04-102.5Ton Roosendaal
Quick hack to enable zoom in buttons window again. It uses bad old conventions for fixed panel width still, view2d has to be tweaked for new system. But, it shows layout to work. :)
2009-04-102.5Ton Roosendaal
More font style work; - hooked up almost all ui buttons code to new font system, including text clipping - panel headers scale now too to smaller fonts - added further style hints, for shadow/emboss. Is all going to be in UI designer control! - for fun; changed layout engine to spread vertical buttons in window width Next: removal of all usage of old font system, using 'styles'. Will also move font blurring to blenfont module.
2009-04-072.5Ton Roosendaal
- Widgets now draw projected themselves, putting window/region matrix on 1:1 pixelspace. This allows zoomable buttons, but crispy. - Note: text in smaller buttons dont get clipped correct now, WIP - Fixed error with button types in some menus. - removed temp UI_2_50 define hack.
2009-04-042.5: Added basic insert/remove keyframes from UI buttons.Brecht Van Lommel
- I key over a button inserts a keyframe. - Alt+I removes a keyframe. - With right mouse button a menu with these options pops up. - Buttons are colored green if the property is animated, yellow if it is on a keyframe. I followed the colors from the UI mockups, but the flicker on keyframes seems too distracting in practice? - This only works for properties on the ID itself at the moment, path callbacks need to be filled in for all structs but mesh still. - It doesn't work when you're over a related label, that needs to be made to work. - I made it insert keyframes outside of any keyingset. Not sure how this is supposed to integrate?
2009-04-022.5Ton Roosendaal
Some more work on UI drawing code, added a generic structure for how widgets will be defined. It's still a wrapper on top of old buttons. Docs follow still. Some visual improvements; - more button types supported (check render buttons) - pressed state is shown - better 'panel' triangle AA, and new divider style Still a lot of work here. I expect the next days/weeks to be much more coding too, had to catch up with a lot of other Blender stuff. There's more (excitement) going on than code. :)
2009-04-02UI: various panels fixes.Brecht Van Lommel
* Fix sometimes non-working close/open button. * Fix panels being a bit out of the view on startup. * Fix too large totrct region for view2d. * Fix wrong panel order when changing vertical <-> horizontal. * Fix wrong panel positions after switching contexts. * Fix an access of freed memory when collapsing panels. * Free align mode works again. * Animations work again.
2009-03-302.5:Brecht Van Lommel
* Fix ANIM button, didn't work and was leaking memory. * Transform ops: Edition -> Editing.
2009-03-30 2.5Michael Fox
******* ported some of the scene buttons to the new system - added RNA_SceneRenderData struct to rna - added a warning print to uiItemR when it can't find the property - what is not there is due to relating entry not being in RNA - anim button does not work Im commiting this so we have much more wider test area then text and object buttons