| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # coding:utf-8
- #!/usr/bin/python
- #
- # Copyright (c) Contributors to the Open 3D Engine Project.
- # For complete copyright and license terms please see the LICENSE at the root of this distribution.
- #
- # SPDX-License-Identifier: Apache-2.0 OR MIT
- #
- #
- # -- This line is 75 characters -------------------------------------------
- """
- Module Documentation:
- DccScriptingInterface:: SDK//maya//scripts//set_menu.py
- This module creates and manages a DCCsi mainmenu
- """
- # -------------------------------------------------------------------------
- # -- Standard Python modules
- # none
- # -- External Python modules
- # none
- # -- DCCsi Extension Modules
- import azpy
- from constants import OBJ_DCCSI_MAINMENU
- from constants import TAG_DCCSI_MAINMENU
- # -- maya imports
- import pymel.core as pm
- # -------------------------------------------------------------------------
- # -------------------------------------------------------------------------
- from azpy.env_bool import env_bool
- from azpy.constants import ENVAR_DCCSI_GDEBUG
- from azpy.constants import ENVAR_DCCSI_DEV_MODE
- # global space
- _DCCSI_GDEBUG = env_bool(ENVAR_DCCSI_GDEBUG, False)
- _DCCSI_DEV_MODE = env_bool(ENVAR_DCCSI_DEV_MODE, False)
- _MODULENAME = r'DCCsi.SDK.Maya.Scripts.set_menu'
- _LOGGER = azpy.initialize_logger(_MODULENAME, default_log_level=int(20))
- _LOGGER.debug('Invoking:: {0}.'.format({_MODULENAME}))
- # -------------------------------------------------------------------------
- # -------------------------------------------------------------------------
- def menu_cmd_test():
- _LOGGER.info('test_func(), is TESTING main menu')
- return
- # -------------------------------------------------------------------------
- # -------------------------------------------------------------------------
- def set_main_menu(obj_name=OBJ_DCCSI_MAINMENU, label=TAG_DCCSI_MAINMENU):
- _main_window = pm.language.melGlobals['gMainWindow']
-
- _menu_obj = obj_name
- _menu_label = label
- # check if it already exists and remove (so we don't duplicate)
- if pm.menu(_menu_obj, label=_menu_label, exists=True, parent=_main_window):
- pm.deleteUI(pm.menu(_menu_obj, e=True, deleteAllItems=True))
- # create the main menu object
- _custom_tools_menu = pm.menu(_menu_obj,
- label=_menu_label,
- parent=_main_window,
- tearOff=True)
- # make a dummpy sub-menu
- pm.menuItem(label='Menu Item Stub',
- subMenu=True,
- parent=_custom_tools_menu,
- tearOff=True)
-
- # make a dummy menu item to test
- pm.menuItem(label='Test', command=pm.Callback(menu_cmd_test))
- return _custom_tools_menu
- # ==========================================================================
- # Run as LICENSE
- #==========================================================================
- if __name__ == '__main__':
- _custom_menu = set_main_menu()
|