QElectroTech 0.200.1-dev
Loading...
Searching...
No Matches
numerotationcontextcommands.h
Go to the documentation of this file.
1/*
2 Copyright 2006-2026 The QElectroTech Team
3 This file is part of QElectroTech.
4
5 QElectroTech is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9
10 QElectroTech is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef NUMEROTATIONCONTEXTCOMMANDS_H
19#define NUMEROTATIONCONTEXTCOMMANDS_H
20
21#include "numerotationcontext.h"
22
23class NumStrategy;
24class Diagram;
25
31{
32 public:
37 QString toRepresentedString ();
38
39 private:
40 void setNumStrategy (const QString &);
41 static void carry(NumerotationContext &contextnum, int from_index);
42 static void borrow(NumerotationContext &contextnum, int from_index);
43
47};
48
50{
51 public:
52 NumStrategy (Diagram * = nullptr);
53 virtual ~NumStrategy ();
54 virtual QString toRepresentedString (const QString) const = 0;
55 virtual NumerotationContext next (const NumerotationContext &, const int) const = 0;
56 virtual NumerotationContext previous (const NumerotationContext &, const int) const = 0;
57
58 protected:
59 NumerotationContext nextString (const NumerotationContext &, const int) const;
60 NumerotationContext nextNumber (const NumerotationContext &, const int) const;
62
64};
65
66class UnitNum: public NumStrategy
67{
68 public:
69 UnitNum (Diagram *);
70 QString toRepresentedString(const QString) const override;
71 NumerotationContext next (const NumerotationContext &, const int) const override;
72 NumerotationContext previous (const NumerotationContext &, const int) const override;
73};
74
75class UnitFNum: public NumStrategy
76{
77 public:
78 UnitFNum (Diagram *);
79 QString toRepresentedString(const QString) const override;
80 NumerotationContext next (const NumerotationContext &, const int) const override;
81 NumerotationContext previous (const NumerotationContext &, const int) const override;
82};
83
84class TenNum: public NumStrategy
85{
86 public:
87 TenNum (Diagram *);
88 QString toRepresentedString(const QString) const override;
89 NumerotationContext next (const NumerotationContext &, const int) const override;
90 NumerotationContext previous (const NumerotationContext &, const int) const override;
91};
92
93class TenFNum: public NumStrategy
94{
95 public:
96 TenFNum (Diagram *);
97 QString toRepresentedString(const QString) const override;
98 NumerotationContext next (const NumerotationContext &, const int) const override;
99 NumerotationContext previous (const NumerotationContext &, const int) const override;
100};
101
103{
104 public:
106 QString toRepresentedString(const QString) const override;
107 NumerotationContext next (const NumerotationContext &, const int) const override;
108 NumerotationContext previous (const NumerotationContext &, const int) const override;
109};
110
112{
113 public:
115 QString toRepresentedString(const QString) const override;
116 NumerotationContext next (const NumerotationContext &, const int) const override;
117 NumerotationContext previous (const NumerotationContext &, const int) const override;
118};
119
129class WrapNum: public NumStrategy
130{
131 public:
132 WrapNum (Diagram *);
133 QString toRepresentedString(const QString) const override;
134 NumerotationContext next (const NumerotationContext &, const int) const override;
135 NumerotationContext previous (const NumerotationContext &, const int) const override;
136};
137
139{
140 public:
141 StringNum (Diagram *);
142 QString toRepresentedString(const QString) const override;
143 NumerotationContext next (const NumerotationContext &, const int) const override;
144 NumerotationContext previous (const NumerotationContext &, const int) const override;
145};
146
156{
157 public:
158 AlphaNum (Diagram *);
159 QString toRepresentedString(const QString) const override;
160 NumerotationContext next (const NumerotationContext &, const int) const override;
161 NumerotationContext previous (const NumerotationContext &, const int) const override;
162};
163
165{
166 public:
168 QString toRepresentedString(const QString) const override;
169 NumerotationContext next (const NumerotationContext &, const int) const override;
170 NumerotationContext previous (const NumerotationContext &, const int) const override;
171};
172
174{
175 public:
176 FolioNum (Diagram *);
177 QString toRepresentedString(const QString) const override;
178 NumerotationContext next (const NumerotationContext &, const int) const override;
179 NumerotationContext previous (const NumerotationContext &, const int) const override;
180};
181
183{
184 public:
185 PlantNum (Diagram *);
186 QString toRepresentedString(const QString) const override;
187 NumerotationContext next (const NumerotationContext &, const int) const override;
188 NumerotationContext previous (const NumerotationContext &, const int) const override;
189};
190
192{
193 public:
195 QString toRepresentedString(const QString) const override;
196 NumerotationContext next (const NumerotationContext &, const int) const override;
197 NumerotationContext previous (const NumerotationContext &, const int) const override;
198};
199
200
202{
203 public:
205 QString toRepresentedString(const QString) const override;
206 NumerotationContext next (const NumerotationContext &, const int) const override;
207 NumerotationContext previous (const NumerotationContext &, const int) const override;
208};
209
211{
212 public:
214 QString toRepresentedString(const QString) const override;
215 NumerotationContext next (const NumerotationContext &, const int) const override;
216 NumerotationContext previous (const NumerotationContext &, const int) const override;
217};
218
220{
221 public:
223 QString toRepresentedString(const QString) const override;
224 NumerotationContext next (const NumerotationContext &, const int) const override;
225 NumerotationContext previous (const NumerotationContext &, const int) const override;
226};
227
228
229#endif // NUMEROTATIONCONTEXTCOMMANDS_H
NumerotationContext next(const NumerotationContext &, const int) const override
AlphaNum::next.
Definition numerotationcontextcommands.cpp:705
QString toRepresentedString(const QString) const override
AlphaNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:696
AlphaNum(Diagram *)
Definition numerotationcontextcommands.cpp:688
NumerotationContext previous(const NumerotationContext &, const int) const override
AlphaNum::previous.
Definition numerotationcontextcommands.cpp:717
The Diagram class This class represents an electric diagram. It manages its various child elements,...
Definition diagram.h:54
NumerotationContext next(const NumerotationContext &, const int) const override
ElementColumnNum::next.
Definition numerotationcontextcommands.cpp:923
QString toRepresentedString(const QString) const override
ElementColumnNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:913
ElementColumnNum(Diagram *)
Definition numerotationcontextcommands.cpp:905
NumerotationContext previous(const NumerotationContext &, const int) const override
ElementColumnNum::previous.
Definition numerotationcontextcommands.cpp:932
NumerotationContext previous(const NumerotationContext &, const int) const override
ElementLineNum::previous.
Definition numerotationcontextcommands.cpp:897
QString toRepresentedString(const QString) const override
ElementLineNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:878
ElementLineNum(Diagram *)
Definition numerotationcontextcommands.cpp:870
NumerotationContext next(const NumerotationContext &, const int) const override
ElementLineNum::next.
Definition numerotationcontextcommands.cpp:888
NumerotationContext next(const NumerotationContext &, const int) const override
ElementPrefixNum::next.
Definition numerotationcontextcommands.cpp:958
ElementPrefixNum(Diagram *)
Definition numerotationcontextcommands.cpp:940
NumerotationContext previous(const NumerotationContext &, const int) const override
ElementPrefixNum::previous.
Definition numerotationcontextcommands.cpp:967
QString toRepresentedString(const QString) const override
ElementPrefixNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:948
NumerotationContext previous(const NumerotationContext &, const int) const override
FolioNum::previous.
Definition numerotationcontextcommands.cpp:790
FolioNum(Diagram *)
Definition numerotationcontextcommands.cpp:763
NumerotationContext next(const NumerotationContext &, const int) const override
FolioNum::next.
Definition numerotationcontextcommands.cpp:781
QString toRepresentedString(const QString) const override
FolioNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:771
NumerotationContext next(const NumerotationContext &, const int) const override
HundredFNum::next.
Definition numerotationcontextcommands.cpp:507
HundredFNum(Diagram *)
Definition numerotationcontextcommands.cpp:482
NumerotationContext previous(const NumerotationContext &, const int) const override
HundredFNum::previous.
Definition numerotationcontextcommands.cpp:516
QString toRepresentedString(const QString) const override
HundredFNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:490
HundredNum(Diagram *)
Definition numerotationcontextcommands.cpp:440
NumerotationContext next(const NumerotationContext &, const int) const override
HundredNum::next.
Definition numerotationcontextcommands.cpp:465
QString toRepresentedString(const QString) const override
HundredNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:448
NumerotationContext previous(const NumerotationContext &, const int) const override
HundredNum::previous.
Definition numerotationcontextcommands.cpp:474
NumerotationContext previous(const NumerotationContext &, const int) const override
IdFolioNum::previous.
Definition numerotationcontextcommands.cpp:755
NumerotationContext next(const NumerotationContext &, const int) const override
IdFolioNum::next.
Definition numerotationcontextcommands.cpp:746
QString toRepresentedString(const QString) const override
IdFolioNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:736
IdFolioNum(Diagram *)
Definition numerotationcontextcommands.cpp:728
NumerotationContext next(const NumerotationContext &, const int) const override
LocmachNum::next.
Definition numerotationcontextcommands.cpp:852
QString toRepresentedString(const QString) const override
LocmachNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:842
LocmachNum(Diagram *)
Definition numerotationcontextcommands.cpp:834
NumerotationContext previous(const NumerotationContext &, const int) const override
LocmachNum::previous.
Definition numerotationcontextcommands.cpp:861
Definition numerotationcontextcommands.h:50
virtual ~NumStrategy()
Definition numerotationcontextcommands.cpp:250
virtual NumerotationContext next(const NumerotationContext &, const int) const =0
NumStrategy(Diagram *=nullptr)
Definition numerotationcontextcommands.cpp:246
NumerotationContext previousNumber(const NumerotationContext &, const int) const
NumStrategy::previousNumber.
Definition numerotationcontextcommands.cpp:284
virtual QString toRepresentedString(const QString) const =0
Diagram * diagram_
Definition numerotationcontextcommands.h:63
NumerotationContext nextString(const NumerotationContext &, const int) const
NumStrategy::nextString.
Definition numerotationcontextcommands.cpp:257
virtual NumerotationContext previous(const NumerotationContext &, const int) const =0
NumerotationContext nextNumber(const NumerotationContext &, const int) const
NumStrategy::nextNumber.
Definition numerotationcontextcommands.cpp:270
NumStrategy * strategy_
Definition numerotationcontextcommands.h:46
static void carry(NumerotationContext &contextnum, int from_index)
NumerotationContextCommands::carry Add one unit to the nearest numeric part at or before from_index i...
Definition numerotationcontextcommands.cpp:98
~NumerotationContextCommands()
Destructor.
Definition numerotationcontextcommands.cpp:34
static void borrow(NumerotationContext &contextnum, int from_index)
NumerotationContextCommands::borrow Inverse of carry(): subtract one unit from the nearest numeric pa...
Definition numerotationcontextcommands.cpp:129
QString toRepresentedString()
NumerotationContextCommands::toFinalString.
Definition numerotationcontextcommands.cpp:154
NumerotationContext previous()
NumerotationContextCommands::previous.
Definition numerotationcontextcommands.cpp:68
void setNumStrategy(const QString &)
NumerotationContextCommands::setNumStrategy apply the good strategy relative to str.
Definition numerotationcontextcommands.cpp:173
Diagram * diagram_
Definition numerotationcontextcommands.h:44
NumerotationContext context_
Definition numerotationcontextcommands.h:45
NumerotationContext next()
NumerotationContextCommands::next.
Definition numerotationcontextcommands.cpp:43
NumerotationContextCommands(const NumerotationContext &, Diagram *=nullptr)
Constructor.
Definition numerotationcontextcommands.cpp:25
Definition numerotationcontext.h:31
NumerotationContext next(const NumerotationContext &, const int) const override
PlantNum::next.
Definition numerotationcontextcommands.cpp:816
QString toRepresentedString(const QString) const override
PlantNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:806
PlantNum(Diagram *)
Definition numerotationcontextcommands.cpp:798
NumerotationContext previous(const NumerotationContext &, const int) const override
PlantNum::previous.
Definition numerotationcontextcommands.cpp:825
NumerotationContext next(const NumerotationContext &, const int) const override
StringNum::next.
Definition numerotationcontextcommands.cpp:597
NumerotationContext previous(const NumerotationContext &, const int) const override
StringNum::previous.
Definition numerotationcontextcommands.cpp:606
StringNum(Diagram *)
Definition numerotationcontextcommands.cpp:580
QString toRepresentedString(const QString) const override
StringNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:588
TenFNum(Diagram *)
Definition numerotationcontextcommands.cpp:402
NumerotationContext previous(const NumerotationContext &, const int) const override
TenFNum::previous.
Definition numerotationcontextcommands.cpp:431
NumerotationContext next(const NumerotationContext &, const int) const override
TenFNum::next.
Definition numerotationcontextcommands.cpp:422
QString toRepresentedString(const QString) const override
TenFNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:410
QString toRepresentedString(const QString) const override
TenNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:373
NumerotationContext previous(const NumerotationContext &, const int) const override
TenNum::previous.
Definition numerotationcontextcommands.cpp:394
NumerotationContext next(const NumerotationContext &, const int) const override
TenNum::next.
Definition numerotationcontextcommands.cpp:385
TenNum(Diagram *)
Definition numerotationcontextcommands.cpp:365
QString toRepresentedString(const QString) const override
UnitFNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:339
NumerotationContext next(const NumerotationContext &, const int) const override
UnitFNum::next.
Definition numerotationcontextcommands.cpp:348
UnitFNum(Diagram *)
Definition numerotationcontextcommands.cpp:331
NumerotationContext previous(const NumerotationContext &, const int) const override
UnitFNum::previous.
Definition numerotationcontextcommands.cpp:357
NumerotationContext previous(const NumerotationContext &, const int) const override
UnitNum::previous.
Definition numerotationcontextcommands.cpp:323
QString toRepresentedString(const QString) const override
UnitNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:305
UnitNum(Diagram *)
Definition numerotationcontextcommands.cpp:297
NumerotationContext next(const NumerotationContext &, const int) const override
UnitNum::next.
Definition numerotationcontextcommands.cpp:314
NumerotationContext previous(const NumerotationContext &, const int) const override
WrapNum::previous.
Definition numerotationcontextcommands.cpp:561
NumerotationContext next(const NumerotationContext &, const int) const override
WrapNum::next Wraps this part's own value back to 0 every modulus values (carrying into the adjacent ...
Definition numerotationcontextcommands.cpp:544
WrapNum(Diagram *)
Definition numerotationcontextcommands.cpp:524
QString toRepresentedString(const QString) const override
WrapNum::toRepresentedString.
Definition numerotationcontextcommands.cpp:532