use_verify option to defvert_sync_mapped and defvert_sync was flipped, also minor...
[blender.git] / source / blender / python / BPY_extern.h
index acb4579..d8ddcd5 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * $Id$
- *
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
  *
  * The Original Code was in: source/blender/bpython/include/BPY_extern.h
  *
- * Contributor(s): Michel Selten, Willian P. Germano, Chris Keith
+ * Contributor(s): Michel Selten,
+ *                 Willian P. Germano,
+ *                 Chris Keith,
+ *                 Campbell Barton
  *
  * ***** END GPL LICENSE BLOCK *****
  */
 
+/** \file BPY_extern.h
+ *  \ingroup python
+ */
+
+
+
 #ifndef BPY_EXTERN_H
 #define BPY_EXTERN_H
 
-extern char bprogname[];       /* holds a copy of argv[0], from creator.c */
-extern char btempdir[];                /* use this to store a valid temp directory */
-
 struct Text; /* defined in DNA_text_types.h */
 struct ID; /* DNA_ID.h */
 struct Object; /* DNA_object_types.h */
 struct ChannelDriver; /* DNA_anim_types.h */
 struct ListBase; /* DNA_listBase.h */
-struct SpaceText; /* DNA_space_types.h */
-struct SpaceScript; /* DNA_space_types.h */
-struct ScrArea; /* DNA_screen_types.h */
-struct bScreen; /* DNA_screen_types.h */
 struct bConstraint; /* DNA_constraint_types.h */
 struct bPythonConstraint; /* DNA_constraint_types.h */
 struct bConstraintOb; /* DNA_constraint_types.h */
 struct bConstraintTarget; /* DNA_constraint_types.h*/
-struct Script;                         /* DNA_screen_types.h */
-struct BPyMenu;
 struct bContext;
