SkinningTools.UI.SkinningToolsUI

Module Contents

Classes

SkinningToolsUI

main skinningtools UI class

Functions

showUI(newPlacement=False)

convenience function to show the current user interface in maya,

SkinningTools.UI.SkinningToolsUI._DEBUG
SkinningTools.UI.SkinningToolsUI._DIR
SkinningTools.UI.SkinningToolsUI.__VERSION__ = 5.0.20210219
class SkinningTools.UI.SkinningToolsUI.SkinningToolsUI(newPlacement=False, parent=None)

main skinningtools UI class

toolName
__addBrushTools(self)

simple brush tools that enable Rodolphes relax weight tools :note: only for debug as this has been converted into a single button

__addCopyRangeFunc(self)

mutliple tools that require more inpute, mostly to remap certain elements in the scene

__addSimpleTools(self)

this part of the ui will gather the information from dcc directly, most of the settings attached to these buttons and windows are set to a default that would work wel in most cases

__addVertNBoneFunc(self)

button layout gahtering lots of different tools that make editting weights

__componentEditSetup(self)

revamped component editor with a lot of extra functionalities, based on the Maya component editor but build from scratch to make it more powerfull

__connections(self)

connection to a callback filter to make sure that the seperate marking menu is created

__defaults(self)

some default local variables for the current UI

__mayaToolsSetup(self)

the main tab, this will hold all the dcc tool information all vertex and bone manipulating contexts will be placed here

Note

this needs to change when we move over to different dcc

__menuSetup(self)

the menubar this will hold information on language, simple copy/paste(hold fetch) functionality and all the documentation/settings documentation will open specifically for the current open tab, next to that we also have a markingmenu button as this is available all the time

__skinSliderSetup(self)

skinslider tab, the functionality of tweaking the weights on the selected components by changing the corresponding bone values

__tabsSetup(self)

main tab widget which will hold all other widget information

__uiElements(self)

several general UI elements that should be visible most of the times also loads the settings necessary for storing and retrieving information

__weightManagerSetup(self)

weight manager function, save and load skinweights to seperate files

_callbackFilter(self, *args)

callbacks for both the skinsliders and the component editor to update after the mouse has left the window and has returned this to make sure that the user is always working with the latest setup

_changeLanguage(self, lang=None)

change the ui language

Parameters

lang (string) – the shortname of the language to change the ui to

_displayToolTip(self)

the tooltip function, allows the tooltip to spawn a seperate window above the current object the tooltip wil spawn based on a timer and will remove itself when the cursor moves away :note: tooltips are currently disabled as there are no images to show or text to display

_mouseTracking(self, event)

the event at which to display the tooltip windows

Parameters

event (QEvent) – the event that is triggerd

_openApiHelp(self)

open the web page with the help documentation and api information

_openDocHelp(self, isMarkingMenu=False)

open the corresponding pdf page with the help documentation tool information

_tabName(self, index=- 1, mainTool=None)

get the name of the tab at given index

Parameters
  • index (int) – the index at which to get the tab name

  • mainTool – the parent object to request tabnames from

Returns

name of the current tab

Return type

string

_tooltipsCheck(self)
childMouseMoveEvent(self, child, event)

the overloaded function to track mouse movements on children

Parameters
  • child (QWidget) – the child object at which to set mouse tracking

  • event (QEvent) – the event that is triggerd

closeEvent(self, event)

the close event, we save the state of the ui but we also force delete a lot of the skinningtool elements, normally python would do garbage collection for you, but to be sure that nothing is stored in memory that does not get deleted we force the deletion here as well. somehow this avoids crashes in maya!

doTranslate(self)

seperate function that calls upon the translate widget to help create a new language we use the english language to translate from to make sure that translation doesnt get lost

enterEvent(self, event)

the event at which to reload both the skinsliders and the component editor

Parameters

event (QEvent) – the event that is triggerd

Returns

the output of the inherited functions

Return type

superclass

getButtonText(self)

convenience function to get the current items that need new locale text

hideEvent(self, event)

the hide event is something that is triggered at the same time as close, sometimes the close event is not handled correctly by maya so we add the save state in here to make sure its always triggered :note: its only storing info so it doesnt break anything

loadUIState(self)

load the previous set information from the ini file where possible, if the ini file is not there it will start with default settings

mouseMoveEvent(self, event)

the move event

Parameters

event (QEvent) – the event that is triggerd

recurseMouseTracking(self, parent, flag)

convenience function to add mousetracking to all elements that are part of the current tool this way we can attach tooltips to everything

Parameters
  • parent (Qwidget) – the parent object that can hold moustracking events and from which to search all possible children in the hierarchy

  • flag (bool) – if True turns mouse tracking on, if False turns mousetracking off

saveUIState(self)

save the current state of the ui in a seperate ini file, this should also hold information later from a seperate settings window

Todo

instead of only geometry also store torn of tabs for each posssible object

Todo

save the geometries of torn of tabs as well

showEvent(self, event)
storeTearOffInfo(self, dialog)
tearOff(self, index, pos=QPoint())

get the name of the tab at given index

Parameters
  • index (int) – the index of the tab that needs to be torn off

  • pos (Qwidget) – the position at which to place the torn off tabe

translate(self, localeDict={})

translate the ui based on given dictionary

Parameters

localeDict (dict) – the dictionary holding information on how to translate the ui

SkinningTools.UI.SkinningToolsUI.showUI(newPlacement=False)

convenience function to show the current user interface in maya,

Parameters

newPlacement (bool) – if True will force the tool to not read the ini file, if False will open the tool as intended