HYDROGUI_ProfileOp::HYDROGUI_ProfileOp( HYDROGUI_Module* theModule, bool theIsEdit )
: HYDROGUI_Operation( theModule ), myIsEdit(theIsEdit),
- myDisplayer (NULL), mySingleProfileMode (false)
+ myDisplayer (NULL)
{
setName( theIsEdit ? tr( "EDIT_PROFILE" ) : tr( "CREATE_PROFILE" ) );
}
for (int i = 0; i < myProfiles.size(); i++)
myProfiles[i] = new HYDROGUI_CurveCreatorProfile();
- mySingleProfileMode = myEditedObjects.IsEmpty() || lenP == 1;
+ //mySingleProfileMode = myEditedObjects.IsEmpty();
HYDROGUI_Operation::startOperation();
HYDROGUI_ProfileDlg* aPanel = (HYDROGUI_ProfileDlg*)inputPanel();
setPreviewManager( aPanel->viewManager() );
setCursor();
- aPanel->SetSingleProfileMode(mySingleProfileMode);
+ //aPanel->SetSingleProfileMode(mySingleProfileMode);
QMap<HYDROGUI_CurveCreatorProfile*, QColor> CurveToColor;
if( lenP )
{
}
int ext = myCurveToProfile.Extent(); //ext should be equal to lenP
QVector<QColor> PColors;
- if (!mySingleProfileMode)
+ if (myIsEdit)
HYDROData_Tool::GenerateRepeatableRandColors(ext, PColors);
else
PColors << QColor(0,0,255); //default color
CurveToColor[CC] = CurCol;
const QString& profName = CP->GetName();
const QColor& PColor = CurCol;
- if (!mySingleProfileMode)
+ if (myIsEdit)
aPanel->addProfileName(profName, PColor);
else
aPanel->setProfileName(profName);
}
int NewLen = myEditedObjects.Length();
+ bool IsNewPoly = NewLen - ExistingProfLen;
+ if (aSelectedObj.IsEmpty())
+ {
+ SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "PROFILEOP_WARNING" ), tr ("PROFILES_ARE_NOT_SELECTED") );
+ return;
+ }
+ if (!IsNewPoly)
+ {
+ SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "PROFILEOP_WARNING" ), tr ("PROFILES_ALREADY_PRESENT") );
+ return;
+ }
myProfiles.resize(myEditedObjects.Length());
for (int i = myProfiles.size() - 1; i < myEditedObjects.Length(); i++)
myProfiles[i] = new HYDROGUI_CurveCreatorProfile();
HYDROGUI_ProfileDlg* aPanel = (HYDROGUI_ProfileDlg*)inputPanel();
QMap<HYDROGUI_CurveCreatorProfile*, QColor> CurveToColor;
- if( NewLen - ExistingProfLen )
+ if( IsNewPoly )
{
//TODO move to ext func!
for (int i = ExistingProfLen + 1; i <= NewLen; i++)
CurveToColor[CC] = CurCol;
const QString& profName = CP->GetName();
const QColor& PColor = CurCol;
- if (!mySingleProfileMode)
+ if (myIsEdit)
aPanel->addProfileName(profName, PColor);
else
aPanel->setProfileName(profName);
HYDROGUI_InputPanel* HYDROGUI_ProfileOp::createInputPanel() const
{
- HYDROGUI_ProfileDlg* aDlg = new HYDROGUI_ProfileDlg( module(), getName(), mySingleProfileMode );
+ HYDROGUI_ProfileDlg* aDlg = new HYDROGUI_ProfileDlg( module(), getName(), myIsEdit );
connect( aDlg, SIGNAL( AddProfiles() ), this,
SLOT( onAddProfiles() ) );
connect( aDlg, SIGNAL( RemoveProfile(int) ), this,