addPage( createPage3() );
myFirstPageState = false;
myDbfState = false;
+ myUpdateViewerState = false;
}
QWizardPage* HYDROGUI_ImportLandCoverMapDlg::createPage1() {
SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr();
- myFileNameGroup = new QGroupBox( tr( "IMPORT_LANDCOVERMAP_FROM_FILE" ) );
+ myFileNameGroup = new QGroupBox( tr( "IMPORT_LANDCOVER_MAP_FROM_FILE" ) );
QLabel* aFileNameLabel = new QLabel( tr( "FILE_NAME" ), myFileNameGroup );
aLandcoverNameLayout->addWidget( aLandcoverNameLabel );
aLandcoverNameLayout->addWidget( myObjectName );
- QGroupBox* aPolygonsGroup = new QGroupBox( tr( "FOUNDED_POLYGONS" ) );
+ QGroupBox* aPolygonsGroup = new QGroupBox( tr( "FOUND_POLYGONS" ) );
myPolygonsListWidget = new QListWidget( aPolygonsGroup );
myPolygonsListWidget->setSelectionMode( QListWidget::ExtendedSelection );
myPolygonsListWidget->setEditTriggers( QListWidget::NoEditTriggers );
}
void HYDROGUI_ImportLandCoverMapDlg::onItemSelectionChanged()
-{
- emit selectionChanged( getSelectedPolygonNames() );
+{
+ int aCurIndex = getCurrentWizardIndex();
+ if (aCurIndex == 0 && getViewerState())
+ emit selectionChanged( getSelectedPolygonNames() );
}
QStringList HYDROGUI_ImportLandCoverMapDlg::getSelectedPolygonNames() const
void HYDROGUI_ImportLandCoverMapDlg::onBrowse()
{
QString aFilter( tr( "LANDCOVERMAP_FILTER" ) );
- QString aFileName = SUIT_FileDlg::getFileName( this, "", aFilter, tr( "IMPORT_LANDCOVERMAP_FROM_FILE" ), true );
+ QString aFileName = SUIT_FileDlg::getFileName( this, "", aFilter, tr( "IMPORT_LANDCOVER_MAP_FROM_FILE" ), true );
if( !aFileName.isEmpty() )
{
myFirstPageState = theState;
}
+bool HYDROGUI_ImportLandCoverMapDlg::getFirstPageState() const
+{
+ return myFirstPageState;
+}
+
+
bool HYDROGUI_ImportLandCoverMapDlg::acceptCurrent() const
{
//Check the state of the current page
- int aCurrPage = wizard()->currentIndex();
+ int aCurrPage = getCurrentWizardIndex();
switch ( aCurrPage )
{
case 0:
{
- if (!myFirstPageState)
- {
- SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr("FILE_ISNT_CHOSEN"));
+ //this method verifies first page
+ if (!CheckFirstPageFilling())
return false;
- }
- if (myPolygonsListWidget->selectedItems().empty())
+ break;
+ }
+ case 1:
+ {
+ if (myDBFAttrListWidget->selectedItems().empty())
{
- SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr("POLYGONS_ISNT_SELECTED"));
+ SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr ("ATTRS_ISNT_SELECTED"));
return false;
}
- if (getAttrCheckBoxState() && !getDbfState())
- {
- SUIT_MessageBox::critical( module()->getApp()->desktop(), tr( "DBF_LOAD_ERROR" ), tr("DBF_LOAD_ERR_MESS"));
- return false;
- }
break;
}
- case 1:
+ case 2: //last page
{
- if (myDBFAttrListWidget->selectedItems().empty())
+ if (this->isPolygonListEmpty())
{
- SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), "Attribute isn't selected");
+ SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr("POLYGONS_ISNT_SELECTED"));
return false;
}
break;
bool HYDROGUI_ImportLandCoverMapDlg::getDbfState() const
{
return myDbfState;
+}
+
+int HYDROGUI_ImportLandCoverMapDlg::getCurrentWizardIndex() const
+{
+ return wizard()->currentIndex();
+}
+
+void HYDROGUI_ImportLandCoverMapDlg::setViewerState(bool theState)
+{
+ myUpdateViewerState = theState;
+}
+
+bool HYDROGUI_ImportLandCoverMapDlg::getViewerState() const
+{
+ return myUpdateViewerState;
+}
+
+bool HYDROGUI_ImportLandCoverMapDlg::isPolygonListEmpty() const
+{
+ return myPolygonsListWidget->selectedItems().empty();
+}
+
+bool HYDROGUI_ImportLandCoverMapDlg::CheckFirstPageFilling() const
+{
+ if (!this->getFirstPageState())
+ {
+ SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr("FILE_ISNT_CHOSEN"));
+ return false;
+ }
+ if (this->isPolygonListEmpty())
+ {
+ SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "LCM_IMPORT_WARNING" ), tr("POLYGONS_ISNT_SELECTED"));
+ return false;
+ }
+ if (this->getAttrCheckBoxState() && !this->getDbfState())
+ {
+ SUIT_MessageBox::critical( module()->getApp()->desktop(), tr( "DBF_LOAD_ERROR" ), tr("DBF_LOAD_ERR_MESS"));
+ return false;
+ }
+ return true;
}
\ No newline at end of file