Commit Graph

1275 Commits

Author SHA1 Message Date
4ef6bb5559 2.5 filebrowser
fixes for crashes that seem to have been introduced by changes in context handling.
TODO: initialization for windowtype pupmenu if a previous SpaceFile was there.
2009-01-06 22:48:58 +00:00
fc28d3cf75 2.5 filebrowser
further cleanup:
- moved struct FileList* back to SpaceFile
- fix for memory related errors and freeing operator in file_free
- removed wmSubWindowSet, we're not doing OpenGL select in filebrowser
- removed drawing of load button when invoked from windowtype pupmenu
2.5 MSVC projectfiles:
- slipped in removal of multires_firstlevel.c in blenkernel
2009-01-06 19:22:29 +00:00
02003021a6 2.5
Made ED_screen api calls:
- ED_screen_full_newspace()
- ED_screen_full_prevspace()

Which now gets called by F1 operator, to move to 
full-screen-sized browser. For testing fun its default 
now. Might become user setting. Also have to check
on opening a temp window for this (and for render).
2009-01-06 18:52:18 +00:00
1c933cdb78 2.5
Cleaned area prevspace, and made exported API for it.
Also added operator-free on 'cancel' in filewindow.
2009-01-06 18:14:37 +00:00
e99d12508e 2.5
File window: load now happens with proper free of operator.
still a bit of mystery how main handler loop survives after
a file load... will investigate once. :)
2009-01-06 17:38:44 +00:00
650c63ec22 2.5 filebrowser
- some more cleanup, use UI_text functions for text output rather than BMF_ directly
- removed some debug prints and some unused variables
2009-01-06 16:47:01 +00:00
12f099bd91 2.5
FileWindow: fixes for Make and Scons, and removed
(commented) unused vars, and adding include files.
2009-01-06 16:15:43 +00:00
7e7fff7f63 2.5
fix wrong parameter list, I should have read those warnings a bit better!
2009-01-06 15:58:37 +00:00
b1cb844e05 2.5 - Start of filebrowser.
- 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-06 14:42:54 +00:00
0a8a00cd10 2.5: Error reporting
* Added a report list to operator, to which they can report errors and
  warnings. When the operator ends, it will display them with a popup. For
  python these should become exceptions when calling operators.
* Added a function to make a popup menu from a report list.
* Also added a utility function to prepend a string before the reports to
  indicate what they relates to. Also made the report functions used
  BLI_dynstr to simplify the code.
* Made file reading and writing report errors to the user again using this
  system, also replacing the left over uncommented bad level error() calls.
2008-12-29 13:38:08 +00:00
2335092456 UI: Panels
* 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-26 13:11:04 +00:00
Nathan Letwory
521fe6739a 2.5 / SCons
New priorities for most libs, at least core. This is still for Blender proper, BGE and such still to come.
2008-12-23 21:20:34 +00:00
Nathan Letwory
eb186d18dc 2.5 / SCons
Blender builds and links on Linux. For now without BGE and its player, 
but that will come. Priorities are still a mess, so expect more commits 
soon.
2008-12-23 20:13:31 +00:00
bac4d10174 2.5
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-22 10:09:56 +00:00
92b1d3f946 2.5: blenloader/ cleaning:
- removed context usage, should not be in this module
- remove G.main usage, now is passed along
- still some globals in use here, goal is to get rid of those too,
  so that it's possible to load/save blendfiles without having to
  think about some global state.
2008-12-19 16:36:15 +00:00
63195b0179 2.5
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-19 12:48:30 +00:00
54cc5c493d 2.5
remove unnecessary include dependency.
2008-12-18 20:08:24 +00:00
af746acaad 2.5
Adding back internal files for file/imagebrowser.
2008-12-18 19:21:30 +00:00
ecc4e55b66 2.5
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-18 02:56:48 +00:00
616edcca12 View2D: Cleanup of presets and fixed errors in various views
Now, preset view configurations are only to be used if they define all (scrollers not included) relevant settings for the view they are set for. This should be less confusing than in the previous situation with V2D_COMMONVIEW_TIMELINE stuff.

One implication of this though, is that all Animation Editors (for example), will have to define their own version of the relatively commonly shared info. However, given the great diversity in the range of settings each have, this should not be too much of an issue.

Also, added a 'standard' view config for main 'window' regions. At this stage, it is recommended that this view config should be used only as a placeholder template on which a set of custom settings could be based. I've put it into use for the buttons window/scripts window/info window so far.
2008-12-17 10:25:02 +00:00
f518fa8ea7 View2D: Presets for Initialising Views
Improved the View2D API so that initialising View2D data in init() callbacks (called on new regions and also on resizing regions) for regions is easier. 

Added a few preset view configurations for use when initialising new views. Views with the V2D_IS_INITIALISED flag set will not be reinitialised in the init() callbacks. Currently, some of these configurations will set/override all settings (like V2D_COMMONVIEW_LIST and V2D_COMMONVIEW_HEADER), while other ones serve a more supplimentary role (i.e. V2D_COMMONVIEW_TIMELINE only sets the x-axis settings, relying on the region to have already set the relevant y-axis settings). 
The future of such supplimentary configurations is yet to be seen, as I'm currently not sure whether they will cause the code to become too confusing, as you'd have to keep track of which settings belong/are set where. So far, only a few areas have been ported to use this. Tomorrow I'll check on a few more.

As this commit touches a lot of files, hopefully there aren't any critical bugs I've missed here.
2008-12-16 11:24:24 +00:00
a1e0868018 2.5
- depricated area "headbutofs" and "headbutlen", which is now fully
  replaced with view2d handling. 
- needed to add header default V2D_ALIGN_NO_NEG_Y, V2D_LOCKOFS_Y seems
  to not do anything atm :) 

- new: running blender in debug (blender -d) will print the current
  handler and operator in use (not mousemove)
2008-12-15 13:23:55 +00:00
Nathan Letwory
914a0aa8f4 * missing include path 2008-12-14 13:24:22 +00:00
a4b6ee672d 2.5
- Added file space (too) :) Andrea was first, this is more
  complete.
- Suggestion from Joshua: move all standard header buttons to
  1 function, makes it all easier, less code, and less area/space 
  stuff needs to be exposed.
2008-12-14 12:16:55 +00:00
a3c77e4d9e 2.5
Skeleton for bringing back SpaceFile.
Code to initialize the SpaceFile struct missing still, I think this is the right time to cleanup there :)
2008-12-14 11:25:00 +00:00