コード例 #1
0
void MyTreeZoneModel::switchEtat(Groupe_selection *zones){

    if(zones == NULL){
        Projet *pro = mainwindow->getCurent_projet();
        zones = pro->getZones();
    }
    Zone * child;
    QVector<Zone*> childs = zones->getZones();

    foreach(child, childs){
        if(child->getType() == Zone::composite){
            switchEtat((Groupe_selection *)child);
        }
        else{
            child->switchEtat();
            emit layoutChanged();
        }
    }
}
コード例 #2
0
Groupe_selection * MyTreeZoneModel::addGroup(QModelIndex item){

    Groupe_selection *main_composite;
    Projet *pro = mainwindow->getCurent_projet();

    if(item.isValid() == false)
        main_composite = pro->getZones();
    else
        main_composite = nodeFromIndex(item);

    if(main_composite->getType() != Zone::composite)
        main_composite = main_composite->getParent();

    Groupe_selection *group = new Groupe_selection(main_composite);
    emit beginResetModel();
    main_composite->appendChild(group);
    emit endResetModel();

    return group;
}
コード例 #3
0
Rectangle * MyTreeZoneModel::addRect(QModelIndex item){

    Groupe_selection *main_composite;
    Projet *pro = mainwindow->getCurent_projet();

    if(item.isValid() == false)
        main_composite = pro->getZones();
    else
        main_composite = nodeFromIndex(item);

    if(main_composite->getType() != Zone::composite)
        main_composite = main_composite->getParent();

    Rectangle *polygone = new Rectangle(main_composite);

    emit beginResetModel();
    main_composite->appendChild(polygone);
    emit endResetModel();

    return polygone;
}