summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.codelite/.tern-port2
-rw-r--r--.codelite/PSP.session68
-rw-r--r--.codelite/PSP.tagsbin72210432 -> 79133696 bytes
-rw-r--r--.codelite/compilation.dbbin63488 -> 65536 bytes
-rw-r--r--.codelite/compile_commands.json152
-rw-r--r--.codelite/refactoring.dbbin2845696 -> 2988032 bytes
-rw-r--r--Buglist.txt20
-rw-r--r--Project/Bus.cpp9
-rw-r--r--Project/Bus.h1
-rw-r--r--Project/Capacitor.cpp40
-rw-r--r--Project/Capacitor.h3
-rw-r--r--Project/Element.cpp165
-rw-r--r--Project/Element.h26
-rw-r--r--Project/ElementDataObject.cpp39
-rw-r--r--Project/ElementDataObject.h29
-rw-r--r--Project/IndMotor.cpp7
-rw-r--r--Project/IndMotor.h3
-rw-r--r--Project/Inductor.cpp42
-rw-r--r--Project/Inductor.h3
-rw-r--r--Project/Line.cpp17
-rw-r--r--Project/Line.h1
-rw-r--r--Project/Load.cpp17
-rw-r--r--Project/Load.h3
-rw-r--r--Project/Machines.cpp11
-rw-r--r--Project/PowerFlow.cpp8
-rw-r--r--Project/Project.mk20
-rw-r--r--Project/Project.project2
-rw-r--r--Project/Project.txt2
-rw-r--r--Project/Release/Branch.cpp.obin35888 -> 36478 bytes
-rw-r--r--Project/Release/Bus.cpp.obin44473 -> 51482 bytes
-rw-r--r--Project/Release/BusForm.cpp.obin119004 -> 119004 bytes
-rw-r--r--Project/Release/Capacitor.cpp.obin45966 -> 51864 bytes
-rw-r--r--Project/Release/ElectricCalculation.cpp.obin74373 -> 74373 bytes
-rw-r--r--Project/Release/Element.cpp.obin158555 -> 161826 bytes
-rw-r--r--Project/Release/ElementDataObject.cpp.obin0 -> 22207 bytes
-rw-r--r--Project/Release/ElementDataObject.cpp.o.d752
-rw-r--r--Project/Release/FileHanding.cpp.obin197048 -> 197048 bytes
-rw-r--r--Project/Release/FileHanding.cpp.o.d32
-rw-r--r--Project/Release/GeneratorStabForm.cpp.obin104202 -> 104202 bytes
-rw-r--r--Project/Release/IndMotor.cpp.obin38830 -> 44699 bytes
-rw-r--r--Project/Release/IndMotorForm.cpp.obin87116 -> 87116 bytes
-rw-r--r--Project/Release/Inductor.cpp.obin45871 -> 51732 bytes
-rw-r--r--Project/Release/Line.cpp.obin164116 -> 170313 bytes
-rw-r--r--Project/Release/LineForm.cpp.obin101112 -> 101112 bytes
-rw-r--r--Project/Release/Load.cpp.obin44518 -> 50527 bytes
-rw-r--r--Project/Release/LoadForm.cpp.obin86741 -> 86741 bytes
-rw-r--r--Project/Release/Machines.cpp.obin40526 -> 41245 bytes
-rw-r--r--Project/Release/MainFrame.cpp.obin156024 -> 155520 bytes
-rw-r--r--Project/Release/MainFrame.cpp.o.d32
-rw-r--r--Project/Release/PSP-UFU.exebin4417854 -> 4451624 bytes
-rw-r--r--Project/Release/PowerFlow.cpp.obin43132 -> 31888 bytes
-rw-r--r--Project/Release/ReactiveShuntElementForm.cpp.obin93115 -> 93115 bytes
-rw-r--r--Project/Release/Shunt.cpp.obin36425 -> 37015 bytes
-rw-r--r--Project/Release/SwitchingForm.cpp.obin107046 -> 107046 bytes
-rw-r--r--Project/Release/SyncGenerator.cpp.obin43934 -> 50365 bytes
-rw-r--r--Project/Release/SyncMachineForm.cpp.obin123729 -> 123729 bytes
-rw-r--r--Project/Release/SyncMotor.cpp.obin40220 -> 47540 bytes
-rw-r--r--Project/Release/Text.cpp.obin103098 -> 110498 bytes
-rw-r--r--Project/Release/TextForm.cpp.obin165817 -> 165817 bytes
-rw-r--r--Project/Release/Transformer.cpp.obin51523 -> 57842 bytes
-rw-r--r--Project/Release/TransformerForm.cpp.obin108670 -> 108670 bytes
-rw-r--r--Project/Release/Workspace.cpp.obin210774 -> 224878 bytes
-rw-r--r--Project/Release/Workspace.cpp.o.d39
-rw-r--r--Project/Release/main.cpp.o.d8
-rw-r--r--Project/SyncGenerator.cpp7
-rw-r--r--Project/SyncGenerator.h3
-rw-r--r--Project/SyncMotor.cpp7
-rw-r--r--Project/SyncMotor.h3
-rw-r--r--Project/Text.cpp7
-rw-r--r--Project/Text.h3
-rw-r--r--Project/Transformer.cpp19
-rw-r--r--Project/Transformer.h3
-rw-r--r--Project/Workspace.cpp234
-rw-r--r--Project/Workspace.h10
74 files changed, 1450 insertions, 399 deletions
diff --git a/.codelite/.tern-port b/.codelite/.tern-port
index a41ef5f..58b5345 100644
--- a/.codelite/.tern-port
+++ b/.codelite/.tern-port
@@ -1 +1 @@
-52539 \ No newline at end of file
+50786 \ No newline at end of file
diff --git a/.codelite/PSP.session b/.codelite/PSP.session
index 4422756..216e489 100644
--- a/.codelite/PSP.session
+++ b/.codelite/PSP.session
@@ -5,21 +5,21 @@
<TabInfoArray Name="TabInfoArray">
<TabInfo>
<wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Workspace.cpp" Name="FileName"/>
- <int Value="410" Name="FirstVisibleLine"/>
- <int Value="435" Name="CurrentLine"/>
+ <int Value="1167" Name="FirstVisibleLine"/>
+ <int Value="1184" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
<IntVector Name="CollapsedFolds"/>
</TabInfo>
<TabInfo>
<wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Workspace.h" Name="FileName"/>
- <int Value="53" Name="FirstVisibleLine"/>
- <int Value="73" Name="CurrentLine"/>
+ <int Value="141" Name="FirstVisibleLine"/>
+ <int Value="49" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
<IntVector Name="CollapsedFolds"/>
</TabInfo>
<TabInfo>
<wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\MainFrame.cpp" Name="FileName"/>
- <int Value="390" Name="FirstVisibleLine"/>
+ <int Value="189" Name="FirstVisibleLine"/>
<int Value="220" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
<IntVector Name="CollapsedFolds"/>
@@ -32,56 +32,44 @@
<IntVector Name="CollapsedFolds"/>
</TabInfo>
<TabInfo>
- <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\FileHanding.cpp" Name="FileName"/>
- <int Value="196" Name="FirstVisibleLine"/>
- <int Value="1134" Name="CurrentLine"/>
+ <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Element.h" Name="FileName"/>
+ <int Value="0" Name="FirstVisibleLine"/>
+ <int Value="205" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
- <IntVector Name="CollapsedFolds">
- <IntVectorItem Value="37"/>
- <IntVectorItem Value="103"/>
- <IntVectorItem Value="154"/>
- <IntVectorItem Value="197"/>
- <IntVectorItem Value="248"/>
- <IntVectorItem Value="327"/>
- <IntVectorItem Value="383"/>
- <IntVectorItem Value="513"/>
- <IntVectorItem Value="642"/>
- <IntVectorItem Value="742"/>
- <IntVectorItem Value="812"/>
- <IntVectorItem Value="943"/>
- <IntVectorItem Value="1006"/>
- <IntVectorItem Value="1187"/>
- <IntVectorItem Value="1262"/>
- <IntVectorItem Value="1380"/>
- <IntVectorItem Value="1477"/>
- <IntVectorItem Value="1605"/>
- </IntVector>
+ <IntVector Name="CollapsedFolds"/>
</TabInfo>
<TabInfo>
- <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\FileHanding.h" Name="FileName"/>
- <int Value="15" Name="FirstVisibleLine"/>
- <int Value="41" Name="CurrentLine"/>
+ <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\ElementDataObject.h" Name="FileName"/>
+ <int Value="3" Name="FirstVisibleLine"/>
+ <int Value="0" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
<IntVector Name="CollapsedFolds"/>
</TabInfo>
<TabInfo>
- <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Element.h" Name="FileName"/>
- <int Value="74" Name="FirstVisibleLine"/>
- <int Value="100" Name="CurrentLine"/>
+ <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\ElementDataObject.cpp" Name="FileName"/>
+ <int Value="0" Name="FirstVisibleLine"/>
+ <int Value="34" Name="CurrentLine"/>
+ <wxArrayString Name="Bookmarks"/>
+ <IntVector Name="CollapsedFolds"/>
+ </TabInfo>
+ <TabInfo>
+ <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Element.cpp" Name="FileName"/>
+ <int Value="453" Name="FirstVisibleLine"/>
+ <int Value="15" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
<IntVector Name="CollapsedFolds"/>
</TabInfo>
<TabInfo>
- <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Line.h" Name="FileName"/>
- <int Value="42" Name="FirstVisibleLine"/>
- <int Value="62" Name="CurrentLine"/>
+ <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Inductor.cpp" Name="FileName"/>
+ <int Value="146" Name="FirstVisibleLine"/>
+ <int Value="43" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
<IntVector Name="CollapsedFolds"/>
</TabInfo>
<TabInfo>
- <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Line.cpp" Name="FileName"/>
- <int Value="465" Name="FirstVisibleLine"/>
- <int Value="487" Name="CurrentLine"/>
+ <wxString Value="C:\Users\Thales\Documents\GitHub\PSP\Project\Capacitor.cpp" Name="FileName"/>
+ <int Value="147" Name="FirstVisibleLine"/>
+ <int Value="163" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
<IntVector Name="CollapsedFolds"/>
</TabInfo>
diff --git a/.codelite/PSP.tags b/.codelite/PSP.tags
index 8f28450..4f08983 100644
--- a/.codelite/PSP.tags
+++ b/.codelite/PSP.tags
Binary files differ
diff --git a/.codelite/compilation.db b/.codelite/compilation.db
index 71b29e5..d5fa7f5 100644
--- a/.codelite/compilation.db
+++ b/.codelite/compilation.db
Binary files differ
diff --git a/.codelite/compile_commands.json b/.codelite/compile_commands.json
index c246253..b642e2f 100644
--- a/.codelite/compile_commands.json
+++ b/.codelite/compile_commands.json
@@ -1,153 +1,9 @@
[{
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Bus.cpp",
"directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Bus.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Bus.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
+ "command": "C:/TDM-GCC-64/bin/g++.exe -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -DNDEBUG -DUNICODE -I. -I. -MG -MP -MT./Release/Element.cpp.o -MF./Release/Element.cpp.o.d -MM Element.cpp",
+ "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Element.cpp"
}, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Line.cpp",
"directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Line.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Line.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Transformer.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Transformer.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Transformer.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Machines.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Machines.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Machines.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SyncGenerator.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SyncGenerator.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SyncGenerator.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\IndMotor.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\IndMotor.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\IndMotor.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Branch.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Branch.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Branch.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SyncMotor.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SyncMotor.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SyncMotor.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Shunt.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Shunt.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Shunt.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Load.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Load.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Load.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Inductor.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Inductor.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Inductor.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Capacitor.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Capacitor.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Capacitor.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Element.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Element.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Element.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ElectricCalculation.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ElectricCalculation.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ElectricCalculation.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\PowerFlow.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\PowerFlow.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\PowerFlow.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Text.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Text.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Text.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ArtMetro.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ArtMetro.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ArtMetro.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\wxGLString.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\wxGLString.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\wxGLString.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\MainFrame.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\MainFrame.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\MainFrame.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Workspace.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Workspace.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Workspace.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\BusForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\BusForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\BusForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\GeneratorStabForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\GeneratorStabForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\GeneratorStabForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\LineForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\LineForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\LineForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SwitchingForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SwitchingForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SwitchingForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\TransformerForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\TransformerForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\TransformerForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\LoadForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\LoadForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\LoadForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ReactiveShuntElementForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ReactiveShuntElementForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ReactiveShuntElementForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\IndMotorForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\IndMotorForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\IndMotorForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SyncMachineForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SyncMachineForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\SyncMachineForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\TextForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\TextForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\TextForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\main.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\main.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\main.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\MainFrameBitmaps.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\MainFrameBitmaps.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\MainFrameBitmaps.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\WorkspaceBitmaps.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\WorkspaceBitmaps.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\WorkspaceBitmaps.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\BusFormBitmaps.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\BusFormBitmaps.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\BusFormBitmaps.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ElementFormBitmaps.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ElementFormBitmaps.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ElementFormBitmaps.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\MainFrameBase.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\MainFrameBase.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\MainFrameBase.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\WorkspaceBase.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\WorkspaceBase.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\WorkspaceBase.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
- }, {
- "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ElementForm.cpp",
- "directory": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project",
- "command": "C:/TDM-GCC-64/bin/g++.exe -c C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ElementForm.cpp -o C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\ElementForm.cpp.o -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 \n -DNDEBUG -DUNICODE -I. -I."
+ "command": "C:/TDM-GCC-64/bin/g++.exe -c C:/Users/Thales/Documents/GitHub/PSP/Project/Element.cpp -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets-3.1.0/lib/gcc_dll/mswu -IC:/wxWidgets-3.1.0/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -DNDEBUG -DUNICODE -o ./Release/Element.cpp.o -I. -I.",
+ "file": "C:\\Users\\Thales\\Documents\\GitHub\\PSP\\Project\\Element.cpp"
}] \ No newline at end of file
diff --git a/.codelite/refactoring.db b/.codelite/refactoring.db
index b8b7575..5a941e9 100644
--- a/.codelite/refactoring.db
+++ b/.codelite/refactoring.db
Binary files differ
diff --git a/Buglist.txt b/Buglist.txt
index 6f88a40..20634d5 100644
--- a/Buglist.txt
+++ b/Buglist.txt
@@ -1,31 +1,37 @@
-BUG LIST [pt-br]
+BUG/TODO LIST [pt-br]
PRIORIDADE 1:
+-> Generalizar a classe ElementDataObject e o método Workspace::Paste (é possível?);
+-> Elemento texto impactando bastante no desempenho gráfico (otimizar o algoritmo atual ou encontrar outra solução para desenhar textos no OpenGL?);
+-> Texto de teste da solução do fluxo de carga sendo exibido desnecessariamente.
PRIORIDADE 2:
+-> Máquinas síncronas que atinge o limite de reativo igual a zero são atribuídos valores errados (-1,#J);
+-> Implementar uma visão rápida da solução (usar wxPopupTransientWindow ou wxPopupWindow);
-> Abrir formulário pelo menu de contexto;
-> Abrir o formulário do elemento após inserir o mesmo;
-> Erro ao tentar inserir texto do tipo nome para elementos de ramo;
-> Minimo de 1 casa decimal para os valores numéricos das barras;
--> Calcular fit considerando os textos;
-> Calcular posição média na opção de mover do menu ribbon considerando os textos;
--> Número do nome do transformador preenchido errado;
+-> Número do nome do transformador preenchido incorretamente;
-> Potência reativa não está sendo distribuída apropriadamente em barras de tensão controlada caso tenha mais de uma máquina síncrona (com valores de reativos máximos/mínimos acionados);
-> Dados de elementos desconectados/offline não estão sendo zerados/reiniciados;
-> É necessário perguntar ao usuário se ele deseja trocar a tensão de todo o trecho conectado por linhas (quando é trocada a tensão de uma barra);
-> Setas de fluxo de carga de linhas e transformadores não são atualizadas quando uma barra conectada é removida;
-> Setas do fluxo de carga das máquinas elétricas não são atualizadas quando a barra conectada é rotacionada;
--> Criar segurança caso um aquivo não possa ser escrito ou aberto.
+-> Criar segurança caso um aquivo não possa ser escrito ou aberto;
+-> Linhas dos transformadores desalinhadas quando abertos de um arquivo salvo;
+-> Algoritmo de mover apresenta desempenho ruim quando possui elementos diferentes de barras (cálculos gráficos de atualização das posições dos pontos dos elementos sendo realizados desnecessariamente? Fazer um child list para evitar a busca desnecessária do parent?);
+-> Remover a ferramenta Exportar/Importar.
-TODO LIST:
+PRIORIDADE 3:
-> Inserir texto com nome da barra juntamente com barra;
--> Elementos offline impressos em cinza;
-> Implementar dados em relação à base de potência do elemento (e não somente do sistema);
-> Implementar fluxo de carga pelo método numérico de Newton-Raphson;
-> Textos vetorizados ou aumentar/diminuir a resolução das texturas de acordo com o zoom;
-> Separar sistemas não conectados e resolvê-los separadamente (criar lista de barras de oscilação prioritárias).
-OBJETIVOS:
+OBJETIVOS GERAIS:
-> Criar uma GUI amigável (wip);
-> Cálculo de fluxo de carga (OK);
-> Cálculo de faltas (curto simétrico e assimétrico / abertura de linhas);
diff --git a/Project/Bus.cpp b/Project/Bus.cpp
index f41b0d1..dffe8fc 100644
--- a/Project/Bus.cpp
+++ b/Project/Bus.cpp
@@ -53,7 +53,7 @@ void Bus::Draw(wxPoint2DDouble translation, double scale) const
glRotated(m_angle, 0.0, 0.0, 1.0);
glTranslated(-m_position.m_x, -m_position.m_y, 0.0);
- glColor4d(0.0, 0.3, 1.0, 1.0);
+ glColor4dv(m_busColour.GetRGBA());
DrawRectangle(m_position, m_width, m_height);
// Pop the old matrix back.
glPopMatrix();
@@ -186,3 +186,10 @@ bool Bus::ShowForm(wxWindow* parent, Element* element)
busForm->Destroy();
return false;
}
+
+Element* Bus::GetCopy()
+{
+ Bus* copy = new Bus();
+ *copy = *this;
+ return copy;
+}
diff --git a/Project/Bus.h b/Project/Bus.h
index 470d4cb..acf22ab 100644
--- a/Project/Bus.h
+++ b/Project/Bus.h
@@ -46,6 +46,7 @@ public:
Bus(wxPoint2DDouble position);
Bus(wxPoint2DDouble position, wxString name);
~Bus();
+ virtual Element* GetCopy();
virtual bool AddParent(Element* parent, wxPoint2DDouble position) { return true; }
virtual bool Contains(wxPoint2DDouble position) const;
virtual bool Intersects(wxRect2DDouble rect) const;
diff --git a/Project/Capacitor.cpp b/Project/Capacitor.cpp
index 332582d..a4320c9 100644
--- a/Project/Capacitor.cpp
+++ b/Project/Capacitor.cpp
@@ -1,19 +1,26 @@
#include "ReactiveShuntElementForm.h"
#include "Capacitor.h"
-Capacitor::Capacitor() : Shunt() {}
-Capacitor::Capacitor(wxString name) : Shunt() { m_electricalData.name = name; }
+Capacitor::Capacitor()
+ : Shunt()
+{
+}
+Capacitor::Capacitor(wxString name)
+ : Shunt()
+{
+ m_electricalData.name = name;
+}
Capacitor::~Capacitor() {}
bool Capacitor::AddParent(Element* parent, wxPoint2DDouble position)
{
if(parent) {
m_parentList.push_back(parent);
wxPoint2DDouble parentPt =
- parent->RotateAtPosition(position, -parent->GetAngle()); // Rotate click to horizontal position.
- parentPt.m_y = parent->GetPosition().m_y; // Centralize on bus.
- parentPt = parent->RotateAtPosition(parentPt, parent->GetAngle()); // Rotate back.
+ parent->RotateAtPosition(position, -parent->GetAngle()); // Rotate click to horizontal position.
+ parentPt.m_y = parent->GetPosition().m_y; // Centralize on bus.
+ parentPt = parent->RotateAtPosition(parentPt, parent->GetAngle()); // Rotate back.
- m_position = parentPt + wxPoint2DDouble(0.0, 100.0); // Shifts the position to the down of the bus.
+ m_position = parentPt + wxPoint2DDouble(0.0, 100.0); // Shifts the position to the down of the bus.
m_width = 40;
m_height = 30;
m_rect = wxRect2DDouble(m_position.m_x - m_width / 2.0, m_position.m_y - m_height / 2.0, m_width, m_height);
@@ -26,7 +33,7 @@ bool Capacitor::AddParent(Element* parent, wxPoint2DDouble position)
m_inserted = true;
wxRect2DDouble genRect(0, 0, 0, 0);
- m_switchRect.push_back(genRect); // Push a general rectangle.
+ m_switchRect.push_back(genRect); // Push a general rectangle.
UpdateSwitches();
return true;
@@ -36,6 +43,12 @@ bool Capacitor::AddParent(Element* parent, wxPoint2DDouble position)
void Capacitor::Draw(wxPoint2DDouble translation, double scale) const
{
+ OpenGLColour elementColour;
+ if(m_online)
+ elementColour = m_onlineElementColour;
+ else
+ elementColour = m_offlineElementColour;
+
if(m_inserted) {
std::vector<wxPoint2DDouble> capPts;
capPts.push_back(wxPoint2DDouble(m_position.m_x - m_width / 2.0, m_position.m_y - m_height / 2.0));
@@ -45,7 +58,7 @@ void Capacitor::Draw(wxPoint2DDouble translation, double scale) const
if(m_selected) {
glLineWidth(1.5 + m_borderSize * 2.0);
- glColor4d(0.0, 0.5, 1.0, 0.5);
+ glColor4dv(m_selectionColour.GetRGBA());
DrawLine(m_pointList);
@@ -65,7 +78,7 @@ void Capacitor::Draw(wxPoint2DDouble translation, double scale) const
}
// Draw Capacitor (layer 2).
glLineWidth(1.5);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_pointList[0], 5.0, 10, GL_POLYGON);
DrawLine(m_pointList);
@@ -76,7 +89,7 @@ void Capacitor::Draw(wxPoint2DDouble translation, double scale) const
glRotated(m_angle, 0.0, 0.0, 1.0);
glTranslated(-m_position.m_x, -m_position.m_y, 0.0);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawLine(capPts, GL_LINES);
DrawGround(m_position + wxPoint2DDouble(0, -m_height / 2.0 + 10.0));
@@ -149,3 +162,10 @@ CapacitorElectricalData Capacitor::GetPUElectricalData(double systemPowerBase)
return data;
}
+
+Element* Capacitor::GetCopy()
+{
+ Capacitor* copy = new Capacitor();
+ *copy = *this;
+ return copy;
+}
diff --git a/Project/Capacitor.h b/Project/Capacitor.h
index 248ec6c..fdacb42 100644
--- a/Project/Capacitor.h
+++ b/Project/Capacitor.h
@@ -17,7 +17,8 @@ class Capacitor : public Shunt
Capacitor();
Capacitor(wxString name);
~Capacitor();
-
+
+ virtual Element* GetCopy();
virtual bool AddParent(Element* parent, wxPoint2DDouble position);
virtual void Draw(wxPoint2DDouble translation, double scale) const;
virtual bool Contains(wxPoint2DDouble position) const;
diff --git a/Project/Element.cpp b/Project/Element.cpp
index 8ced79b..4de5ebd 100644
--- a/Project/Element.cpp
+++ b/Project/Element.cpp
@@ -1,13 +1,23 @@
#include "Element.h"
-Element::Element() {}
+Element::Element()
+{
+ m_busColour.SetRGBA(0.0, 0.3, 1.0, 1.0);
+ m_onlineElementColour.SetRGBA(0.2, 0.2, 0.2, 1.0);
+ m_offlineElementColour.SetRGBA(0.5, 0.5, 0.5, 1.0);
+ m_closedSwitchColour.SetRGBA(0.0, 0.4, 0.0, 1.0);
+ m_openedSwitchColour.SetRGBA(1.0, 0.1, 0.1, 1.0);
+ m_selectionColour.SetRGBA(0.0, 0.5, 1.0, 0.5);
+ m_powerFlowArrowColour.SetRGBA(1.0, 0.51, 0.0, 1.0);
+}
+
Element::~Element() {}
+
void Element::SetPosition(const wxPoint2DDouble position)
{
m_position = position;
- m_rect =
- wxRect2DDouble(m_position.m_x - m_width / 2.0 - m_borderSize, m_position.m_y - m_height / 2.0 - m_borderSize,
- m_width + 2.0 * m_borderSize, m_height + 2.0 * m_borderSize);
+ m_rect = wxRect2DDouble(m_position.m_x - m_width / 2.0 - m_borderSize,
+ m_position.m_y - m_height / 2.0 - m_borderSize, m_width + 2.0 * m_borderSize, m_height + 2.0 * m_borderSize);
}
void Element::DrawCircle(wxPoint2DDouble position, double radius, int numSegments, GLenum mode) const
@@ -21,11 +31,11 @@ void Element::DrawCircle(wxPoint2DDouble position, double radius, int numSegment
}
void Element::DrawArc(wxPoint2DDouble position,
- double radius,
- double initAngle,
- double finalAngle,
- int numSegments,
- GLenum mode) const
+ double radius,
+ double initAngle,
+ double finalAngle,
+ int numSegments,
+ GLenum mode) const
{
double initAngRad = wxDegToRad(initAngle);
double finalAngRad = wxDegToRad(finalAngle);
@@ -48,7 +58,7 @@ void Element::DrawTriangle(std::vector<wxPoint2DDouble> points, GLenum mode) con
void Element::DrawRectangle(wxPoint2DDouble position, double width, double height, GLenum mode) const
{
- glBegin(mode); // TODO: GL_QUADS é obsoleto (OpenGL 3.0+), encontrar outra solução.
+ glBegin(mode); // TODO: GL_QUADS é obsoleto (OpenGL 3.0+), encontrar outra solução.
glVertex2d(position.m_x - width / 2.0, position.m_y - height / 2.0);
glVertex2d(position.m_x - width / 2.0, position.m_y + height / 2.0);
glVertex2d(position.m_x + width / 2.0, position.m_y + height / 2.0);
@@ -58,7 +68,7 @@ void Element::DrawRectangle(wxPoint2DDouble position, double width, double heigh
void Element::DrawRectangle(wxPoint2DDouble* points, GLenum mode) const
{
- glBegin(mode); // TODO: GL_QUADS é obsoleto (OpenGL 3.0+), encontrar outra solução.
+ glBegin(mode); // TODO: GL_QUADS é obsoleto (OpenGL 3.0+), encontrar outra solução.
glVertex2d(points[0].m_x, points[0].m_y);
glVertex2d(points[1].m_x, points[1].m_y);
glVertex2d(points[2].m_x, points[2].m_y);
@@ -89,9 +99,9 @@ wxPoint2DDouble Element::RotateAtPosition(wxPoint2DDouble pointToRotate, double
double radAngle = angle;
if(degrees) radAngle = wxDegToRad(angle);
return wxPoint2DDouble(std::cos(radAngle) * (pointToRotate.m_x - m_position.m_x) -
- std::sin(radAngle) * (pointToRotate.m_y - m_position.m_y) + m_position.m_x,
- std::sin(radAngle) * (pointToRotate.m_x - m_position.m_x) +
- std::cos(radAngle) * (pointToRotate.m_y - m_position.m_y) + m_position.m_y);
+ std::sin(radAngle) * (pointToRotate.m_y - m_position.m_y) + m_position.m_x,
+ std::sin(radAngle) * (pointToRotate.m_x - m_position.m_x) +
+ std::cos(radAngle) * (pointToRotate.m_y - m_position.m_y) + m_position.m_y);
}
void Element::StartMove(wxPoint2DDouble position)
@@ -109,31 +119,30 @@ wxPoint2DDouble Element::GetSwitchPoint(Element* parent, wxPoint2DDouble parentP
// Rotate the second point (to compare).
double angle = parent->GetAngle();
- secondPoint =
- wxPoint2DDouble(std::cos(wxDegToRad(-angle)) * (secondPoint.m_x - parentPoint.m_x) -
- std::sin(wxDegToRad(-angle)) * (secondPoint.m_y - parentPoint.m_y) + parentPoint.m_x,
- std::sin(wxDegToRad(-angle)) * (secondPoint.m_x - parentPoint.m_x) +
- std::cos(wxDegToRad(-angle)) * (secondPoint.m_y - parentPoint.m_y) + parentPoint.m_y);
+ secondPoint = wxPoint2DDouble(std::cos(wxDegToRad(-angle)) * (secondPoint.m_x - parentPoint.m_x) -
+ std::sin(wxDegToRad(-angle)) * (secondPoint.m_y - parentPoint.m_y) + parentPoint.m_x,
+ std::sin(wxDegToRad(-angle)) * (secondPoint.m_x - parentPoint.m_x) +
+ std::cos(wxDegToRad(-angle)) * (secondPoint.m_y - parentPoint.m_y) + parentPoint.m_y);
// Rotate
if(secondPoint.m_y > parentPoint.m_y) angle -= 180.0;
return wxPoint2DDouble(std::cos(wxDegToRad(angle)) * (swPoint.m_x - parentPoint.m_x) -
- std::sin(wxDegToRad(angle)) * (swPoint.m_y - parentPoint.m_y) + parentPoint.m_x,
- std::sin(wxDegToRad(angle)) * (swPoint.m_x - parentPoint.m_x) +
- std::cos(wxDegToRad(angle)) * (swPoint.m_y - parentPoint.m_y) + parentPoint.m_y);
+ std::sin(wxDegToRad(angle)) * (swPoint.m_y - parentPoint.m_y) + parentPoint.m_x,
+ std::sin(wxDegToRad(angle)) * (swPoint.m_x - parentPoint.m_x) +
+ std::cos(wxDegToRad(angle)) * (swPoint.m_y - parentPoint.m_y) + parentPoint.m_y);
}
wxPoint2DDouble Element::WorldToScreen(wxPoint2DDouble translation, double scale, double offsetX, double offsetY) const
{
return wxPoint2DDouble(m_position.m_x + offsetX + translation.m_x, m_position.m_y + offsetY + translation.m_y) *
- scale;
+ scale;
}
wxPoint2DDouble Element::WorldToScreen(wxPoint2DDouble position,
- wxPoint2DDouble translation,
- double scale,
- double offsetX,
- double offsetY) const
+ wxPoint2DDouble translation,
+ double scale,
+ double offsetX,
+ double offsetY) const
{
return wxPoint2DDouble(position.m_x + offsetX + translation.m_x, position.m_y + offsetY + translation.m_y) * scale;
}
@@ -147,14 +156,14 @@ void Element::DrawPoint(wxPoint2DDouble position, double size) const
}
bool Element::RotatedRectanglesIntersects(wxRect2DDouble rect1,
- wxRect2DDouble rect2,
- double angle1,
- double angle2) const
+ wxRect2DDouble rect2,
+ double angle1,
+ double angle2) const
{
- wxPoint2DDouble rect1Corners[4] = {rect1.GetLeftTop(), rect1.GetLeftBottom(), rect1.GetRightBottom(),
- rect1.GetRightTop()};
- wxPoint2DDouble rect2Corners[4] = {rect2.GetLeftTop(), rect2.GetLeftBottom(), rect2.GetRightBottom(),
- rect2.GetRightTop()};
+ wxPoint2DDouble rect1Corners[4] = { rect1.GetLeftTop(), rect1.GetLeftBottom(), rect1.GetRightBottom(),
+ rect1.GetRightTop() };
+ wxPoint2DDouble rect2Corners[4] = { rect2.GetLeftTop(), rect2.GetLeftBottom(), rect2.GetRightBottom(),
+ rect2.GetRightTop() };
wxPoint2DDouble rect1Center(rect1.m_x + rect1.m_width / 2.0, rect1.m_y + rect1.m_height / 2.0);
wxPoint2DDouble rect2Center(rect2.m_x + rect2.m_width / 2.0, rect2.m_y + rect2.m_height / 2.0);
@@ -163,28 +172,26 @@ bool Element::RotatedRectanglesIntersects(wxRect2DDouble rect1,
double radAngle2 = wxDegToRad(angle2);
for(int i = 0; i < 4; i++) {
- rect1Corners[i] =
- wxPoint2DDouble(std::cos(radAngle1) * (rect1Corners[i].m_x - rect1Center.m_x) -
- std::sin(radAngle1) * (rect1Corners[i].m_y - rect1Center.m_y) + rect1Center.m_x,
- std::sin(radAngle1) * (rect1Corners[i].m_x - rect1Center.m_x) +
- std::cos(radAngle1) * (rect1Corners[i].m_y - rect1Center.m_y) + rect1Center.m_y);
-
- rect2Corners[i] =
- wxPoint2DDouble(std::cos(radAngle2) * (rect2Corners[i].m_x - rect2Center.m_x) -
- std::sin(radAngle2) * (rect2Corners[i].m_y - rect2Center.m_y) + rect2Center.m_x,
- std::sin(radAngle2) * (rect2Corners[i].m_x - rect2Center.m_x) +
- std::cos(radAngle2) * (rect2Corners[i].m_y - rect2Center.m_y) + rect2Center.m_y);
+ rect1Corners[i] = wxPoint2DDouble(std::cos(radAngle1) * (rect1Corners[i].m_x - rect1Center.m_x) -
+ std::sin(radAngle1) * (rect1Corners[i].m_y - rect1Center.m_y) + rect1Center.m_x,
+ std::sin(radAngle1) * (rect1Corners[i].m_x - rect1Center.m_x) +
+ std::cos(radAngle1) * (rect1Corners[i].m_y - rect1Center.m_y) + rect1Center.m_y);
+
+ rect2Corners[i] = wxPoint2DDouble(std::cos(radAngle2) * (rect2Corners[i].m_x - rect2Center.m_x) -
+ std::sin(radAngle2) * (rect2Corners[i].m_y - rect2Center.m_y) + rect2Center.m_x,
+ std::sin(radAngle2) * (rect2Corners[i].m_x - rect2Center.m_x) +
+ std::cos(radAngle2) * (rect2Corners[i].m_y - rect2Center.m_y) + rect2Center.m_y);
}
//[Ref] http://www.gamedev.net/page/resources/_/technical/game-programming/2d-rotated-rectangle-collision-r2604
// Find the rectangles axis to project
- wxPoint2DDouble axis[4] = {rect1Corners[3] - rect1Corners[0], rect1Corners[3] - rect1Corners[2],
- rect2Corners[3] - rect2Corners[0], rect2Corners[3] - rect2Corners[2]};
+ wxPoint2DDouble axis[4] = { rect1Corners[3] - rect1Corners[0], rect1Corners[3] - rect1Corners[2],
+ rect2Corners[3] - rect2Corners[0], rect2Corners[3] - rect2Corners[2] };
// Calculate the projected points to each axis
- wxPoint2DDouble rect1ProjPts[4][4]; // [axis][corner]
- wxPoint2DDouble rect2ProjPts[4][4]; // [axis][corner]
+ wxPoint2DDouble rect1ProjPts[4][4]; // [axis][corner]
+ wxPoint2DDouble rect2ProjPts[4][4]; // [axis][corner]
for(int i = 0; i < 4; i++) {
double den = axis[i].m_x * axis[i].m_x + axis[i].m_y * axis[i].m_y;
for(int j = 0; j < 4; j++) {
@@ -197,8 +204,8 @@ bool Element::RotatedRectanglesIntersects(wxRect2DDouble rect1,
}
// Calculate the scalar value to identify the max and min values on projections
- double rect1Scalar[4][4]; //[axis][corner]
- double rect2Scalar[4][4]; //[axis][corner]
+ double rect1Scalar[4][4]; //[axis][corner]
+ double rect2Scalar[4][4]; //[axis][corner]
for(int i = 0; i < 4; i++) {
for(int j = 0; j < 4; j++) {
rect1Scalar[i][j] = rect1ProjPts[i][j].m_x * axis[i].m_x + rect1ProjPts[i][j].m_y * axis[i].m_y;
@@ -237,10 +244,10 @@ bool Element::RotatedRectanglesIntersects(wxRect2DDouble rect1,
void Element::UpdateSwitches()
{
// General method, to one switch only.
- wxPoint2DDouble swCenter = wxPoint2DDouble((m_pointList[0].m_x + m_pointList[1].m_x) / 2.0,
- (m_pointList[0].m_y + m_pointList[1].m_y) / 2.0);
- m_switchRect[0] = wxRect2DDouble(swCenter.m_x - m_switchSize / 2.0, swCenter.m_y - m_switchSize / 2.0, m_switchSize,
- m_switchSize);
+ wxPoint2DDouble swCenter = wxPoint2DDouble(
+ (m_pointList[0].m_x + m_pointList[1].m_x) / 2.0, (m_pointList[0].m_y + m_pointList[1].m_y) / 2.0);
+ m_switchRect[0] = wxRect2DDouble(
+ swCenter.m_x - m_switchSize / 2.0, swCenter.m_y - m_switchSize / 2.0, m_switchSize, m_switchSize);
}
void Element::DrawSwitches() const
@@ -250,20 +257,20 @@ void Element::DrawSwitches() const
Element* parent = *it;
if(parent) {
if(m_online) {
- glColor4d(0.0, 0.4, 0.0, 1.0); // green
+ glColor4dv(m_closedSwitchColour.GetRGBA());
} else {
- glColor4d(1.0, 0.1, 0.1, 1.0); // red
+ glColor4dv(m_openedSwitchColour.GetRGBA());
}
glPushMatrix();
glTranslated(m_switchRect[i].GetPosition().m_x + m_switchSize / 2.0,
- m_switchRect[i].GetPosition().m_y + m_switchSize / 2.0, 0.0);
+ m_switchRect[i].GetPosition().m_y + m_switchSize / 2.0, 0.0);
glRotated(parent->GetAngle(), 0.0, 0.0, 1.0);
glTranslated(-m_switchRect[i].GetPosition().m_x - m_switchSize / 2.0,
- -m_switchRect[i].GetPosition().m_y - m_switchSize / 2.0, 0.0);
+ -m_switchRect[i].GetPosition().m_y - m_switchSize / 2.0, 0.0);
DrawRectangle(m_switchRect[i].GetPosition() + wxPoint2DDouble(m_switchSize / 2.0, m_switchSize / 2.0),
- m_switchSize, m_switchSize);
+ m_switchSize, m_switchSize);
glPopMatrix();
}
@@ -310,8 +317,8 @@ void Element::CalculateBoundaries(wxPoint2DDouble& leftUp, wxPoint2DDouble& righ
// Check rect corners boundaries.
// Get rectangle corners
- wxPoint2DDouble rectCorner[4] = {m_rect.GetLeftTop(), m_rect.GetLeftBottom(), m_rect.GetRightBottom(),
- m_rect.GetRightTop()};
+ wxPoint2DDouble rectCorner[4] = { m_rect.GetLeftTop(), m_rect.GetLeftBottom(), m_rect.GetRightBottom(),
+ m_rect.GetRightTop() };
// Rotate corners.
for(int i = 0; i < 4; ++i) {
rectCorner[i] = RotateAtPosition(rectCorner[i], m_angle);
@@ -390,7 +397,7 @@ wxString Element::StringFromDouble(double value, int minDecimal)
void Element::CalculatePowerFlowPts(std::vector<wxPoint2DDouble> edges)
{
- double arrowRate = 100.0; // One arrow to each "arrowRate" distance in pixels.
+ double arrowRate = 100.0; // One arrow to each "arrowRate" distance in pixels.
if(edges.size() < 2) return;
@@ -413,7 +420,7 @@ void Element::CalculatePowerFlowPts(std::vector<wxPoint2DDouble> edges)
for(int i = 0; i < numArrows; i++) {
wxPoint2DDouble arrowCenter(pt1.m_x + ((rotPt2.m_x - pt1.m_x) / double(numArrows + 1)) * double(i + 1),
- pt1.m_y + ((rotPt2.m_y - pt1.m_y) / double(numArrows + 1)) * double(i + 1));
+ pt1.m_y + ((rotPt2.m_y - pt1.m_y) / double(numArrows + 1)) * double(i + 1));
std::vector<wxPoint2DDouble> triPts;
triPts.push_back(arrowCenter + wxPoint2DDouble(5.0, 0.0));
@@ -434,8 +441,32 @@ void Element::CalculatePowerFlowPts(std::vector<wxPoint2DDouble> edges)
void Element::DrawPowerFlowPts() const
{
- glColor4d(1.0, 0.51, 0.0, 1.0);
- for(int i = 0; i < (int)m_powerFlowArrow.size(); i++) {
- DrawTriangle(m_powerFlowArrow[i]);
+ if(m_online) {
+ glColor4dv(m_powerFlowArrowColour.GetRGBA());
+ for(int i = 0; i < (int)m_powerFlowArrow.size(); i++) {
+ DrawTriangle(m_powerFlowArrow[i]);
+ }
+ }
+}
+
+void Element::ReplaceParent(Element* oldParent, Element* newParent)
+{
+ for(int i = 0; i < (int)m_parentList.size(); i++) {
+ if(m_parentList[i] == oldParent) m_parentList[i] = newParent;
}
}
+
+void OpenGLColour::SetRGBA(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
+{
+ rgba[0] = red;
+ rgba[1] = green;
+ rgba[2] = blue;
+ rgba[3] = alpha;
+}
+
+OpenGLColour::OpenGLColour() { SetRGBA(1.0, 1.0, 1.0, 1.0); }
+
+OpenGLColour::OpenGLColour(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
+{
+ SetRGBA(red, green, blue, alpha);
+}
diff --git a/Project/Element.h b/Project/Element.h
index 512fc8f..67e0762 100644
--- a/Project/Element.h
+++ b/Project/Element.h
@@ -82,6 +82,18 @@ struct SwitchingData {
std::vector<double> swTime;
};
+class OpenGLColour
+{
+public:
+ OpenGLColour();
+ OpenGLColour(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
+ virtual ~OpenGLColour() {}
+ void SetRGBA(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
+ const GLdouble* GetRGBA() const { return rgba; }
+protected:
+ GLdouble rgba[4];
+};
+
class Element
{
public:
@@ -111,13 +123,13 @@ public:
bool IsPickboxShown() const { return m_showPickbox; }
bool IsOnline() const { return m_online; }
virtual std::vector<wxPoint2DDouble> GetPointList() const { return m_pointList; }
-
// Pure-virtuals methods
virtual bool AddParent(Element* parent, wxPoint2DDouble position) = 0;
virtual bool Contains(wxPoint2DDouble position) const = 0;
virtual bool Intersects(wxRect2DDouble rect) const = 0;
// General methods
+ virtual Element* GetCopy() { return NULL; }
virtual void Draw(wxPoint2DDouble translation, double scale) const {};
virtual void Rotate(bool clockwise = true) {}
virtual bool GetContextMenu(wxMenu& menu) { return false; }
@@ -129,6 +141,7 @@ public:
virtual void UpdateNodes() {}
virtual bool SetNodeParent(Element* parent) { return false; }
virtual void RemoveParent(Element* parent) {}
+ virtual void ReplaceParent(Element* oldParent, Element* newParent);
virtual void RotateNode(Element* parent, bool clockwise = true) {}
virtual wxPoint2DDouble
GetSwitchPoint(Element* parent, wxPoint2DDouble parentPoint, wxPoint2DDouble secondPoint) const;
@@ -172,13 +185,11 @@ public:
virtual std::vector<Element*> GetParentList() const { return m_parentList; }
virtual wxPoint2DDouble GetMoveStartPosition() const { return m_moveStartPt; }
virtual wxPoint2DDouble GetMovePosition() const { return m_movePos; }
-
virtual void CalculateBoundaries(wxPoint2DDouble& leftUp, wxPoint2DDouble& rightBottom) const;
virtual void GeneralMenuItens(wxMenu& menu);
virtual bool ShowForm(wxWindow* parent, Element* element) { return false; }
-
bool DoubleFromString(wxWindow* parent, wxString strValue, double& value, wxString errorMsg);
bool IntFromString(wxWindow* parent, wxString strValue, int& value, wxString errorMsg);
@@ -190,7 +201,6 @@ public:
virtual SwitchingData GetSwitchingData() { return m_swData; }
virtual void SetPowerFlowDirection(PowerFlowDirection pfDirection) { m_pfDirection = pfDirection; }
virtual PowerFlowDirection GetPowerFlowDirection() const { return m_pfDirection; }
-
// Static methods
static wxString StringFromDouble(double value, int minDecimal = 1);
@@ -206,6 +216,14 @@ protected:
double m_rotationAngle = 45.0;
double m_switchSize = 10.0;
+ OpenGLColour m_busColour;
+ OpenGLColour m_onlineElementColour;
+ OpenGLColour m_offlineElementColour;
+ OpenGLColour m_closedSwitchColour;
+ OpenGLColour m_openedSwitchColour;
+ OpenGLColour m_selectionColour;
+ OpenGLColour m_powerFlowArrowColour;
+
std::vector<wxRect2DDouble> m_switchRect;
std::vector<std::vector<wxPoint2DDouble> > m_powerFlowArrow;
diff --git a/Project/ElementDataObject.cpp b/Project/ElementDataObject.cpp
new file mode 100644
index 0000000..a5ac165
--- /dev/null
+++ b/Project/ElementDataObject.cpp
@@ -0,0 +1,39 @@
+#include "ElementDataObject.h"
+
+ElementDataObject::ElementDataObject()
+ : wxDataObjectSimple(wxDataFormat("PSPCopy"))
+{
+ m_elementsLists = new ElementsLists();
+}
+
+ElementDataObject::ElementDataObject(std::vector<Element*> elementList)
+ : wxDataObjectSimple(wxDataFormat("PSPCopy"))
+{
+ m_elementsLists = new ElementsLists();
+ if(elementList.size() > 0) {
+ // Separate buses (parents) from the rest of the elements (childs).
+ for(auto it = elementList.begin(), itEnd = elementList.end(); it != itEnd; ++it) {
+ Element* copy = (*it)->GetCopy();
+ if(copy) {
+ if(typeid(*copy) == typeid(Bus))
+ m_elementsLists->parentList.push_back((Bus*)copy);
+ else
+ m_elementsLists->elementList.push_back(copy);
+ }
+ }
+ }
+}
+
+ElementDataObject::~ElementDataObject() {}
+size_t ElementDataObject::GetDataSize() const { return sizeof(void*); }
+bool ElementDataObject::GetDataHere(void* buf) const
+{
+ *(ElementsLists**)buf = m_elementsLists;
+ return true;
+}
+
+bool ElementDataObject::SetData(size_t len, const void* buf)
+{
+ m_elementsLists = *(ElementsLists**)buf;
+ return true;
+}
diff --git a/Project/ElementDataObject.h b/Project/ElementDataObject.h
new file mode 100644
index 0000000..646e76c
--- /dev/null
+++ b/Project/ElementDataObject.h
@@ -0,0 +1,29 @@
+#ifndef ELEMENTDATAOBJECT_H
+#define ELEMENTDATAOBJECT_H
+
+#include "Workspace.h"
+#include <wx/dataobj.h>
+
+struct ElementsLists {
+ std::vector<Element*> elementList;
+ std::vector<Bus*> parentList;
+};
+
+class ElementDataObject : public wxDataObjectSimple
+{
+public:
+ ElementDataObject();
+ ElementDataObject(std::vector<Element*> elementList);
+ ~ElementDataObject();
+
+ size_t GetDataSize() const override;
+ bool GetDataHere(void* buf) const override;
+ bool SetData(size_t len, const void* buf) override;
+
+ ElementsLists* GetElementsLists() { return m_elementsLists; }
+
+protected:
+ ElementsLists* m_elementsLists;
+};
+
+#endif // ELEMENTDATAOBJECT_H
diff --git a/Project/IndMotor.cpp b/Project/IndMotor.cpp
index 7a56466..fc30f12 100644
--- a/Project/IndMotor.cpp
+++ b/Project/IndMotor.cpp
@@ -75,3 +75,10 @@ IndMotorElectricalData IndMotor::GetPUElectricalData(double systemPowerBase)
return data;
}
+
+Element* IndMotor::GetCopy()
+{
+ IndMotor* copy = new IndMotor();
+ *copy = *this;
+ return copy;
+}
diff --git a/Project/IndMotor.h b/Project/IndMotor.h
index 491c714..03c64d7 100644
--- a/Project/IndMotor.h
+++ b/Project/IndMotor.h
@@ -20,7 +20,8 @@ class IndMotor : public Machines
IndMotor();
IndMotor(wxString name);
~IndMotor();
-
+
+ virtual Element* GetCopy();
virtual void DrawSymbol() const;
virtual bool GetContextMenu(wxMenu& menu);
virtual bool ShowForm(wxWindow* parent, Element* element);
diff --git a/Project/Inductor.cpp b/Project/Inductor.cpp
index 9c13f15..b3f80d9 100644
--- a/Project/Inductor.cpp
+++ b/Project/Inductor.cpp
@@ -1,19 +1,26 @@
#include "ReactiveShuntElementForm.h"
#include "Inductor.h"
-Inductor::Inductor() : Shunt() {}
-Inductor::Inductor(wxString name) : Shunt() { m_electricalData.name = name; }
+Inductor::Inductor()
+ : Shunt()
+{
+}
+Inductor::Inductor(wxString name)
+ : Shunt()
+{
+ m_electricalData.name = name;
+}
Inductor::~Inductor() {}
bool Inductor::AddParent(Element* parent, wxPoint2DDouble position)
{
if(parent) {
m_parentList.push_back(parent);
wxPoint2DDouble parentPt =
- parent->RotateAtPosition(position, -parent->GetAngle()); // Rotate click to horizontal position.
- parentPt.m_y = parent->GetPosition().m_y; // Centralize on bus.
- parentPt = parent->RotateAtPosition(parentPt, parent->GetAngle()); // Rotate back.
+ parent->RotateAtPosition(position, -parent->GetAngle()); // Rotate click to horizontal position.
+ parentPt.m_y = parent->GetPosition().m_y; // Centralize on bus.
+ parentPt = parent->RotateAtPosition(parentPt, parent->GetAngle()); // Rotate back.
- m_position = parentPt + wxPoint2DDouble(0.0, 100.0); // Shifts the position to the down of the bus.
+ m_position = parentPt + wxPoint2DDouble(0.0, 100.0); // Shifts the position to the down of the bus.
m_width = 20.0;
m_height = 70.0;
m_rect = wxRect2DDouble(m_position.m_x - m_width / 2.0, m_position.m_y - m_height / 2.0, m_width, m_height);
@@ -26,7 +33,7 @@ bool Inductor::AddParent(Element* parent, wxPoint2DDouble position)
m_inserted = true;
wxRect2DDouble genRect(0, 0, 0, 0);
- m_switchRect.push_back(genRect); // Push a general rectangle.
+ m_switchRect.push_back(genRect); // Push a general rectangle.
UpdateSwitches();
return true;
@@ -36,10 +43,16 @@ bool Inductor::AddParent(Element* parent, wxPoint2DDouble position)
void Inductor::Draw(wxPoint2DDouble translation, double scale) const
{
+ OpenGLColour elementColour;
+ if(m_online)
+ elementColour = m_onlineElementColour;
+ else
+ elementColour = m_offlineElementColour;
+
if(m_inserted) {
if(m_selected) {
glLineWidth(1.5 + m_borderSize * 2.0);
- glColor4d(0.0, 0.5, 1.0, 0.5);
+ glColor4dv(m_selectionColour.GetRGBA());
DrawLine(m_pointList);
@@ -61,7 +74,7 @@ void Inductor::Draw(wxPoint2DDouble translation, double scale) const
}
// Draw Load (layer 2).
glLineWidth(1.5);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_pointList[0], 5.0, 10, GL_POLYGON);
DrawLine(m_pointList);
@@ -72,7 +85,7 @@ void Inductor::Draw(wxPoint2DDouble translation, double scale) const
glRotated(m_angle, 0.0, 0.0, 1.0);
glTranslated(-m_position.m_x, -m_position.m_y, 0.0);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawArc(m_position + wxPoint2DDouble(0, -m_height / 2.0 + 10.0), 10, 45, 270, 10, GL_LINE_STRIP);
DrawArc(m_position + wxPoint2DDouble(0, -m_height / 2.0 + 25.0), 10, 45, 315, 10, GL_LINE_STRIP);
DrawArc(m_position + wxPoint2DDouble(0, -m_height / 2.0 + 40.0), 10, 90, 315, 10, GL_LINE_STRIP);
@@ -140,6 +153,13 @@ InductorElectricalData Inductor::GetPUElectricalData(double systemPowerBase)
default:
break;
}
-
+
return data;
}
+
+Element* Inductor::GetCopy()
+{
+ Inductor* copy = new Inductor();
+ *copy = *this;
+ return copy;
+}
diff --git a/Project/Inductor.h b/Project/Inductor.h
index f157d1c..84acc18 100644
--- a/Project/Inductor.h
+++ b/Project/Inductor.h
@@ -17,7 +17,8 @@ class Inductor : public Shunt
Inductor();
Inductor(wxString name);
~Inductor();
-
+
+ virtual Element* GetCopy();
virtual bool AddParent(Element* parent, wxPoint2DDouble position);
virtual void Draw(wxPoint2DDouble translation, double scale) const;
virtual bool Contains(wxPoint2DDouble position) const;
diff --git a/Project/Line.cpp b/Project/Line.cpp
index 836ca3c..3180cf8 100644
--- a/Project/Line.cpp
+++ b/Project/Line.cpp
@@ -31,6 +31,10 @@ bool Line::Contains(wxPoint2DDouble position) const
void Line::Draw(wxPoint2DDouble translation, double scale) const
{
+ OpenGLColour elementColour;
+ if(m_online) elementColour = m_onlineElementColour;
+ else elementColour = m_offlineElementColour;
+
std::vector<wxPoint2DDouble> pointList = m_pointList;
if(!m_inserted && pointList.size() > 0) {
wxPoint2DDouble secondPoint = m_position;
@@ -44,7 +48,7 @@ void Line::Draw(wxPoint2DDouble translation, double scale) const
// Line selected (Layer 1).
if(m_selected) {
glLineWidth(1.5 + m_borderSize * 2.0);
- glColor4d(0.0, 0.5, 1.0, 0.5);
+ glColor4dv(m_selectionColour.GetRGBA());
DrawLine(pointList);
// Draw nodes selection.
@@ -58,7 +62,7 @@ void Line::Draw(wxPoint2DDouble translation, double scale) const
// Draw line (Layer 2)
glLineWidth(1.5);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawLine(pointList);
if(m_inserted) {
@@ -68,7 +72,7 @@ void Line::Draw(wxPoint2DDouble translation, double scale) const
// Draw nodes.
if(pointList.size() > 0) {
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(pointList[0], 5.0, 10, GL_POLYGON);
if(m_inserted) {
DrawCircle(pointList[pointList.size() - 1], 5.0, 10, GL_POLYGON);
@@ -487,3 +491,10 @@ void Line::SetPointList(std::vector<wxPoint2DDouble> pointList)
UpdateSwitchesPosition();
UpdatePowerFlowArrowsPosition();
}
+
+Element* Line::GetCopy()
+{
+ Line* copy = new Line();
+ *copy = *this;
+ return copy;
+}
diff --git a/Project/Line.h b/Project/Line.h
index 2a2902c..7000701 100644
--- a/Project/Line.h
+++ b/Project/Line.h
@@ -45,6 +45,7 @@ class Line : public Branch
virtual void MoveNode(Element* parent, wxPoint2DDouble position);
virtual bool SetNodeParent(Element* parent);
virtual wxCursor GetBestPickboxCursor() const { return wxCURSOR_SIZING; }
+ virtual Element* GetCopy();
virtual bool AddParent(Element* parent, wxPoint2DDouble position);
virtual bool Intersects(wxRect2DDouble rect) const;
virtual void MovePickbox(wxPoint2DDouble position);
diff --git a/Project/Load.cpp b/Project/Load.cpp
index 9889215..f5afda3 100644
--- a/Project/Load.cpp
+++ b/Project/Load.cpp
@@ -40,11 +40,15 @@ bool Load::AddParent(Element* parent, wxPoint2DDouble position)
void Load::Draw(wxPoint2DDouble translation, double scale) const
{
+ OpenGLColour elementColour;
+ if(m_online) elementColour = m_onlineElementColour;
+ else elementColour = m_offlineElementColour;
+
if(m_inserted) {
// Draw Selection (layer 1).
if(m_selected) {
glLineWidth(1.5 + m_borderSize * 2.0);
- glColor4d(0.0, 0.5, 1.0, 0.5);
+ glColor4dv(m_selectionColour.GetRGBA());
std::vector<wxPoint2DDouble> selTriangPts;
selTriangPts.push_back(m_triangPts[0] + m_position +
wxPoint2DDouble(-m_borderSize / scale, -m_borderSize / scale));
@@ -69,7 +73,7 @@ void Load::Draw(wxPoint2DDouble translation, double scale) const
glLineWidth(1.5);
// Draw node.
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_pointList[0], 5.0, 10, GL_POLYGON);
DrawLine(m_pointList);
@@ -85,7 +89,7 @@ void Load::Draw(wxPoint2DDouble translation, double scale) const
glTranslated(m_position.m_x, m_position.m_y, 0.0);
glRotated(m_angle, 0.0, 0.0, 1.0);
glTranslated(-m_position.m_x, -m_position.m_y, 0.0);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawTriangle(triangPts);
glPopMatrix();
}
@@ -160,3 +164,10 @@ LoadElectricalData Load::GetPUElectricalData(double systemPowerBase)
return data;
}
+
+Element* Load::GetCopy()
+{
+ Load* copy = new Load();
+ *copy = *this;
+ return copy;
+}
diff --git a/Project/Load.h b/Project/Load.h
index 3c6dd48..88bedaa 100644
--- a/Project/Load.h
+++ b/Project/Load.h
@@ -26,7 +26,8 @@ class Load : public Shunt
Load();
Load(wxString name);
~Load();
-
+
+ virtual Element* GetCopy();
virtual bool AddParent(Element* parent, wxPoint2DDouble position);
virtual void Draw(wxPoint2DDouble translation, double scale) const;
virtual void Rotate(bool clockwise = true);
diff --git a/Project/Machines.cpp b/Project/Machines.cpp
index c24deaf..bda8a7a 100644
--- a/Project/Machines.cpp
+++ b/Project/Machines.cpp
@@ -35,12 +35,15 @@ bool Machines::AddParent(Element* parent, wxPoint2DDouble position)
void Machines::Draw(wxPoint2DDouble translation, double scale) const
{
+ OpenGLColour elementColour;
+ if(m_online) elementColour = m_onlineElementColour;
+ else elementColour = m_offlineElementColour;
+
if(m_inserted) {
-
// Draw Selection (layer 1).
if(m_selected) {
glLineWidth(1.5 + m_borderSize * 2.0);
- glColor4d(0.0, 0.5, 1.0, 0.5);
+ glColor4dv(m_selectionColour.GetRGBA());
DrawCircle(m_position, 25.0 + (m_borderSize + 1.5) / scale, 20, GL_POLYGON);
DrawLine(m_pointList);
@@ -52,7 +55,7 @@ void Machines::Draw(wxPoint2DDouble translation, double scale) const
glLineWidth(1.5);
// Draw node.
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_pointList[0], 5.0, 10, GL_POLYGON);
DrawLine(m_pointList);
@@ -63,7 +66,7 @@ void Machines::Draw(wxPoint2DDouble translation, double scale) const
glColor4d(1.0, 1.0, 1.0, 1.0);
DrawCircle(m_position, 25.0, 20, GL_POLYGON);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_position, 25.0, 20);
// Draw machine symbol.
diff --git a/Project/PowerFlow.cpp b/Project/PowerFlow.cpp
index 023ce26..c94d8d8 100644
--- a/Project/PowerFlow.cpp
+++ b/Project/PowerFlow.cpp
@@ -278,13 +278,5 @@ bool PowerFlow::RunGaussSeidel(double systemPowerBase,
UpdateElementsPowerFlow(voltage, power, oldBusType, reactiveLimit, systemPowerBase);
- wxString str = "";
- for(auto itb = m_busList.begin(); itb != m_busList.end(); itb++) {
- Bus* bus = *itb;
- BusElectricalData data = bus->GetEletricalData();
- str += wxString::Format("%.5f/_%.2f\n", std::abs(data.voltage), wxRadToDeg(std::arg(data.voltage)));
- }
- wxLogMessage(str);
-
return true;
}
diff --git a/Project/Project.mk b/Project/Project.mk
index bd0847f..6d4aebd 100644
--- a/Project/Project.mk
+++ b/Project/Project.mk
@@ -13,7 +13,7 @@ CurrentFileName :=
CurrentFilePath :=
CurrentFileFullPath :=
User :=Thales
-Date :=15/12/2016
+Date :=29/12/2016
CodeLitePath :="C:/Program Files/CodeLite"
LinkerName :=C:/TDM-GCC-64/bin/g++.exe
SharedObjectLinkerName :=C:/TDM-GCC-64/bin/g++.exe -shared -fPIC
@@ -64,11 +64,11 @@ AS := C:/TDM-GCC-64/bin/as.exe
CodeLiteDir:=C:\Program Files\CodeLite
WXWIN:=C:\wxWidgets-3.1.0
WXCFG:=gcc_dll\mswu
-Objects0=$(IntermediateDirectory)/main.cpp$(ObjectSuffix) $(IntermediateDirectory)/win_resources.rc$(ObjectSuffix) $(IntermediateDirectory)/Text.cpp$(ObjectSuffix) $(IntermediateDirectory)/ArtMetro.cpp$(ObjectSuffix) $(IntermediateDirectory)/wxGLString.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrame.cpp$(ObjectSuffix) $(IntermediateDirectory)/Workspace.cpp$(ObjectSuffix) $(IntermediateDirectory)/FileHanding.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrameBitmaps.cpp$(ObjectSuffix) $(IntermediateDirectory)/WorkspaceBitmaps.cpp$(ObjectSuffix) \
- $(IntermediateDirectory)/BusFormBitmaps.cpp$(ObjectSuffix) $(IntermediateDirectory)/ElementFormBitmaps.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrameBase.cpp$(ObjectSuffix) $(IntermediateDirectory)/WorkspaceBase.cpp$(ObjectSuffix) $(IntermediateDirectory)/ElementForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/Bus.cpp$(ObjectSuffix) $(IntermediateDirectory)/Line.cpp$(ObjectSuffix) $(IntermediateDirectory)/Transformer.cpp$(ObjectSuffix) $(IntermediateDirectory)/Machines.cpp$(ObjectSuffix) $(IntermediateDirectory)/SyncGenerator.cpp$(ObjectSuffix) \
- $(IntermediateDirectory)/IndMotor.cpp$(ObjectSuffix) $(IntermediateDirectory)/Branch.cpp$(ObjectSuffix) $(IntermediateDirectory)/SyncMotor.cpp$(ObjectSuffix) $(IntermediateDirectory)/Shunt.cpp$(ObjectSuffix) $(IntermediateDirectory)/Load.cpp$(ObjectSuffix) $(IntermediateDirectory)/Inductor.cpp$(ObjectSuffix) $(IntermediateDirectory)/Capacitor.cpp$(ObjectSuffix) $(IntermediateDirectory)/Element.cpp$(ObjectSuffix) $(IntermediateDirectory)/ElectricCalculation.cpp$(ObjectSuffix) $(IntermediateDirectory)/PowerFlow.cpp$(ObjectSuffix) \
- $(IntermediateDirectory)/BusForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/GeneratorStabForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/LineForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/SwitchingForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/TransformerForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/LoadForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/ReactiveShuntElementForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/IndMotorForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/SyncMachineForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/TextForm.cpp$(ObjectSuffix) \
-
+Objects0=$(IntermediateDirectory)/main.cpp$(ObjectSuffix) $(IntermediateDirectory)/win_resources.rc$(ObjectSuffix) $(IntermediateDirectory)/Text.cpp$(ObjectSuffix) $(IntermediateDirectory)/ElementDataObject.cpp$(ObjectSuffix) $(IntermediateDirectory)/ArtMetro.cpp$(ObjectSuffix) $(IntermediateDirectory)/wxGLString.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrame.cpp$(ObjectSuffix) $(IntermediateDirectory)/Workspace.cpp$(ObjectSuffix) $(IntermediateDirectory)/FileHanding.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrameBitmaps.cpp$(ObjectSuffix) \
+ $(IntermediateDirectory)/WorkspaceBitmaps.cpp$(ObjectSuffix) $(IntermediateDirectory)/BusFormBitmaps.cpp$(ObjectSuffix) $(IntermediateDirectory)/ElementFormBitmaps.cpp$(ObjectSuffix) $(IntermediateDirectory)/MainFrameBase.cpp$(ObjectSuffix) $(IntermediateDirectory)/WorkspaceBase.cpp$(ObjectSuffix) $(IntermediateDirectory)/ElementForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/Bus.cpp$(ObjectSuffix) $(IntermediateDirectory)/Line.cpp$(ObjectSuffix) $(IntermediateDirectory)/Transformer.cpp$(ObjectSuffix) $(IntermediateDirectory)/Machines.cpp$(ObjectSuffix) \
+ $(IntermediateDirectory)/SyncGenerator.cpp$(ObjectSuffix) $(IntermediateDirectory)/IndMotor.cpp$(ObjectSuffix) $(IntermediateDirectory)/Branch.cpp$(ObjectSuffix) $(IntermediateDirectory)/SyncMotor.cpp$(ObjectSuffix) $(IntermediateDirectory)/Shunt.cpp$(ObjectSuffix) $(IntermediateDirectory)/Load.cpp$(ObjectSuffix) $(IntermediateDirectory)/Inductor.cpp$(ObjectSuffix) $(IntermediateDirectory)/Capacitor.cpp$(ObjectSuffix) $(IntermediateDirectory)/Element.cpp$(ObjectSuffix) $(IntermediateDirectory)/ElectricCalculation.cpp$(ObjectSuffix) \
+ $(IntermediateDirectory)/PowerFlow.cpp$(ObjectSuffix) $(IntermediateDirectory)/BusForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/GeneratorStabForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/LineForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/SwitchingForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/TransformerForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/LoadForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/ReactiveShuntElementForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/IndMotorForm.cpp$(ObjectSuffix) $(IntermediateDirectory)/SyncMachineForm.cpp$(ObjectSuffix) \
+ $(IntermediateDirectory)/TextForm.cpp$(ObjectSuffix)
@@ -117,6 +117,14 @@ $(IntermediateDirectory)/Text.cpp$(DependSuffix): Text.cpp
$(IntermediateDirectory)/Text.cpp$(PreprocessSuffix): Text.cpp
$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Text.cpp$(PreprocessSuffix) Text.cpp
+$(IntermediateDirectory)/ElementDataObject.cpp$(ObjectSuffix): ElementDataObject.cpp $(IntermediateDirectory)/ElementDataObject.cpp$(DependSuffix)
+ $(CXX) $(IncludePCH) $(SourceSwitch) "C:/Users/Thales/Documents/GitHub/PSP/Project/ElementDataObject.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/ElementDataObject.cpp$(ObjectSuffix) $(IncludePath)
+$(IntermediateDirectory)/ElementDataObject.cpp$(DependSuffix): ElementDataObject.cpp
+ @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/ElementDataObject.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/ElementDataObject.cpp$(DependSuffix) -MM ElementDataObject.cpp
+
+$(IntermediateDirectory)/ElementDataObject.cpp$(PreprocessSuffix): ElementDataObject.cpp
+ $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/ElementDataObject.cpp$(PreprocessSuffix) ElementDataObject.cpp
+
$(IntermediateDirectory)/ArtMetro.cpp$(ObjectSuffix): ArtMetro.cpp $(IntermediateDirectory)/ArtMetro.cpp$(DependSuffix)
$(CXX) $(IncludePCH) $(SourceSwitch) "C:/Users/Thales/Documents/GitHub/PSP/Project/ArtMetro.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/ArtMetro.cpp$(ObjectSuffix) $(IncludePath)
$(IntermediateDirectory)/ArtMetro.cpp$(DependSuffix): ArtMetro.cpp
diff --git a/Project/Project.project b/Project/Project.project
index 5d4b6d2..b04dc78 100644
--- a/Project/Project.project
+++ b/Project/Project.project
@@ -29,6 +29,7 @@
<File Name="PowerFlow.cpp"/>
</VirtualDirectory>
<File Name="Text.cpp"/>
+ <File Name="ElementDataObject.cpp"/>
</VirtualDirectory>
<VirtualDirectory Name="view">
<File Name="ArtMetro.cpp"/>
@@ -81,6 +82,7 @@
<File Name="rapidXML/rapidxml_print.hpp"/>
<File Name="rapidXML/rapidxml_utils.hpp"/>
</VirtualDirectory>
+ <File Name="ElementDataObject.h"/>
</VirtualDirectory>
<VirtualDirectory Name="view">
<File Name="ArtMetro.h"/>
diff --git a/Project/Project.txt b/Project/Project.txt
index 1792b21..f3ca292 100644
--- a/Project/Project.txt
+++ b/Project/Project.txt
@@ -1 +1 @@
-./Release/main.cpp.o ./Release/win_resources.rc.o ./Release/Text.cpp.o ./Release/ArtMetro.cpp.o ./Release/wxGLString.cpp.o ./Release/MainFrame.cpp.o ./Release/Workspace.cpp.o ./Release/FileHanding.cpp.o ./Release/MainFrameBitmaps.cpp.o ./Release/WorkspaceBitmaps.cpp.o ./Release/BusFormBitmaps.cpp.o ./Release/ElementFormBitmaps.cpp.o ./Release/MainFrameBase.cpp.o ./Release/WorkspaceBase.cpp.o ./Release/ElementForm.cpp.o ./Release/Bus.cpp.o ./Release/Line.cpp.o ./Release/Transformer.cpp.o ./Release/Machines.cpp.o ./Release/SyncGenerator.cpp.o ./Release/IndMotor.cpp.o ./Release/Branch.cpp.o ./Release/SyncMotor.cpp.o ./Release/Shunt.cpp.o ./Release/Load.cpp.o ./Release/Inductor.cpp.o ./Release/Capacitor.cpp.o ./Release/Element.cpp.o ./Release/ElectricCalculation.cpp.o ./Release/PowerFlow.cpp.o ./Release/BusForm.cpp.o ./Release/GeneratorStabForm.cpp.o ./Release/LineForm.cpp.o ./Release/SwitchingForm.cpp.o ./Release/TransformerForm.cpp.o ./Release/LoadForm.cpp.o ./Release/ReactiveShuntElementForm.cpp.o ./Release/IndMotorForm.cpp.o ./Release/SyncMachineForm.cpp.o ./Release/TextForm.cpp.o
+./Release/main.cpp.o ./Release/win_resources.rc.o ./Release/Text.cpp.o ./Release/ElementDataObject.cpp.o ./Release/ArtMetro.cpp.o ./Release/wxGLString.cpp.o ./Release/MainFrame.cpp.o ./Release/Workspace.cpp.o ./Release/FileHanding.cpp.o ./Release/MainFrameBitmaps.cpp.o ./Release/WorkspaceBitmaps.cpp.o ./Release/BusFormBitmaps.cpp.o ./Release/ElementFormBitmaps.cpp.o ./Release/MainFrameBase.cpp.o ./Release/WorkspaceBase.cpp.o ./Release/ElementForm.cpp.o ./Release/Bus.cpp.o ./Release/Line.cpp.o ./Release/Transformer.cpp.o ./Release/Machines.cpp.o ./Release/SyncGenerator.cpp.o ./Release/IndMotor.cpp.o ./Release/Branch.cpp.o ./Release/SyncMotor.cpp.o ./Release/Shunt.cpp.o ./Release/Load.cpp.o ./Release/Inductor.cpp.o ./Release/Capacitor.cpp.o ./Release/Element.cpp.o ./Release/ElectricCalculation.cpp.o ./Release/PowerFlow.cpp.o ./Release/BusForm.cpp.o ./Release/GeneratorStabForm.cpp.o ./Release/LineForm.cpp.o ./Release/SwitchingForm.cpp.o ./Release/TransformerForm.cpp.o ./Release/LoadForm.cpp.o ./Release/ReactiveShuntElementForm.cpp.o ./Release/IndMotorForm.cpp.o ./Release/SyncMachineForm.cpp.o ./Release/TextForm.cpp.o
diff --git a/Project/Release/Branch.cpp.o b/Project/Release/Branch.cpp.o
index 0f29378..2fde385 100644
--- a/Project/Release/Branch.cpp.o
+++ b/Project/Release/Branch.cpp.o
Binary files differ
diff --git a/Project/Release/Bus.cpp.o b/Project/Release/Bus.cpp.o
index 41a53aa..a8b586f 100644
--- a/Project/Release/Bus.cpp.o
+++ b/Project/Release/Bus.cpp.o
Binary files differ
diff --git a/Project/Release/BusForm.cpp.o b/Project/Release/BusForm.cpp.o
index 917f8b4..028f7ff 100644
--- a/Project/Release/BusForm.cpp.o
+++ b/Project/Release/BusForm.cpp.o
Binary files differ
diff --git a/Project/Release/Capacitor.cpp.o b/Project/Release/Capacitor.cpp.o
index 80ab190..7ce764b 100644
--- a/Project/Release/Capacitor.cpp.o
+++ b/Project/Release/Capacitor.cpp.o
Binary files differ
diff --git a/Project/Release/ElectricCalculation.cpp.o b/Project/Release/ElectricCalculation.cpp.o
index 3d144b8..0c9d36d 100644
--- a/Project/Release/ElectricCalculation.cpp.o
+++ b/Project/Release/ElectricCalculation.cpp.o
Binary files differ
diff --git a/Project/Release/Element.cpp.o b/Project/Release/Element.cpp.o
index 3abe5a3..866bd66 100644
--- a/Project/Release/Element.cpp.o
+++ b/Project/Release/Element.cpp.o
Binary files differ
diff --git a/Project/Release/ElementDataObject.cpp.o b/Project/Release/ElementDataObject.cpp.o
new file mode 100644
index 0000000..1982cfa
--- /dev/null
+++ b/Project/Release/ElementDataObject.cpp.o
Binary files differ
diff --git a/Project/Release/ElementDataObject.cpp.o.d b/Project/Release/ElementDataObject.cpp.o.d
new file mode 100644
index 0000000..e58264b
--- /dev/null
+++ b/Project/Release/ElementDataObject.cpp.o.d
@@ -0,0 +1,752 @@
+Release/ElementDataObject.cpp.o: ElementDataObject.cpp \
+ ElementDataObject.h Workspace.h C:/wxWidgets-3.1.0/include/wx/dcclient.h \
+ C:/wxWidgets-3.1.0/include/wx/dc.h \
+ C:/wxWidgets-3.1.0/include/wx/object.h \
+ C:/wxWidgets-3.1.0/include/wx/memory.h \
+ C:/wxWidgets-3.1.0/include/wx/defs.h \
+ C:/wxWidgets-3.1.0/include/wx/platform.h \
+ C:/wxWidgets-3.1.0/include/wx/compiler.h \
+ C:/wxWidgets-3.1.0/lib/gcc_dll/mswu/wx/setup.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/libraries.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/gccpriv.h \
+ C:/wxWidgets-3.1.0/include/wx/chkconf.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/chkconf.h \
+ C:/wxWidgets-3.1.0/include/wx/version.h \
+ C:/wxWidgets-3.1.0/include/wx/cpp.h \
+ C:/wxWidgets-3.1.0/include/wx/dlimpexp.h \
+ C:/wxWidgets-3.1.0/include/wx/debug.h \
+ C:/wxWidgets-3.1.0/include/wx/chartype.h \
+ C:/wxWidgets-3.1.0/include/wx/windowid.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/winundef.h \
+ C:/wxWidgets-3.1.0/include/wx/features.h \
+ C:/wxWidgets-3.1.0/include/wx/string.h \
+ C:/wxWidgets-3.1.0/include/wx/wxcrtbase.h \
+ C:/wxWidgets-3.1.0/include/wx/strvararg.h \
+ C:/wxWidgets-3.1.0/include/wx/strconv.h \
+ C:/wxWidgets-3.1.0/include/wx/buffer.h \
+ C:/wxWidgets-3.1.0/include/wx/fontenc.h \
+ C:/wxWidgets-3.1.0/include/wx/unichar.h \
+ C:/wxWidgets-3.1.0/include/wx/stringimpl.h \
+ C:/wxWidgets-3.1.0/include/wx/beforestd.h \
+ C:/wxWidgets-3.1.0/include/wx/afterstd.h \
+ C:/wxWidgets-3.1.0/include/wx/stringops.h \
+ C:/wxWidgets-3.1.0/include/wx/iosfwrap.h \
+ C:/wxWidgets-3.1.0/include/wx/msgout.h \
+ C:/wxWidgets-3.1.0/include/wx/xti.h C:/wxWidgets-3.1.0/include/wx/rtti.h \
+ C:/wxWidgets-3.1.0/include/wx/flags.h \
+ C:/wxWidgets-3.1.0/include/wx/xti2.h \
+ C:/wxWidgets-3.1.0/include/wx/intl.h \
+ C:/wxWidgets-3.1.0/include/wx/translation.h \
+ C:/wxWidgets-3.1.0/include/wx/language.h \
+ C:/wxWidgets-3.1.0/include/wx/hashmap.h \
+ C:/wxWidgets-3.1.0/include/wx/wxcrt.h \
+ C:/wxWidgets-3.1.0/include/wx/scopedptr.h \
+ C:/wxWidgets-3.1.0/include/wx/checkeddelete.h \
+ C:/wxWidgets-3.1.0/include/wx/colour.h \
+ C:/wxWidgets-3.1.0/include/wx/gdiobj.h \
+ C:/wxWidgets-3.1.0/include/wx/variant.h \
+ C:/wxWidgets-3.1.0/include/wx/arrstr.h \
+ C:/wxWidgets-3.1.0/include/wx/list.h \
+ C:/wxWidgets-3.1.0/include/wx/vector.h \
+ C:/wxWidgets-3.1.0/include/wx/scopeguard.h \
+ C:/wxWidgets-3.1.0/include/wx/except.h \
+ C:/wxWidgets-3.1.0/include/wx/meta/movable.h \
+ C:/wxWidgets-3.1.0/include/wx/meta/pod.h \
+ C:/wxWidgets-3.1.0/include/wx/meta/if.h \
+ C:/wxWidgets-3.1.0/include/wx/longlong.h \
+ C:/wxWidgets-3.1.0/include/wx/datetime.h \
+ C:/wxWidgets-3.1.0/include/wx/anystr.h \
+ C:/wxWidgets-3.1.0/include/wx/dynarray.h \
+ C:/wxWidgets-3.1.0/include/wx/any.h \
+ C:/wxWidgets-3.1.0/include/wx/typeinfo.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/colour.h \
+ C:/wxWidgets-3.1.0/include/wx/font.h \
+ C:/wxWidgets-3.1.0/include/wx/gdicmn.h \
+ C:/wxWidgets-3.1.0/include/wx/math.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/font.h \
+ C:/wxWidgets-3.1.0/include/wx/bitmap.h \
+ C:/wxWidgets-3.1.0/include/wx/image.h \
+ C:/wxWidgets-3.1.0/include/wx/stream.h \
+ C:/wxWidgets-3.1.0/include/wx/filefn.h \
+ C:/wxWidgets-3.1.0/include/wx/imagbmp.h \
+ C:/wxWidgets-3.1.0/include/wx/imagpng.h \
+ C:/wxWidgets-3.1.0/include/wx/versioninfo.h \
+ C:/wxWidgets-3.1.0/include/wx/imaggif.h \
+ C:/wxWidgets-3.1.0/include/wx/imagpcx.h \
+ C:/wxWidgets-3.1.0/include/wx/imagjpeg.h \
+ C:/wxWidgets-3.1.0/include/wx/imagtga.h \
+ C:/wxWidgets-3.1.0/include/wx/imagtiff.h \
+ C:/wxWidgets-3.1.0/include/wx/imagpnm.h \
+ C:/wxWidgets-3.1.0/include/wx/imagxpm.h \
+ C:/wxWidgets-3.1.0/include/wx/imagiff.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/bitmap.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/gdiimage.h \
+ C:/wxWidgets-3.1.0/include/wx/palette.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/palette.h \
+ C:/wxWidgets-3.1.0/include/wx/brush.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/brush.h \
+ C:/wxWidgets-3.1.0/include/wx/pen.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/pen.h \
+ C:/wxWidgets-3.1.0/include/wx/region.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/region.h \
+ C:/wxWidgets-3.1.0/include/wx/affinematrix2d.h \
+ C:/wxWidgets-3.1.0/include/wx/affinematrix2dbase.h \
+ C:/wxWidgets-3.1.0/include/wx/geometry.h \
+ C:/wxWidgets-3.1.0/include/wx/utils.h \
+ C:/wxWidgets-3.1.0/include/wx/meta/implicitconversion.h \
+ C:/wxWidgets-3.1.0/include/wx/mousestate.h \
+ C:/wxWidgets-3.1.0/include/wx/kbdstate.h \
+ C:/wxWidgets-3.1.0/include/wx/platinfo.h \
+ C:/wxWidgets-3.1.0/include/wx/msgdlg.h \
+ C:/wxWidgets-3.1.0/include/wx/dialog.h \
+ C:/wxWidgets-3.1.0/include/wx/toplevel.h \
+ C:/wxWidgets-3.1.0/include/wx/nonownedwnd.h \
+ C:/wxWidgets-3.1.0/include/wx/window.h \
+ C:/wxWidgets-3.1.0/include/wx/event.h \
+ C:/wxWidgets-3.1.0/include/wx/clntdata.h \
+ C:/wxWidgets-3.1.0/include/wx/cursor.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/cursor.h \
+ C:/wxWidgets-3.1.0/include/wx/thread.h \
+ C:/wxWidgets-3.1.0/include/wx/tracker.h \
+ C:/wxWidgets-3.1.0/include/wx/meta/convertible.h \
+ C:/wxWidgets-3.1.0/include/wx/meta/removeref.h \
+ C:/wxWidgets-3.1.0/include/wx/validate.h \
+ C:/wxWidgets-3.1.0/include/wx/accel.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/accel.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/window.h \
+ C:/wxWidgets-3.1.0/include/wx/settings.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/nonownedwnd.h \
+ C:/wxWidgets-3.1.0/include/wx/iconbndl.h \
+ C:/wxWidgets-3.1.0/include/wx/icon.h \
+ C:/wxWidgets-3.1.0/include/wx/iconloc.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/icon.h \
+ C:/wxWidgets-3.1.0/include/wx/weakref.h \
+ C:/wxWidgets-3.1.0/include/wx/meta/int2type.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/toplevel.h \
+ C:/wxWidgets-3.1.0/include/wx/containr.h \
+ C:/wxWidgets-3.1.0/include/wx/sharedptr.h \
+ C:/wxWidgets-3.1.0/include/wx/atomic.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/wrapwin.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/dialog.h \
+ C:/wxWidgets-3.1.0/include/wx/panel.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/panel.h \
+ C:/wxWidgets-3.1.0/include/wx/stockitem.h \
+ C:/wxWidgets-3.1.0/include/wx/generic/msgdlgg.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/msgdlg.h \
+ C:/wxWidgets-3.1.0/include/wx/statusbr.h \
+ C:/wxWidgets-3.1.0/include/wx/control.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/control.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/statusbar.h \
+ C:/wxWidgets-3.1.0/include/wx/tooltip.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/tooltip.h \
+ C:/wxWidgets-3.1.0/include/wx/clipbrd.h \
+ C:/wxWidgets-3.1.0/include/wx/dataobj.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/clipbrd.h WorkspaceBase.h \
+ C:/wxWidgets-3.1.0/include/wx/xrc/xmlres.h \
+ C:/wxWidgets-3.1.0/include/wx/filesys.h \
+ C:/wxWidgets-3.1.0/include/wx/filename.h \
+ C:/wxWidgets-3.1.0/include/wx/file.h \
+ C:/wxWidgets-3.1.0/include/wx/convauto.h \
+ C:/wxWidgets-3.1.0/include/wx/artprov.h \
+ C:/wxWidgets-3.1.0/include/wx/xrc/xmlreshandler.h \
+ C:/wxWidgets-3.1.0/include/wx/imaglist.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/imaglist.h \
+ C:/wxWidgets-3.1.0/include/wx/xrc/xh_bmp.h \
+ C:/wxWidgets-3.1.0/include/wx/sizer.h \
+ C:/wxWidgets-3.1.0/include/wx/glcanvas.h \
+ C:/wxWidgets-3.1.0/include/wx/app.h \
+ C:/wxWidgets-3.1.0/include/wx/eventfilter.h \
+ C:/wxWidgets-3.1.0/include/wx/build.h \
+ C:/wxWidgets-3.1.0/include/wx/cmdargs.h \
+ C:/wxWidgets-3.1.0/include/wx/init.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/init.h \
+ C:/wxWidgets-3.1.0/include/wx/log.h \
+ C:/wxWidgets-3.1.0/include/wx/generic/logg.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/app.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/glcanvas.h \
+ C:/wxWidgets-3.1.0/include/wx/persist.h \
+ C:/wxWidgets-3.1.0/include/wx/confbase.h \
+ C:/wxWidgets-3.1.0/include/wx/base64.h \
+ C:/wxWidgets-3.1.0/include/wx/persist/toplevel.h \
+ C:/wxWidgets-3.1.0/include/wx/persist/window.h \
+ C:/wxWidgets-3.1.0/include/wx/display.h \
+ C:/wxWidgets-3.1.0/include/wx/vidmode.h \
+ C:/wxWidgets-3.1.0/include/wx/persist/bookctrl.h \
+ C:/wxWidgets-3.1.0/include/wx/bookctrl.h \
+ C:/wxWidgets-3.1.0/include/wx/withimages.h \
+ C:/wxWidgets-3.1.0/include/wx/notebook.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/notebook.h \
+ C:/wxWidgets-3.1.0/include/wx/persist/treebook.h \
+ C:/wxWidgets-3.1.0/include/wx/treebook.h \
+ C:/wxWidgets-3.1.0/include/wx/treectrl.h \
+ C:/wxWidgets-3.1.0/include/wx/treebase.h \
+ C:/wxWidgets-3.1.0/include/wx/itemid.h \
+ C:/wxWidgets-3.1.0/include/wx/textctrl.h \
+ C:/wxWidgets-3.1.0/include/wx/textentry.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/textentry.h \
+ C:/wxWidgets-3.1.0/include/wx/ioswrap.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/textctrl.h \
+ C:/wxWidgets-3.1.0/include/wx/systhemectrl.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/treectrl.h Bus.h BusForm.h \
+ ElementForm.h C:/wxWidgets-3.1.0/include/wx/stattext.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/stattext.h \
+ C:/wxWidgets-3.1.0/include/wx/choice.h \
+ C:/wxWidgets-3.1.0/include/wx/ctrlsub.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ctrlsub.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/choice.h \
+ C:/wxWidgets-3.1.0/include/wx/checkbox.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/checkbox.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ownerdrawnbutton.h \
+ C:/wxWidgets-3.1.0/include/wx/button.h \
+ C:/wxWidgets-3.1.0/include/wx/anybutton.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/anybutton.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/button.h \
+ C:/wxWidgets-3.1.0/include/wx/statbox.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/statbox.h \
+ C:/wxWidgets-3.1.0/include/wx/statline.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/statline.h \
+ C:/wxWidgets-3.1.0/include/wx/propgrid/manager.h \
+ C:/wxWidgets-3.1.0/include/wx/propgrid/propgrid.h \
+ C:/wxWidgets-3.1.0/include/wx/scrolwin.h \
+ C:/wxWidgets-3.1.0/include/wx/generic/scrolwin.h \
+ C:/wxWidgets-3.1.0/include/wx/recguard.h \
+ C:/wxWidgets-3.1.0/include/wx/time.h \
+ C:/wxWidgets-3.1.0/include/wx/propgrid/property.h \
+ C:/wxWidgets-3.1.0/include/wx/propgrid/propgriddefs.h \
+ C:/wxWidgets-3.1.0/include/wx/hashset.h \
+ C:/wxWidgets-3.1.0/include/wx/tokenzr.h \
+ C:/wxWidgets-3.1.0/include/wx/propgrid/propgridiface.h \
+ C:/wxWidgets-3.1.0/include/wx/propgrid/propgridpagestate.h \
+ C:/wxWidgets-3.1.0/include/wx/propgrid/props.h \
+ C:/wxWidgets-3.1.0/include/wx/propgrid/editors.h \
+ C:/wxWidgets-3.1.0/include/wx/listbox.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/listbox.h \
+ C:/wxWidgets-3.1.0/include/wx/valtext.h \
+ C:/wxWidgets-3.1.0/include/wx/toolbar.h \
+ C:/wxWidgets-3.1.0/include/wx/tbarbase.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/toolbar.h \
+ C:/wxWidgets-3.1.0/include/wx/headerctrl.h \
+ C:/wxWidgets-3.1.0/include/wx/headercol.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/headerctrl.h \
+ C:/wxWidgets-3.1.0/include/wx/propgrid/advprops.h \
+ C:/wxWidgets-3.1.0/include/wx/spinbutt.h \
+ C:/wxWidgets-3.1.0/include/wx/range.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/spinbutt.h \
+ C:/wxWidgets-3.1.0/include/wx/listctrl.h \
+ C:/wxWidgets-3.1.0/include/wx/listbase.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/listctrl.h Element.h \
+ C:/wxWidgets-3.1.0/include/wx/menu.h \
+ C:/wxWidgets-3.1.0/include/wx/menuitem.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/menuitem.h \
+ C:/wxWidgets-3.1.0/include/wx/ownerdrw.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ownerdrw.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/menu.h
+
+ElementDataObject.h:
+
+Workspace.h:
+
+C:/wxWidgets-3.1.0/include/wx/dcclient.h:
+
+C:/wxWidgets-3.1.0/include/wx/dc.h:
+
+C:/wxWidgets-3.1.0/include/wx/object.h:
+
+C:/wxWidgets-3.1.0/include/wx/memory.h:
+
+C:/wxWidgets-3.1.0/include/wx/defs.h:
+
+C:/wxWidgets-3.1.0/include/wx/platform.h:
+
+C:/wxWidgets-3.1.0/include/wx/compiler.h:
+
+C:/wxWidgets-3.1.0/lib/gcc_dll/mswu/wx/setup.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/libraries.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/gccpriv.h:
+
+C:/wxWidgets-3.1.0/include/wx/chkconf.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/chkconf.h:
+
+C:/wxWidgets-3.1.0/include/wx/version.h:
+
+C:/wxWidgets-3.1.0/include/wx/cpp.h:
+
+C:/wxWidgets-3.1.0/include/wx/dlimpexp.h:
+
+C:/wxWidgets-3.1.0/include/wx/debug.h:
+
+C:/wxWidgets-3.1.0/include/wx/chartype.h:
+
+C:/wxWidgets-3.1.0/include/wx/windowid.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/winundef.h:
+
+C:/wxWidgets-3.1.0/include/wx/features.h:
+
+C:/wxWidgets-3.1.0/include/wx/string.h:
+
+C:/wxWidgets-3.1.0/include/wx/wxcrtbase.h:
+
+C:/wxWidgets-3.1.0/include/wx/strvararg.h:
+
+C:/wxWidgets-3.1.0/include/wx/strconv.h:
+
+C:/wxWidgets-3.1.0/include/wx/buffer.h:
+
+C:/wxWidgets-3.1.0/include/wx/fontenc.h:
+
+C:/wxWidgets-3.1.0/include/wx/unichar.h:
+
+C:/wxWidgets-3.1.0/include/wx/stringimpl.h:
+
+C:/wxWidgets-3.1.0/include/wx/beforestd.h:
+
+C:/wxWidgets-3.1.0/include/wx/afterstd.h:
+
+C:/wxWidgets-3.1.0/include/wx/stringops.h:
+
+C:/wxWidgets-3.1.0/include/wx/iosfwrap.h:
+
+C:/wxWidgets-3.1.0/include/wx/msgout.h:
+
+C:/wxWidgets-3.1.0/include/wx/xti.h:
+
+C:/wxWidgets-3.1.0/include/wx/rtti.h:
+
+C:/wxWidgets-3.1.0/include/wx/flags.h:
+
+C:/wxWidgets-3.1.0/include/wx/xti2.h:
+
+C:/wxWidgets-3.1.0/include/wx/intl.h:
+
+C:/wxWidgets-3.1.0/include/wx/translation.h:
+
+C:/wxWidgets-3.1.0/include/wx/language.h:
+
+C:/wxWidgets-3.1.0/include/wx/hashmap.h:
+
+C:/wxWidgets-3.1.0/include/wx/wxcrt.h:
+
+C:/wxWidgets-3.1.0/include/wx/scopedptr.h:
+
+C:/wxWidgets-3.1.0/include/wx/checkeddelete.h:
+
+C:/wxWidgets-3.1.0/include/wx/colour.h:
+
+C:/wxWidgets-3.1.0/include/wx/gdiobj.h:
+
+C:/wxWidgets-3.1.0/include/wx/variant.h:
+
+C:/wxWidgets-3.1.0/include/wx/arrstr.h:
+
+C:/wxWidgets-3.1.0/include/wx/list.h:
+
+C:/wxWidgets-3.1.0/include/wx/vector.h:
+
+C:/wxWidgets-3.1.0/include/wx/scopeguard.h:
+
+C:/wxWidgets-3.1.0/include/wx/except.h:
+
+C:/wxWidgets-3.1.0/include/wx/meta/movable.h:
+
+C:/wxWidgets-3.1.0/include/wx/meta/pod.h:
+
+C:/wxWidgets-3.1.0/include/wx/meta/if.h:
+
+C:/wxWidgets-3.1.0/include/wx/longlong.h:
+
+C:/wxWidgets-3.1.0/include/wx/datetime.h:
+
+C:/wxWidgets-3.1.0/include/wx/anystr.h:
+
+C:/wxWidgets-3.1.0/include/wx/dynarray.h:
+
+C:/wxWidgets-3.1.0/include/wx/any.h:
+
+C:/wxWidgets-3.1.0/include/wx/typeinfo.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/colour.h:
+
+C:/wxWidgets-3.1.0/include/wx/font.h:
+
+C:/wxWidgets-3.1.0/include/wx/gdicmn.h:
+
+C:/wxWidgets-3.1.0/include/wx/math.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/font.h:
+
+C:/wxWidgets-3.1.0/include/wx/bitmap.h:
+
+C:/wxWidgets-3.1.0/include/wx/image.h:
+
+C:/wxWidgets-3.1.0/include/wx/stream.h:
+
+C:/wxWidgets-3.1.0/include/wx/filefn.h:
+
+C:/wxWidgets-3.1.0/include/wx/imagbmp.h:
+
+C:/wxWidgets-3.1.0/include/wx/imagpng.h:
+
+C:/wxWidgets-3.1.0/include/wx/versioninfo.h:
+
+C:/wxWidgets-3.1.0/include/wx/imaggif.h:
+
+C:/wxWidgets-3.1.0/include/wx/imagpcx.h:
+
+C:/wxWidgets-3.1.0/include/wx/imagjpeg.h:
+
+C:/wxWidgets-3.1.0/include/wx/imagtga.h:
+
+C:/wxWidgets-3.1.0/include/wx/imagtiff.h:
+
+C:/wxWidgets-3.1.0/include/wx/imagpnm.h:
+
+C:/wxWidgets-3.1.0/include/wx/imagxpm.h:
+
+C:/wxWidgets-3.1.0/include/wx/imagiff.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/bitmap.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/gdiimage.h:
+
+C:/wxWidgets-3.1.0/include/wx/palette.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/palette.h:
+
+C:/wxWidgets-3.1.0/include/wx/brush.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/brush.h:
+
+C:/wxWidgets-3.1.0/include/wx/pen.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/pen.h:
+
+C:/wxWidgets-3.1.0/include/wx/region.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/region.h:
+
+C:/wxWidgets-3.1.0/include/wx/affinematrix2d.h:
+
+C:/wxWidgets-3.1.0/include/wx/affinematrix2dbase.h:
+
+C:/wxWidgets-3.1.0/include/wx/geometry.h:
+
+C:/wxWidgets-3.1.0/include/wx/utils.h:
+
+C:/wxWidgets-3.1.0/include/wx/meta/implicitconversion.h:
+
+C:/wxWidgets-3.1.0/include/wx/mousestate.h:
+
+C:/wxWidgets-3.1.0/include/wx/kbdstate.h:
+
+C:/wxWidgets-3.1.0/include/wx/platinfo.h:
+
+C:/wxWidgets-3.1.0/include/wx/msgdlg.h:
+
+C:/wxWidgets-3.1.0/include/wx/dialog.h:
+
+C:/wxWidgets-3.1.0/include/wx/toplevel.h:
+
+C:/wxWidgets-3.1.0/include/wx/nonownedwnd.h:
+
+C:/wxWidgets-3.1.0/include/wx/window.h:
+
+C:/wxWidgets-3.1.0/include/wx/event.h:
+
+C:/wxWidgets-3.1.0/include/wx/clntdata.h:
+
+C:/wxWidgets-3.1.0/include/wx/cursor.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/cursor.h:
+
+C:/wxWidgets-3.1.0/include/wx/thread.h:
+
+C:/wxWidgets-3.1.0/include/wx/tracker.h:
+
+C:/wxWidgets-3.1.0/include/wx/meta/convertible.h:
+
+C:/wxWidgets-3.1.0/include/wx/meta/removeref.h:
+
+C:/wxWidgets-3.1.0/include/wx/validate.h:
+
+C:/wxWidgets-3.1.0/include/wx/accel.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/accel.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/window.h:
+
+C:/wxWidgets-3.1.0/include/wx/settings.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/nonownedwnd.h:
+
+C:/wxWidgets-3.1.0/include/wx/iconbndl.h:
+
+C:/wxWidgets-3.1.0/include/wx/icon.h:
+
+C:/wxWidgets-3.1.0/include/wx/iconloc.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/icon.h:
+
+C:/wxWidgets-3.1.0/include/wx/weakref.h:
+
+C:/wxWidgets-3.1.0/include/wx/meta/int2type.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/toplevel.h:
+
+C:/wxWidgets-3.1.0/include/wx/containr.h:
+
+C:/wxWidgets-3.1.0/include/wx/sharedptr.h:
+
+C:/wxWidgets-3.1.0/include/wx/atomic.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/wrapwin.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/dialog.h:
+
+C:/wxWidgets-3.1.0/include/wx/panel.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/panel.h:
+
+C:/wxWidgets-3.1.0/include/wx/stockitem.h:
+
+C:/wxWidgets-3.1.0/include/wx/generic/msgdlgg.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/msgdlg.h:
+
+C:/wxWidgets-3.1.0/include/wx/statusbr.h:
+
+C:/wxWidgets-3.1.0/include/wx/control.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/control.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/statusbar.h:
+
+C:/wxWidgets-3.1.0/include/wx/tooltip.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/tooltip.h:
+
+C:/wxWidgets-3.1.0/include/wx/clipbrd.h:
+
+C:/wxWidgets-3.1.0/include/wx/dataobj.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/clipbrd.h:
+
+WorkspaceBase.h:
+
+C:/wxWidgets-3.1.0/include/wx/xrc/xmlres.h:
+
+C:/wxWidgets-3.1.0/include/wx/filesys.h:
+
+C:/wxWidgets-3.1.0/include/wx/filename.h:
+
+C:/wxWidgets-3.1.0/include/wx/file.h:
+
+C:/wxWidgets-3.1.0/include/wx/convauto.h:
+
+C:/wxWidgets-3.1.0/include/wx/artprov.h:
+
+C:/wxWidgets-3.1.0/include/wx/xrc/xmlreshandler.h:
+
+C:/wxWidgets-3.1.0/include/wx/imaglist.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/imaglist.h:
+
+C:/wxWidgets-3.1.0/include/wx/xrc/xh_bmp.h:
+
+C:/wxWidgets-3.1.0/include/wx/sizer.h:
+
+C:/wxWidgets-3.1.0/include/wx/glcanvas.h:
+
+C:/wxWidgets-3.1.0/include/wx/app.h:
+
+C:/wxWidgets-3.1.0/include/wx/eventfilter.h:
+
+C:/wxWidgets-3.1.0/include/wx/build.h:
+
+C:/wxWidgets-3.1.0/include/wx/cmdargs.h:
+
+C:/wxWidgets-3.1.0/include/wx/init.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/init.h:
+
+C:/wxWidgets-3.1.0/include/wx/log.h:
+
+C:/wxWidgets-3.1.0/include/wx/generic/logg.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/app.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/glcanvas.h:
+
+C:/wxWidgets-3.1.0/include/wx/persist.h:
+
+C:/wxWidgets-3.1.0/include/wx/confbase.h:
+
+C:/wxWidgets-3.1.0/include/wx/base64.h:
+
+C:/wxWidgets-3.1.0/include/wx/persist/toplevel.h:
+
+C:/wxWidgets-3.1.0/include/wx/persist/window.h:
+
+C:/wxWidgets-3.1.0/include/wx/display.h:
+
+C:/wxWidgets-3.1.0/include/wx/vidmode.h:
+
+C:/wxWidgets-3.1.0/include/wx/persist/bookctrl.h:
+
+C:/wxWidgets-3.1.0/include/wx/bookctrl.h:
+
+C:/wxWidgets-3.1.0/include/wx/withimages.h:
+
+C:/wxWidgets-3.1.0/include/wx/notebook.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/notebook.h:
+
+C:/wxWidgets-3.1.0/include/wx/persist/treebook.h:
+
+C:/wxWidgets-3.1.0/include/wx/treebook.h:
+
+C:/wxWidgets-3.1.0/include/wx/treectrl.h:
+
+C:/wxWidgets-3.1.0/include/wx/treebase.h:
+
+C:/wxWidgets-3.1.0/include/wx/itemid.h:
+
+C:/wxWidgets-3.1.0/include/wx/textctrl.h:
+
+C:/wxWidgets-3.1.0/include/wx/textentry.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/textentry.h:
+
+C:/wxWidgets-3.1.0/include/wx/ioswrap.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/textctrl.h:
+
+C:/wxWidgets-3.1.0/include/wx/systhemectrl.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/treectrl.h:
+
+Bus.h:
+
+BusForm.h:
+
+ElementForm.h:
+
+C:/wxWidgets-3.1.0/include/wx/stattext.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/stattext.h:
+
+C:/wxWidgets-3.1.0/include/wx/choice.h:
+
+C:/wxWidgets-3.1.0/include/wx/ctrlsub.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ctrlsub.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/choice.h:
+
+C:/wxWidgets-3.1.0/include/wx/checkbox.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/checkbox.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ownerdrawnbutton.h:
+
+C:/wxWidgets-3.1.0/include/wx/button.h:
+
+C:/wxWidgets-3.1.0/include/wx/anybutton.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/anybutton.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/button.h:
+
+C:/wxWidgets-3.1.0/include/wx/statbox.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/statbox.h:
+
+C:/wxWidgets-3.1.0/include/wx/statline.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/statline.h:
+
+C:/wxWidgets-3.1.0/include/wx/propgrid/manager.h:
+
+C:/wxWidgets-3.1.0/include/wx/propgrid/propgrid.h:
+
+C:/wxWidgets-3.1.0/include/wx/scrolwin.h:
+
+C:/wxWidgets-3.1.0/include/wx/generic/scrolwin.h:
+
+C:/wxWidgets-3.1.0/include/wx/recguard.h:
+
+C:/wxWidgets-3.1.0/include/wx/time.h:
+
+C:/wxWidgets-3.1.0/include/wx/propgrid/property.h:
+
+C:/wxWidgets-3.1.0/include/wx/propgrid/propgriddefs.h:
+
+C:/wxWidgets-3.1.0/include/wx/hashset.h:
+
+C:/wxWidgets-3.1.0/include/wx/tokenzr.h:
+
+C:/wxWidgets-3.1.0/include/wx/propgrid/propgridiface.h:
+
+C:/wxWidgets-3.1.0/include/wx/propgrid/propgridpagestate.h:
+
+C:/wxWidgets-3.1.0/include/wx/propgrid/props.h:
+
+C:/wxWidgets-3.1.0/include/wx/propgrid/editors.h:
+
+C:/wxWidgets-3.1.0/include/wx/listbox.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/listbox.h:
+
+C:/wxWidgets-3.1.0/include/wx/valtext.h:
+
+C:/wxWidgets-3.1.0/include/wx/toolbar.h:
+
+C:/wxWidgets-3.1.0/include/wx/tbarbase.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/toolbar.h:
+
+C:/wxWidgets-3.1.0/include/wx/headerctrl.h:
+
+C:/wxWidgets-3.1.0/include/wx/headercol.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/headerctrl.h:
+
+C:/wxWidgets-3.1.0/include/wx/propgrid/advprops.h:
+
+C:/wxWidgets-3.1.0/include/wx/spinbutt.h:
+
+C:/wxWidgets-3.1.0/include/wx/range.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/spinbutt.h:
+
+C:/wxWidgets-3.1.0/include/wx/listctrl.h:
+
+C:/wxWidgets-3.1.0/include/wx/listbase.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/listctrl.h:
+
+Element.h:
+
+C:/wxWidgets-3.1.0/include/wx/menu.h:
+
+C:/wxWidgets-3.1.0/include/wx/menuitem.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/menuitem.h:
+
+C:/wxWidgets-3.1.0/include/wx/ownerdrw.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ownerdrw.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/menu.h:
diff --git a/Project/Release/FileHanding.cpp.o b/Project/Release/FileHanding.cpp.o
index ba53135..7483e5a 100644
--- a/Project/Release/FileHanding.cpp.o
+++ b/Project/Release/FileHanding.cpp.o
Binary files differ
diff --git a/Project/Release/FileHanding.cpp.o.d b/Project/Release/FileHanding.cpp.o.d
index 65cccdd..ba0c881 100644
--- a/Project/Release/FileHanding.cpp.o.d
+++ b/Project/Release/FileHanding.cpp.o.d
@@ -138,7 +138,13 @@ Release/FileHanding.cpp.o: FileHanding.cpp FileHanding.h \
C:/wxWidgets-3.1.0/include/wx/msw/control.h \
C:/wxWidgets-3.1.0/include/wx/msw/statusbar.h \
C:/wxWidgets-3.1.0/include/wx/tooltip.h \
- C:/wxWidgets-3.1.0/include/wx/msw/tooltip.h WorkspaceBase.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/tooltip.h \
+ C:/wxWidgets-3.1.0/include/wx/clipbrd.h \
+ C:/wxWidgets-3.1.0/include/wx/dataobj.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/clipbrd.h WorkspaceBase.h \
C:/wxWidgets-3.1.0/include/wx/xrc/xmlres.h \
C:/wxWidgets-3.1.0/include/wx/filesys.h \
C:/wxWidgets-3.1.0/include/wx/filename.h \
@@ -251,10 +257,6 @@ Release/FileHanding.cpp.o: FileHanding.cpp FileHanding.h \
C:/wxWidgets-3.1.0/include/wx/dcmemory.h \
C:/wxWidgets-3.1.0/include/wx/dcprint.h \
C:/wxWidgets-3.1.0/include/wx/dcscreen.h \
- C:/wxWidgets-3.1.0/include/wx/dataobj.h \
- C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h \
- C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h \
- C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h \
C:/wxWidgets-3.1.0/include/wx/bmpbuttn.h \
C:/wxWidgets-3.1.0/include/wx/msw/bmpbuttn.h \
C:/wxWidgets-3.1.0/include/wx/checklst.h \
@@ -573,6 +575,18 @@ C:/wxWidgets-3.1.0/include/wx/tooltip.h:
C:/wxWidgets-3.1.0/include/wx/msw/tooltip.h:
+C:/wxWidgets-3.1.0/include/wx/clipbrd.h:
+
+C:/wxWidgets-3.1.0/include/wx/dataobj.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/clipbrd.h:
+
WorkspaceBase.h:
C:/wxWidgets-3.1.0/include/wx/xrc/xmlres.h:
@@ -835,14 +849,6 @@ C:/wxWidgets-3.1.0/include/wx/dcprint.h:
C:/wxWidgets-3.1.0/include/wx/dcscreen.h:
-C:/wxWidgets-3.1.0/include/wx/dataobj.h:
-
-C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h:
-
-C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h:
-
-C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h:
-
C:/wxWidgets-3.1.0/include/wx/bmpbuttn.h:
C:/wxWidgets-3.1.0/include/wx/msw/bmpbuttn.h:
diff --git a/Project/Release/GeneratorStabForm.cpp.o b/Project/Release/GeneratorStabForm.cpp.o
index 64bbc6c..51022f9 100644
--- a/Project/Release/GeneratorStabForm.cpp.o
+++ b/Project/Release/GeneratorStabForm.cpp.o
Binary files differ
diff --git a/Project/Release/IndMotor.cpp.o b/Project/Release/IndMotor.cpp.o
index 8afaa98..672e91e 100644
--- a/Project/Release/IndMotor.cpp.o
+++ b/Project/Release/IndMotor.cpp.o
Binary files differ
diff --git a/Project/Release/IndMotorForm.cpp.o b/Project/Release/IndMotorForm.cpp.o
index 1a91d40..9d803e3 100644
--- a/Project/Release/IndMotorForm.cpp.o
+++ b/Project/Release/IndMotorForm.cpp.o
Binary files differ
diff --git a/Project/Release/Inductor.cpp.o b/Project/Release/Inductor.cpp.o
index 36cb0b0..e7c996a 100644
--- a/Project/Release/Inductor.cpp.o
+++ b/Project/Release/Inductor.cpp.o
Binary files differ
diff --git a/Project/Release/Line.cpp.o b/Project/Release/Line.cpp.o
index 53728d5..ba713e2 100644
--- a/Project/Release/Line.cpp.o
+++ b/Project/Release/Line.cpp.o
Binary files differ
diff --git a/Project/Release/LineForm.cpp.o b/Project/Release/LineForm.cpp.o
index 3f0094a..298d75a 100644
--- a/Project/Release/LineForm.cpp.o
+++ b/Project/Release/LineForm.cpp.o
Binary files differ
diff --git a/Project/Release/Load.cpp.o b/Project/Release/Load.cpp.o
index 8d03c53..f38aae6 100644
--- a/Project/Release/Load.cpp.o
+++ b/Project/Release/Load.cpp.o
Binary files differ
diff --git a/Project/Release/LoadForm.cpp.o b/Project/Release/LoadForm.cpp.o
index ed59b46..2072699 100644
--- a/Project/Release/LoadForm.cpp.o
+++ b/Project/Release/LoadForm.cpp.o
Binary files differ
diff --git a/Project/Release/Machines.cpp.o b/Project/Release/Machines.cpp.o
index 68a1fc6..1ea13c6 100644
--- a/Project/Release/Machines.cpp.o
+++ b/Project/Release/Machines.cpp.o
Binary files differ
diff --git a/Project/Release/MainFrame.cpp.o b/Project/Release/MainFrame.cpp.o
index 8db3bdb..a7639f0 100644
--- a/Project/Release/MainFrame.cpp.o
+++ b/Project/Release/MainFrame.cpp.o
Binary files differ
diff --git a/Project/Release/MainFrame.cpp.o.d b/Project/Release/MainFrame.cpp.o.d
index c8ce32c..5b1e3df 100644
--- a/Project/Release/MainFrame.cpp.o.d
+++ b/Project/Release/MainFrame.cpp.o.d
@@ -196,7 +196,13 @@ Release/MainFrame.cpp.o: MainFrame.cpp MainFrame.h \
C:/wxWidgets-3.1.0/include/wx/dc.h \
C:/wxWidgets-3.1.0/include/wx/affinematrix2d.h \
C:/wxWidgets-3.1.0/include/wx/affinematrix2dbase.h \
- C:/wxWidgets-3.1.0/include/wx/geometry.h WorkspaceBase.h \
+ C:/wxWidgets-3.1.0/include/wx/geometry.h \
+ C:/wxWidgets-3.1.0/include/wx/clipbrd.h \
+ C:/wxWidgets-3.1.0/include/wx/dataobj.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/clipbrd.h WorkspaceBase.h \
C:/wxWidgets-3.1.0/include/wx/glcanvas.h \
C:/wxWidgets-3.1.0/include/wx/app.h \
C:/wxWidgets-3.1.0/include/wx/eventfilter.h \
@@ -263,10 +269,6 @@ Release/MainFrame.cpp.o: MainFrame.cpp MainFrame.h \
C:/wxWidgets-3.1.0/include/wx/dcmemory.h \
C:/wxWidgets-3.1.0/include/wx/dcprint.h \
C:/wxWidgets-3.1.0/include/wx/dcscreen.h \
- C:/wxWidgets-3.1.0/include/wx/dataobj.h \
- C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h \
- C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h \
- C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h \
C:/wxWidgets-3.1.0/include/wx/bmpbuttn.h \
C:/wxWidgets-3.1.0/include/wx/msw/bmpbuttn.h \
C:/wxWidgets-3.1.0/include/wx/checklst.h \
@@ -703,6 +705,18 @@ C:/wxWidgets-3.1.0/include/wx/affinematrix2dbase.h:
C:/wxWidgets-3.1.0/include/wx/geometry.h:
+C:/wxWidgets-3.1.0/include/wx/clipbrd.h:
+
+C:/wxWidgets-3.1.0/include/wx/dataobj.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/clipbrd.h:
+
WorkspaceBase.h:
C:/wxWidgets-3.1.0/include/wx/glcanvas.h:
@@ -875,14 +889,6 @@ C:/wxWidgets-3.1.0/include/wx/dcprint.h:
C:/wxWidgets-3.1.0/include/wx/dcscreen.h:
-C:/wxWidgets-3.1.0/include/wx/dataobj.h:
-
-C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h:
-
-C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h:
-
-C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h:
-
C:/wxWidgets-3.1.0/include/wx/bmpbuttn.h:
C:/wxWidgets-3.1.0/include/wx/msw/bmpbuttn.h:
diff --git a/Project/Release/PSP-UFU.exe b/Project/Release/PSP-UFU.exe
index d477b79..c66b8dc 100644
--- a/Project/Release/PSP-UFU.exe
+++ b/Project/Release/PSP-UFU.exe
Binary files differ
diff --git a/Project/Release/PowerFlow.cpp.o b/Project/Release/PowerFlow.cpp.o
index 1da8b90..670fffe 100644
--- a/Project/Release/PowerFlow.cpp.o
+++ b/Project/Release/PowerFlow.cpp.o
Binary files differ
diff --git a/Project/Release/ReactiveShuntElementForm.cpp.o b/Project/Release/ReactiveShuntElementForm.cpp.o
index 58f30f9..951d7f8 100644
--- a/Project/Release/ReactiveShuntElementForm.cpp.o
+++ b/Project/Release/ReactiveShuntElementForm.cpp.o
Binary files differ
diff --git a/Project/Release/Shunt.cpp.o b/Project/Release/Shunt.cpp.o
index 4ad87ec..2706951 100644
--- a/Project/Release/Shunt.cpp.o
+++ b/Project/Release/Shunt.cpp.o
Binary files differ
diff --git a/Project/Release/SwitchingForm.cpp.o b/Project/Release/SwitchingForm.cpp.o
index c5b64f5..00668c4 100644
--- a/Project/Release/SwitchingForm.cpp.o
+++ b/Project/Release/SwitchingForm.cpp.o
Binary files differ
diff --git a/Project/Release/SyncGenerator.cpp.o b/Project/Release/SyncGenerator.cpp.o
index 1c75992..ec0e7ae 100644
--- a/Project/Release/SyncGenerator.cpp.o
+++ b/Project/Release/SyncGenerator.cpp.o
Binary files differ
diff --git a/Project/Release/SyncMachineForm.cpp.o b/Project/Release/SyncMachineForm.cpp.o
index 0c315ad..8239d77 100644
--- a/Project/Release/SyncMachineForm.cpp.o
+++ b/Project/Release/SyncMachineForm.cpp.o
Binary files differ
diff --git a/Project/Release/SyncMotor.cpp.o b/Project/Release/SyncMotor.cpp.o
index 7d9b66b..c882bf6 100644
--- a/Project/Release/SyncMotor.cpp.o
+++ b/Project/Release/SyncMotor.cpp.o
Binary files differ
diff --git a/Project/Release/Text.cpp.o b/Project/Release/Text.cpp.o
index cd86899..2f2c0b8 100644
--- a/Project/Release/Text.cpp.o
+++ b/Project/Release/Text.cpp.o
Binary files differ
diff --git a/Project/Release/TextForm.cpp.o b/Project/Release/TextForm.cpp.o
index 7d9de3f..6881ff3 100644
--- a/Project/Release/TextForm.cpp.o
+++ b/Project/Release/TextForm.cpp.o
Binary files differ
diff --git a/Project/Release/Transformer.cpp.o b/Project/Release/Transformer.cpp.o
index bca1767..449b86c 100644
--- a/Project/Release/Transformer.cpp.o
+++ b/Project/Release/Transformer.cpp.o
Binary files differ
diff --git a/Project/Release/TransformerForm.cpp.o b/Project/Release/TransformerForm.cpp.o
index 1cff932..58055cf 100644
--- a/Project/Release/TransformerForm.cpp.o
+++ b/Project/Release/TransformerForm.cpp.o
Binary files differ
diff --git a/Project/Release/Workspace.cpp.o b/Project/Release/Workspace.cpp.o
index 9c5c5b2..d2d4a85 100644
--- a/Project/Release/Workspace.cpp.o
+++ b/Project/Release/Workspace.cpp.o
Binary files differ
diff --git a/Project/Release/Workspace.cpp.o.d b/Project/Release/Workspace.cpp.o.d
index 580e64d..f67b8e6 100644
--- a/Project/Release/Workspace.cpp.o.d
+++ b/Project/Release/Workspace.cpp.o.d
@@ -138,7 +138,13 @@ Release/Workspace.cpp.o: Workspace.cpp Workspace.h \
C:/wxWidgets-3.1.0/include/wx/msw/control.h \
C:/wxWidgets-3.1.0/include/wx/msw/statusbar.h \
C:/wxWidgets-3.1.0/include/wx/tooltip.h \
- C:/wxWidgets-3.1.0/include/wx/msw/tooltip.h WorkspaceBase.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/tooltip.h \
+ C:/wxWidgets-3.1.0/include/wx/clipbrd.h \
+ C:/wxWidgets-3.1.0/include/wx/dataobj.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/clipbrd.h WorkspaceBase.h \
C:/wxWidgets-3.1.0/include/wx/xrc/xmlres.h \
C:/wxWidgets-3.1.0/include/wx/filesys.h \
C:/wxWidgets-3.1.0/include/wx/filename.h \
@@ -239,8 +245,9 @@ Release/Workspace.cpp.o: Workspace.cpp Workspace.h \
C:/wxWidgets-3.1.0/include/wx/msw/ownerdrw.h \
C:/wxWidgets-3.1.0/include/wx/msw/menu.h Line.h LineForm.h Branch.h \
Transformer.h SyncGenerator.h Machines.h IndMotor.h SyncMotor.h Load.h \
- LoadForm.h Shunt.h Inductor.h Capacitor.h Text.h wxGLString.h \
- C:/wxWidgets-3.1.0/include/wx/wx.h C:/wxWidgets-3.1.0/include/wx/hash.h \
+ LoadForm.h Shunt.h Inductor.h Capacitor.h ElementDataObject.h Text.h \
+ wxGLString.h C:/wxWidgets-3.1.0/include/wx/wx.h \
+ C:/wxWidgets-3.1.0/include/wx/hash.h \
C:/wxWidgets-3.1.0/include/wx/stopwatch.h \
C:/wxWidgets-3.1.0/include/wx/timer.h \
C:/wxWidgets-3.1.0/include/wx/module.h \
@@ -250,10 +257,6 @@ Release/Workspace.cpp.o: Workspace.cpp Workspace.h \
C:/wxWidgets-3.1.0/include/wx/dcmemory.h \
C:/wxWidgets-3.1.0/include/wx/dcprint.h \
C:/wxWidgets-3.1.0/include/wx/dcscreen.h \
- C:/wxWidgets-3.1.0/include/wx/dataobj.h \
- C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h \
- C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h \
- C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h \
C:/wxWidgets-3.1.0/include/wx/bmpbuttn.h \
C:/wxWidgets-3.1.0/include/wx/msw/bmpbuttn.h \
C:/wxWidgets-3.1.0/include/wx/checklst.h \
@@ -569,6 +572,18 @@ C:/wxWidgets-3.1.0/include/wx/tooltip.h:
C:/wxWidgets-3.1.0/include/wx/msw/tooltip.h:
+C:/wxWidgets-3.1.0/include/wx/clipbrd.h:
+
+C:/wxWidgets-3.1.0/include/wx/dataobj.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/clipbrd.h:
+
WorkspaceBase.h:
C:/wxWidgets-3.1.0/include/wx/xrc/xmlres.h:
@@ -803,6 +818,8 @@ Inductor.h:
Capacitor.h:
+ElementDataObject.h:
+
Text.h:
wxGLString.h:
@@ -829,14 +846,6 @@ C:/wxWidgets-3.1.0/include/wx/dcprint.h:
C:/wxWidgets-3.1.0/include/wx/dcscreen.h:
-C:/wxWidgets-3.1.0/include/wx/dataobj.h:
-
-C:/wxWidgets-3.1.0/include/wx/msw/ole/dataform.h:
-
-C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj.h:
-
-C:/wxWidgets-3.1.0/include/wx/msw/ole/dataobj2.h:
-
C:/wxWidgets-3.1.0/include/wx/bmpbuttn.h:
C:/wxWidgets-3.1.0/include/wx/msw/bmpbuttn.h:
diff --git a/Project/Release/main.cpp.o.d b/Project/Release/main.cpp.o.d
index 165c4a0..ddea6d9 100644
--- a/Project/Release/main.cpp.o.d
+++ b/Project/Release/main.cpp.o.d
@@ -139,7 +139,9 @@ Release/main.cpp.o: main.cpp C:/wxWidgets-3.1.0/include/wx/app.h \
C:/wxWidgets-3.1.0/include/wx/msw/panel.h \
C:/wxWidgets-3.1.0/include/wx/stockitem.h \
C:/wxWidgets-3.1.0/include/wx/generic/msgdlgg.h \
- C:/wxWidgets-3.1.0/include/wx/msw/msgdlg.h MainFrameBase.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/msgdlg.h \
+ C:/wxWidgets-3.1.0/include/wx/filedlg.h \
+ C:/wxWidgets-3.1.0/include/wx/msw/filedlg.h MainFrameBase.h \
C:/wxWidgets-3.1.0/include/wx/xrc/xmlres.h \
C:/wxWidgets-3.1.0/include/wx/filesys.h \
C:/wxWidgets-3.1.0/include/wx/filename.h \
@@ -489,6 +491,10 @@ C:/wxWidgets-3.1.0/include/wx/generic/msgdlgg.h:
C:/wxWidgets-3.1.0/include/wx/msw/msgdlg.h:
+C:/wxWidgets-3.1.0/include/wx/filedlg.h:
+
+C:/wxWidgets-3.1.0/include/wx/msw/filedlg.h:
+
MainFrameBase.h:
C:/wxWidgets-3.1.0/include/wx/xrc/xmlres.h:
diff --git a/Project/SyncGenerator.cpp b/Project/SyncGenerator.cpp
index 463c56d..c20bff1 100644
--- a/Project/SyncGenerator.cpp
+++ b/Project/SyncGenerator.cpp
@@ -135,3 +135,10 @@ void SyncGenerator::SetNominalVoltage(std::vector<double> nominalVoltage, std::v
m_electricalData.nominalVoltageUnit = nominalVoltageUnit[0];
}
}
+
+Element* SyncGenerator::GetCopy()
+{
+ SyncGenerator* copy = new SyncGenerator();
+ *copy = *this;
+ return copy;
+}
diff --git a/Project/SyncGenerator.h b/Project/SyncGenerator.h
index 0ff3f6a..3fe5a3b 100644
--- a/Project/SyncGenerator.h
+++ b/Project/SyncGenerator.h
@@ -67,7 +67,8 @@ public:
SyncGenerator();
SyncGenerator(wxString name);
~SyncGenerator();
-
+
+ virtual Element* GetCopy();
virtual void Init();
virtual void DrawSymbol() const;
virtual bool GetContextMenu(wxMenu& menu);
diff --git a/Project/SyncMotor.cpp b/Project/SyncMotor.cpp
index 2f9c3ce..13ea5e4 100644
--- a/Project/SyncMotor.cpp
+++ b/Project/SyncMotor.cpp
@@ -97,3 +97,10 @@ SyncMotorElectricalData SyncMotor::GetPUElectricalData(double systemPowerBase)
return data;
}
+
+Element* SyncMotor::GetCopy()
+{
+ SyncMotor* copy = new SyncMotor();
+ *copy = *this;
+ return copy;
+}
diff --git a/Project/SyncMotor.h b/Project/SyncMotor.h
index 1f65386..a7eecd8 100644
--- a/Project/SyncMotor.h
+++ b/Project/SyncMotor.h
@@ -62,7 +62,8 @@ class SyncMotor : public Machines
SyncMotor();
SyncMotor(wxString name);
~SyncMotor();
-
+
+ virtual Element* GetCopy();
virtual void DrawSymbol() const;
virtual bool GetContextMenu(wxMenu& menu);
virtual SyncMotorElectricalData GetElectricalData() { return m_electricalData; }
diff --git a/Project/Text.cpp b/Project/Text.cpp
index f012044..05915f7 100644
--- a/Project/Text.cpp
+++ b/Project/Text.cpp
@@ -894,3 +894,10 @@ void Text::UpdateText(double systemPowerBase)
} break;
}
}
+
+Element* Text::GetCopy()
+{
+ Text* copy = new Text();
+ *copy = *this;
+ return copy;
+}
diff --git a/Project/Text.h b/Project/Text.h
index 80f35fa..36a6704 100644
--- a/Project/Text.h
+++ b/Project/Text.h
@@ -50,7 +50,8 @@ class Text : public Element
Text();
Text(wxPoint2DDouble position);
~Text();
-
+
+ virtual Element* GetCopy();
virtual bool AddParent(Element* parent, wxPoint2DDouble position) { return true; };
virtual bool Contains(wxPoint2DDouble position) const;
virtual void Draw(wxPoint2DDouble translation, double scale);
diff --git a/Project/Transformer.cpp b/Project/Transformer.cpp
index 42fffaf..2ba6850 100644
--- a/Project/Transformer.cpp
+++ b/Project/Transformer.cpp
@@ -92,12 +92,16 @@ bool Transformer::Contains(wxPoint2DDouble position) const
void Transformer::Draw(wxPoint2DDouble translation, double scale) const
{
+ OpenGLColour elementColour;
+ if(m_online) elementColour = m_onlineElementColour;
+ else elementColour = m_offlineElementColour;
+
if(m_inserted) {
// Draw selection (layer 1).
if(m_selected) {
// Push the current matrix on stack.
glLineWidth(1.5 + m_borderSize * 2.0);
- glColor4d(0.0, 0.5, 1.0, 0.5);
+ glColor4dv(m_selectionColour.GetRGBA());
DrawLine(m_pointList);
glPushMatrix();
// Rotate the matrix around the object position.
@@ -124,12 +128,12 @@ void Transformer::Draw(wxPoint2DDouble translation, double scale) const
// Draw transformer (layer 2).
// Transformer line
glLineWidth(1.5);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawLine(m_pointList);
// Draw nodes.
if(m_pointList.size() > 0) {
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_pointList[0], 5.0, 10, GL_POLYGON);
if(m_inserted) {
DrawCircle(m_pointList[m_pointList.size() - 1], 5.0, 10, GL_POLYGON);
@@ -150,7 +154,7 @@ void Transformer::Draw(wxPoint2DDouble translation, double scale) const
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(20.0, 20.0), 20, 20, GL_POLYGON);
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(50.0, 20.0), 20, 20, GL_POLYGON);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(20.0, 20.0), 20, 20);
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(50.0, 20.0), 20, 20);
@@ -374,3 +378,10 @@ void Transformer::SetPowerFlowDirection(PowerFlowDirection pfDirection)
m_pfDirection = pfDirection;
UpdatePowerFlowArrowsPosition();
}
+
+Element* Transformer::GetCopy()
+{
+ Transformer* copy = new Transformer();
+ *copy = *this;
+ return copy;
+}
diff --git a/Project/Transformer.h b/Project/Transformer.h
index 79e2380..5020fbd 100644
--- a/Project/Transformer.h
+++ b/Project/Transformer.h
@@ -57,7 +57,8 @@ class Transformer : public Branch
Transformer();
Transformer(wxString name);
virtual ~Transformer();
-
+
+ virtual Element* GetCopy();
virtual bool AddParent(Element* parent, wxPoint2DDouble position);
virtual bool Contains(wxPoint2DDouble position) const;
virtual void Draw(wxPoint2DDouble translation, double scale) const;
diff --git a/Project/Workspace.cpp b/Project/Workspace.cpp
index bdb8211..2894ed2 100644
--- a/Project/Workspace.cpp
+++ b/Project/Workspace.cpp
@@ -10,6 +10,7 @@
#include "Load.h"
#include "Inductor.h"
#include "Capacitor.h"
+#include "ElementDataObject.h"
#include "Text.h"
@@ -158,7 +159,7 @@ void Workspace::SetViewport()
void Workspace::OnLeftClickDown(wxMouseEvent& event)
{
bool foundElement = false;
- if(m_mode == MODE_INSERT_TEXT) {
+ if(m_mode == MODE_INSERT_TEXT || m_mode == MODE_PASTE) {
m_mode = MODE_EDIT;
} else if(m_mode == MODE_INSERT || m_mode == MODE_DRAG_INSERT || m_mode == MODE_DRAG_INSERT_TEXT) {
// Get the last element inserted on the list.
@@ -534,7 +535,8 @@ void Workspace::OnMouseMotion(wxMouseEvent& event)
}
} break;
- case MODE_MOVE_ELEMENT: {
+ case MODE_MOVE_ELEMENT:
+ case MODE_PASTE: {
for(auto it = m_elementList.begin(); it != m_elementList.end(); ++it) {
Element* element = *it;
// Parent's element moving...
@@ -769,6 +771,15 @@ void Workspace::OnKeyDown(wxKeyEvent& event)
m_mode = MODE_INSERT;
m_statusBar->SetStatusText(_("Insert Capacitor: Click on a buses, ESC to cancel."));
Redraw();
+ } else if(event.GetModifiers() == wxMOD_CONTROL) { // Copy.
+ CopySelection();
+ }
+ }
+ } break;
+ case 'V': {
+ if(!insertingElement) {
+ if(event.GetModifiers() == wxMOD_CONTROL) {
+ Paste();
}
}
} break;
@@ -788,6 +799,10 @@ void Workspace::UpdateStatusBar()
m_statusBar->SetStatusText(_("MODE: DRAG"), 1);
} break;
+ case MODE_PASTE: {
+ m_statusBar->SetStatusText(_("MODE: PASTE"), 1);
+ }
+
case MODE_INSERT:
case MODE_INSERT_TEXT:
case MODE_DRAG_INSERT:
@@ -953,41 +968,53 @@ void Workspace::DeleteSelectedElements()
Redraw();
}
-void Workspace::Fit()
+bool Workspace::GetElementsCorners(wxPoint2DDouble& leftUpCorner,
+ wxPoint2DDouble& rightDownCorner,
+ std::vector<Element*> elementList)
{
- if(m_elementList.size() > 0) {
- wxPoint2DDouble leftUpCorner(0, 0);
- wxPoint2DDouble rightDownCorner(0, 0);
- m_elementList[0]->CalculateBoundaries(leftUpCorner, rightDownCorner);
+ if(elementList.size() == 0) return false;
- for(auto it = m_elementList.begin() + 1; it != m_elementList.end(); it++) {
- Element* element = *it;
- wxPoint2DDouble leftUp;
- wxPoint2DDouble rightDown;
- element->CalculateBoundaries(leftUp, rightDown);
- if(leftUp.m_x < leftUpCorner.m_x) leftUpCorner.m_x = leftUp.m_x;
- if(leftUp.m_y < leftUpCorner.m_y) leftUpCorner.m_y = leftUp.m_y;
- if(rightDown.m_x > rightDownCorner.m_x) rightDownCorner.m_x = rightDown.m_x;
- if(rightDown.m_y > rightDownCorner.m_y) rightDownCorner.m_y = rightDown.m_y;
- }
+ elementList[0]->CalculateBoundaries(leftUpCorner, rightDownCorner);
- int width = 0.0;
- int height = 0.0;
- GetSize(&width, &height);
+ for(auto it = elementList.begin() + 1, itEnd = elementList.end(); it != itEnd; it++) {
+ Element* element = *it;
+ wxPoint2DDouble leftUp;
+ wxPoint2DDouble rightDown;
+ element->CalculateBoundaries(leftUp, rightDown);
+ if(leftUp.m_x < leftUpCorner.m_x) leftUpCorner.m_x = leftUp.m_x;
+ if(leftUp.m_y < leftUpCorner.m_y) leftUpCorner.m_y = leftUp.m_y;
+ if(rightDown.m_x > rightDownCorner.m_x) rightDownCorner.m_x = rightDown.m_x;
+ if(rightDown.m_y > rightDownCorner.m_y) rightDownCorner.m_y = rightDown.m_y;
+ }
+ return true;
+}
- double scaleX = double(width) / (rightDownCorner.m_x - leftUpCorner.m_x);
- double scaleY = double(height) / (rightDownCorner.m_y - leftUpCorner.m_y);
+void Workspace::Fit()
+{
+ wxPoint2DDouble leftUpCorner(0, 0);
+ wxPoint2DDouble rightDownCorner(0, 0);
+ std::vector<Element*> elementList = m_elementList;
+ for(auto it = m_textList.begin(), itEnd = m_textList.end(); it != itEnd; ++it) {
+ elementList.push_back(*it);
+ }
- double scale = scaleX < scaleY ? scaleX : scaleY;
- if(scale > m_camera->GetZoomMax()) scale = m_camera->GetZoomMax();
- if(scale < m_camera->GetZoomMin()) scale = m_camera->GetZoomMin();
+ if(!GetElementsCorners(leftUpCorner, rightDownCorner, elementList)) return;
+ int width = 0.0;
+ int height = 0.0;
+ GetSize(&width, &height);
- m_camera->SetScale(scale);
+ double scaleX = double(width) / (rightDownCorner.m_x - leftUpCorner.m_x);
+ double scaleY = double(height) / (rightDownCorner.m_y - leftUpCorner.m_y);
- m_camera->StartTranslation(leftUpCorner);
- m_camera->SetTranslation(wxPoint2DDouble(0, 0));
- Redraw();
- }
+ double scale = scaleX < scaleY ? scaleX : scaleY;
+ if(scale > m_camera->GetZoomMax()) scale = m_camera->GetZoomMax();
+ if(scale < m_camera->GetZoomMin()) scale = m_camera->GetZoomMin();
+
+ m_camera->SetScale(scale);
+
+ m_camera->StartTranslation(leftUpCorner);
+ m_camera->SetTranslation(wxPoint2DDouble(0, 0));
+ Redraw();
}
void Workspace::ValidateBusesVoltages(Element* initialBus)
@@ -1062,3 +1089,150 @@ void Workspace::UpdateTextElements()
text->UpdateText(100e6);
}
}
+
+void Workspace::CopySelection()
+{
+ std::vector<Element*> selectedElements;
+ // The buses need to be numerated to associate the child's parents to the copies.
+ int busNumber = 0;
+ for(auto it = m_elementList.begin(), itEnd = m_elementList.end(); it != itEnd; ++it) {
+ Element* element = *it;
+ if(typeid(*element) == typeid(Bus)) {
+ Bus* bus = (Bus*)element;
+ auto data = bus->GetEletricalData();
+ data.number = busNumber;
+ bus->SetElectricalData(data);
+ busNumber++;
+ }
+ if(element->IsSelected()) {
+ selectedElements.push_back(element);
+ }
+ }
+ for(auto it = m_textList.begin(), itEnd = m_textList.end(); it != itEnd; ++it) {
+ Text* text = *it;
+ if(text->IsSelected()) {
+ selectedElements.push_back(text);
+ }
+ }
+ ElementDataObject* dataObject = new ElementDataObject(selectedElements);
+ wxTheClipboard->SetData(dataObject);
+ wxTheClipboard->Close();
+}
+
+bool Workspace::Paste()
+{
+ if(wxTheClipboard->Open()) {
+ ElementDataObject dataObject;
+
+ if(wxTheClipboard->IsSupported(wxDataFormat("PSPCopy"))) {
+ if(!wxTheClipboard->GetData(dataObject)) {
+ wxMessageDialog dialog(this, _("It was not possible to paste from clipboard."), _("Error"),
+ wxOK | wxCENTER | wxICON_ERROR, wxDefaultPosition);
+ dialog.ShowModal();
+ wxTheClipboard->Close();
+ return false;
+ }
+ } else {
+ wxTheClipboard->Close();
+ return false;
+ }
+ wxTheClipboard->Close();
+
+ UnselectAll();
+
+ std::vector<Element*> pastedElements;
+ ElementsLists* elementsLists = dataObject.GetElementsLists();
+
+ // Paste buses (parents).
+ auto parentList = elementsLists->parentList;
+ std::vector<Bus*> pastedBusList; // To set new parents;
+ for(auto it = parentList.begin(), itEnd = parentList.end(); it != itEnd; ++it) {
+ Element* copy = (*it)->GetCopy();
+ if(copy) {
+ pastedElements.push_back((Bus*)copy);
+ pastedBusList.push_back((Bus*)copy);
+ m_elementList.push_back((Bus*)copy);
+ }
+ }
+
+ // Paste other elements.
+ auto elementLists = elementsLists->elementList;
+ for(auto it = elementLists.begin(), itEnd = elementLists.end(); it != itEnd; ++it) {
+ Element* copy = (*it)->GetCopy();
+ if(copy) {
+ // Check if is text element
+ if(typeid(*copy) == typeid(Text)) {
+ Text* text = (Text*)copy;
+ // Check if element associated with the text exists.
+ bool elementExist = false;
+ for(int i = 0; i < (int)m_elementList.size(); i++) {
+ if(text->GetElement() == m_elementList[i]) {
+ elementExist = true;
+ break;
+ }
+ }
+ if(elementExist) {
+ pastedElements.push_back(copy);
+ m_textList.push_back((Text*)copy);
+ }
+ } else {
+ // Change the parent if copied, otherwise remove it.
+ for(int j = 0; j < (int)copy->GetParentList().size(); j++) {
+ Bus* currentParent = (Bus*)copy->GetParentList()[j];
+ if(currentParent) {
+ int parentNumber = currentParent->GetEletricalData().number;
+ bool parentCopied = false;
+ for(int k = 0; k < (int)pastedBusList.size(); k++) {
+ Bus* newParent = pastedBusList[k];
+ if(parentNumber == newParent->GetEletricalData().number)
+ copy->ReplaceParent(currentParent, newParent);
+ }
+ if(!parentCopied) copy->RemoveParent(currentParent);
+ }
+ }
+
+ pastedElements.push_back(copy);
+ m_elementList.push_back(copy);
+ }
+ }
+ }
+
+ // Move elements (and nodes) to the mouse position.
+ // The start position it's the center of the pasted objects.
+ wxPoint2DDouble leftUpCorner, rightDownCorner;
+ GetElementsCorners(leftUpCorner, rightDownCorner, pastedElements);
+ wxPoint2DDouble startPosition = (leftUpCorner + rightDownCorner) / 2.0;
+ for(auto it = pastedElements.begin(), itEnd = pastedElements.end(); it != itEnd; ++it) {
+ Element* element = *it;
+ element->StartMove(startPosition);
+ element->Move(m_camera->GetMousePosition());
+ for(int i = 0; i < (int)element->GetParentList().size(); i++) {
+ Element* parent = element->GetParentList()[i];
+ element->MoveNode(parent, m_camera->GetMousePosition());
+ }
+ }
+ } else {
+ wxMessageDialog dialog(this, _("It was not possible to paste from clipboard."), _("Error"),
+ wxOK | wxCENTER | wxICON_ERROR, wxDefaultPosition);
+ dialog.ShowModal();
+ return false;
+ }
+
+ Redraw();
+ m_mode = MODE_PASTE;
+ m_statusBar->SetStatusText(_("Click to paste."));
+ UpdateStatusBar();
+ return true;
+}
+
+void Workspace::UnselectAll()
+{
+ for(auto it = m_elementList.begin(), itEnd = m_elementList.end(); it != itEnd; it++) {
+ Element* element = *it;
+ element->SetSelected(false);
+ }
+ for(auto it = m_textList.begin(), itEnd = m_textList.end(); it != itEnd; it++) {
+ Text* text = *it;
+ text->SetSelected(false);
+ }
+}
diff --git a/Project/Workspace.h b/Project/Workspace.h
index d0ac2be..21a1a56 100644
--- a/Project/Workspace.h
+++ b/Project/Workspace.h
@@ -6,6 +6,7 @@
#include <wx/dcclient.h>
#include <wx/msgdlg.h>
#include <wx/statusbr.h>
+#include <wx/clipbrd.h>
#include "WorkspaceBase.h"
#include "Bus.h"
@@ -21,6 +22,7 @@ class SyncMotor;
class Load;
class Inductor;
class Capacitor;
+class ElementDataObject;
class Text;
@@ -36,7 +38,8 @@ enum WorkspaceMode {
MODE_DRAG_INSERT_TEXT,
MODE_INSERT,
MODE_INSERT_TEXT,
- MODE_SELECTION_RECT
+ MODE_SELECTION_RECT,
+ MODE_PASTE
};
enum ElementID {
@@ -67,6 +70,9 @@ public:
WorkspaceMode GetWorkspaceMode() const { return m_mode; }
Camera* GetCamera() const { return m_camera; }
+ void CopySelection();
+ bool Paste();
+
wxFileName GetSavedPath() const { return m_savedPath; }
void SetName(wxString name) { m_name = name; }
@@ -79,7 +85,9 @@ public:
void Redraw() { m_glCanvas->Refresh(); }
void RotateSelectedElements(bool clockwise = true);
void DeleteSelectedElements();
+ bool GetElementsCorners(wxPoint2DDouble& leftUpCorner, wxPoint2DDouble& rightDownCorner, std::vector<Element*> elementList);
void Fit();
+ void UnselectAll();
void ValidateBusesVoltages(Element* initialBus);
void ValidateElementsVoltages();