diff --git a/Plugin-SkeletonEditing/SkeletonEditingPlugin.cc b/Plugin-SkeletonEditing/SkeletonEditingPlugin.cc
index efc79332c4a3895100060a14d3936b39873e5b2a..3b06f4db3fcfd44feebfe7b1863901f4e4058db8 100644
--- a/Plugin-SkeletonEditing/SkeletonEditingPlugin.cc
+++ b/Plugin-SkeletonEditing/SkeletonEditingPlugin.cc
@@ -80,11 +80,14 @@ void SkeletonEditingPlugin::pluginsInitialized() {
toolbar_ = new QToolBar(tr("Skeleton Editing"));
toolbar_->setObjectName("Skeleton_Editing_Toolbar");
+
toolBarActions_ = new QActionGroup(toolbar_);
+ WhatsThisGenerator whatsThisGen("SkeletonEditing");
skeletonEditingAction_ = new QAction(tr("Skeleton Editing
Modify the structure of a skeleton"), toolBarActions_);
skeletonEditingAction_->setStatusTip(tr("Modify the structure of a skeleton."));
skeletonEditingAction_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"skeleton_editing.png") );
+ whatsThisGen.setWhatsThis(skeletonEditingAction_,tr("Skeleton Editing"));
skeletonEditingAction_->setCheckable(true);
toolbar_->addAction(skeletonEditingAction_);
@@ -101,29 +104,34 @@ void SkeletonEditingPlugin::pluginsInitialized() {
selectJointAction_->setStatusTip(tr("Toggle the selection state of a joint."));
selectJointAction_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"skeleton_selectJoint.png") );
selectJointAction_->setCheckable(true);
+ whatsThisGen.setWhatsThis(selectJointAction_,tr("Select single joints of the skeleton. You can select multiple joints at once."));
pickToolbar_->addAction(selectJointAction_);
insertJointAction_ = new QAction(tr("Insert Joint
Add a joint to the skeleton"), pickToolBarActions_);
insertJointAction_->setStatusTip(tr(" to start a new skeleton and end joint path. to select parent and position for new joints."));
insertJointAction_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"skeleton_insertJoint.png") );
+ whatsThisGen.setWhatsThis(insertJointAction_,tr("Insert new joints. Click on a joint first and then click somewhere else, to add a new joint at the mouseposition. Double-click to finish adding joints."));
insertJointAction_->setCheckable(true);
pickToolbar_->addAction(insertJointAction_);
splitJointAction_ = new QAction(tr("Split Joint
Add a Joint between two other Joints"), pickToolBarActions_);
splitJointAction_->setStatusTip(tr("Click on a joint which will be the new child Joint."));
splitJointAction_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"skeleton_splitJoint.png") );
+ whatsThisGen.setWhatsThis(splitJointAction_,tr("Click on a joint to split it in the middle."));
splitJointAction_->setCheckable(true);
pickToolbar_->addAction(splitJointAction_);
deleteJointAction_ = new QAction(tr("Delete Joint
Remove a joint from the skeleton"), pickToolBarActions_);
deleteJointAction_->setStatusTip(tr(" to select a joint. to delete it."));
deleteJointAction_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"skeleton_deleteJoint.png") );
+ whatsThisGen.setWhatsThis(deleteJointAction_,tr("Delete a joint by clicking on it."));
deleteJointAction_->setCheckable(true);
pickToolbar_->addAction(deleteJointAction_);
moveJointAction_ = new QAction(tr("Transform Joint
Transform a joint from the skeleton"), pickToolBarActions_);
moveJointAction_->setStatusTip(tr("Transform a joint from the skeleton."));
moveJointAction_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"skeleton_moveJoint.png") );
+ whatsThisGen.setWhatsThis(moveJointAction_,tr("Transform a joint (only possible in an animation). Click on a joint and transform his position and orientation with help of the manipulator"));
moveJointAction_->setCheckable(true);
pickToolbar_->addAction(moveJointAction_);
@@ -133,6 +141,7 @@ void SkeletonEditingPlugin::pluginsInitialized() {
rotateManipAction_->setStatusTip(tr("Rotate manipulator. "));
rotateManipAction_->setToolTip(tr("Rotate manipulator
Rotates only the manipulator, not the joints. Shift"));
rotateManipAction_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"skeleton_maniprotate.png") );
+ whatsThisGen.setWhatsThis(rotateManipAction_,tr("Rotate a joint (possible in an animation). Click on a joint and transform his orientation with help of the manipulator."));
rotateManipAction_->setCheckable(true);
pickToolbar_->addAction(rotateManipAction_);
connect(rotateManipAction_, SIGNAL(toggled(bool)), this, SLOT(slotRotateManipulator(bool)) );
@@ -143,6 +152,7 @@ void SkeletonEditingPlugin::pluginsInitialized() {
transformAllManipAction_->setStatusTip(tr("Apply the relative transformation to all frames of the animation."));
transformAllManipAction_->setToolTip(tr("Transform whole animation
Transform all frames of the animation simultaneously."));
transformAllManipAction_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"skeleton_manipAllFrames.png") );
+ whatsThisGen.setWhatsThis(transformAllManipAction_,tr("Transform whole animation. Changing will be applied to all frames of the current animation"));
transformAllManipAction_->setCheckable(true);
transformAllManipAction_->setChecked(transformAllFrames_);
pickToolbar_->addAction(transformAllManipAction_);
@@ -151,6 +161,7 @@ void SkeletonEditingPlugin::pluginsInitialized() {
transformChildManipAction_->setStatusTip(tr("Apply joint transformation to child joints as well and thereby rigidly move the whole subtree."));
transformChildManipAction_->setToolTip(tr("Transform child joints
Apply joint transformation to all child joints as well."));
transformChildManipAction_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"skeleton_manipChildTransform.png") );
+ whatsThisGen.setWhatsThis(transformChildManipAction_,tr("Apply your transformation to all child joints."));
transformChildManipAction_->setCheckable(true);
transformChildManipAction_->setChecked(transformChildJoints_);
pickToolbar_->addAction(transformChildManipAction_);
@@ -159,6 +170,7 @@ void SkeletonEditingPlugin::pluginsInitialized() {
inverseKinematicAction_->setStatusTip(tr("Move selected joint using inverse kinematic."));
inverseKinematicAction_->setToolTip(tr("Inverse kinematic
Move selected joint using inverse kinematic."));
inverseKinematicAction_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"skeleton_inverseKinematic.png") );
+ whatsThisGen.setWhatsThis(inverseKinematicAction_,tr("Move a joint to the position only with rotation of the previous joints."));
inverseKinematicAction_->setCheckable(true);
inverseKinematicAction_->setChecked(inverseKinematic_);
pickToolbar_->addAction(inverseKinematicAction_);