PartitionSelect::PartitionSelect(QWidget *parent) : QDialog(parent), ui(new Ui::PartitionSelect){ ui->setupUi(this); if(parent!=0){ //Center the window on the parent QPoint ctr = parent->geometry().center(); this->move(ctr.x() - (this->width()/2), ctr.y()-(this->height()/2) ); } //Initial output values selected = false; HD.clear(); PART.clear(); //Load the disk information GetDiskInfo(); //Now load the available hard disks into the UI UpdateDisks(); //Now load the available partitions on the current disk into the UI UpdateParts(); //Now setup the signals/slots connect(ui->combo_hd, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateParts()) ); connect(ui->list_part, SIGNAL(currentRowChanged(int)), this, SLOT(CheckValidity()) ); }
void CmpCtrl::Update( ) { wxASSERT( m_cmpFilePtr ); wxASSERT( m_cmpEnvPtr ); wxTreeItemId id; AxTreeItem *axTreeItem = NULL; int i, j; DeleteChildren( m_booksId ); int books = (int)m_cmpFilePtr->m_bookFiles.GetCount(); if ( books > 0 ) SetItemText( m_booksId, wxString::Format( _("Books (%d)"), books ) ); else SetItemText( m_booksId, _("Books") ); // For specific menu axTreeItem = new AxTreeItem( m_booksId, CMP_TREE_BOOKS, NULL ); m_axItems.Add( axTreeItem ); for ( i = 0; i < books; i++) { RecBookFile *book = m_cmpFilePtr->m_bookFiles[i].m_recBookFilePtr; wxTreeItemId m_bookId = AppendItem( m_booksId, m_cmpFilePtr->m_bookFiles[i].m_shortname ); SetTypeImages( m_bookId, IMG_FOLDER ); // The name of the book AppendItem( m_bookId, m_cmpFilePtr->m_bookFiles[i].m_bookname, IMG_TEXT, IMG_TEXT_S ); // The Aruspix files of the book m_cmpFilePtr->m_bookFiles[i].m_axFilesId = AppendItem( m_bookId, _("Aruspix files") ); SetTypeImages( m_cmpFilePtr->m_bookFiles[i].m_axFilesId, IMG_FOLDER ); int ax = (int)book->m_axFiles.GetCount(); if ( ax > 0 ) SetItemText( m_cmpFilePtr->m_bookFiles[i].m_axFilesId, wxString::Format( _("Aruspix files (%d)"), ax ) ); else SetItemText( m_cmpFilePtr->m_bookFiles[i].m_axFilesId, _("Aruspix files") ); for ( j = 0; j < ax; j++) { id = AppendItem( m_cmpFilePtr->m_bookFiles[i].m_axFilesId, book->m_axFiles[j].m_filename, IMG_AXZ, IMG_AXZ_S ); if ( book->m_axFiles[j].m_flags & FILE_DESACTIVATED ) SetItemTextColour( id , *wxLIGHT_GREY ); if ( !wxFileExists( book->m_axFileDir + wxFileName::GetPathSeparator() + book->m_axFiles[j].m_filename ) ) SetItemTextColour( id , *wxRED ); else if ( RecFile::IsRecognized( book->m_axFileDir + wxFileName::GetPathSeparator() + book->m_axFiles[j].m_filename ) ) { SetItemImage( id, IMG_AXZ_OK ); SetItemImage( id, IMG_AXZ_OK_S, wxTreeItemIcon_Selected ); axTreeItem = new AxTreeItem( id, CMP_TREE_BOOK_AXFILE, &m_cmpFilePtr->m_bookFiles[i] ); m_axItems.Add( axTreeItem ); } } // The parts of the book m_cmpFilePtr->m_bookFiles[i].m_partsId = AppendItem( m_bookId, _("Parts") ); SetTypeImages( m_cmpFilePtr->m_bookFiles[i].m_partsId, IMG_FOLDER ); // for the parts we associate the book object axTreeItem = new AxTreeItem( m_cmpFilePtr->m_bookFiles[i].m_partsId, CMP_TREE_BOOK_PARTS, &m_cmpFilePtr->m_bookFiles[i] ); m_axItems.Add( axTreeItem ); // We have a separate method for this UpdateParts( &m_cmpFilePtr->m_bookFiles[i] ); } DeleteChildren( m_cmpId ); int collations = (int)m_cmpFilePtr->m_collations.GetCount(); if ( collations > 0 ) SetItemText( m_cmpId, wxString::Format( _("Collations (%d)"), collations ) ); else SetItemText( m_cmpId, _("Collations") ); // For specific menu axTreeItem = new AxTreeItem( m_cmpId, CMP_TREE_COLLATIONS, NULL ); m_axItems.Add( axTreeItem ); for ( i = 0; i < collations; i++) { //RecBookFile *book = m_cmpFilePtr->m_bookFiles[i].m_recBookFilePtr; m_cmpFilePtr->m_collations[i].m_colId = AppendItem( m_cmpId, m_cmpFilePtr->m_collations[i].m_name ); SetTypeImages( m_cmpFilePtr->m_collations[i].m_colId, IMG_FOLDER ); // for the parts we associate the collation object axTreeItem = new AxTreeItem( m_cmpFilePtr->m_collations[i].m_colId, CMP_TREE_COLLATION, &m_cmpFilePtr->m_collations[i] ); m_axItems.Add( axTreeItem ); // We have a separate method for this UpdateCollationParts( &m_cmpFilePtr->m_collations[i] ); } m_cmpFilePtr->Modify(); }