74 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Custom Templates - Blender Add-On
 | |
| # Copyright (C) 2024  Francesco Bellini
 | |
| 
 | |
| # This program is free software: you can redistribute it and/or modify
 | |
| # it under the terms of the GNU General Public License as published by
 | |
| # the Free Software Foundation, either version 3 of the License, or
 | |
| # (at your option) any later version.
 | |
| 
 | |
| # This program is distributed in the hope that it will be useful,
 | |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| # GNU General Public License for more details.
 | |
| 
 | |
| # You should have received a copy of the GNU General Public License
 | |
| # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 | |
| import bpy
 | |
| from .classes.draw import draw_file_new_templates, draw_file_default_operators, draw_ws_menu_add
 | |
| from .classes.splash import WM_MT_splash, CT_MT_splash_mode, CT_OT_splash_custom, CT_OT_splash_default
 | |
| from .classes.ots import CustomTemplatesPreferences, TemplateItem, CT_OT_export_templates, CT_OT_import_templates, CT_MT_templates_menu, CT_OT_select_template_popup, CT_OT_add_template_popup, CT_OT_add, CT_OT_remove, CT_OT_move_down, CT_OT_move_up, CT_OT_open_preferences, CT_OT_add_templates_from_folder, CT_OT_clear, CT_MT_workspace_add, CT_OT_template_workspaces, CT_OT_add_workspace
 | |
| 
 | |
| bl_info = {
 | |
|     "id": "custom_templates",
 | |
|     "name": "Custom Templates",
 | |
|     "tagline": "Add your own .blend files as template options for new projects",
 | |
|     "blender": (2, 83, 0),
 | |
|     "location": "File > New, File > Defaults, Splash Screen",
 | |
|     "category": "System",
 | |
|     "support": "COMMUNITY",
 | |
| }
 | |
| 
 | |
| classes = [WM_MT_splash,
 | |
|            CT_OT_add_workspace,
 | |
|            CT_OT_template_workspaces,
 | |
|            CT_MT_workspace_add,
 | |
|            TemplateItem,
 | |
|            CT_OT_export_templates,
 | |
|            CT_OT_import_templates,
 | |
|            CT_OT_splash_custom, 
 | |
|            CT_OT_splash_default,
 | |
|            CT_OT_open_preferences,
 | |
|            CT_MT_splash_mode, 
 | |
|            CT_MT_templates_menu,
 | |
|            CT_OT_move_up,
 | |
|            CT_OT_move_down,
 | |
|            CT_OT_add,
 | |
|            CT_OT_remove,
 | |
|            CT_OT_clear,
 | |
|            CT_OT_add_template_popup,
 | |
|            CT_OT_select_template_popup,
 | |
|            CT_OT_add_templates_from_folder,
 | |
|            CustomTemplatesPreferences]
 | |
| 
 | |
| og_splash = None;
 | |
| 
 | |
| def register():
 | |
|     global og_splash
 | |
|     og_splash = bpy.types.WM_MT_splash;
 | |
|     for c in classes:
 | |
|         bpy.utils.register_class(c)
 | |
|     bpy.types.TOPBAR_MT_file_new.append(draw_file_new_templates)
 | |
|     bpy.types.TOPBAR_MT_file_defaults.append(draw_file_default_operators)
 | |
|     bpy.types.TOPBAR_MT_workspace_menu.append(draw_ws_menu_add)
 | |
| 
 | |
| def unregister():
 | |
|     for c in reversed(classes):
 | |
|         bpy.utils.unregister_class(c)
 | |
|     bpy.utils.register_class(og_splash)
 | |
|     bpy.types.TOPBAR_MT_file_new.remove(draw_file_new_templates)
 | |
|     bpy.types.TOPBAR_MT_file_defaults.remove(draw_file_default_operators)
 | |
|     bpy.types.TOPBAR_MT_workspace_menu.remove(draw_ws_menu_add)
 | |
|     
 | |
| if __name__ == "__main__":
 | |
|     registers()
 | 
