Path: blob/main/src/netedit/frames/demand/GNEPersonPlanFrame.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 GNEPersonPlanFrame.h14/// @author Pablo Alvarez Lopez15/// @date Jun 201916///17// The Widget for add PersonPlan 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 GNEPersonPlanFrame39*/40class GNEPersonPlanFrame : public GNEFrame {4142public:43/**@brief Constructor44* @brief viewParent GNEViewParent in which this GNEFrame is placed45* @brief viewNet viewNet that uses this GNEFrame46*/47GNEPersonPlanFrame(GNEViewParent* viewParent, GNEViewNet* viewNet);4849/// @brief Destructor50~GNEPersonPlanFrame();5152/// @brief show Frame53void show();5455/// @brief hide Frame56void hide();5758/**@brief add person plan element59* @param viewObjects collection of objects under cursor after click over view60* @return true if element was successfully added61*/62bool addPersonPlanElement(const GNEViewNetHelper::ViewObjectsSelector& viewObjects);6364/// @brief reset selected person65void resetSelectedPerson();6667/// @brief get plan creator module68GNEPlanCreator* getPlanCreator() const;6970/// @brief get Person Hierarchy71GNEElementTree* getPersonHierarchy() const;7273/// @brief get person selectors74GNEDemandElementSelector* getPersonSelector() const;7576/// @brief get personPlan selector77GNEPlanSelector* getPlanSelector() const;7879protected:80/// @brief Tag selected in GNETagSelector81void tagSelected();8283/// @brief selected demand element in DemandElementSelector84void demandElementSelected();8586/// @brief create path87bool createPath(const bool useLastRoute);8889private:90/// @brief Person selectors91GNEDemandElementSelector* myPersonSelector = nullptr;9293/// @brief personPlan selector94GNEPlanSelector* myPlanSelector = nullptr;9596/// @brief person plan attributes editor97GNEAttributesEditor* myPersonPlanAttributesEditor = nullptr;9899/// @brief plan Creator100GNEPlanCreator* myPlanCreator = nullptr;101102/// @brief Person Hierarchy103GNEElementTree* myPersonHierarchy = nullptr;104105/// @brief plan creator legend106GNEPlanCreatorLegend* myPlanCreatorLegend = nullptr;107};108109110