#include "HYDROGUI_DataObject.h"
-#include <SUIT_DataObject.h>
+#include <HYDROData_DummyObject3D.h>
+#include <HYDROData_Object.h>
+
#include <TDF_Tool.hxx>
+
+#include <SUIT_DataObject.h>
#include <SUIT_ResourceMgr.h>
#include <SUIT_Session.h>
+#include <SUIT_Operation.h>
+#include <CAM_Module.h>
+#include <CAM_Application.h>
+#include <SUIT_Study.h>
+
#include <QPixmap>
HYDROGUI_DataObject::HYDROGUI_DataObject( SUIT_DataObject* theParent,
Handle(HYDROData_Entity) theData,
- const QString& theParentEntry )
+ const QString& theParentEntry,
+ const bool theIsInOperation )
: CAM_DataObject( theParent ),
LightApp_DataObject( theParent ),
myData( theData ),
myParentEntry( theParentEntry ),
- myIsValid( true )
+ myIsValid( true ),
+ myIsInOperation( theIsInOperation )
{
}
}
else
{
- QString aNeedUpdate = "";
- if ( aDataObject->IsMustBeUpdated() )
+ QString aNeedUpdate( aDataObject->IsMustBeUpdated() ? "M_" : "" );
+
+ int anObjectKind = (int)aDataObject->GetKind();
+ if ( anObjectKind == KIND_DUMMY_3D )
{
- aNeedUpdate = "M_";
+ Handle(HYDROData_DummyObject3D) anObject3D =
+ Handle(HYDROData_DummyObject3D)::DownCast( aDataObject );
+
+ Handle(HYDROData_Object) aFatherObj = anObject3D->GetObject();
+ if ( !aFatherObj.IsNull() )
+ anObjectKind = aFatherObj->GetKind();
}
- anIcon = QObject::tr( QString("HYDRO_%1TYPE%2_ICO").arg( aNeedUpdate ).arg( (int)aDataObject->GetKind() ).toAscii() );
+
+ anIcon = QObject::tr( QString("HYDRO_%1TYPE%2_ICO").arg( aNeedUpdate ).arg( anObjectKind ).toAscii() );
}
return aResMgr->loadPixmap( "HYDRO", anIcon );
return myIsValid;
}
+bool HYDROGUI_DataObject::renameAllowed( const int theColumnId ) const
+{
+ bool aRes = false;
+ if ( theColumnId == NameId && module())
+ {
+ SUIT_Operation* anOp = module()->application()->activeStudy()->activeOperation();
+ if ( anOp && anOp->inherits( "HYDROGUI_CalculationOp" ) )
+ {
+ aRes = isInOperation();
+ }
+ else
+ {
+ aRes = !anOp;
+ }
+ }
+ else
+ {
+ aRes = LightApp_DataObject::renameAllowed( theColumnId );
+ }
+ return aRes;
+}
+
+
+
HYDROGUI_NamedObject::HYDROGUI_NamedObject( SUIT_DataObject* theParent,
const QString& theName,
- const QString& theParentEntry )
+ const QString& theParentEntry,
+ const bool theIsInOperation )
: CAM_DataObject( theParent ),
LightApp_DataObject( theParent ),
myName( theName ),
- myParentEntry( theParentEntry )
+ myParentEntry( theParentEntry ),
+ myIsInOperation( theIsInOperation )
{
}
HYDROGUI_DropTargetObject::HYDROGUI_DropTargetObject( SUIT_DataObject* theParent,
const QString& theName,
- const QString& theParentEntry )
-: HYDROGUI_NamedObject( theParent, theName, theParentEntry ), CAM_DataObject( theParent )
+ const QString& theParentEntry,
+ const bool theIsInOperation )
+: HYDROGUI_NamedObject( theParent, theName, theParentEntry, theIsInOperation ),
+ CAM_DataObject( theParent )
{
}