Ejemplo n.º 1
0
void Style::addLayer(std::unique_ptr<StyleLayer> layer, optional<std::string> before) {
    if (SymbolLayer* symbolLayer = layer->as<SymbolLayer>()) {
        if (!symbolLayer->spriteAtlas) {
            symbolLayer->spriteAtlas = spriteAtlas.get();
        }
    }

    if (CustomLayer* customLayer = layer->as<CustomLayer>()) {
        customLayer->initialize();
    }

    layers.emplace(before ? findLayer(*before) : layers.end(), std::move(layer));
}
c2DLayer* cSDL2DSceneManager::addLayer(std::string Name)
{
    c2DLayer* Layer = findLayer(Name);

    if(!Layer)
    {
        Layer = new c2DLayer();
        Layer->m_Name=Name;

        m_Layers.push_back(Layer);
    }

    return Layer;
}
Ejemplo n.º 3
0
void QgsProjectBadLayerGuiHandler::findLayers( QString const & fileFilters, QList<QDomNode> const & layerNodes )
{

  for ( QList<QDomNode>::const_iterator i = layerNodes.begin();
        i != layerNodes.end();
        ++i )
  {
    if ( findLayer( fileFilters, *i ) )
    {
      // If findLayer returns true, the user hit Cancel All button
      break;
    }
  }

} // findLayers
Ejemplo n.º 4
0
void QgsLayerTree::setCustomLayerOrder( const QStringList &customLayerOrder )
{
  QList<QgsMapLayer *> layers;

  for ( const auto &layerId : customLayerOrder )
  {
    QgsLayerTreeLayer *nodeLayer = findLayer( layerId );
    if ( nodeLayer )
    {
      // configuration from 2.x projects might have non spatial layers
      QgsMapLayer *layer = nodeLayer->layer();
      if ( !layer || !layer->isSpatial() )
      {
        continue;
      }
      layers.append( layer );
    }
  }
  setCustomLayerOrder( layers );
}
Ejemplo n.º 5
0
StyleLayer* Style::getLayer(const std::string& id) const {
    auto it = findLayer(id);
    return it != layers.end() ? it->get() : nullptr;
}
Ejemplo n.º 6
0
void Style::removeLayer(const std::string& id) {
    auto it = findLayer(id);
    if (it == layers.end())
        throw std::runtime_error("no such layer");
    layers.erase(it);
}
Ejemplo n.º 7
0
void Style::addLayer(util::ptr<StyleLayer> layer, const std::string& before) {
    layers.emplace(findLayer(before), std::move(layer));
}