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-06-04UI:Brecht Van Lommel
* First step for buttons context browsing, read-only still. * Drawn in a panel now, though this should become a separate region. * Path of the context is constructed as an array of RNA pointers and then used for drawing and context lookups from python.
2009-06-032.5Ton Roosendaal
Further work on new "text search" button. - Now allows to browse items (mouse, arrow key) - Assigns active value - Uses different backdrop to distinguish from popup menus - Cleaned API for it, so it can be used nicely generic Also added a search menu, which shows all currently working operators: CTRL+ALT+F. (mind the looks, it needs some tweaks!) To make a menu activating a button I've added a new event... could use some tweaks. Important note: the callback to pass on "old string" for text button (bone rename) couldn't work yet, added first code for new callback, but has to be worked on further. When bone rename gets added it can be tested.
2009-05-242.5Ton Roosendaal
First version of region-scaling. WIP commit, so bear with me a while! - All fixed sized regions have a small 'drag' widget, on the left or top. (not yet for free-sized regions, like 4-split). - Mouse-over on widget changes cursor and allows drag. - Click on widget hides/reveals. - Fun for test; 3d view header, if high enough, draws more rows of buttons when width is too small. The WIP stuff; - It doesn't save yet in files, using the "minsize" variable of region definitions, also means other similar areas show same sizes now. - Definitions for pref size, min/max will be added. - Properties panel in Fcurve window draws widget on wrong place when hidden (subdiv system needs tweak) - Widgets don't draw perfect yet, also needs further tweaks. But, in general it's quite fun and usable. :) Many variatians are possible, like for real tabs, or little icons, or just click-drag on edge. The reason to first try the widget/tab variation: - it re-uses the "Area Action Zone" code, widgets for layouting Screens - it's visible, hotkey-only options for screen layouts are not preferred. - distinguish clearly area-edges from region-edges this way. Having the cursor change shape on every edge (and block input) is probably annoying too... but that can be tested. Later more!
2009-05-222.5Ton Roosendaal
- Added new popup menu type, which can be used to pass on a running operator too. Needed it for debug menu, allowing to set variables outside of operator "first do then tweak" system. :) void uiPupBlockOperator() Don't forget to tell invoke() return that operator now runs modal! - Test menu: alt+ctrl+d gives the G.rt debug value. Values of 0-16 now can be used to shrink areas, stuff like this then happens (rt==4): http://download.blender.org/institute/rt5.jpg Was looking at ways to visually distinguish areas and regions better. Yes I know, cute rounded corners, etc. Just testing!
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-20UI: added support for enable buttons in the panel header.Brecht Van Lommel
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-05-06Big, big commit!!Diego Borghetti
1) Remove WITH_FREETYPE2 from code, so now blender always need freetype2 2) Remove the old bmfont 3) Remove ftfont and bFTGL library 4) Implement a new BLF_draw_default function for place that still need/use the old BMF api. I try to update both, scons and cmake, but I only can test with make, so hope all work fine. MSVC is broken, but I don't have Windows, things to search and fix are any reference to WITH_FREETYPE2, FTGL and BMFONT (take in care that blenkernel also have a BKE_bmfont.h, this don't have anything to do with bmfont). Always have to link/include the freetype2 library Remove any reference to libbmfont Remove any reference to libftfont Remove any reference to libbftgl (or libbFTGL)
2009-04-30* trying out a little 'gripper' draw style for the screen splitter triangleMatt Ebb
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-152.5Ton Roosendaal
- Fun for testers: Added "Redo Operator" Panel in view3d 'nkey' region. It's going to be part of tools UI I know, but this will give good tests of what goes on with operators. I had to add small fixes in Transform for it already. :) One important issue to note is that it lists every operator, also from non-3D-window ops. Needs checked or classified somehow. - Fix: removed bad 2.4x hack from how pulldown menus were defined. Made widget code cleaner, and will show menus like SHIFT+A correct now.
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-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-03-182.50: some warning fixes.Brecht Van Lommel
2009-03-112.5 / Area managementNathan Letwory
* Add Area Swap: hold alt and drag with LMB from either actionzone. Release LMB on area you want to swap with. I added a matching cute cursor for this (and to make it a politically delicate issue, it's white on black). Note, there are still some error totblocks that I haven't been able to track down properly yet, so that's still a bit WIP.
2009-02-202.5Ton Roosendaal
Graph Editor: added region for buttons (properties), so we can check drivers again! Works like view3d, press NKEY. No buttons there yet though... no time anymore today, it'll require some RNA magic probably.
2009-02-192.5Ton Roosendaal
Assorted smaller fixes: - Fix: modal keymaps for editmode in view3d were not set again when you copy areas or go fullscreen. - Improved "redo last op" (F6) to search back in history for a redoable operator. Operator also used wrong pupmenu type. - On creating new FCurve editor, the channel rainbow colors are set correct. - EditMesh: fixed code for Spin/Screw, correct props, init and error reporting. (Spin hotkey ALT+R temporary) - recompiled all to check for uninitialized variable warnings. (compile flag should be -O for this). Fixed some proto's.
2009-02-182.5Ton Roosendaal
Several things in one commit; could not split this up easily, one job invoked another, and so on. :) - Added pulldowns for save/load .blend file in top bar. - To enable "Save" without further popups (save over) I've added a signaling function in window header to indicate a succesful save. - On any undo push it now signals 'file changed'. This goes by notifiers nicely, but now registers only the undopushes, which is quite unreliable. "Changed" state shows in header as "Blender*" and for OSX with the standard close button black dot. - Made screencast show a button in top bar indicating such, and allowing quit. No hotkey for quit yet... but ESC will keep casting now. - Fixed new BLF_init(), which should be in WM_init() and not on any .B.blend read. - Fixed CTRL+F3 "Save Screenshot", which was still using old fileselect code.
2009-02-172.5Ton Roosendaal
Fix for the 'repeat last operator' option. It didn't work yet well outside editmode. Now undo/redo has to fully keep the UI alive, even when called from within a running popup. Another fix: when regions collapse/hide they were not effectively disabled, still accepting events. (like Nkey in 3d window).
2009-02-102.5Ton Roosendaal
*** 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.
2009-02-092.5 - Animation UI tweaksJoshua Leung
* 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'
2009-02-082.5Ton Roosendaal
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
2009-02-072.5Ton Roosendaal
- Screen browse button back - Several fixes in using screens in more windows. Still has loose ends, but things are definitely more stable!
2009-02-072.5Ton Roosendaal
- Added back CTRL+X "reload start-up file". (Original name 'erase all' is a bit misleading, but we can go over all naming conventions later :) - Added memfree for triple buffer data.
2009-01-27Graph Editor: Added files + BugfixesJoshua Leung
* Copied files containing code for tools from Action Editor to use as a base for the Graph Editor's tools. The toolsets are now very similar, so it should just be a case of making a few tweaks here and there. Currently all of these tools are #if-def'd out, as there are still a few things to clean up. (BUILDSYSTEM MAINTAINERS BEWARE!) * Tweaked some UI stuff (width of mode selector in header, names in the spacetype choosing menu) * Fixed a few bugs which were causing crashes when loading old files with IPO Editors open.
2009-01-232.5Ton Roosendaal
Font object + editing back. Was quite some work due to a myriad of globals all over! Works nicely 100% local now. To enable a single textedit operator, I've added a new keymap entry KM_TEXTEDIT, which gives all keyboard events to the handler. Also had to add a new keymap-add function to force a keymap handler in beginning of region handlers. In future this can be used to prioritize handlers. Also: split off the arrow keys (frame change) to a separate region level handler. Can be set with default flag in regiontype->keymapflag ED_KEYMAP_FRAMES
2009-01-232.5: WM CompositingBrecht Van Lommel
* Triple Buffer is now more complete: - Proper handling of window resize, duplicate, etc. - It now uses 3x3 textures (or less) if the power of two sizes do not match well. That still has a worst case wast of 23.4%, but better than 300%. - It can also use the ARB/NV/EXT_texture_rectangle extension now, which may be supported on hardware that does not support ARB_texture_non_power_of_two. - Gesture, menu and brushe redraws now require no redraws at all from the area regions. So even on a high poly scene just moving the paint cursor or opening a menu should be fast. * Testing can be done by setting the "Window Draw Method" in the User Preferences in the outliner. "Overlap" is still default, since "Triple Buffer" has not been tested on computers other than mine, would like to avoid crashing Blender on startup in case there is a common bug, but it's ready for testing now. - For reference "Full" draws the full window each time. - "Triple Buffer" should work for both swap copy and swap exchange systems, the latter still need the -E command line option for "Overlap". - Resizing and going fullscreen still gives flicker here but no more than "Full" drawing. * Partial Redraw was added. ED_region_tag_redraw_partial takes a rect in window coordinates to define a subarea of the region. On region draw it will then set glScissor to a smaller area, and ar->drawrct will always be set to either the partial or full window rect. The latter can then be used for clipping in the 3D view or clipping interface drawing. Neither is implemented yet.
2009-01-212.5: WIP commit for WM compositing.Brecht Van Lommel
* Drawing code from wm_event_system.c split into separate wm_draw.c file. Now there's 3 different draw methods implemented, not sure what survives or will be added but is useful for debugging. * Draw All: redraws everything each time, for reference. * Draw Overlap All: what the code did before this commit, only draw regions marked for redraw, and anything that overlaps them. * Triple Buffer: copies/retores all area regions into a texture, and blits that before drawing. Menus, brushes, gestures, etc are redrawn always on top of that. Currently "Draw Overlap All" is set hardcoded to be used still. Triple Buffer code is not complete, it doesn't handle window resize yet. Cards that don't support non power of two textures can need quite large textures as well, this could be split into multiple smaller ones.
2009-01-192.5Ton Roosendaal
Bugfix for previous View3D split commit: on file read, the area- spacetypes are not set yet, needs BKE_spacetype_from_id() there.
2009-01-192.5Ton Roosendaal
View3D has been split now in a local part (RegionView3D) and a per-area part (old View3D). Currently local is: - view transform - camera zoom/offset - gpencil (todo) - custom clipping planes Rest is in Area still, like active camera, draw type, layers, localview, custom centers, around-settings, transform widget, gridlines, and so on (mostly stuff as available in header). To see it work; also added new feature for region split, press SHIFT+ALT+CTRL+S for four-split. The idea is to make a preset 4-split, configured to stick to top/right/front views for three views. Another cool idea to explore is to then box-clip all drawing based on these 3 views. Note about the code: - currently view3d still stores some depricated settings, to convert from older files. Not all settings are copied over though, like custom clip planes or the 'lock view to object'. - since some view3d ops are now on area level, the operators for it should keep track of that. Bugfix in transform: quat initialize in operator-invoke missed one zero. Als brought back GE to compile for missing Ipos and channels.
2009-01-112.5Ton Roosendaal
Testing commit; this puts back support for swap-exchange graphics cards, which I had hoped to have faded out... but it appears it still does it for intel and some atis. This only swap-exchanges properly for areas/regions, not for menus or the 'action zone triange'. Let's see if it works! You enable it with starting with commandline option -E
2009-01-092.5Ton Roosendaal
Vertex Paint back! Added WM level "paint cursor" system, which manages a custom painting cursor for tools or modes. - Activate it with WM_paint_cursor_activate(). That function wants two callbacks, a poll(C) to check whether there's a cursor in given context and ARegion, and a draw(C, x, y) which gets called when appropriate. - While paintcursor is active, the WM handles necessary redrawing events for all regions, also to nicely clear the cursor on region exit. - WM_paint_cursor_activate returns a handle, which you have to use to end the paint cursor. This handle also means you can register as many custom cursors as you want. At the moment, vertex paint mode registers only a mousemove handler, all other events are still normally handled. This is stuff for the future todo.
2009-01-062.5Ton Roosendaal
Cleaned area prevspace, and made exported API for it. Also added operator-free on 'cancel' in filewindow.
2009-01-062.5 - Start of filebrowser.Andrea Weikert
- basic drawing of list and thumbnail view (switchable through 'favourits' icon in header) - selection of files and directories (bookmarks) works with the RMB (right mouse button) - load operator for files still unstable (no check for correct file type) and incomplete. (WM_operator_free missing) immediate TODOS: - fix load file operator - finish drawing of buttons in header - drawing of detailed list with all file info. - finish selection and execute operators (LMB and MMB execute) later todos: - parent dir - keymap for all the shortcuts - append/link and databrowse - ...
2009-01-042.5Ton Roosendaal
WM: added area-listener, which can be used to tag refreshes for either the drawing call, or use the new ED_area_tag_refresh() function which will automatically call, after all notifiers were handled, an the spacetype->refresh() you provided. Added for Joshua, after reviewing Action/Dopesheet requirements. Joshua: I've made two dummy functions in space_action.c: - action_listener() - action_refresh() Wich now does a printf on activating a new object.
2008-12-282.5Ton Roosendaal
Quick bugfix: notifiers was reading NULL pointer after a file read.
2008-12-272.5Ton Roosendaal
Notifier system upgrade, based on Brecht's doc. Implementation notes: http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers#Implementation In short: let's try to strictly communicate in a notifier what happened. The listeners then can act themselves. It also means that a frame-changed notifier doesn't send out redraws, the editors themselves can decide.
2008-12-26UI: PanelsBrecht Van Lommel
* API and usage is basically the same still. * Panels were moved to region level. I first thought of keeping them at area level, but having them at region level it's simpler to handle events and do drawing, and also to integrate with view2d. They can still become area level overlapping regions, if we make a floating (or docked) region that can contain panels. * Added back a few panels from the scene buttons for testing. Issues still: * The view2d handling and alignment refresh of panels is not correct yet in the buttons window. * I did not yet bring back the block handlers system. It was basically a system that stored which panel was open and where the events for that panel would go. Just a few functions, but not sure how it fits in 2.5. * There was a case where dragging panels would not properly remove the window level handler, but could not redo anymore even though I don't think I fixed it. * Some text in the panels goes past the end of the button, that is due to the checkmark button drawing, not related to this commit. Other UI code changes: * Renamed interface.h to interface_intern.h for consistency. * Fixed some issues with freeing of blocks when they changed due to context. * uiDrawBlock now takes a context pointer (mostly for block drawextra).
2008-12-232.5 Action Editor Bugfix - Select keys now worksJoshua Leung
It is now possible to select individual keyframes again in the Action Editor. * Temporarily disabled markers keymap in Action Editor, as it was stealing all the events. Waiting for solution from Ton... * Fixed a crash and wrong coordinate conversion errors
2008-12-232.5: fix a crash switching to space types with old space data.Brecht Van Lommel
2008-12-222.5Ton Roosendaal
Small area/space api fix: space->new() callbacks now require Context pointer. Too many cases you want to initialize stuff... Also: added dummy draw function for NLA channel region, was too ugly.
2008-12-212.5Ton Roosendaal
Added 'header print' feature back. ED_area_headerprint(ScrArea *sa, const char *str); Give it a NULL string to disable the feature. On each call it tags the header for redraw.
2008-12-212.5Ton Roosendaal
- Added default Circle 'gesture' operator callbacks. As test, added in view3d window as Ckey, paint over object centers. - Fixed notifier for gesture, to only cause redraws in own region.
2008-12-212.5 - Time operations to Animation ModuleJoshua Leung
Moved time_ops.c contents to anim_ops.c, as the operators there are applicable to all other Animation Editors too. anim_ops.c will therefore contain all operators which will apply to all Animation Editors (i.e. change frame, frames/seconds display toggle, and soon Preview Range tools). As such, added new global 'Animation' keymap like for View2D and Markers, which will ensure that these tools can be accessed in an uniform way across editors. Note that the order that these things are added is important, as the Animation ones will often 'steal' events from the View2D and Markers ones if placed before the others. To prevent that, we'd need to be able to set boundboxes here...
2008-12-192.5Ton Roosendaal
All of the view3d drawing code is now 'Context' free. The idea is: - ED_region_do_draw() sets and freezes drawing context - regiontype draw() callback then can pass on other relevant context stuff as function args. Also cleaned up the WM opengl wrappers, to mimic opengl state; no reason to give window pointer anymore.
2008-12-192.5Ton Roosendaal
Compile fix; MAXFLOAT is not defined uniformly on platforms. Note for the coders: ED_types.h: has editor wide defines and structs ED_util.h: has editor wide functions Both includes also are containing old cruft to get things to compile (and work), for later cleanup.
2008-12-182.5Brecht Van Lommel
Context API This adds the context API as described here. The main practical change now is that C is not longer directly accessible but has to be accessed through accessor functions. This basically adds the implementation of the API and adaption of existing code with some minor changes. The next task of course is to actually use this design to cleanup of bad level calls and global access, in blenkernel, blenloader. http://wiki.blender.org/index.php/BlenderDev/Blender2.5/Context Error, Warning and Debug Info Reporting This adds the error reporting API as described here. It should help clean up error() calls in non-ui code, but eventually can become used for gathering messages for a console window, and throwing exceptions in python scripts when an error happens executing something. http://wiki.blender.org/index.php/BlenderDev/Blender2.5/Reports
2008-12-172.5Ton Roosendaal
Added operator for moving area to 'full screen'. This is instable with tooltips on... fishy stuff then goes on, which Brecht will first look at. :)
2008-12-162.5Ton Roosendaal
More notifier and redraw cleanup - notifiers are not filtered anymore, apart from window/screen notifiers, they get to all regions. - fixed drawing of 'action zones' in areas. - added support for basic multilayer draw, like for action zones now, and future other area decorations (tabs, region handlers) check: ED_area_overdraw_flush() ED_area_overdraw() - bugfix in UI redraw tags, it was calling region pointer in free'd data - added notifier for marker-changed - added keymap for markers to ipo window