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
diff options
context:
space:
mode:
-rw-r--r--release/scripts/save_theme.py9
-rw-r--r--source/blender/python/api2_2x/Blender.c38
-rw-r--r--source/blender/python/api2_2x/doc/API_intro.py16
-rw-r--r--source/blender/python/api2_2x/doc/Blender.py11
4 files changed, 46 insertions, 28 deletions
diff --git a/release/scripts/save_theme.py b/release/scripts/save_theme.py
index 4b8f06c348f..4713c63a9ff 100644
--- a/release/scripts/save_theme.py
+++ b/release/scripts/save_theme.py
@@ -2,14 +2,14 @@
"""
Name: 'Save Current Theme'
-Blender: 234
+Blender: 236
Group: 'Export'
Tooltip: 'Save current theme as a bpython script'
"""
__author__ = "Willian P. Germano"
__url__ = ("blender", "elysiun")
-__version__ = "1.0 11/05/04"
+__version__ = "1.1 2005/13/01"
__bpydoc__ = """\
This script saves the current Theme in Blender as a Blender Python script.
@@ -114,3 +114,8 @@ theme = Theme.New('%s')
fout.close()
FileSelector(write_theme, "Save Current Theme", default_fname)
+
+try:
+ Blender.UpdateMenus()
+except:
+ Blender.Draw.PupMenu("Warning - check console!%t|Menus could not be automatically updated")
diff --git a/source/blender/python/api2_2x/Blender.c b/source/blender/python/api2_2x/Blender.c
index 761fffabb50..4501d918470 100644
--- a/source/blender/python/api2_2x/Blender.c
+++ b/source/blender/python/api2_2x/Blender.c
@@ -65,6 +65,7 @@
#include "gen_utils.h"
#include "modules.h"
#include "../BPY_extern.h" /* for bpy_gethome() */
+#include "../BPY_menus.h" /* to update menus */
/**********************************************************/
@@ -73,10 +74,10 @@
static PyObject *Blender_Set( PyObject * self, PyObject * args );
static PyObject *Blender_Get( PyObject * self, PyObject * args );
static PyObject *Blender_Redraw( PyObject * self, PyObject * args );
-static PyObject *Blender_ReleaseGlobalDict( PyObject * self, PyObject * args );
static PyObject *Blender_Quit( PyObject * self );
static PyObject *Blender_Load( PyObject * self, PyObject * args );
static PyObject *Blender_Save( PyObject * self, PyObject * args );
+static PyObject *Blender_UpdateMenus( PyObject * self);
/*****************************************************************************/
/* The following string definitions are used for documentation strings. */
@@ -105,9 +106,6 @@ static char Blender_Get_doc[] = "(request) - Retrieve settings from Blender\n\
static char Blender_Redraw_doc[] = "() - Redraw all 3D windows";
-static char Blender_ReleaseGlobalDict_doc[] =
- "Deprecated, please use the Blender.Registry module solution instead.";
-
static char Blender_Quit_doc[] =
"() - Quit Blender. The current data is saved as 'quit.blend' before leaving.";
@@ -134,6 +132,10 @@ Note 2: only .blend raises an error if file wasn't saved.\n\
\tYou can use Blender.sys.exists(filename) to make sure the file was saved\n\
\twhen writing to one of the other formats.";
+static char Blender_UpdateMenus_doc[] =
+ "() - Update the menus where scripts are registered. Only needed for\n\
+scripts that save other new scripts in the default or user defined folders.";
+
/*****************************************************************************/
/* Python method structure definition. */
/*****************************************************************************/
@@ -144,8 +146,8 @@ static struct PyMethodDef Blender_methods[] = {
{"Quit", ( PyCFunction ) Blender_Quit, METH_NOARGS, Blender_Quit_doc},
{"Load", Blender_Load, METH_VARARGS, Blender_Load_doc},
{"Save", Blender_Save, METH_VARARGS, Blender_Save_doc},
- {"ReleaseGlobalDict", &Blender_ReleaseGlobalDict,
- METH_VARARGS, Blender_ReleaseGlobalDict_doc},
+ {"UpdateMenus", ( PyCFunction ) Blender_UpdateMenus, METH_NOARGS,
+ Blender_UpdateMenus_doc},
{NULL, NULL, 0, NULL}
};
@@ -308,17 +310,6 @@ static PyObject *Blender_Redraw( PyObject * self, PyObject * args )
}
/*****************************************************************************/
-/* Function: Blender_ReleaseGlobalDict */
-/* Python equivalent: Blender.ReleaseGlobalDict */
-/* Description: Deprecated function. */
-/*****************************************************************************/
-static PyObject *Blender_ReleaseGlobalDict( PyObject * self, PyObject * args )
-{
- Py_INCREF( Py_None );
- return Py_None;
-}
-
-/*****************************************************************************/
/* Function: Blender_Quit */
/* Python equivalent: Blender.Quit */
/*****************************************************************************/
@@ -497,6 +488,19 @@ static PyObject *Blender_Save( PyObject * self, PyObject * args )
return Py_None;
}
+static PyObject * Blender_UpdateMenus( PyObject * self )
+{
+
+ BPyMenu_RemoveAllEntries();
+
+ if (BPyMenu_Init(1) == -1)
+ return EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ "invalid scripts dir");
+
+ Py_INCREF( Py_None );
+ return Py_None;
+}
+
/*****************************************************************************/
/* Function: initBlender */
/*****************************************************************************/
diff --git a/source/blender/python/api2_2x/doc/API_intro.py b/source/blender/python/api2_2x/doc/API_intro.py
index fb8df69a5eb..f3dd7ab65a5 100644
--- a/source/blender/python/api2_2x/doc/API_intro.py
+++ b/source/blender/python/api2_2x/doc/API_intro.py
@@ -14,12 +14,12 @@ The Blender Python API Reference
- L{Armature}
- L{Bone}
- L{NLA}
- - L{BGL} (*)
+ - L{BGL}
- L{Camera}
- L{Curve}
- L{Draw}
- - L{Effect} (*)
- - L{Image}
+ - L{Effect}
+ - L{Image} (*)
- L{Ipo}
- L{Lamp}
- L{Lattice}
@@ -29,18 +29,18 @@ The Blender Python API Reference
- L{Metaball}
- L{NMesh}
- L{Noise}
- - L{Object} (*)
+ - L{Object}
- L{Registry}
- - L{Scene} (*)
+ - L{Scene}
- L{Radio}
- L{Render}
- - L{Sound} (new)
+ - L{Sound}
- L{Text}
- L{Texture}
- L{Types}
- - L{Window} (*)
+ - L{Window}
- L{Theme} (new)
- - L{World} (*)
+ - L{World}
- L{sys<Sys>}
(*) - marks updated.
diff --git a/source/blender/python/api2_2x/doc/Blender.py b/source/blender/python/api2_2x/doc/Blender.py
index a864566c4e5..14ca8e8505d 100644
--- a/source/blender/python/api2_2x/doc/Blender.py
+++ b/source/blender/python/api2_2x/doc/Blender.py
@@ -10,7 +10,7 @@
"""
The main Blender module.
-B{New}: 'homedir', 'scriptsdir' and 'uscriptsdir' parameters in L{Get}.
+B{New}: L{UpdateMenus}.
Blender
=======
@@ -108,6 +108,15 @@ def Save (filename, overwrite = 0):
@note: DXF, STL and Videoscape export only B{selected} meshes.
"""
+def UpdateMenus ():
+ """
+ Update the menus that list registered scripts. This will scan the default
+ and user defined (if available) folder(s) for scripts that have registration
+ data and will make them accessible via menus.
+ @note: only scripts that save other new scripts in the default or user
+ defined folders need to call this function.
+ """
+
def Quit ():
"""
Exit from Blender immediately.