Example #1
0
// ****************************************************************************
WindowProperties::~WindowProperties(void)
{
    // Delete the menu properties (if available)
    if (mWindowMenuProperties)
        delete mWindowMenuProperties;

    // Delete all objects from the mHToolbarPropertiesList
    QVectorIterator<ToolbarProperties*> hList(mHToolbarPropertiesList);
    ToolbarProperties* toolbarProperties = 0;
    hList.toFront();
    while (hList.hasNext())
    {
        toolbarProperties = hList.next();
        if (toolbarProperties)
            delete toolbarProperties;
    }
    mHToolbarPropertiesList.clear();

    // Delete all objects from the mVToolbarPropertiesList
    QVectorIterator<ToolbarProperties*> vList(mVToolbarPropertiesList);
    vList.toFront();
    while (vList.hasNext())
    {
        toolbarProperties = vList.next();
        if (toolbarProperties)
            delete toolbarProperties;
    }
    mVToolbarPropertiesList.clear();

    // Delete all objects from the mTabPropertiesList
    QVectorIterator<TabProperties*> tabList(mTabPropertiesList);
    TabProperties* tabProperties = 0;
    tabList.toFront();
    while (tabList.hasNext())
    {
        tabProperties = tabList.next();
        if (tabProperties)
            delete tabProperties;
    }
    mTabPropertiesList.clear();
}
Example #2
0
//=========================================================================
void hTreeBrowser::populate(TDirectory* currentDirectory, QTreeWidgetItem* parentWItem)
{
    //    STDLINE("populate(TDirectory,QTree)",ACRed);
    QTreeWidgetItem * wItem   = NULL;
    bool              create  = false ;

    //currentDirectory->ls() ;

    TKey * keyH = NULL ;
    TIter hList(currentDirectory->GetListOfKeys());

    while((keyH = (TKey*)hList()))
    {
        //If you uncomment this line you will get a
        //Error in <TBufferFile::ReadClassBuffer>: class: TUUID, attempting to access a wrong version
        //Every time it tries to read a TFolder or TDirectory object
        //this->getObjectType(keyH->ReadObj());
        std::string objPath = std::string(currentDirectory->GetName()) + std::string("-") +  std::string(keyH->GetName());
        //std::string objectName = keyH->GetName() ;
        //        STDLINE(keyH->GetName(),ACPurple);
        if( existingWItems_.find(objPath) == existingWItems_.end())
        {
            wItem = new QTreeWidgetItem(parentWItem) ;
            existingWItems_[objPath] = wItem ;
            create = true ;
        }
        else
        {
            wItem  = existingWItems_[objPath] ;
            create = false ;
        }

        if( keyH->IsFolder() )
        {
            if(std::string(keyH->GetClassName()) == "TTree")
            {
                if( !create ) continue ;
                wItem->setText(0, keyH->GetName()) ;
                wItem->setText(1, "TTree") ;
                wItem->setIcon(0, tTreeIcon_);
            }
            else if (std::string(keyH->GetClassName()) == "TFolder" )
            {
                TFolder * aFolder = (TFolder*)(currentDirectory->GetKey(keyH->GetName())->ReadObj()) ; // Get the folder in memory (this is the trick!)
                if( create )
                {
                    wItem->setText(0, tr(keyH->GetName())) ;
                    wItem->setText(1, tr(keyH->GetClassName())) ;
                    wItem->setIcon(0, folderIcon_);
                }
                this->populate(aFolder,wItem) ;
            }
            else
            {
                currentDirectory->cd(keyH->GetName());
                if( create )
                {
                    wItem->setText(0, tr(gDirectory->GetName())) ;
                    wItem->setText(1, tr(keyH->GetClassName())) ;
                    wItem->setIcon(0, folderIcon_);
                }
                this->populate(gDirectory,wItem) ;
            }
        }
        else
        {
            if( !create ) continue ;
            wItem->setText(0, tr(keyH->GetName())) ;
            wItem->setText(1, tr(keyH->GetClassName())) ;
            std::string className = keyH->GetClassName();
            if(className == "TCanvas" )
            {
                wItem->setIcon(0, canvasIcon_);
            }
            else if( className.find("TH1") != std::string::npos )
            {
                wItem->setIcon(0, TH1Icon_);
            }
            else if( className.find("TH2") != std::string::npos )
            {
                wItem->setIcon(0, TH2Icon_);
            }
            else if( className.find("TGraph") != std::string::npos )
            {
                wItem->setIcon(0, tGraphIcon_);
            }
            else if( className == "TProfile" )
            {
                wItem->setIcon(0, tProfileIcon_);
            }
            else
            {
                //STDLINE(className + "-" + this->getObjectType(keyH->ReadObj()),ACRed);
                wItem->setIcon(0, fileIcon_);
            }
        }
    }

}