myModule( theModule ),
myPanel( 0 )
{
+ connect( this, SIGNAL( helpContextModule( const QString&, const QString&,
+ const QString& ) ),
+ theModule->application(), SLOT( onHelpContextModule( const QString&,
+ const QString&, const QString& ) ) );
}
HYDROGUI_Operation::~HYDROGUI_Operation()
( ( HYDROGUI_Operation* )this )->myPanel = createInputPanel();
connect( myPanel, SIGNAL( panelApply() ), this, SLOT( onApply() ) );
connect( myPanel, SIGNAL( panelCancel() ), this, SLOT( onCancel() ) );
+ connect( myPanel, SIGNAL( panelHelp() ), this, SLOT( onHelp() ) );
}
return myPanel;
}
void HYDROGUI_Operation::startDocOperation()
{
// Open transaction in the model document
- doc()->StartOperation();
+ if ( !doc()->IsOperation() )
+ doc()->StartOperation();
}
void HYDROGUI_Operation::abortDocOperation()
{
// Abort transaction in the model document
- doc()->AbortOperation();
+ if ( doc()->IsOperation() )
+ doc()->AbortOperation();
}
void HYDROGUI_Operation::commitDocOperation()
{
// Commit transaction in the model document
- doc()->CommitOperation( HYDROGUI_Tool::ToExtString( getName() ) );
+ if ( doc()->IsOperation() )
+ doc()->CommitOperation( HYDROGUI_Tool::ToExtString( getName() ) );
}
Handle_HYDROData_Document HYDROGUI_Operation::doc() const
processCancel();
abort();
}
+
+void HYDROGUI_Operation::onHelp()
+{
+ emit helpContextModule( getHelpComponent(), getHelpFile(), getHelpContext() );
+}
+
+QString HYDROGUI_Operation::getHelpComponent() const
+{
+ return module()->moduleName();
+}
+
+QString HYDROGUI_Operation::getHelpFile() const
+{
+ QString aFileName = ((myName.isEmpty())? operationName() : myName);
+ return aFileName.replace(QRegExp("\\s"), "_").append(".html");
+}
+
+QString HYDROGUI_Operation::getHelpContext() const
+{
+ return QString();
+}
+
+