示例#1
0
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()) );
}
示例#2
0
文件: cmpctrl.cpp 项目: DDMAL/aruspix
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();
}