Пример #1
0
void QgsMapCanvas::refresh()
{
  if ( !mSettings.hasValidSettings() )
  {
    QgsDebugMsg( "CANVAS refresh - invalid settings -> nothing to do" );
    return;
  }

  if ( !mRenderFlag || mFrozen )  // do we really need two flags controlling rendering?
  {
    QgsDebugMsg( "CANVAS render flag off" );
    return;
  }

  if ( mRefreshScheduled )
  {
    QgsDebugMsg( "CANVAS refresh already scheduled" );
    return;
  }

  mRefreshScheduled = true;

  QgsDebugMsg( "CANVAS refresh scheduling" );

  // schedule a refresh
  QTimer::singleShot( 1, this, SLOT( refreshMap() ) );
} // refresh
Пример #2
0
void TopologyDialog::test()
{

    info->setPos(91.122236, 29.642912);
    info->setPos(102.742145, 24.998378);
    info->setPos(113.328695, 23.131285);
    info->setPos(108.979783, 34.257154);

    addToGraph("10.0.0.2", "10.0.0.4");
    addToGraph("10.0.0.3", "10.0.0.4");
    addToGraph("10.0.0.4", "10.0.0.5");

    refreshMap();
}
Пример #3
0
void TileMap::importMap(TileMap *source){
    
    TileMap *tmp = source;
    
    refreshMap();
    clearRooms();
    clearHalls();
    
    importAllRooms(tmp);
    importAllHalls(tmp);
    
    drawAllRooms();
    drawAllHalls();
    orientWalls();
    
}
Пример #4
0
void
quit(int sig)
{
    /*
     * Reset the signal in case we got here via an interrupt
     */
    if (displayMessage("really quit?") == 'y')
    {
        msg("You quit with %d gold pieces", purse);
        score(purse, 1, 0);
        my_exit(0);
    }
    else
    {
        status(false);
        refreshMap();
        count = 0;
        to_death = false;
    }
}
Пример #5
0
void SpatialDomainWidget::refresh()
{
  // -------- prepare classes list --------

  QStringList OriginalClassesList = openfluid::tools::toQStringList(m_Domain.getClassNames());

  QStringList ClassesList;

  // get display order for classes from project config file
  QVariant TmpList =
      openfluid::base::ProjectManager::instance()->getConfigValue("builder.spatial.unitsclasses","order");

  if (!TmpList.isValid())
  {
    openfluid::base::ProjectManager::instance()->setConfigValue("builder.spatial.unitsclasses","order",
                                                                OriginalClassesList);
    ClassesList = OriginalClassesList;
  }
  else
  {
    ClassesList = TmpList.toStringList();

    // find classes in project config file that are not in original dataset
    QStringList ClassesToRemove;
    for (int i=0; i< ClassesList.size();i++)
    {
      if (!OriginalClassesList.contains(ClassesList[i]))
        ClassesToRemove.append(ClassesList[i]);
    }

    // remove them from classes to display
    for (int i=0; i< ClassesToRemove.size();i++)
      ClassesList.removeAll(ClassesToRemove[i]);

    // remove classes from original list if they exists in classes to display
    for (int i=0; i< ClassesList.size();i++)
    {
      if (OriginalClassesList.contains(ClassesList[i]))
        OriginalClassesList.removeAll(ClassesList[i]);
    }

    // add original dataset classes that are not already in the classes to display
    for (int i=0; i< OriginalClassesList.size();i++)
    {
      if (!ClassesList.contains(OriginalClassesList[i]))
        ClassesList.append(OriginalClassesList[i]);
    }

    openfluid::base::ProjectManager::instance()->setConfigValue("builder.spatial.unitsclasses","order",ClassesList);
  }


  // -------- display classes widgets ---------

  // remove classes from display that does not exist anymore

  QVBoxLayout* Layout = dynamic_cast<QVBoxLayout*>(ui->UnitsClassAreaContents->layout());

  // search for classes to remove from layout
  QList<int> ItemsToRemove;

  for (int j=0;j<Layout->count();j++)
  {
    if (Layout->itemAt(j)->widget() != NULL)
    {

      UnitsClassWidget* ClassW = dynamic_cast<UnitsClassWidget*>(Layout->itemAt(j)->widget());

      if (!ClassesList.contains(ClassW->getClassName()))
      {
        if (ClassW->getClassName() == m_ActiveClass)
          m_ActiveClass = "";

        ItemsToRemove.append(j);
      }
    }
  }

  // effectively remove classes from layout
  QListIterator<int> itTR(ItemsToRemove);
  itTR.toBack();
  while (itTR.hasPrevious())
    Layout->takeAt(itTR.previous())->widget()->deleteLater();


  // Add of new classes to layout
  for (int i = 0; i<ClassesList.size(); i++)
  {
    bool AlreadyExist = false;

    // searching for already existing unit class in class list
    for (int j=0;j<Layout->count();j++)
    {
      if (j!=Layout->count()-1)
      {
        UnitsClassWidget* ClassW = dynamic_cast<UnitsClassWidget*>(Layout->itemAt(j)->widget());

        if (ClassW->getClassName() == ClassesList[i])
          AlreadyExist = true;
      }
    }

    // Add if it does not already exist
    if (!AlreadyExist)
    {
      UnitsClassWidget* ClassW =
          new UnitsClassWidget(ClassesList[i],
                               m_Datastore.getItems(ClassesList[i].toStdString(),
                                                    openfluid::core::UnstructuredValue::GeoVectorValue),
                               ui->UnitsClassAreaContents);

      dynamic_cast<QVBoxLayout*>(ui->UnitsClassAreaContents->layout())->insertWidget(Layout->count()-1,ClassW);
      connect(ClassW,SIGNAL(selectionRequested(QString)),this,SLOT(setSelectedClass(QString)));
      connect(ClassW,SIGNAL(styleChanged(QString)),this,SLOT(refreshMap()));
      connect(ClassW,SIGNAL(upClicked(QString)),this,SLOT(moveUnitsClassUp(QString)));
      connect(ClassW,SIGNAL(downClicked(QString)),this,SLOT(moveUnitsClassDown(QString)));
      connect(ClassW,SIGNAL(removeClicked(QString)),this,SLOT(removeUnitsClass(QString)));
    }
  }


  if (m_ActiveClass.isEmpty())
  {
    // active class is not defined, pick the first units class if any
    if (Layout->count()>1)
      setSelectedClass(dynamic_cast<UnitsClassWidget*>(Layout->itemAt(0)->widget())->getClassName());
    else
      setActiveClass("");
  }
  else
  {
    setSelectedClass(m_ActiveClass);
  }

  refreshMap();
}