SceneChangeNotifier Class Reference

The SceneChangeNotifier JavaScript class. Execute client code upon scene change events. More...

Public Slots

void disconnectAll ()
 Disconnect all signals, to stop callback invocation. More...
 

Signals

void currentFrameChanged ()
 Signal emitted upon change of the current frame in the scene. More...
 
void networkChanged (StringList list)
 Signal emitted upon change of the node network links. More...
 
void deformerReset (StringList list)
 Signal emitted when a deformation is reset. More...
 
void deformerResetCurrentFrame (StringList list)
 Signal emitted when a deformation current frame is reset. More...
 
void nodeChanged (StringList list)
 Signal emitted upon change of the node property or attribute value. More...
 
void nodeMetadataChanged (StringList list)
 Signal emitted upon change of the node property or attribute value. More...
 
void sceneChanged ()
 Signal emitted upon change of the scene. More...
 
void selectionChanged ()
 Signal emitted upon change of the current selection. More...
 
void columnValuesChanged (StringList columnNames)
 Signal emitted upon change of the column / timed Values. More...
 
void controlChanged ()
 Signal emitted upon changes related to node, plugin or interface control. More...
 
void sceneMarkersChanged ()
 Signal emitted when Timeline Scene Markers are added, deleted or changed. More...
 

Public Member Functions

 SceneChangeNotifier (QObject parent)
 Create a new SceneChangeNotifier. More...
 

Detailed Description

The SceneChangeNotifier JavaScript class. Execute client code upon scene change events.

User can connect a function to any available signal from this class. Once a function is connected to a signal, the client code will be executed when the specific event is triggered in the scene, until the parent object is destroyed.

Example with a MasterController:

{
//Create the SceneChangeNotifier, using the Controller for parent
//Connect a local function to "nodeChanged" signal.
//The connected function will be executed when the signal is triggered,
//for as long as the parent object is alive (until the Controller is hidden).
scn.nodeChanged.connect( function(nodeList)
{
MessageLog.trace("nodeChanged Callback!");
for(var i=0; i < nodeList.length; ++i)
{
MessageLog.trace(" affected node: " + nodeList[i] );
}
});
}

Example with a Dialog:

this.setupUI = function()
{
this.ui = UiLoader.load( this.getLibPath()+"/TB_InterpolationSlider.ui");
var scn = new SceneChangeNotifier(this.ui);
scn.currentFrameChanged.connect( function()
{
//Code your callback logic here...
MessageLog.trace("currentFrameChanged Callback!");
});
};

Constructor & Destructor Documentation

◆ SceneChangeNotifier()

SceneChangeNotifier::SceneChangeNotifier ( QObject  parent)

Create a new SceneChangeNotifier.

Parameters
parentThe parent object, controlling the newly created object life duration.
Note
It's important that the parent object is valid, and will exist as long as the callback receiver. If the callback receiver will be destroyed before the parent of the SceneChangeNotifier, disconnectAll() should be called to avoid crashes or unexpected behaviours.
var dialog = UiLoader.load( "myDialog.ui");
var myNotifier = new SceneChangeNotifier(dialog);

Member Function Documentation

◆ columnValuesChanged

void SceneChangeNotifier::columnValuesChanged ( StringList  columnNames)
signal

Signal emitted upon change of the column / timed Values.

myNotifier.columnValuesChanged.connect( function(columnList)
{
MessageLog.trace("columnValuesChanged Callback!");
for(var i=0; i < columnList.length; ++i)
{
MessageLog.trace(" affected column: " + columnList[i] );
}
});

◆ controlChanged

void SceneChangeNotifier::controlChanged ( )
signal

Signal emitted upon changes related to node, plugin or interface control.

myNotifier.controlChanged.connect( function()
{
//Code your callback logic here...
MessageLog.trace("control changed!");
});

◆ currentFrameChanged

void SceneChangeNotifier::currentFrameChanged ( )
signal

Signal emitted upon change of the current frame in the scene.

myNotifier.currentFrameChanged.connect( function()
{
//Code your callback logic here...
MessageLog.trace("currentFrameChanged Callback!");
});

◆ deformerReset

void SceneChangeNotifier::deformerReset ( StringList  list)
signal

Signal emitted when a deformation is reset.

Parameters
listThe list of reset deformation groups
myNotifier.networkChanged.connect( function(nodeList)
{
//Code your callback logic here...
MessageLog.trace("deformerReset Callback!");
for(var i=0; i < nodeList.length; ++i)
{
MessageLog.trace(" affected node: " + nodeList[i] );
}
});

◆ deformerResetCurrentFrame

void SceneChangeNotifier::deformerResetCurrentFrame ( StringList  list)
signal

Signal emitted when a deformation current frame is reset.

Parameters
listThe list of reset deformation groups
myNotifier.networkChanged.connect( function(nodeList)
{
//Code your callback logic here...
MessageLog.trace("deformerResetCurrentFrame Callback!");
for(var i=0; i < nodeList.length; ++i)
{
MessageLog.trace(" affected node: " + nodeList[i] );
}
});

◆ disconnectAll

void SceneChangeNotifier::disconnectAll ( )
slot

Disconnect all signals, to stop callback invocation.

myNotifier.disconnectAll();

◆ networkChanged

void SceneChangeNotifier::networkChanged ( StringList  list)
signal

Signal emitted upon change of the node network links.

Parameters
listThe list of nodes which are concerned by the current network changes.
myNotifier.networkChanged.connect( function(nodeList)
{
//Code your callback logic here...
MessageLog.trace("networkChanged Callback!");
for(var i=0; i < nodeList.length; ++i)
{
MessageLog.trace(" affected node: " + nodeList[i] );
}
});

◆ nodeChanged

void SceneChangeNotifier::nodeChanged ( StringList  list)
signal

Signal emitted upon change of the node property or attribute value.

Parameters
listThe list of nodes which are concerned by the current network changes.
myNotifier.nodeChanged.connect( function(nodeList)
{
//Code your callback logic here...
MessageLog.trace("nodeChanged Callback!");
for(var i=0; i < nodeList.length; ++i)
{
MessageLog.trace(" affected node: " + nodeList[i] );
}
});

◆ nodeMetadataChanged

void SceneChangeNotifier::nodeMetadataChanged ( StringList  list)
signal

Signal emitted upon change of the node property or attribute value.

Parameters
listThe list of nodes which had metadata changed, added, or removed.
myNotifier.nodeMetadataChanged.connect( function(nodeList)
{
//Code your callback logic here...
MessageLog.trace("nodeMetadataChanged Callback!");
for(var i=0; i < nodeList.length; ++i)
{
MessageLog.trace(" affected node: " + nodeList[i] );
}
});

◆ sceneChanged

void SceneChangeNotifier::sceneChanged ( )
signal

Signal emitted upon change of the scene.

myNotifier.sceneChanged.connect( function(nodeList)
{
//Code your callback logic here...
MessageLog.trace("sceneChanged Callback!");
});

◆ sceneMarkersChanged

void SceneChangeNotifier::sceneMarkersChanged ( )
signal

Signal emitted when Timeline Scene Markers are added, deleted or changed.

myNotifier.sceneMakersChanged.connect( function()
{
//Code your callback logic here...
MessageLog.trace("Scene Markers changed!");
});

◆ selectionChanged

void SceneChangeNotifier::selectionChanged ( )
signal

Signal emitted upon change of the current selection.

myNotifier.selectionChanged.connect( function()
{
//Code your callback logic here...
MessageLog.trace("selectionChanged Callback!");
});