HYDROGUI_ObstacleDlg::HYDROGUI_ObstacleDlg( HYDROGUI_Module* theModule, const QString& theTitle,
const bool theIsToEnableFileSelection )
: HYDROGUI_InputPanel( theModule, theTitle ),
- myFileSelectionEnabled ( theIsToEnableFileSelection )
+ myFileSelectionEnabled ( theIsToEnableFileSelection ),
+ myDefaultName( tr("DEFAULT_OBSTACLE_NAME") )
{
// Get resource manager
SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr();
anObstacleNameLayout->addWidget( anObstacleNameLabel );
anObstacleNameLayout->addWidget( myObstacleName );
- myObstacleNameGroup->hide(); //TODO to be enabled?
-
// Mode selector (create/edit)
myModeGroup = new QGroupBox( tr( "MODE" ), this );
myObstacles->clear();
myObstacles->addItems( theObstacles );
- UpdateControls();
+ updateControls();
}
void HYDROGUI_ObstacleDlg::onModeActivated( int theMode )
{
- UpdateControls();
+ updateControls();
+ updateObjectName();
}
QString HYDROGUI_ObstacleDlg::getObstacleName() const
if ( !aFileName.isEmpty() ) {
myFileName->setText( aFileName );
-
- QFileInfo aFileInfo( aFileName );
- QString aName = HYDROGUI_Tool::GenerateObjectName( module(), aFileInfo.baseName() );
- myObstacleName->setText( aName );
+ updateObjectName();
}
- UpdateControls();
+ updateControls();
}
}
myModeButtons->button( CreateNewId )->setChecked( true );
onModeActivated( CreateNewId );
- UpdateControls();
+ updateControls();
}
void HYDROGUI_ObstacleDlg::onObstacleSelectionChanged()
{
- if ( myObstacleName->text().isEmpty() ) {
- myObstacleName->setText( myObstacles->currentText() );
- }
+ updateObjectName();
}
-void HYDROGUI_ObstacleDlg::UpdateControls()
+void HYDROGUI_ObstacleDlg::updateControls()
{
myObstacleNameGroup->setEnabled( !myFileSelectionEnabled ||
!myFileName->text().isEmpty() );
myModeGroup->setEnabled( myObstacleNameGroup->isEnabled() &&
myObstacles->count() > 0 );
myObstaclesGroup->setEnabled( myModeButtons->checkedId() == ModifyExistentId );
+}
+
+void HYDROGUI_ObstacleDlg::updateObjectName()
+{
+ QString aName;
+
+ // Creation mode
+ int aMode = myModeButtons->checkedId();
+ if ( aMode == CreateNewId ) {
+ if ( myFileSelectionEnabled ) {
+ QString aFileName = myFileName->text();
+ if ( !aFileName.isEmpty() ) {
+ QFileInfo aFileInfo( aFileName );
+ aName = HYDROGUI_Tool::GenerateObjectName(
+ module(), aFileInfo.baseName(), QStringList(), true );
+ }
+ } else {
+ aName = HYDROGUI_Tool::GenerateObjectName(
+ module(), getDefaultName(), QStringList(), true );
+ }
+ } else if ( aMode == ModifyExistentId ) {
+ aName = getEditedObstacleName();
+ }
+
+ myObstacleName->setText( aName );
+}
+
+void HYDROGUI_ObstacleDlg::setDefaultName( const QString& theName )
+{
+ myDefaultName = theName;
+
+ updateObjectName();
+}
+
+QString HYDROGUI_ObstacleDlg::getDefaultName()
+{
+ return myDefaultName;
}
\ No newline at end of file