Antares Simulator
Power System Simulator
columnindex.h
1 /*
2  * Copyright 2007-2025, RTE (https://www.rte-france.com)
3  * See AUTHORS.txt
4  * SPDX-License-Identifier: MPL-2.0
5  * This file is part of Antares-Simulator,
6  * Adequacy and Performance assessment for interconnected energy networks.
7  *
8  * Antares_Simulator is free software: you can redistribute it and/or modify
9  * it under the terms of the Mozilla Public Licence 2.0 as published by
10  * the Mozilla Foundation, either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * Antares_Simulator is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * Mozilla Public Licence 2.0 for more details.
17  *
18  * You should have received a copy of the Mozilla Public Licence 2.0
19  * along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20  */
21 #ifndef __ANTARES_TOOLBOX_COMPONENTS_DATAGRID_FILTER_ALL_COLUMN_INDEX_H__
22 #define __ANTARES_TOOLBOX_COMPONENTS_DATAGRID_FILTER_ALL_COLUMN_INDEX_H__
23 
24 #include "../filter.h"
25 #include <antares/date/date.h>
26 
27 namespace Antares::Toolbox::Filter
28 {
29 class ColumnIndex: public AFilterBase
30 {
31 public:
32  static const wxChar* Name()
33  {
34  return wxT("columnindex");
35  }
36 
37  static const wxChar* Caption()
38  {
39  return wxT("Column");
40  }
41 
42  static Date::Precision Precision()
43  {
44  return Date::stepAny;
45  }
46 
47 public:
48  ColumnIndex(Input* parent):
49  AFilterBase(parent)
50  {
51  operators.addStdArithmetic();
52  }
53 
54  virtual ~ColumnIndex()
55  {
56  }
57 
58  virtual Date::Precision precision() const
59  {
60  return ColumnIndex::Precision();
61  }
62 
63  virtual bool checkOnColsLabels() const
64  {
65  return true;
66  }
67 
68  virtual const wxChar* name() const
69  {
70  return ColumnIndex::Name();
71  }
72 
73  virtual const wxChar* caption() const
74  {
75  return ColumnIndex::Caption();
76  }
77 
78  virtual bool colIsValid(int col) const
79  {
80  return currentOperator->compute(col + 1);
81  }
82 
83 }; // class ColumnIndex
84 
85 } // namespace Antares::Toolbox::Filter
86 
87 #endif // __ANTARES_TOOLBOX_COMPONENTS_DATAGRID_FILTER_ALL_COLUMN_INDEX_H__
Abstract Filter.
Definition: filter.h:48
Operator::AOperator * currentOperator
The current selected operator for the filter.
Definition: filter.h:198
Operator::List operators
List of all possible operations for the filter.
Definition: filter.h:196
AFilterBase(Input *parent)
Default constructor.
Definition: filter.cpp:34
Definition: columnindex.h:30
virtual const wxChar * name() const
Get the name of the filter.
Definition: columnindex.h:68
virtual const wxChar * caption() const
Get the caption of the filter.
Definition: columnindex.h:73
Definition: input.h:34