Initial revision
[blender.git] / intern / python / modules / Blender / Window.py
1 """The Blender Window module
2
3 This module currently only supports redrawing commands of windows.
4 Later on, it will allow screen manipulations and access to Window
5 properties"""
6
7 import _Blender.Window as _Window
8
9 t = _Window.Types 
10 Const = t # emulation
11
12 Types = { 'View'     : t.VIEW3D,
13           'Ipo'      : t.IPO,
14           'Oops'     : t.OOPS,
15           'Button'   : t.BUTS,
16           'File'     : t.FILE,
17           'Image'    : t.IMAGE,
18           'Text'     : t.TEXT,
19           'Action'   : t.ACTION,
20         }
21
22 del t
23
24 def Redraw(t= 'View'):
25         """Redraws all windows of the type 't' which must be one of:
26
27 * "View"   - The 3D view
28
29 * "Ipo"    - The Ipo Window
30
31 * "Oops"   - The OOPS (scenegraph) window
32
33 * "Button" - The Button Window
34
35 * "File"   - The File Window
36
37 * "Image"  - The Image Window (UV editor)
38
39 * "Text"   - The Text editor
40
41 * "Action" - The Action Window"""
42
43         if type(t) == type(1):
44                 return _Window.Redraw(t)
45         try:
46                 _Window.Redraw(Types[t])
47         except:
48                 raise TypeError, "type must be one of %s" % Types.keys()
49
50 def RedrawAll():
51         """Redraws the whole screen"""
52         _Window.RedrawAll()
53
54 def drawProgressBar(val, text):
55         """Draws a progress bar behind the Blender version information.
56 'val' is a float value <= 1.0, 'text' contains info about what is currently
57 being done.
58 This function must be called with 'val' = 0.0 at start and end of the executed
59 (and probably time consuming) action.
60 The user may cancel the progress with the 'Esc' key, in this case, 0 is returned,
61 1 else."""
62         return _Window.draw_progressbar(val, text)
63
64 draw_progressbar = _Window.draw_progressbar # emulation
65 QRedrawAll = _Window.QRedrawAll