+struct bContextDataResult;
 struct ReportList;
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-       /*These two next functions are important for making sure the Draw module
-         works correctly.  Before calling any gui callback using the Draw module,
-         the following code must be executed:
-         
-               if (some_drawspace_pylist) {
-                       BPy_Set_DrawButtonsList(some_drawspace_pylist->but_refs);
-                       BPy_Free_DrawButtonsList();
-               }
-               some_drawspace_pylist = PyList_New(0);
-               BPy_Set_DrawButtonsList(some_drawspace_pylist);
-
-      Also, BPy_Free_DrawButtonsList() must be called as necassary when a drawspace
-      with python callbacks is destroyed.
-      
-      This is necassary to avoid blender buttons storing invalid pointers to freed
-      python data.*/
-       void BPy_Set_DrawButtonsList(void *list);
-       void BPy_Free_DrawButtonsList(void);
-       
-       void BPY_pyconstraint_eval(struct bPythonConstraint *con, struct bConstraintOb *cob, struct ListBase *targets);
-       void BPY_pyconstraint_settings(void *arg1, void *arg2);
-       void BPY_pyconstraint_target(struct bPythonConstraint *con, struct bConstraintTarget *ct);
-       void BPY_pyconstraint_update(struct Object *owner, struct bConstraint *con);
-       int BPY_is_pyconstraint(struct Text *text);
-       void BPY_free_pyconstraint_links(struct Text *text);
-       
-       void BPY_start_python( int argc, char **argv );
-       void BPY_end_python( void );
-       void BPY_post_start_python( void );
-       void init_syspath( int first_time );
-       void syspath_append( char *dir );
-       void BPY_rebuild_syspath( void );
-       int BPY_path_update( void );
-       
-       int BPY_Err_getLinenumber( void );
-       const char *BPY_Err_getFilename( void );
-
-       int BPY_txt_do_python_Text( struct Text *text );
-       int BPY_menu_do_python( short menutype, int event );
-       int BPY_menu_do_shortcut( short menutype, unsigned short key, unsigned short modifiers );
-       int BPY_menu_invoke( struct BPyMenu *pym, short menutype );
-       
-       /* 2.5 UI Scripts */
-       int BPY_run_python_script( struct bContext *C, const char *filename, struct Text *text, struct ReportList *reports ); // 2.5 working
-       int BPY_run_script_space_draw(const struct bContext *C, struct SpaceScript * sc); // 2.5 working
-       void BPY_run_ui_scripts(struct bContext *C, int reload);
-//     int BPY_run_script_space_listener(struct bContext *C, struct SpaceScript * sc, struct ARegion *ar, struct wmNotifier *wmn); // 2.5 working
-       void BPY_update_modules( void ); // XXX - annoying, need this for pointers that get out of date
-       
-       
-       
-       int BPY_run_script(struct Script *script);
-       void BPY_free_compiled_text( struct Text *text );
-
-       int BPY_has_onload_script( void );
-
-       int BPY_is_spacehandler(struct Text *text, char spacetype);
-       int BPY_del_spacehandler(struct Text *text, struct ScrArea *sa);
-       int BPY_add_spacehandler(struct Text *txt, struct ScrArea *sa,char spacetype);
-       int BPY_has_spacehandler(struct Text *text, struct ScrArea *sa);
-       void BPY_screen_free_spacehandlers(struct bScreen *sc);
-       int BPY_do_spacehandlers(struct ScrArea *sa, unsigned short event,
-               short eventValue, unsigned short space_event);
-
-       void BPY_pydriver_update(void);
-       float BPY_pydriver_eval(struct ChannelDriver *driver);
-
-       int BPY_button_eval(struct bContext *C, char *expr, double *value);
-
-/* format importer hook */
-       int BPY_call_importloader( char *name );
-
-       void BPY_spacescript_do_pywin_draw( struct SpaceScript *sc );
-       void BPY_spacescript_do_pywin_event( struct SpaceScript *sc,
-                                            unsigned short event, short val, char ascii );
-       void BPY_clear_script( struct Script *script );
-       void BPY_free_finished_script( struct Script *script );
-       void BPY_scripts_clear_pyobjects( void );
-       
-       void error_pyscript( void );
-       void BPY_DECREF(void *pyob_ptr);        /* Py_DECREF() */
-
-/* void BPY_Err_Handle(struct Text *text); */
-/* int BPY_spacetext_is_pywin(struct SpaceText *st); */
+void BPY_pyconstraint_exec(struct bPythonConstraint *con, struct bConstraintOb *cob, struct ListBase *targets);
+//     void BPY_pyconstraint_settings(void *arg1, void *arg2);
+void BPY_pyconstraint_target(struct bPythonConstraint *con, struct bConstraintTarget *ct);
+void BPY_pyconstraint_update(struct Object *owner, struct bConstraint *con);
+int BPY_is_pyconstraint(struct Text *text);
+//     void BPY_free_pyconstraint_links(struct Text *text);
+
+void BPY_python_start(int argc, const char **argv);
+void BPY_python_end(void);
+
+/* 2.5 UI Scripts */
+int            BPY_filepath_exec(struct bContext *C, const char *filepath, struct ReportList *reports);
+int            BPY_text_exec(struct bContext *C, struct Text *text, struct ReportList *reports, const short do_jump);
+void   BPY_text_free_code(struct Text *text);
+void   BPY_modules_update(struct bContext *C); // XXX - annoying, need this for pointers that get out of date
+void   BPY_modules_load_user(struct bContext *C);
+
+void   BPY_app_handlers_reset(void);
+
+void   BPY_driver_reset(void);
+float  BPY_driver_exec(struct ChannelDriver *driver);
+
+int            BPY_button_exec(struct bContext *C, const char *expr, double *value, const short verbose);
+int            BPY_string_exec(struct bContext *C, const char *expr);
+
+void   BPY_DECREF(void *pyob_ptr);     /* Py_DECREF() */
+int            BPY_context_member_get(struct bContext *C, const char *member, struct bContextDataResult *result);
+void   BPY_context_set(struct bContext *C);
+
+void   BPY_id_release(struct ID *id);
 
 #ifdef __cplusplus
 }                              /* extern "C" */