Path: blob/main/src/netedit/frames/demand/GNEContainerPlanFrame.h
169684 views
/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file GNEContainerPlanFrame.h14/// @author Pablo Alvarez Lopez15/// @date Jun 201916///17// The Widget for add ContainerPlan elements18/****************************************************************************/19#pragma once20#include <config.h>2122#include <netedit/frames/GNEFrame.h>2324// ===========================================================================25// class declaration26// ===========================================================================2728class GNEAttributesEditor;29class GNEDemandElementSelector;30class GNEElementTree;31class GNEPlanCreator;32class GNEPlanSelector;3334// ===========================================================================35// class definitions36// ===========================================================================37/**38* @class GNEContainerPlanFrame39*/40class GNEContainerPlanFrame : public GNEFrame {4142public:4344/**@brief Constructor45* @brief viewParent GNEViewParent in which this GNEFrame is placed46* @brief viewNet viewNet that uses this GNEFrame47*/48GNEContainerPlanFrame(GNEViewParent* viewParent, GNEViewNet* viewNet);4950/// @brief Destructor51~GNEContainerPlanFrame();5253/// @brief show Frame54void show();5556/// @brief hide Frame57void hide();5859/**@brief add container plan element60* @param viewObjects collection of objects under cursor after click over view61* @return true if element was successfully added62*/63bool addContainerPlanElement(const GNEViewNetHelper::ViewObjectsSelector& viewObjects);6465/// @brief reset selected container66void resetSelectedContainer();6768/// @brief get plan creator module69GNEPlanCreator* getPlanCreator() const;7071/// @brief get Container Hierarchy72GNEElementTree* getContainerHierarchy() const;7374/// @brief get container selectors75GNEDemandElementSelector* getContainerSelector() const;7677/// @brief get containerPlan selector78GNEPlanSelector* getPlanSelector() const;7980protected:81/// @brief Tag selected in GNETagSelector82void tagSelected();8384/// @brief selected demand element in DemandElementSelector85void demandElementSelected();8687/// @brief create path88bool createPath(const bool useLastRoute);8990private:91/// @brief Container selectors92GNEDemandElementSelector* myContainerSelector = nullptr;9394/// @brief containerPlan selector95GNEPlanSelector* myPlanSelector = nullptr;9697/// @brief container plan attributes editor98GNEAttributesEditor* myContainerPlanAttributesEditor = nullptr;99100/// @brief plan Creator101GNEPlanCreator* myPlanCreator = nullptr;102103/// @brief Container Hierarchy104GNEElementTree* myContainerHierarchy = nullptr;105106/// @brief plan creator legend107GNEPlanCreatorLegend* myPlanCreatorLegend;108};109110111