LCOV - code coverage report
Current view: top level - src/guisim - Command_Hotkey_InductionLoop.cpp (source / functions) Hit Total Coverage
Test: lcov.info Lines: 0 21 0.0 %
Date: 2024-04-28 15:39:05 Functions: 0 5 0.0 %

          Line data    Source code
       1             : /****************************************************************************/
       2             : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
       3             : // Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
       4             : // This program and the accompanying materials are made available under the
       5             : // terms of the Eclipse Public License 2.0 which is available at
       6             : // https://www.eclipse.org/legal/epl-2.0/
       7             : // This Source Code may also be made available under the following Secondary
       8             : // Licenses when the conditions for such availability set forth in the Eclipse
       9             : // Public License 2.0 are satisfied: GNU General Public License, version 2
      10             : // or later which is available at
      11             : // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
      12             : // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
      13             : /****************************************************************************/
      14             : /// @file    Command_Hotkey_InductionLoop.cpp
      15             : /// @author  Jakob Erdmann
      16             : /// @date    31 Jan 2022
      17             : ///
      18             : // Registers custom hotkey for overriding detector value
      19             : /****************************************************************************/
      20             : #include <config.h>
      21             : 
      22             : #include <fxkeys.h>
      23             : #include <microsim/output/MSInductLoop.h>
      24             : #include <guisim/GUINet.h>
      25             : #include "Command_Hotkey_InductionLoop.h"
      26             : 
      27             : 
      28             : // ===========================================================================
      29             : // method definitions
      30             : // ===========================================================================
      31           0 : Command_Hotkey_InductionLoop::Command_Hotkey_InductionLoop(MSInductLoop* det, bool set) :
      32           0 :     myDetector(det), mySet(set)
      33           0 : { }
      34             : 
      35             : 
      36           0 : Command_Hotkey_InductionLoop::~Command_Hotkey_InductionLoop() { }
      37             : 
      38             : 
      39             : SUMOTime
      40           0 : Command_Hotkey_InductionLoop::execute(SUMOTime /*currentTime*/) {
      41           0 :     myDetector->overrideTimeSinceDetection(mySet ? 0 : -1);
      42           0 :     return 1;
      43             : }
      44             : 
      45             : 
      46             : bool
      47           0 : Command_Hotkey_InductionLoop::registerHotkey(const std::string& key, MSInductLoop* det) {
      48             :     int hotkey = -1;
      49           0 :     if (key.size() == 1) {
      50           0 :         char c = key[0];
      51           0 :         if ('a' <= c && c <= 'z') {
      52             :             // see FXAccelTable::parseAccel
      53           0 :             hotkey = c + FX::KEY_space - ' ';
      54             :         } else {
      55           0 :             WRITE_WARNINGF(TL("Hotkey '%' is not supported"), key);
      56           0 :             return false;
      57             :         }
      58             :     } else {
      59           0 :         WRITE_WARNINGF(TL("Hotkey '%' is not supported"), key);
      60           0 :         return false;
      61             :     }
      62           0 :     GUINet* gn = dynamic_cast<GUINet*>(MSNet::getInstance());
      63           0 :     if (gn != nullptr) {
      64           0 :         gn->addHotkey(hotkey,
      65           0 :                       new Command_Hotkey_InductionLoop(det, true),
      66           0 :                       new Command_Hotkey_InductionLoop(det, false));
      67             :     }
      68             :     return true;
      69             : }
      70             : 
      71             : /****************************************************************************/

Generated by: LCOV version 1.14