Imported Upstream version 6.2
Tobias Winchen
8 years ago
4 | 4 | |
5 | 5 | Rewrite of Engauge Digitizer from Qt3/Qt4 to Qt5 |
6 | 6 | |
7 | Status | |
8 | ------ | |
9 | This project aims to replace the 10 year old Engauge Digitizer software project that lives on sourceforge.net, with a newer version. The replacement is required since the Qt3 toolkit that Engauge relies on is disappearing. Engauge6 uses the new Qt5 library which should be available for many years. | |
7 | Versions | |
8 | -------- | |
9 | October 25, 2015, version 6.0 is being upgraded to be able to read older Digitizer documents for issue #20. Upgrades for Linux package maintainers have been added. | |
10 | 10 | |
11 | As of September 2015, Engauge6 has: | |
12 | ||
13 | * Over 25,000 lines of Engauge6 C++ code in github | |
14 | * Beta functionality - so user testing is welcome | |
15 | * Issue tracking in the github issue tracker | |
16 | * GitHub wiki for informal communication, and GitHub issue tracker for requirements, bugs, etc. | |
11 | October 23, 2015, version 6.0 of Engauge 6 was released. This is a major rewrite of the 10 year old Engauge Digitizer software project that lives on sourceforge.net. The replacement is required since the Qt3 toolkit that Engauge relies on is disappearing. Engauge6 uses the new Qt5 library which should be available for many years, and also offers many new features. | |
17 | 12 | |
18 | 13 | Developers and users are encouraged to offer their suggestions and comments! |
19 | 14 | |
20 | 15 | Features |
21 | 16 | -------- |
22 | Ideas for new features in Engauge6: | |
23 | ||
24 | 1. Call OpenCV (or ?) to automatically recognize axes and axis coordinates | |
25 | ||
26 | New features already added to Engauge6: | |
17 | New features in Engauge6: | |
27 | 18 | |
28 | 19 | 1. Undo/redo of all operations means recovering from mistakes and experimenting with options is painless |
29 | 20 | 2. Wizard provides an interactive tutorial to explain the basic steps |
40 | 31 | 12. Uploadable error report generated when a programming error is encountered, for identifying problems and improving |
41 | 32 | user support |
42 | 33 | 13. Test suite for regression testing minimizes code breakage as new features are added |
34 | ||
35 | Contributors | |
36 | ------------ | |
37 | Thanks to Zbigniew Jędrzejewski-Szmek, Tamás Nagy, Baurzhan Muftakhidinov, Tobias Winchen and other contributors and users! |
0 | Debian Distributions | |
1 | -------------------- | |
2 | Debian-based distributions, such as Ubuntu and Kubuntu, do not currently offer the newest Engauge Digitizer as | |
3 | packages (although this will hopefully change soon). | |
4 | ||
5 | The Debian installer included in this release has been tested in 32 and 64 bit Kubuntu and Knoppix. | |
6 | ||
7 | Red Hat Distributions | |
8 | --------------------- | |
9 | Red Hat-based distributions, such as Fedora and Centos, offer the newest Engauge Digitizer as packages. | |
10 | ||
11 | Windows | |
12 | ------- | |
13 | The Windows installer included in this release has been tested in Windows XP and Windows 8. |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <!DOCTYPE QtCreatorProject> | |
2 | <!-- Written by QtCreator 3.0.1, 2015-10-29T23:53:44. --> | |
3 | <qtcreator> | |
4 | <data> | |
5 | <variable>ProjectExplorer.Project.ActiveTarget</variable> | |
6 | <value type="int">0</value> | |
7 | </data> | |
8 | <data> | |
9 | <variable>ProjectExplorer.Project.EditorSettings</variable> | |
10 | <valuemap type="QVariantMap"> | |
11 | <value type="bool" key="EditorConfiguration.AutoIndent">true</value> | |
12 | <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value> | |
13 | <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value> | |
14 | <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0"> | |
15 | <value type="QString" key="language">Cpp</value> | |
16 | <valuemap type="QVariantMap" key="value"> | |
17 | <value type="QByteArray" key="CurrentPreferences">CppGlobal</value> | |
18 | </valuemap> | |
19 | </valuemap> | |
20 | <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1"> | |
21 | <value type="QString" key="language">QmlJS</value> | |
22 | <valuemap type="QVariantMap" key="value"> | |
23 | <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value> | |
24 | </valuemap> | |
25 | </valuemap> | |
26 | <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value> | |
27 | <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value> | |
28 | <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> | |
29 | <value type="int" key="EditorConfiguration.IndentSize">4</value> | |
30 | <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value> | |
31 | <value type="bool" key="EditorConfiguration.MouseNavigation">true</value> | |
32 | <value type="int" key="EditorConfiguration.PaddingMode">1</value> | |
33 | <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> | |
34 | <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> | |
35 | <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value> | |
36 | <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> | |
37 | <value type="int" key="EditorConfiguration.TabSize">8</value> | |
38 | <value type="bool" key="EditorConfiguration.UseGlobal">true</value> | |
39 | <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value> | |
40 | <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value> | |
41 | <value type="bool" key="EditorConfiguration.cleanIndentation">true</value> | |
42 | <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value> | |
43 | <value type="bool" key="EditorConfiguration.inEntireDocument">false</value> | |
44 | </valuemap> | |
45 | </data> | |
46 | <data> | |
47 | <variable>ProjectExplorer.Project.PluginSettings</variable> | |
48 | <valuemap type="QVariantMap"/> | |
49 | </data> | |
50 | <data> | |
51 | <variable>ProjectExplorer.Project.Target.0</variable> | |
52 | <valuemap type="QVariantMap"> | |
53 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value> | |
54 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value> | |
55 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{9a861ed4-1705-4ff4-93e4-2b4eb1226fbf}</value> | |
56 | <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> | |
57 | <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> | |
58 | <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> | |
59 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> | |
60 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value> | |
61 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
62 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
63 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
64 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> | |
65 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
66 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> | |
67 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> | |
68 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> | |
69 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> | |
70 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> | |
71 | </valuemap> | |
72 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> | |
73 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
74 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
75 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
76 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
77 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
78 | <value type="QString">-w</value> | |
79 | <value type="QString">-r</value> | |
80 | </valuelist> | |
81 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> | |
82 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> | |
83 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
84 | </valuemap> | |
85 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> | |
86 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> | |
87 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
88 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> | |
89 | </valuemap> | |
90 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> | |
91 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
92 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
93 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
94 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
95 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
96 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
97 | <value type="QString">-w</value> | |
98 | <value type="QString">-r</value> | |
99 | </valuelist> | |
100 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> | |
101 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> | |
102 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
103 | </valuemap> | |
104 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> | |
105 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> | |
106 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
107 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> | |
108 | </valuemap> | |
109 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> | |
110 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> | |
111 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> | |
112 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value> | |
113 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
114 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> | |
115 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> | |
116 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> | |
117 | </valuemap> | |
118 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> | |
119 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value> | |
120 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
121 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
122 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
123 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> | |
124 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
125 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> | |
126 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> | |
127 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> | |
128 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> | |
129 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> | |
130 | </valuemap> | |
131 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> | |
132 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
133 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
134 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
135 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
136 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
137 | <value type="QString">-w</value> | |
138 | <value type="QString">-r</value> | |
139 | </valuelist> | |
140 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> | |
141 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> | |
142 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
143 | </valuemap> | |
144 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> | |
145 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> | |
146 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
147 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> | |
148 | </valuemap> | |
149 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> | |
150 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
151 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
152 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
153 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
154 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
155 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
156 | <value type="QString">-w</value> | |
157 | <value type="QString">-r</value> | |
158 | </valuelist> | |
159 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> | |
160 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> | |
161 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
162 | </valuemap> | |
163 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> | |
164 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> | |
165 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
166 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> | |
167 | </valuemap> | |
168 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> | |
169 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> | |
170 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> | |
171 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> | |
172 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
173 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> | |
174 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> | |
175 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> | |
176 | </valuemap> | |
177 | <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> | |
178 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> | |
179 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
180 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> | |
181 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value> | |
182 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
183 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> | |
184 | </valuemap> | |
185 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> | |
186 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value> | |
187 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
188 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> | |
189 | </valuemap> | |
190 | <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> | |
191 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> | |
192 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> | |
193 | <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> | |
194 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> | |
195 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">true</value> | |
196 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> | |
197 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> | |
198 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> | |
199 | <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> | |
200 | <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> | |
201 | <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> | |
202 | <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> | |
203 | <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> | |
204 | <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> | |
205 | <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value> | |
206 | <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> | |
207 | <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value> | |
208 | <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> | |
209 | <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> | |
210 | <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> | |
211 | <value type="int">0</value> | |
212 | <value type="int">1</value> | |
213 | <value type="int">2</value> | |
214 | <value type="int">3</value> | |
215 | <value type="int">4</value> | |
216 | <value type="int">5</value> | |
217 | <value type="int">6</value> | |
218 | <value type="int">7</value> | |
219 | <value type="int">8</value> | |
220 | <value type="int">9</value> | |
221 | <value type="int">10</value> | |
222 | <value type="int">11</value> | |
223 | <value type="int">12</value> | |
224 | <value type="int">13</value> | |
225 | <value type="int">14</value> | |
226 | </valuelist> | |
227 | <value type="int" key="PE.EnvironmentAspect.Base">2</value> | |
228 | <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> | |
229 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">engauge</value> | |
230 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
231 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/mark/engauge6/engauge.pro</value> | |
232 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments">-debug</value> | |
233 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">engauge.pro</value> | |
234 | <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value> | |
235 | <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value> | |
236 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value> | |
237 | <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> | |
238 | <value type="bool" key="RunConfiguration.UseCppDebugger">true</value> | |
239 | <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value> | |
240 | <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> | |
241 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> | |
242 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> | |
243 | </valuemap> | |
244 | <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> | |
245 | </valuemap> | |
246 | </data> | |
247 | <data> | |
248 | <variable>ProjectExplorer.Project.TargetCount</variable> | |
249 | <value type="int">1</value> | |
250 | </data> | |
251 | <data> | |
252 | <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> | |
253 | <value type="QByteArray">{678e5f8c-72e6-4af0-8c8d-0f1d7ec5995b}</value> | |
254 | </data> | |
255 | <data> | |
256 | <variable>ProjectExplorer.Project.Updater.FileVersion</variable> | |
257 | <value type="int">15</value> | |
258 | </data> | |
259 | </qtcreator> |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <!DOCTYPE QtCreatorProject> | |
2 | <!-- Written by QtCreator 3.0.1, 2015-10-26T23:50:33. --> | |
3 | <qtcreator> | |
4 | <data> | |
5 | <variable>ProjectExplorer.Project.ActiveTarget</variable> | |
6 | <value type="int">0</value> | |
7 | </data> | |
8 | <data> | |
9 | <variable>ProjectExplorer.Project.EditorSettings</variable> | |
10 | <valuemap type="QVariantMap"> | |
11 | <value type="bool" key="EditorConfiguration.AutoIndent">true</value> | |
12 | <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value> | |
13 | <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value> | |
14 | <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0"> | |
15 | <value type="QString" key="language">Cpp</value> | |
16 | <valuemap type="QVariantMap" key="value"> | |
17 | <value type="QByteArray" key="CurrentPreferences">CppGlobal</value> | |
18 | </valuemap> | |
19 | </valuemap> | |
20 | <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1"> | |
21 | <value type="QString" key="language">QmlJS</value> | |
22 | <valuemap type="QVariantMap" key="value"> | |
23 | <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value> | |
24 | </valuemap> | |
25 | </valuemap> | |
26 | <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value> | |
27 | <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value> | |
28 | <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> | |
29 | <value type="int" key="EditorConfiguration.IndentSize">4</value> | |
30 | <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value> | |
31 | <value type="bool" key="EditorConfiguration.MouseNavigation">true</value> | |
32 | <value type="int" key="EditorConfiguration.PaddingMode">1</value> | |
33 | <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> | |
34 | <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> | |
35 | <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value> | |
36 | <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> | |
37 | <value type="int" key="EditorConfiguration.TabSize">8</value> | |
38 | <value type="bool" key="EditorConfiguration.UseGlobal">true</value> | |
39 | <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value> | |
40 | <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value> | |
41 | <value type="bool" key="EditorConfiguration.cleanIndentation">true</value> | |
42 | <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value> | |
43 | <value type="bool" key="EditorConfiguration.inEntireDocument">false</value> | |
44 | </valuemap> | |
45 | </data> | |
46 | <data> | |
47 | <variable>ProjectExplorer.Project.PluginSettings</variable> | |
48 | <valuemap type="QVariantMap"/> | |
49 | </data> | |
50 | <data> | |
51 | <variable>ProjectExplorer.Project.Target.0</variable> | |
52 | <valuemap type="QVariantMap"> | |
53 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value> | |
54 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value> | |
55 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{9a861ed4-1705-4ff4-93e4-2b4eb1226fbf}</value> | |
56 | <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> | |
57 | <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> | |
58 | <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> | |
59 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> | |
60 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value> | |
61 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
62 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
63 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
64 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> | |
65 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
66 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> | |
67 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> | |
68 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> | |
69 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> | |
70 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> | |
71 | </valuemap> | |
72 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> | |
73 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
74 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
75 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
76 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
77 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
78 | <value type="QString">-w</value> | |
79 | <value type="QString">-r</value> | |
80 | </valuelist> | |
81 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> | |
82 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> | |
83 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
84 | </valuemap> | |
85 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> | |
86 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> | |
87 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
88 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> | |
89 | </valuemap> | |
90 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> | |
91 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
92 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
93 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
94 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
95 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
96 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
97 | <value type="QString">-w</value> | |
98 | <value type="QString">-r</value> | |
99 | </valuelist> | |
100 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> | |
101 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> | |
102 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
103 | </valuemap> | |
104 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> | |
105 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> | |
106 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
107 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> | |
108 | </valuemap> | |
109 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> | |
110 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> | |
111 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> | |
112 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value> | |
113 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
114 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> | |
115 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> | |
116 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> | |
117 | </valuemap> | |
118 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> | |
119 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value> | |
120 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
121 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
122 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
123 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> | |
124 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
125 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> | |
126 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> | |
127 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> | |
128 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> | |
129 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> | |
130 | </valuemap> | |
131 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> | |
132 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
133 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
134 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
135 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
136 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
137 | <value type="QString">-w</value> | |
138 | <value type="QString">-r</value> | |
139 | </valuelist> | |
140 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> | |
141 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> | |
142 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
143 | </valuemap> | |
144 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> | |
145 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> | |
146 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
147 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> | |
148 | </valuemap> | |
149 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> | |
150 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
151 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
152 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
153 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
154 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
155 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
156 | <value type="QString">-w</value> | |
157 | <value type="QString">-r</value> | |
158 | </valuelist> | |
159 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> | |
160 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> | |
161 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
162 | </valuemap> | |
163 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> | |
164 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> | |
165 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
166 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> | |
167 | </valuemap> | |
168 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> | |
169 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> | |
170 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> | |
171 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> | |
172 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
173 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> | |
174 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> | |
175 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> | |
176 | </valuemap> | |
177 | <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> | |
178 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> | |
179 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
180 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> | |
181 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value> | |
182 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
183 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> | |
184 | </valuemap> | |
185 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> | |
186 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value> | |
187 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
188 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> | |
189 | </valuemap> | |
190 | <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> | |
191 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> | |
192 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> | |
193 | <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> | |
194 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> | |
195 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">true</value> | |
196 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> | |
197 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> | |
198 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> | |
199 | <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> | |
200 | <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> | |
201 | <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> | |
202 | <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> | |
203 | <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> | |
204 | <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> | |
205 | <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value> | |
206 | <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> | |
207 | <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value> | |
208 | <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> | |
209 | <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> | |
210 | <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> | |
211 | <value type="int">0</value> | |
212 | <value type="int">1</value> | |
213 | <value type="int">2</value> | |
214 | <value type="int">3</value> | |
215 | <value type="int">4</value> | |
216 | <value type="int">5</value> | |
217 | <value type="int">6</value> | |
218 | <value type="int">7</value> | |
219 | <value type="int">8</value> | |
220 | <value type="int">9</value> | |
221 | <value type="int">10</value> | |
222 | <value type="int">11</value> | |
223 | <value type="int">12</value> | |
224 | <value type="int">13</value> | |
225 | <value type="int">14</value> | |
226 | </valuelist> | |
227 | <value type="int" key="PE.EnvironmentAspect.Base">2</value> | |
228 | <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> | |
229 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">engauge</value> | |
230 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
231 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/mark/engauge6/engauge.pro</value> | |
232 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments">-debug</value> | |
233 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">engauge.pro</value> | |
234 | <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value> | |
235 | <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value> | |
236 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value> | |
237 | <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> | |
238 | <value type="bool" key="RunConfiguration.UseCppDebugger">true</value> | |
239 | <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value> | |
240 | <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> | |
241 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> | |
242 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> | |
243 | </valuemap> | |
244 | <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> | |
245 | </valuemap> | |
246 | </data> | |
247 | <data> | |
248 | <variable>ProjectExplorer.Project.TargetCount</variable> | |
249 | <value type="int">1</value> | |
250 | </data> | |
251 | <data> | |
252 | <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> | |
253 | <value type="QByteArray">{678e5f8c-72e6-4af0-8c8d-0f1d7ec5995b}</value> | |
254 | </data> | |
255 | <data> | |
256 | <variable>ProjectExplorer.Project.Updater.FileVersion</variable> | |
257 | <value type="int">15</value> | |
258 | </data> | |
259 | </qtcreator> |
Binary diff not shown
0 | # engauge.pro : Builds make files for engauge executable | |
1 | # | |
2 | # Comments: | |
3 | # 1) Set environment variable ENGAUGE_RELEASE=1 to create a release version without debug information. Releases use | |
4 | # dynamic linking to allow plugins (like Qt Help Collection and some image format libraries) | |
5 | # 2) Remove 'debug' in the CONFIG= line to build without debug information, when not creating a release | |
6 | # 3) Add 'jpeg2000' to the CONFIG= line to include support for JPEG2000 input files. Requires JPEG2000_INCLUDE and JPEG2000_LIB | |
7 | # environment variables. At some point, Qt may provide its own support for this format, at which point this can be skipped | |
8 | # 4) Gratuitous warning about import_qpa_plugin in Fedora is due to 'CONFIG=qt' but that option takes care of | |
9 | # include/library files in an automated and platform-independent manner, so it will not be removed | |
10 | # 5) Set environment variable HELPDIR to override the default directory for the help files. On the command line, use | |
11 | # qmake "DEFINES+=HELPDIR=<directory>". The <directory> is absolute or relative to the application executable directory | |
12 | # | |
13 | # More comments are in the INSTALL file, and below | |
14 | ||
15 | TEMPLATE = app | |
16 | ||
17 | CONFIG = qt warn_on thread debug | |
18 | ||
19 | _ENGAUGE_RELEASE = $$(ENGAUGE_RELEASE) | |
20 | isEmpty(_ENGAUGE_RELEASE) { | |
21 | } else { | |
22 | CONFIG -= debug | |
23 | # Comments: | |
24 | # 1) Release version has warnings enabled so they can be removed | |
25 | # 2) Full coverage requires disabling of ENGAUGE_ASSERT by setting QT_NO_DEBUG | |
26 | # 3) -Wuninitialized requires O1, O2 or O3 optimization | |
27 | DEFINES += QT_NO_DEBUG | |
28 | QMAKE_CXXFLAGS_WARN_ON += -Wreturn-type -O1 -Wuninitialized -Wunused-variable | |
29 | } | |
30 | ||
31 | OBJECTS_DIR = src/.objs | |
32 | MOC_DIR = src/.moc | |
33 | RCC_DIR = src/.rcc | |
34 | ||
35 | HEADERS += \ | |
36 | src/Background/BackgroundImage.h \ | |
37 | src/Background/BackgroundStateAbstractBase.h \ | |
38 | src/Background/BackgroundStateContext.h \ | |
39 | src/Background/BackgroundStateCurve.h \ | |
40 | src/Background/BackgroundStateNone.h \ | |
41 | src/Background/BackgroundStateOriginal.h \ | |
42 | src/Background/BackgroundStateUnloaded.h \ | |
43 | src/Callback/CallbackAddPointsInCurvesGraphs.h \ | |
44 | src/Callback/CallbackAxesCheckerFromAxesPoints.h \ | |
45 | src/Callback/CallbackAxisPointsAbstract.h \ | |
46 | src/Callback/CallbackBoundingRects.h \ | |
47 | src/Callback/CallbackCheckAddPointAxis.h \ | |
48 | src/Callback/CallbackCheckEditPointAxis.h \ | |
49 | src/Callback/CallbackGatherXThetaValuesFunctions.h \ | |
50 | src/Callback/CallbackNextOrdinal.h \ | |
51 | src/Callback/CallbackPointOrdinal.h \ | |
52 | src/Callback/CallbackRemovePointsInCurvesGraphs.h \ | |
53 | src/Callback/CallbackSceneUpdateAfterCommand.h \ | |
54 | src/Callback/CallbackSearchReturn.h \ | |
55 | src/Callback/CallbackUpdateTransform.h \ | |
56 | src/Checker/Checker.h \ | |
57 | src/Checker/CheckerMode.h \ | |
58 | src/Checklist/ChecklistGuide.h \ | |
59 | src/Checklist/ChecklistGuideBrowser.h \ | |
60 | src/Checklist/ChecklistGuidePage.h \ | |
61 | src/Checklist/ChecklistGuidePageConclusion.h \ | |
62 | src/Checklist/ChecklistGuidePageCurves.h \ | |
63 | src/Checklist/ChecklistGuidePageIntro.h \ | |
64 | src/Checklist/ChecklistGuideWizard.h \ | |
65 | src/Checklist/ChecklistLineEdit.h \ | |
66 | src/Checklist/ChecklistTemplate.h \ | |
67 | src/Cmd/CmdAbstract.h \ | |
68 | src/Cmd/CmdAddPointAxis.h \ | |
69 | src/Cmd/CmdAddPointGraph.h \ | |
70 | src/Cmd/CmdAddPointsGraph.h \ | |
71 | src/Cmd/CmdCopy.h \ | |
72 | src/Cmd/CmdCut.h \ | |
73 | src/Cmd/CmdDelete.h \ | |
74 | src/Cmd/CmdEditPointAxis.h \ | |
75 | src/Cmd/CmdFactory.h \ | |
76 | src/Cmd/CmdMediator.h \ | |
77 | src/Cmd/CmdMoveBy.h \ | |
78 | src/Cmd/CmdPaste.h \ | |
79 | src/Cmd/CmdSettingsAxesChecker.h \ | |
80 | src/Cmd/CmdSettingsColorFilter.h \ | |
81 | src/Cmd/CmdSettingsCommon.h \ | |
82 | src/Cmd/CmdSettingsCoords.h \ | |
83 | src/Cmd/CmdSettingsCurveAddRemove.h \ | |
84 | src/Cmd/CmdSettingsCurveProperties.h \ | |
85 | src/Cmd/CmdSettingsDigitizeCurve.h \ | |
86 | src/Cmd/CmdSettingsExportFormat.h \ | |
87 | src/Cmd/CmdSettingsGridRemoval.h \ | |
88 | src/Cmd/CmdSettingsPointMatch.h \ | |
89 | src/Cmd/CmdSettingsSegments.h \ | |
90 | src/Cmd/CmdStackShadow.h \ | |
91 | src/Color/ColorConstants.h \ | |
92 | src/Color/ColorFilter.h \ | |
93 | src/Color/ColorFilterEntry.h \ | |
94 | src/Color/ColorFilterHistogram.h \ | |
95 | src/Color/ColorFilterMode.h \ | |
96 | src/Color/ColorFilterSettings.h \ | |
97 | src/Color/ColorPalette.h \ | |
98 | src/Coord/CoordScale.h \ | |
99 | src/Coord/CoordsType.h \ | |
100 | src/Coord/CoordSymbol.h \ | |
101 | src/Coord/CoordUnitsDate.h \ | |
102 | src/Coord/CoordUnitsNonPolarTheta.h \ | |
103 | src/Coord/CoordUnitsPolarTheta.h \ | |
104 | src/Coord/CoordUnitsTime.h \ | |
105 | src/Correlation/Correlation.h \ | |
106 | src/Cursor/CursorFactory.h \ | |
107 | src/Cursor/CursorSize.h \ | |
108 | src/Curve/Curve.h \ | |
109 | src/Curve/CurveConnectAs.h \ | |
110 | src/Curve/CurveNameList.h \ | |
111 | src/Curve/CurveNameListEntry.h \ | |
112 | src/Curve/CurveSettingsInt.h \ | |
113 | src/Curve/CurvesGraphs.h \ | |
114 | src/Curve/CurveStyle.h \ | |
115 | src/Curve/CurveStyles.h \ | |
116 | src/util/DataKey.h \ | |
117 | src/DigitizeState/DigitizeStateAbstractBase.h \ | |
118 | src/DigitizeState/DigitizeStateAxis.h \ | |
119 | src/DigitizeState/DigitizeStateColorPicker.h \ | |
120 | src/DigitizeState/DigitizeStateContext.h \ | |
121 | src/DigitizeState/DigitizeStateCurve.h \ | |
122 | src/DigitizeState/DigitizeStateEmpty.h \ | |
123 | src/DigitizeState/DigitizeStatePointMatch.h \ | |
124 | src/DigitizeState/DigitizeStateSegment.h \ | |
125 | src/DigitizeState/DigitizeStateSelect.h \ | |
126 | src/Dlg/DlgAbout.h \ | |
127 | src/Dlg/DlgEditPoint.h \ | |
128 | src/Dlg/DlgErrorReport.h \ | |
129 | src/Dlg/DlgFilterCommand.h \ | |
130 | src/Dlg/DlgFilterThread.h \ | |
131 | src/Dlg/DlgFilterWorker.h \ | |
132 | src/Dlg/DlgRequiresTransform.h \ | |
133 | src/Dlg/DlgSettingsAbstractBase.h \ | |
134 | src/Dlg/DlgSettingsAxesChecker.h \ | |
135 | src/Dlg/DlgSettingsColorFilter.h \ | |
136 | src/Dlg/DlgSettingsCommon.h \ | |
137 | src/Dlg/DlgSettingsCoords.h \ | |
138 | src/Dlg/DlgSettingsCurveAddRemove.h \ | |
139 | src/Dlg/DlgSettingsCurveProperties.h \ | |
140 | src/Dlg/DlgSettingsDigitizeCurve.h \ | |
141 | src/Dlg/DlgSettingsExportFormat.h \ | |
142 | src/Dlg/DlgSettingsGridRemoval.h \ | |
143 | src/Dlg/DlgSettingsPointMatch.h \ | |
144 | src/Dlg/DlgSettingsSegments.h \ | |
145 | src/Dlg/DlgValidatorAbstract.h \ | |
146 | src/Dlg/DlgValidatorDateTime.h \ | |
147 | src/Dlg/DlgValidatorDegreesMinutesSeconds.h \ | |
148 | src/Dlg/DlgValidatorFactory.h \ | |
149 | src/Dlg/DlgValidatorNumber.h \ | |
150 | src/Document/Document.h \ | |
151 | src/Document/DocumentModelAbstractBase.h \ | |
152 | src/Document/DocumentModelAxesChecker.h \ | |
153 | src/Document/DocumentModelColorFilter.h \ | |
154 | src/Document/DocumentModelCommon.h \ | |
155 | src/Document/DocumentModelCoords.h \ | |
156 | src/Document/DocumentModelDigitizeCurve.h \ | |
157 | src/Document/DocumentModelExportFormat.h \ | |
158 | src/Document/DocumentModelGridRemoval.h \ | |
159 | src/Document/DocumentModelPointMatch.h \ | |
160 | src/Document/DocumentModelSegments.h \ | |
161 | src/Document/DocumentSerialize.h \ | |
162 | src/include/EngaugeAssert.h \ | |
163 | src/util/EnumsToQt.h \ | |
164 | src/Export/ExportAlignLinear.h \ | |
165 | src/Export/ExportAlignLog.h \ | |
166 | src/Export/ExportDelimiter.h \ | |
167 | src/Export/ExportLayoutFunctions.h \ | |
168 | src/Export/ExportPointsIntervalUnits.h \ | |
169 | src/Export/ExportPointsSelectionFunctions.h \ | |
170 | src/Export/ExportPointsSelectionRelations.h \ | |
171 | src/Export/ExportDelimiter.h \ | |
172 | src/Export/ExportFileAbstractBase.h \ | |
173 | src/Export/ExportFileFunctions.h \ | |
174 | src/Export/ExportFileRelations.h \ | |
175 | src/Export/ExportHeader.h \ | |
176 | src/Export/ExportOrdinalsSmooth.h \ | |
177 | src/Export/ExportOrdinalsStraight.h \ | |
178 | src/Export/ExportToClipboard.h \ | |
179 | src/Export/ExportToFile.h \ | |
180 | src/Export/ExportValuesOrdinal.h \ | |
181 | src/Export/ExportValuesXOrY.h \ | |
182 | src/Export/ExportXThetaValuesMergedFunctions.h \ | |
183 | src/Filter/FilterImage.h \ | |
184 | src/Format/FormatCoordsUnits.h \ | |
185 | src/Format/FormatCoordsUnitsStrategyAbstractBase.h \ | |
186 | src/Format/FormatCoordsUnitsStrategyNonPolarTheta.h \ | |
187 | src/Format/FormatCoordsUnitsStrategyPolarTheta.h \ | |
188 | src/Format/FormatDateTime.h \ | |
189 | src/Format/FormatDegreesMinutesSecondsBase.h \ | |
190 | src/Format/FormatDegreesMinutesSecondsNonPolarTheta.h \ | |
191 | src/Format/FormatDegreesMinutesSecondsPolarTheta.h \ | |
192 | src/Callback/functor.h \ | |
193 | src/Graphics/GraphicsArcItem.h \ | |
194 | src/Graphics/GraphicsItemType.h \ | |
195 | src/Graphics/GraphicsLinesForCurve.h \ | |
196 | src/Graphics/GraphicsLinesForCurves.h \ | |
197 | src/Graphics/GraphicsPoint.h \ | |
198 | src/Graphics/GraphicsPointAbstractBase.h \ | |
199 | src/Graphics/GraphicsPointEllipse.h \ | |
200 | src/Graphics/GraphicsPointFactory.h \ | |
201 | src/Graphics/GraphicsPointPolygon.h \ | |
202 | src/Graphics/GraphicsScene.h \ | |
203 | src/Graphics/GraphicsView.h \ | |
204 | src/Grid/GridClassifier.h \ | |
205 | src/Grid/GridCoordDisable.h \ | |
206 | src/Grid/GridHealer.h \ | |
207 | src/Grid/GridRemoval.h \ | |
208 | src/Help/HelpBrowser.h \ | |
209 | src/Help/HelpWindow.h \ | |
210 | src/Line/LineStyle.h \ | |
211 | src/Load/LoadImageFromUrl.h \ | |
212 | src/Logger/Logger.h \ | |
213 | src/Logger/LoggerUpload.h \ | |
214 | src/main/MainWindow.h \ | |
215 | src/util/MigrateToVersion6.h \ | |
216 | src/Mime/MimePoints.h \ | |
217 | src/util/mmsubs.h \ | |
218 | src/Network/NetworkClient.h \ | |
219 | src/Ordinal/OrdinalGenerator.h \ | |
220 | src/Ordinal/OrdinalToGraphicsPoint.h \ | |
221 | src/Point/Point.h \ | |
222 | src/Point/PointComparator.h \ | |
223 | src/Point/PointIdentifiers.h \ | |
224 | src/Point/PointMatchAlgorithm.h \ | |
225 | src/Point/PointMatchPixel.h \ | |
226 | src/Point/PointMatchTriplet.h \ | |
227 | src/Point/Points.h \ | |
228 | src/Point/PointShape.h \ | |
229 | src/Point/PointStyle.h \ | |
230 | src/util/QtToString.h \ | |
231 | src/Segment/Segment.h \ | |
232 | src/Segment/SegmentFactory.h \ | |
233 | src/Segment/SegmentLine.h \ | |
234 | src/Settings/Settings.h \ | |
235 | src/Spline/Spline.h \ | |
236 | src/Spline/SplineCoeff.h \ | |
237 | src/Spline/SplinePair.h \ | |
238 | src/StatusBar/StatusBar.h \ | |
239 | src/StatusBar/StatusBarMode.h \ | |
240 | src/Transformation/Transformation.h \ | |
241 | src/Transformation/TransformationStateAbstractBase.h \ | |
242 | src/Transformation/TransformationStateContext.h \ | |
243 | src/Transformation/TransformationStateDefined.h \ | |
244 | src/Transformation/TransformationStateUndefined.h \ | |
245 | src/Tutorial/TutorialButton.h \ | |
246 | src/Tutorial/TutorialButtonRect.h \ | |
247 | src/Tutorial/TutorialButtonText.h \ | |
248 | src/Tutorial/TutorialDlg.h \ | |
249 | src/Tutorial/TutorialStateAbstractBase.h \ | |
250 | src/Tutorial/TutorialStateAxisPoints.h \ | |
251 | src/Tutorial/TutorialStateChecklistWizardAbstract.h \ | |
252 | src/Tutorial/TutorialStateChecklistWizardLines.h \ | |
253 | src/Tutorial/TutorialStateChecklistWizardPoints.h \ | |
254 | src/Tutorial/TutorialStateColorFilter.h \ | |
255 | src/Tutorial/TutorialStateContext.h \ | |
256 | src/Tutorial/TutorialStateCurveSelection.h \ | |
257 | src/Tutorial/TutorialStateCurveType.h \ | |
258 | src/Tutorial/TutorialStateIntroduction.h \ | |
259 | src/Tutorial/TutorialStatePointMatch.h \ | |
260 | src/Tutorial/TutorialStateSegmentFill.h \ | |
261 | src/include/ValuesVectorXOrY.h \ | |
262 | src/util/Version.h \ | |
263 | src/View/ViewPointStyle.h \ | |
264 | src/View/ViewPreview.h \ | |
265 | src/View/ViewProfile.h \ | |
266 | src/View/ViewProfileDivider.h \ | |
267 | src/View/ViewProfileParameters.h \ | |
268 | src/View/ViewProfileScale.h \ | |
269 | src/View/ViewSegmentFilter.h \ | |
270 | src/util/Xml.h \ | |
271 | src/include/ZoomFactor.h | |
272 | ||
273 | SOURCES += \ | |
274 | src/Background/BackgroundImage.cpp \ | |
275 | src/Background/BackgroundStateAbstractBase.cpp \ | |
276 | src/Background/BackgroundStateContext.cpp \ | |
277 | src/Background/BackgroundStateCurve.cpp \ | |
278 | src/Background/BackgroundStateNone.cpp \ | |
279 | src/Background/BackgroundStateOriginal.cpp \ | |
280 | src/Background/BackgroundStateUnloaded.cpp \ | |
281 | src/Callback/CallbackAddPointsInCurvesGraphs.cpp \ | |
282 | src/Callback/CallbackAxesCheckerFromAxesPoints.cpp \ | |
283 | src/Callback/CallbackAxisPointsAbstract.cpp \ | |
284 | src/Callback/CallbackBoundingRects.cpp \ | |
285 | src/Callback/CallbackCheckAddPointAxis.cpp \ | |
286 | src/Callback/CallbackCheckEditPointAxis.cpp \ | |
287 | src/Callback/CallbackGatherXThetaValuesFunctions.cpp \ | |
288 | src/Callback/CallbackNextOrdinal.cpp \ | |
289 | src/Callback/CallbackPointOrdinal.cpp \ | |
290 | src/Callback/CallbackRemovePointsInCurvesGraphs.cpp \ | |
291 | src/Callback/CallbackSceneUpdateAfterCommand.cpp \ | |
292 | src/Callback/CallbackUpdateTransform.cpp \ | |
293 | src/Checker/Checker.cpp \ | |
294 | src/Checker/CheckerMode.cpp \ | |
295 | src/Checklist/ChecklistGuide.cpp \ | |
296 | src/Checklist/ChecklistGuideBrowser.cpp \ | |
297 | src/Checklist/ChecklistGuidePage.cpp \ | |
298 | src/Checklist/ChecklistGuidePageConclusion.cpp \ | |
299 | src/Checklist/ChecklistGuidePageCurves.cpp \ | |
300 | src/Checklist/ChecklistGuidePageIntro.cpp \ | |
301 | src/Checklist/ChecklistGuideWizard.cpp \ | |
302 | src/Checklist/ChecklistLineEdit.cpp \ | |
303 | src/Checklist/ChecklistTemplate.cpp \ | |
304 | src/Cmd/CmdAbstract.cpp \ | |
305 | src/Cmd/CmdAddPointAxis.cpp \ | |
306 | src/Cmd/CmdAddPointGraph.cpp \ | |
307 | src/Cmd/CmdAddPointsGraph.cpp \ | |
308 | src/Cmd/CmdCopy.cpp \ | |
309 | src/Cmd/CmdCut.cpp \ | |
310 | src/Cmd/CmdDelete.cpp \ | |
311 | src/Cmd/CmdEditPointAxis.cpp \ | |
312 | src/Cmd/CmdFactory.cpp \ | |
313 | src/Cmd/CmdMediator.cpp \ | |
314 | src/Cmd/CmdMoveBy.cpp \ | |
315 | src/Cmd/CmdPaste.cpp \ | |
316 | src/Cmd/CmdSettingsAxesChecker.cpp \ | |
317 | src/Cmd/CmdSettingsColorFilter.cpp \ | |
318 | src/Cmd/CmdSettingsCommon.cpp \ | |
319 | src/Cmd/CmdSettingsCoords.cpp \ | |
320 | src/Cmd/CmdSettingsCurveAddRemove.cpp \ | |
321 | src/Cmd/CmdSettingsCurveProperties.cpp \ | |
322 | src/Cmd/CmdSettingsDigitizeCurve.cpp \ | |
323 | src/Cmd/CmdSettingsExportFormat.cpp \ | |
324 | src/Cmd/CmdSettingsGridRemoval.cpp \ | |
325 | src/Cmd/CmdSettingsPointMatch.cpp \ | |
326 | src/Cmd/CmdSettingsSegments.cpp \ | |
327 | src/Cmd/CmdStackShadow.cpp \ | |
328 | src/Color/ColorFilter.cpp \ | |
329 | src/Color/ColorFilterHistogram.cpp \ | |
330 | src/Color/ColorFilterMode.cpp \ | |
331 | src/Color/ColorFilterSettings.cpp \ | |
332 | src/Color/ColorPalette.cpp \ | |
333 | src/Coord/CoordScale.cpp \ | |
334 | src/Coord/CoordsType.cpp \ | |
335 | src/Coord/CoordSymbol.cpp \ | |
336 | src/Coord/CoordUnitsDate.cpp \ | |
337 | src/Coord/CoordUnitsNonPolarTheta.cpp \ | |
338 | src/Coord/CoordUnitsPolarTheta.cpp \ | |
339 | src/Coord/CoordUnitsTime.cpp \ | |
340 | src/Correlation/Correlation.cpp \ | |
341 | src/Cursor/CursorFactory.cpp \ | |
342 | src/Cursor/CursorSize.cpp \ | |
343 | src/Curve/Curve.cpp \ | |
344 | src/Curve/CurveConnectAs.cpp \ | |
345 | src/Curve/CurveNameList.cpp \ | |
346 | src/Curve/CurveNameListEntry.cpp \ | |
347 | src/Curve/CurveSettingsInt.cpp \ | |
348 | src/Curve/CurvesGraphs.cpp \ | |
349 | src/Curve/CurveStyle.cpp \ | |
350 | src/Curve/CurveStyles.cpp \ | |
351 | src/util/DataKey.cpp \ | |
352 | src/DigitizeState/DigitizeStateAbstractBase.cpp \ | |
353 | src/DigitizeState/DigitizeStateAxis.cpp \ | |
354 | src/DigitizeState/DigitizeStateColorPicker.cpp \ | |
355 | src/DigitizeState/DigitizeStateContext.cpp \ | |
356 | src/DigitizeState/DigitizeStateCurve.cpp \ | |
357 | src/DigitizeState/DigitizeStateEmpty.cpp \ | |
358 | src/DigitizeState/DigitizeStatePointMatch.cpp \ | |
359 | src/DigitizeState/DigitizeStateSegment.cpp \ | |
360 | src/DigitizeState/DigitizeStateSelect.cpp \ | |
361 | src/Dlg/DlgAbout.cpp \ | |
362 | src/Dlg/DlgEditPoint.cpp \ | |
363 | src/Dlg/DlgErrorReport.cpp \ | |
364 | src/Dlg/DlgFilterCommand.cpp \ | |
365 | src/Dlg/DlgFilterThread.cpp \ | |
366 | src/Dlg/DlgFilterWorker.cpp \ | |
367 | src/Dlg/DlgRequiresTransform.cpp \ | |
368 | src/Dlg/DlgSettingsAbstractBase.cpp \ | |
369 | src/Dlg/DlgSettingsAxesChecker.cpp \ | |
370 | src/Dlg/DlgSettingsColorFilter.cpp \ | |
371 | src/Dlg/DlgSettingsCommon.cpp \ | |
372 | src/Dlg/DlgSettingsCoords.cpp \ | |
373 | src/Dlg/DlgSettingsCurveAddRemove.cpp \ | |
374 | src/Dlg/DlgSettingsCurveProperties.cpp \ | |
375 | src/Dlg/DlgSettingsDigitizeCurve.cpp \ | |
376 | src/Dlg/DlgSettingsExportFormat.cpp \ | |
377 | src/Dlg/DlgSettingsGridRemoval.cpp \ | |
378 | src/Dlg/DlgSettingsPointMatch.cpp \ | |
379 | src/Dlg/DlgSettingsSegments.cpp \ | |
380 | src/Dlg/DlgValidatorAbstract.cpp \ | |
381 | src/Dlg/DlgValidatorDateTime.cpp \ | |
382 | src/Dlg/DlgValidatorDegreesMinutesSeconds.cpp \ | |
383 | src/Dlg/DlgValidatorFactory.cpp \ | |
384 | src/Dlg/DlgValidatorNumber.cpp \ | |
385 | src/Document/Document.cpp \ | |
386 | src/Document/DocumentModelAbstractBase.cpp \ | |
387 | src/Document/DocumentModelAxesChecker.cpp \ | |
388 | src/Document/DocumentModelColorFilter.cpp \ | |
389 | src/Document/DocumentModelCommon.cpp \ | |
390 | src/Document/DocumentModelCoords.cpp \ | |
391 | src/Document/DocumentModelDigitizeCurve.cpp \ | |
392 | src/Document/DocumentModelExportFormat.cpp \ | |
393 | src/Document/DocumentModelGridRemoval.cpp \ | |
394 | src/Document/DocumentModelPointMatch.cpp \ | |
395 | src/Document/DocumentModelSegments.cpp \ | |
396 | src/Document/DocumentSerialize.cpp \ | |
397 | src/util/EnumsToQt.cpp \ | |
398 | src/Export/ExportAlignLinear.cpp \ | |
399 | src/Export/ExportAlignLog.cpp \ | |
400 | src/Export/ExportDelimiter.cpp \ | |
401 | src/Export/ExportFileAbstractBase.cpp \ | |
402 | src/Export/ExportFileFunctions.cpp \ | |
403 | src/Export/ExportFileRelations.cpp \ | |
404 | src/Export/ExportHeader.cpp \ | |
405 | src/Export/ExportLayoutFunctions.cpp \ | |
406 | src/Export/ExportOrdinalsSmooth.cpp \ | |
407 | src/Export/ExportOrdinalsStraight.cpp \ | |
408 | src/Export/ExportPointsIntervalUnits.cpp \ | |
409 | src/Export/ExportPointsSelectionFunctions.cpp \ | |
410 | src/Export/ExportPointsSelectionRelations.cpp \ | |
411 | src/Export/ExportToClipboard.cpp \ | |
412 | src/Export/ExportToFile.cpp \ | |
413 | src/Export/ExportXThetaValuesMergedFunctions.cpp \ | |
414 | src/Filter/FilterImage.cpp \ | |
415 | src/Format/FormatCoordsUnits.cpp \ | |
416 | src/Format/FormatCoordsUnitsStrategyAbstractBase.cpp \ | |
417 | src/Format/FormatCoordsUnitsStrategyNonPolarTheta.cpp \ | |
418 | src/Format/FormatCoordsUnitsStrategyPolarTheta.cpp \ | |
419 | src/Format/FormatDateTime.cpp \ | |
420 | src/Format/FormatDegreesMinutesSecondsBase.cpp \ | |
421 | src/Format/FormatDegreesMinutesSecondsNonPolarTheta.cpp \ | |
422 | src/Format/FormatDegreesMinutesSecondsPolarTheta.cpp \ | |
423 | src/Graphics/GraphicsArcItem.cpp \ | |
424 | src/Graphics/GraphicsLinesForCurve.cpp \ | |
425 | src/Graphics/GraphicsLinesForCurves.cpp \ | |
426 | src/Graphics/GraphicsPoint.cpp \ | |
427 | src/Graphics/GraphicsPointAbstractBase.cpp \ | |
428 | src/Graphics/GraphicsPointEllipse.cpp \ | |
429 | src/Graphics/GraphicsPointFactory.cpp \ | |
430 | src/Graphics/GraphicsPointPolygon.cpp \ | |
431 | src/Graphics/GraphicsScene.cpp \ | |
432 | src/Graphics/GraphicsView.cpp \ | |
433 | src/Grid/GridClassifier.cpp \ | |
434 | src/Grid/GridCoordDisable.cpp \ | |
435 | src/Grid/GridHealer.cpp \ | |
436 | src/Grid/GridRemoval.cpp \ | |
437 | src/Help/HelpBrowser.cpp \ | |
438 | src/Help/HelpWindow.cpp \ | |
439 | src/Line/LineStyle.cpp \ | |
440 | src/Load/LoadImageFromUrl.cpp \ | |
441 | src/Logger/Logger.cpp \ | |
442 | src/Logger/LoggerUpload.cpp \ | |
443 | src/main/main.cpp \ | |
444 | src/main/MainWindow.cpp \ | |
445 | src/util/MigrateToVersion6.cpp \ | |
446 | src/Mime/MimePoints.cpp \ | |
447 | src/util/mmsubs.cpp \ | |
448 | src/Network/NetworkClient.cpp \ | |
449 | src/Ordinal/OrdinalGenerator.cpp \ | |
450 | src/Point/Point.cpp \ | |
451 | src/Point/PointIdentifiers.cpp \ | |
452 | src/Point/PointMatchAlgorithm.cpp \ | |
453 | src/Point/PointMatchPixel.cpp \ | |
454 | src/Point/PointMatchTriplet.cpp \ | |
455 | src/Point/PointShape.cpp \ | |
456 | src/Point/PointStyle.cpp \ | |
457 | src/util/QtToString.cpp \ | |
458 | src/Segment/Segment.cpp \ | |
459 | src/Segment/SegmentFactory.cpp \ | |
460 | src/Segment/SegmentLine.cpp \ | |
461 | src/Settings/Settings.cpp \ | |
462 | src/Spline/Spline.cpp \ | |
463 | src/Spline/SplineCoeff.cpp \ | |
464 | src/Spline/SplinePair.cpp \ | |
465 | src/StatusBar/StatusBar.cpp \ | |
466 | src/Transformation/Transformation.cpp \ | |
467 | src/Transformation/TransformationStateAbstractBase.cpp \ | |
468 | src/Transformation/TransformationStateContext.cpp \ | |
469 | src/Transformation/TransformationStateDefined.cpp \ | |
470 | src/Transformation/TransformationStateUndefined.cpp \ | |
471 | src/Tutorial/TutorialButton.cpp \ | |
472 | src/Tutorial/TutorialButtonRect.cpp \ | |
473 | src/Tutorial/TutorialButtonText.cpp \ | |
474 | src/Tutorial/TutorialDlg.cpp \ | |
475 | src/Tutorial/TutorialStateAbstractBase.cpp \ | |
476 | src/Tutorial/TutorialStateAxisPoints.cpp \ | |
477 | src/Tutorial/TutorialStateChecklistWizardAbstract.cpp \ | |
478 | src/Tutorial/TutorialStateChecklistWizardLines.cpp \ | |
479 | src/Tutorial/TutorialStateChecklistWizardPoints.cpp \ | |
480 | src/Tutorial/TutorialStateColorFilter.cpp \ | |
481 | src/Tutorial/TutorialStateContext.cpp \ | |
482 | src/Tutorial/TutorialStateCurveSelection.cpp \ | |
483 | src/Tutorial/TutorialStateCurveType.cpp \ | |
484 | src/Tutorial/TutorialStateIntroduction.cpp \ | |
485 | src/Tutorial/TutorialStatePointMatch.cpp \ | |
486 | src/Tutorial/TutorialStateSegmentFill.cpp \ | |
487 | src/util/Version.cpp \ | |
488 | src/View/ViewPointStyle.cpp \ | |
489 | src/View/ViewPreview.cpp \ | |
490 | src/View/ViewProfile.cpp \ | |
491 | src/View/ViewProfileDivider.cpp \ | |
492 | src/View/ViewProfileParameters.cpp \ | |
493 | src/View/ViewProfileScale.cpp \ | |
494 | src/View/ViewSegmentFilter.cpp \ | |
495 | src/util/Xml.cpp | |
496 | ||
497 | TARGET = bin/engauge | |
498 | ||
499 | QT += core gui network printsupport widgets xml help | |
500 | ||
501 | win32-g++* { | |
502 | CONFIG += windows | |
503 | LIBS += -L$$(LOG4CPP_HOME)/lib -L$$(FFTW_HOME)/lib | |
504 | } | |
505 | LIBS += -llog4cpp -lfftw3 | |
506 | ||
507 | INCLUDEPATH += src \ | |
508 | src/Background \ | |
509 | src/Callback \ | |
510 | src/Checker \ | |
511 | src/Checklist \ | |
512 | src/Cmd \ | |
513 | src/Color \ | |
514 | src/Coord \ | |
515 | src/Correlation \ | |
516 | src/Cursor \ | |
517 | src/Curve \ | |
518 | src/DigitizeState \ | |
519 | src/Dlg \ | |
520 | src/Document \ | |
521 | src/Export \ | |
522 | src/Filter \ | |
523 | src/Format \ | |
524 | src/Graphics \ | |
525 | src/Grid \ | |
526 | src/Help \ | |
527 | src/img \ | |
528 | src/include \ | |
529 | src/Line \ | |
530 | src/Load \ | |
531 | src/Logger \ | |
532 | src/main \ | |
533 | src/Mime \ | |
534 | src/Network \ | |
535 | src/Ordinal \ | |
536 | src/Plot \ | |
537 | src/Point \ | |
538 | src/Segment \ | |
539 | src/Settings \ | |
540 | src/Spline \ | |
541 | src/StatusBar \ | |
542 | src/Transformation \ | |
543 | src/Tutorial \ | |
544 | src/util \ | |
545 | src/View | |
546 | ||
547 | win32-g++* { | |
548 | INCLUDEPATH += $$(FFTW_HOME)/include \ | |
549 | $$(LOG4CPP_HOME)/include | |
550 | } | |
551 | ||
552 | RESOURCES += \ | |
553 | src/engauge.qrc | |
554 | ||
555 | jpeg2000 { | |
556 | CONFIG(debug,debug|release) { | |
557 | message(Building dynamic debug version with internal support for JPEG2000 files) | |
558 | } else { | |
559 | message(Building static release version with internal support for JPEG2000 files) | |
560 | } | |
561 | _JPEG2000_INCLUDE = $$(JPEG2000_INCLUDE) | |
562 | _JPEG2000_LIB = $$(JPEG2000_LIB) | |
563 | isEmpty(_JPEG2000_INCLUDE) { | |
564 | error("JPEG2000_INCLUDE and JPEG2000_LIB environment variables must be defined") | |
565 | } else { | |
566 | isEmpty(_JPEG2000_LIB) { | |
567 | error("JPEG2000_INCLUDE and JPEG2000_LIB environment variables must be defined") | |
568 | } | |
569 | } | |
570 | DEFINES += "ENGAUGE_JPEG2000" | |
571 | INCLUDEPATH += Jpeg2000 \ | |
572 | $$(JPEG2000_INCLUDE) | |
573 | LIBS += -L$$(JPEG2000_LIB) -lopenjp2 | |
574 | ||
575 | HEADERS += src/Jpeg2000/Jpeg2000.h \ | |
576 | src/Jpeg2000/Jpeg2000Callbacks.h \ | |
577 | src/Jpeg2000/Jpeg2000Color.h \ | |
578 | src/Jpeg2000/Jpeg2000Convert.h \ | |
579 | src/Jpeg2000/Jpeg2000FormatDefs.h | |
580 | ||
581 | SOURCES += src/Jpeg2000/Jpeg2000.cpp \ | |
582 | src/Jpeg2000/Jpeg2000Callbacks.cpp \ | |
583 | src/Jpeg2000/Jpeg2000Color.cpp \ | |
584 | src/Jpeg2000/Jpeg2000Convert.cpp | |
585 | ||
586 | } else { | |
587 | CONFIG(debug,debug|release) { | |
588 | message(Building debug version without internal support for JPEG2000 files) | |
589 | } else { | |
590 | message(Building release version without internal support for JPEG2000 files) | |
591 | } | |
592 | } |
0 | #!/bin/bash | |
1 | ||
2 | export FROMQCH="$HOME/engauge6/bin/documentation/engauge.qch" | |
3 | export FROMQHC="$HOME/engauge6/bin/documentation/engauge.qhc" | |
4 | export FROMICO="$HOME/engauge6/src/img/digitizer.ico" | |
5 | export FROMEXE="$HOME/engauge6/bin/engauge" | |
6 | ||
7 | ls -ls $FROMQCH | awk '{print $7,$8,$9,$10}' | |
8 | ls -ls $FROMQHC | awk '{print $7,$8,$9,$10}' | |
9 | ||
10 | read -p 'If the help input files are up to date, press Enter to continue' | |
11 | ||
12 | VERSION_NUMBER=`fgrep -e 'char *VERSION_NUMBER' ../src/util/Version.cpp | awk -F '"' '{print $2}'` | |
13 | echo "Version number=$VERSION_NUMBER" | |
14 | ||
15 | read -p 'If the version number is correct, press Enter to continue' | |
16 | ||
17 | VERSION_NUMBER=`echo $VERSION_NUMBER | sed 's/\./_/g'` | |
18 | ||
19 | export STAGINGDIR=engauge | |
20 | export DOCDIR=$STAGINGDIR/documentation | |
21 | export IMAGEDIR=$STAGINGDIR/imageformats | |
22 | export PLATFORMSDIR=$STAGINGDIR/platforms | |
23 | export SQLDIR=$STAGINGDIR/sqldrivers | |
24 | ||
25 | rm -rf $STAGINGDIR | |
26 | ||
27 | mkdir -p $STAGINGDIR | |
28 | mkdir -p $DOCDIR | |
29 | mkdir -p $IMAGEDIR | |
30 | mkdir -p $PLATFORMSDIR | |
31 | mkdir -p $SQLDIR | |
32 | ||
33 | echo "***Copying executable" | |
34 | cp $FROMEXE $STAGINGDIR | |
35 | ||
36 | echo "***Copying help input files" | |
37 | cp $FROMQCH $STAGINGDIR/documentation | |
38 | cp $FROMQHC $STAGINGDIR/documentation | |
39 | ||
40 | echo "***Copying icon file" | |
41 | cp $FROMICO $STAGINGDIR | |
42 | ||
43 | echo "***Copying libraries" | |
44 | cp /lib/ld-linux.so.2 $STAGINGDIR | |
45 | cp /usr/lib/i386-linux-gnu/qt5/plugins/imageformats/libqgif.so $IMAGEDIR | |
46 | cp /usr/lib/i386-linux-gnu/qt5/plugins/imageformats/libqico.so $IMAGEDIR | |
47 | cp /usr/lib/i386-linux-gnu/qt5/plugins/imageformats/libqjpeg.so $IMAGEDIR | |
48 | cp /usr/lib/i386-linux-gnu/qt5/plugins/imageformats/libqmng.so $IMAGEDIR | |
49 | cp /usr/lib/i386-linux-gnu/qt5/plugins/imageformats/libqsvg.so $IMAGEDIR | |
50 | cp /usr/lib/i386-linux-gnu/qt5/plugins/imageformats/libqtga.so $IMAGEDIR | |
51 | cp /usr/lib/i386-linux-gnu/qt5/plugins/imageformats/libqtiff.so $IMAGEDIR | |
52 | cp /usr/lib/i386-linux-gnu/qt5/plugins/imageformats/libqwbmp.so $IMAGEDIR | |
53 | cp /usr/lib/i386-linux-gnu/libxcb-image.so.0 $PLATFORMSDIR | |
54 | cp /usr/lib/i386-linux-gnu/libxcb-icccm.so.4 $PLATFORMSDIR | |
55 | cp /usr/lib/i386-linux-gnu/libxcb-render-util.so.0 $PLATFORMSDIR | |
56 | cp /usr/lib/i386-linux-gnu/libxcb-sync.so.1 $PLATFORMSDIR | |
57 | cp /usr/lib/i386-linux-gnu/libxcb-xkb.so.1 $PLATFORMSDIR | |
58 | cp /usr/lib/i386-linux-gnu/libxkbcommon-x11.so.0 $PLATFORMSDIR | |
59 | cp /usr/lib/i386-linux-gnu/libxkbcommon.so.0 $PLATFORMSDIR | |
60 | cp /usr/lib/i386-linux-gnu/qt5/plugins/platforms/libqxcb.so $PLATFORMSDIR | |
61 | cp /usr/lib/i386-linux-gnu/libfftw3.so.3 $STAGINGDIR | |
62 | cp /usr/lib/i386-linux-gnu/libicudata.so.52 $STAGINGDIR | |
63 | cp /usr/lib/i386-linux-gnu/libicui18n.so.52 $STAGINGDIR | |
64 | cp /usr/lib/i386-linux-gnu/libicuuc.so.52 $STAGINGDIR | |
65 | cp /usr/lib/liblog4cpp.so.5 $STAGINGDIR | |
66 | cp /usr/lib/i386-linux-gnu/libQt5CLucene.so.5 $STAGINGDIR | |
67 | cp /usr/lib/i386-linux-gnu/libQt5Core.so.5 $STAGINGDIR | |
68 | cp /usr/lib/i386-linux-gnu/libQt5DBus.so.5 $STAGINGDIR | |
69 | cp /usr/lib/i386-linux-gnu/libQt5Gui.so.5 $STAGINGDIR | |
70 | cp /usr/lib/i386-linux-gnu/libQt5Help.so.5 $STAGINGDIR | |
71 | cp /usr/lib/i386-linux-gnu/libQt5Network.so.5 $STAGINGDIR | |
72 | cp /usr/lib/i386-linux-gnu/libQt5PrintSupport.so.5 $STAGINGDIR | |
73 | cp /usr/lib/i386-linux-gnu/libQt5Sql.so.5 $STAGINGDIR | |
74 | cp /usr/lib/i386-linux-gnu/libQt5Svg.so.5 $STAGINGDIR | |
75 | cp /usr/lib/i386-linux-gnu/libQt5Widgets.so.5 $STAGINGDIR | |
76 | cp /usr/lib/i386-linux-gnu/libQt5Xml.so.5 $STAGINGDIR | |
77 | cp /usr/lib/i386-linux-gnu/qt5/plugins/sqldrivers/libqsqlite.so $SQLDIR | |
78 | ||
79 | echo "***Rebuilding release executable" && | |
80 | export ENGAUGE_RELEASE=1 && | |
81 | cd .. && | |
82 | qmake engauge.pro && | |
83 | make clean && | |
84 | make && | |
85 | cd linux | |
86 | ||
87 | echo "***Compiling installer" | |
88 | cp startup_script.run $STAGINGDIR | |
89 | # './' prefix is needed before script so script is found during installation (especially if running sudo) | |
90 | makeself engauge/ digit-exe-debian-linux-32-bit-installer-$VERSION_NUMBER.run "Engauge Digitizer" ./startup_script.run |
0 | #!/bin/bash | |
1 | ||
2 | read -e -p "Installation directory [/usr/local/engauge]:" -i "/usr/local/engauge" INSTALLDIR | |
3 | ||
4 | PARENTDIR=$INSTALLDIR/.. | |
5 | ||
6 | # First cp duplicates the recursive second cp, but gives a single tidy error about privileges if there is a privilege problem | |
7 | mkdir -p $INSTALLDIR && | |
8 | cp engauge $INSTALLDIR && | |
9 | cp -r . $INSTALLDIR && | |
10 | EXECEXE=$INSTALLDIR/engauge.exe && | |
11 | EXECSCRIPT=$INSTALLDIR/engauge && | |
12 | mv $INSTALLDIR/engauge $EXECEXE && | |
13 | echo "export LD_LIBRARY_PATH=$INSTALLDIR:$INSTALLDIR/platforms" >$EXECSCRIPT && | |
14 | echo "$EXECEXE" >>$EXECSCRIPT && | |
15 | chmod -R 755 $PARENTDIR && | |
16 | chmod +x $EXECSCRIPT && | |
17 | echo "Engauge Digitizer has been installed. Your PATH should include $INSTALLDIR" |
11 | 11 | engauge_test.pro |
12 | 12 | engauge_test.pro.user |
13 | 13 | Makefile* |
14 | object_script.engauge | |
14 | object_script.* | |
15 | 15 | qrc_* |
26 | 26 | m_currentState = NUM_BACKGROUND_STATES; // Value that forces a transition right away |
27 | 27 | requestStateTransition (BACKGROUND_STATE_UNLOADED); |
28 | 28 | completeRequestedStateTransitionIfExists(); |
29 | } | |
30 | ||
31 | void BackgroundStateContext::close() | |
32 | { | |
33 | LOG4CPP_INFO_S ((*mainCat)) << "BackgroundStateContext::close"; | |
34 | ||
35 | // It is safe to transition to the new state immediately since no BackgroundState classes are on the stack | |
36 | requestStateTransition (BACKGROUND_STATE_UNLOADED); | |
37 | completeRequestedStateTransitionIfExists (); | |
29 | 38 | } |
30 | 39 | |
31 | 40 | void BackgroundStateContext::completeRequestedStateTransitionIfExists() |
27 | 27 | public: |
28 | 28 | /// Single constructor |
29 | 29 | BackgroundStateContext(MainWindow &mainWindow); |
30 | ||
31 | /// Open Document is being closed so remove the background | |
32 | void close(); | |
30 | 33 | |
31 | 34 | /// Zoom so background fills the window |
32 | 35 | void fitInView (GraphicsView &view); |
13 | 13 | |
14 | 14 | const int NUM_AXES_POINTS = 3; |
15 | 15 | |
16 | const QString DUMMY_CURVENAME ("dummy"); | |
16 | extern const QString DUMMY_CURVE_NAME; | |
17 | 17 | const int Z_VALUE_IN_FRONT = 100; |
18 | 18 | const int NO_SIDE = -1; |
19 | 19 | |
445 | 445 | |
446 | 446 | const QPointF &pF = *itr; |
447 | 447 | |
448 | Point p (DUMMY_CURVENAME, | |
448 | Point p (DUMMY_CURVE_NAME, | |
449 | 449 | pF, |
450 | 450 | pF); |
451 | 451 | points.push_back (p); |
0 | 0 | #include "Curve.h" |
1 | 1 | #include "CurvesGraphs.h" |
2 | #include "CurveStyle.h" | |
2 | 3 | #include "DocumentSerialize.h" |
3 | 4 | #include "EngaugeAssert.h" |
4 | 5 | #include "Logger.h" |
6 | #include "MigrateToVersion6.h" | |
5 | 7 | #include "Point.h" |
6 | 8 | #include "PointComparator.h" |
9 | #include <QDataStream> | |
7 | 10 | #include <QDebug> |
8 | 11 | #include <QMap> |
9 | 12 | #include <QTextStream> |
15 | 18 | const QString AXIS_CURVE_NAME ("Axes"); |
16 | 19 | const int AXIS_CURVE_ORDINAL = 0; |
17 | 20 | const QString DEFAULT_GRAPH_CURVE_NAME ("Curve1"); |
21 | const QString DUMMY_CURVE_NAME ("dummy"); | |
18 | 22 | const QString TAB_DELIMITER ("\t"); |
19 | 23 | |
20 | 24 | typedef QMap<double, QString> XOrThetaToPointIdentifier; |
34 | 38 | m_colorFilterSettings (curve.colorFilterSettings ()), |
35 | 39 | m_curveStyle (curve.curveStyle ()) |
36 | 40 | { |
41 | } | |
42 | ||
43 | Curve::Curve (QDataStream &str) | |
44 | { | |
45 | MigrateToVersion6 migrate; | |
46 | ||
47 | qint32 int32, xScreen, yScreen; | |
48 | double xGraph, yGraph; | |
49 | ||
50 | str >> m_curveName; | |
51 | str >> int32; | |
52 | m_curveStyle.setPointShape(migrate.pointShape (int32)); | |
53 | str >> int32; | |
54 | m_curveStyle.setPointRadius(int32); | |
55 | str >> int32; | |
56 | m_curveStyle.setPointLineWidth (int32); | |
57 | str >> int32; | |
58 | m_curveStyle.setPointColor(migrate.colorPalette (int32)); | |
59 | str >> int32; // Point interior color | |
60 | str >> int32; | |
61 | m_curveStyle.setLineWidth(int32); | |
62 | str >> int32; | |
63 | if (m_curveName == AXIS_CURVE_NAME) { | |
64 | m_curveStyle.setLineColor(migrate.colorPalette (int32)); | |
65 | } else { | |
66 | m_curveStyle.setLineColor(COLOR_PALETTE_TRANSPARENT); | |
67 | } | |
68 | str >> int32; | |
69 | m_curveStyle.setLineConnectAs(migrate.curveConnectAs (int32)); | |
70 | ||
71 | str >> int32; | |
72 | int count = int32; | |
73 | int ordinal = 0; | |
74 | for (int i = 0; i < count; i++) { | |
75 | ||
76 | str >> xScreen; | |
77 | str >> yScreen; | |
78 | str >> xGraph; | |
79 | str >> yGraph; | |
80 | if (m_curveName == AXIS_CURVE_NAME) { | |
81 | ||
82 | // Axis point, with graph coordinates set by user and managed here | |
83 | Point point (m_curveName, | |
84 | QPointF (xScreen, yScreen), | |
85 | QPointF (xGraph, yGraph), | |
86 | ordinal++); | |
87 | ||
88 | addPoint(point); | |
89 | } else { | |
90 | ||
91 | // Curve point, with graph coordinates managed elsewhere | |
92 | Point point (m_curveName, | |
93 | QPointF (xScreen, yScreen)); | |
94 | point.setOrdinal (ordinal++); | |
95 | ||
96 | addPoint(point); | |
97 | } | |
98 | } | |
37 | 99 | } |
38 | 100 | |
39 | 101 | Curve::Curve (QXmlStreamReader &reader) |
12 | 12 | |
13 | 13 | extern const QString AXIS_CURVE_NAME; |
14 | 14 | extern const QString DEFAULT_GRAPH_CURVE_NAME; |
15 | extern const QString DUMMY_CURVE_NAME; | |
15 | 16 | |
16 | 17 | class CurvesGraphs; |
18 | class QDataStream; | |
17 | 19 | class QTextStream; |
18 | 20 | class QXmlStreamReader; |
19 | 21 | class QXmlStreamWriter; |
27 | 29 | Curve(const QString &curveName, |
28 | 30 | const ColorFilterSettings &colorFilterSettings, |
29 | 31 | const CurveStyle &curveStyle); |
32 | ||
33 | /// Constructor from serialized binary pre-version 6 file | |
34 | Curve (QDataStream &str); | |
30 | 35 | |
31 | 36 | /// Constructor for use when loading from serialized xml |
32 | 37 | Curve (QXmlStreamReader &reader); |
4 | 4 | #include "EngaugeAssert.h" |
5 | 5 | #include "Logger.h" |
6 | 6 | #include "Point.h" |
7 | #include <qdebug.h> | |
7 | 8 | #include <QTextStream> |
8 | 9 | #include <QXmlStreamWriter> |
9 | 10 | #include "Transformation.h" |
138 | 139 | |
139 | 140 | const Curve &curve = *itr; |
140 | 141 | curve.iterateThroughCurvePoints (ftorWithCallback); |
142 | } | |
143 | } | |
144 | ||
145 | void CurvesGraphs::loadPreVersion6(QDataStream &str) | |
146 | { | |
147 | LOG4CPP_INFO_S ((*mainCat)) << "CurvesGraphs::loadPreVersion6"; | |
148 | ||
149 | int i; | |
150 | ||
151 | qint32 numberCurvesGraphs; | |
152 | str >> numberCurvesGraphs; | |
153 | for (i = 0; i < numberCurvesGraphs; i++) { | |
154 | Curve curve (str); | |
155 | m_curvesGraphs.append (curve); | |
156 | } | |
157 | ||
158 | qint32 numberCurvesMeasures; | |
159 | str >> numberCurvesMeasures; | |
160 | for (i = 0; i < numberCurvesMeasures; i++) { | |
161 | Curve curve (str); | |
162 | ||
163 | // Measures get dropped on the floor | |
141 | 164 | } |
142 | 165 | } |
143 | 166 |
51 | 51 | /// Apply functor to Points on all of the Curves. |
52 | 52 | void iterateThroughCurvesPoints (const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback) const; |
53 | 53 | |
54 | /// Load from serialized file | |
54 | /// Load from serialized binary pre-version 6 file | |
55 | void loadPreVersion6 (QDataStream &str); | |
56 | ||
57 | /// Load from serialized xml post-version 5 file | |
55 | 58 | void loadXml(QXmlStreamReader &reader); |
56 | 59 | |
57 | 60 | /// Current number of graphs curves. |
60 | 60 | QWidget *panelButtons = new QWidget (this); |
61 | 61 | QHBoxLayout *buttonLayout = new QHBoxLayout (panelButtons); |
62 | 62 | |
63 | m_btnCancel = new QPushButton (tr ("Cancel")); | |
64 | buttonLayout->addWidget (m_btnCancel); | |
65 | connect (m_btnCancel, SIGNAL (released ()), this, SLOT (slotCancel ())); | |
63 | m_btnOk = new QPushButton (tr ("Ok")); | |
64 | m_btnOk->setEnabled (false); // Nothing to save initially | |
65 | buttonLayout->addWidget (m_btnOk); | |
66 | connect (m_btnOk, SIGNAL (released ()), this, SLOT (slotOk ())); | |
66 | 67 | |
67 | 68 | QSpacerItem *spacer = new QSpacerItem (40, 5, QSizePolicy::Minimum, QSizePolicy::Minimum); |
68 | 69 | buttonLayout->addItem (spacer); |
69 | 70 | |
70 | m_btnOk = new QPushButton (tr ("Ok")); | |
71 | m_btnOk->setEnabled (false); // Nothing to save initially | |
72 | buttonLayout->addWidget (m_btnOk); | |
73 | connect (m_btnOk, SIGNAL (released ()), this, SLOT (slotOk ())); | |
71 | m_btnCancel = new QPushButton (tr ("Cancel")); | |
72 | buttonLayout->addWidget (m_btnCancel); | |
73 | connect (m_btnCancel, SIGNAL (released ()), this, SLOT (slotCancel ())); | |
74 | 74 | |
75 | 75 | panelLayout->addWidget (panelButtons, STRETCH_ON, Qt::AlignRight); |
76 | 76 | panelLayout->setStretch (panelLayout->count () - 1, STRETCH_OFF); |
142 | 142 | layout->addWidget (labelPreview, row++, 0, 1, 4); |
143 | 143 | |
144 | 144 | m_scenePreview = new QGraphicsScene (this); |
145 | m_viewPreview = new ViewPreview (m_scenePreview, this); | |
145 | m_viewPreview = new ViewPreview (m_scenePreview, | |
146 | ViewPreview::VIEW_ASPECT_RATIO_VARIABLE, | |
147 | this); | |
146 | 148 | m_viewPreview->setWhatsThis (tr ("Preview window that shows how current settings affect the displayed axes checker")); |
147 | 149 | m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
148 | 150 | m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
108 | 108 | layout->addWidget (labelPreview, row++, 0, 1, 5); |
109 | 109 | |
110 | 110 | m_scenePreview = new QGraphicsScene (this); |
111 | m_viewPreview = new ViewPreview (m_scenePreview, this); | |
111 | m_viewPreview = new ViewPreview (m_scenePreview, | |
112 | ViewPreview::VIEW_ASPECT_RATIO_VARIABLE, | |
113 | this); | |
112 | 114 | m_viewPreview->setWhatsThis (tr ("Preview window that shows how current settings affect the filtering of the original image.")); |
113 | 115 | m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
114 | 116 | m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
340 | 340 | layout->addWidget (labelPreview, row++, 0, 1, 4); |
341 | 341 | |
342 | 342 | m_scenePreview = new QGraphicsScene (this); |
343 | m_viewPreview = new ViewPreview (m_scenePreview, this); | |
343 | m_viewPreview = new ViewPreview (m_scenePreview, | |
344 | ViewPreview::VIEW_ASPECT_RATIO_VARIABLE, | |
345 | this); | |
344 | 346 | m_viewPreview->setWhatsThis (tr ("Preview window that shows how current settings affect the coordinate system.")); |
345 | 347 | m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
346 | 348 | m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
46 | 46 | { |
47 | 47 | LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsCurveAddRemove::createButtons"; |
48 | 48 | |
49 | m_btnNew = new QPushButton ("New..."); | |
50 | m_btnNew->setWhatsThis (tr ("Adds a new curve to the curve list. The curve name can be edited in the curve name list.\n\n" | |
51 | "If a curve is selected then the new curve will be inserted just before it, otherwise the new curve " | |
52 | "will be added at the end.\n\n" | |
49 | m_btnAdd = new QPushButton ("Add..."); | |
50 | m_btnAdd->setWhatsThis (tr ("Adds a new curve to the curve list. The curve name can be edited in the curve name list.\n\n" | |
53 | 51 | "Every curve name must be unique")); |
54 | m_btnNew->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed); | |
55 | connect (m_btnNew, SIGNAL (released ()), this, SLOT (slotNew())); | |
56 | layout->addWidget (m_btnNew, row, 1, 1, 1, Qt::AlignLeft); | |
52 | m_btnAdd->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed); | |
53 | connect (m_btnAdd, SIGNAL (released ()), this, SLOT (slotNew())); | |
54 | layout->addWidget (m_btnAdd, row, 1, 1, 1, Qt::AlignLeft); | |
57 | 55 | |
58 | 56 | m_btnRemove = new QPushButton ("Remove"); |
59 | 57 | m_btnRemove->setWhatsThis (tr ("Removes the currently selected curve from the curve list.\n\n" |
352 | 350 | |
353 | 351 | QString curveNameSuggestion = nextCurveName (); |
354 | 352 | |
355 | if (m_listCurves->selectionModel ()->selectedIndexes ().count () == 1) { | |
356 | ||
357 | QModelIndex idx = m_listCurves->selectionModel ()->selectedIndexes ().at (0); | |
358 | insertCurveName (idx.row (), | |
359 | curveNameSuggestion, | |
360 | NO_ORIGINAL_CURVE_NAME, | |
361 | NO_POINTS); | |
362 | ||
363 | } else { | |
364 | ||
365 | appendCurveName (curveNameSuggestion, | |
366 | NO_ORIGINAL_CURVE_NAME, | |
367 | NO_POINTS); | |
368 | ||
369 | } | |
353 | appendCurveName (curveNameSuggestion, | |
354 | NO_ORIGINAL_CURVE_NAME, | |
355 | NO_POINTS); | |
370 | 356 | |
371 | 357 | updateControls(); |
372 | 358 | } |
425 | 411 | int numSelectedItems = m_listCurves->selectionModel ()->selectedIndexes ().count (); |
426 | 412 | int numItems = m_curveNameList->rowCount (); |
427 | 413 | |
428 | if (numSelectedItems < 2 ) { | |
429 | ||
430 | // Add or Insert is possible | |
431 | m_btnNew->setEnabled (true); | |
432 | m_btnNew->setText (numSelectedItems == 0 ? "Add" : "Insert"); | |
433 | ||
434 | } else { | |
435 | ||
436 | // Placement of new curve would be ambigous | |
437 | m_btnNew->setEnabled (false); | |
438 | } | |
439 | ||
440 | 414 | // Leave at least one curve |
441 | 415 | m_btnRemove->setEnabled ((numSelectedItems > 0) && (numSelectedItems < numItems)); |
442 | 416 | } |
50 | 50 | void removeSelectedCurves(); |
51 | 51 | void updateControls (); |
52 | 52 | |
53 | QPushButton *m_btnNew; | |
53 | QPushButton *m_btnAdd; | |
54 | 54 | QPushButton *m_btnRemove; |
55 | 55 | QPushButton *m_btnRename; |
56 | 56 |
204 | 204 | layout->addWidget (labelPreview, row++, 0, 1, 4); |
205 | 205 | |
206 | 206 | m_scenePreview = new QGraphicsScene (this); |
207 | m_viewPreview = new ViewPreview (m_scenePreview, this); | |
207 | m_viewPreview = new ViewPreview (m_scenePreview, | |
208 | ViewPreview::VIEW_ASPECT_RATIO_ONE_TO_ONE, | |
209 | this); | |
208 | 210 | m_viewPreview->setWhatsThis (tr ("Preview window that shows how current settings affect the points and line of the selected curve.\n\n" |
209 | 211 | "The X coordinate is in the horizontal direction, and the Y coordinate is in the vertical direction. A " |
210 | 212 | "function can have only one Y value, at most, for any X value, but a relation can have multiple Y values " |
122 | 122 | IMAGE_WIDTH, |
123 | 123 | IMAGE_HEIGHT); |
124 | 124 | |
125 | m_viewPreview = new ViewPreview (m_scenePreview, this); | |
125 | m_viewPreview = new ViewPreview (m_scenePreview, | |
126 | ViewPreview::VIEW_ASPECT_RATIO_VARIABLE, | |
127 | this); | |
126 | 128 | m_viewPreview->setWhatsThis (tr ("Preview window showing the currently selected cursor")); |
127 | 129 | m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
128 | 130 | m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
49 | 49 | layout->addWidget (labelPreview, row++, 0, 1, 5); |
50 | 50 | |
51 | 51 | m_scenePreview = new QGraphicsScene (this); |
52 | m_viewPreview = new ViewPreview (m_scenePreview, this); | |
52 | m_viewPreview = new ViewPreview (m_scenePreview, | |
53 | ViewPreview::VIEW_ASPECT_RATIO_VARIABLE, | |
54 | this); | |
53 | 55 | m_viewPreview->setWhatsThis (tr ("Preview window that shows how current settings affect grid removal")); |
54 | 56 | m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
55 | 57 | m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
124 | 124 | layout->addWidget (labelPreview, row++, 0, 1, 4); |
125 | 125 | |
126 | 126 | m_scenePreview = new QGraphicsScene (this); |
127 | m_viewPreview = new ViewPreview (m_scenePreview, this); | |
127 | m_viewPreview = new ViewPreview (m_scenePreview, | |
128 | ViewPreview::VIEW_ASPECT_RATIO_VARIABLE, | |
129 | this); | |
128 | 130 | m_viewPreview->setWhatsThis (tr ("Preview window shows how current settings affect " |
129 | 131 | "point matching, and how the marked and candidate points are displayed.\n\nThe points are separated " |
130 | 132 | "by the point separation value, and the maximum point size is shown as a box in the center")); |
130 | 130 | layout->addWidget (labelPreview, row++, 0, 1, 4); |
131 | 131 | |
132 | 132 | m_scenePreview = new QGraphicsScene (this); |
133 | m_viewPreview = new ViewPreview (m_scenePreview, this); | |
133 | m_viewPreview = new ViewPreview (m_scenePreview, | |
134 | ViewPreview::VIEW_ASPECT_RATIO_VARIABLE, | |
135 | this); | |
134 | 136 | m_viewPreview->setWhatsThis (tr ("Preview window shows the shortest line that can be segment filled, " |
135 | 137 | "and the effects of current settings on segments and points generated by segment fill")); |
136 | 138 | m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
23 | 23 | #include "Transformation.h" |
24 | 24 | #include "Xml.h" |
25 | 25 | |
26 | const int FOUR_BYTES = 4; | |
27 | ||
26 | 28 | Document::Document (const QImage &image) : |
27 | 29 | m_name ("untitled"), |
28 | 30 | m_curveAxes (new Curve (AXIS_CURVE_NAME, |
30 | 32 | CurveStyle (LineStyle::defaultAxesCurve(), |
31 | 33 | PointStyle::defaultAxesCurve ()))) |
32 | 34 | { |
35 | LOG4CPP_INFO_S ((*mainCat)) << "Document::Document" | |
36 | << " image=" << image.width() << "x" << image.height(); | |
37 | ||
33 | 38 | m_successfulRead = true; // Reading from QImage always succeeds, resulting in empty Document |
34 | 39 | |
35 | 40 | m_pixmap.convertFromImage (image); |
44 | 49 | m_name (fileName), |
45 | 50 | m_curveAxes (0) |
46 | 51 | { |
52 | LOG4CPP_INFO_S ((*mainCat)) << "Document::Document" | |
53 | << " fileName=" << fileName.toLatin1().data(); | |
54 | ||
47 | 55 | m_successfulRead = true; |
48 | 56 | |
57 | // Grab first few bytes to determine the version number | |
49 | 58 | QFile *file = new QFile (fileName); |
50 | if (file->open (QIODevice::ReadOnly | QIODevice::Text)) { | |
51 | ||
52 | QXmlStreamReader reader (file); | |
53 | ||
54 | // If this is purely a serialized Document then we process every node under the root. However, if this is an error report file | |
55 | // then we need to skip the non-Document stuff. The common solution is to skip nodes outside the Document subtree using this flag | |
56 | bool inDocumentSubtree = false; | |
57 | ||
58 | // Import from xml. Loop to end of data or error condition occurs, whichever is first | |
59 | while (!reader.atEnd() && | |
60 | !reader.hasError()) { | |
61 | QXmlStreamReader::TokenType tokenType = loadNextFromReader(reader); | |
62 | ||
63 | // Special processing of DOCUMENT_SERIALIZE_IMAGE outside DOCUMENT_SERIALIZE_DOCUMENT, for an error report file | |
64 | if ((reader.name() == DOCUMENT_SERIALIZE_IMAGE) && | |
65 | (tokenType == QXmlStreamReader::StartElement)) { | |
66 | ||
67 | generateEmptyPixmap (reader.attributes()); | |
59 | if (file->open(QIODevice::ReadOnly)) { | |
60 | ||
61 | QByteArray bytesStart = file->read (FOUR_BYTES); | |
62 | file->close (); | |
63 | ||
64 | if (bytesIndicatePreVersion6 (bytesStart)) { | |
65 | ||
66 | QFile *file = new QFile (fileName); | |
67 | if (file->open (QIODevice::ReadOnly)) { | |
68 | QDataStream str (file); | |
69 | ||
70 | loadPreVersion6 (str); | |
71 | ||
72 | } else { | |
73 | ||
74 | m_successfulRead = false; | |
75 | m_reasonForUnsuccessfulRead = "Operating system says file is not readable"; | |
76 | ||
68 | 77 | } |
69 | ||
70 | // Branching to skip non-Document nodes, with the exception of any DOCUMENT_SERIALIZE_IMAGE outside DOCUMENT_SERIALIZE_DOCUMENT | |
71 | if ((reader.name() == DOCUMENT_SERIALIZE_DOCUMENT) && | |
72 | (tokenType == QXmlStreamReader::StartElement)) { | |
73 | ||
74 | inDocumentSubtree = true; | |
75 | ||
76 | } else if ((reader.name() == DOCUMENT_SERIALIZE_DOCUMENT) && | |
77 | (tokenType == QXmlStreamReader::EndElement)) { | |
78 | ||
79 | // Exit out of loop immediately | |
80 | break; | |
81 | } | |
82 | ||
83 | if (inDocumentSubtree) { | |
84 | ||
85 | // Iterate to next StartElement | |
86 | if (tokenType == QXmlStreamReader::StartElement) { | |
87 | ||
88 | // This is a StartElement, so process it | |
89 | QString tag = reader.name().toString(); | |
90 | if (tag == DOCUMENT_SERIALIZE_AXES_CHECKER){ | |
91 | m_modelAxesChecker.loadXml (reader); | |
92 | } else if (tag == DOCUMENT_SERIALIZE_COMMON) { | |
93 | m_modelCommon.loadXml (reader); | |
94 | } else if (tag == DOCUMENT_SERIALIZE_COORDS) { | |
95 | m_modelCoords.loadXml (reader); | |
96 | } else if (tag == DOCUMENT_SERIALIZE_CURVE) { | |
97 | m_curveAxes = new Curve (reader); | |
98 | } else if (tag == DOCUMENT_SERIALIZE_CURVES_GRAPHS) { | |
99 | m_curvesGraphs.loadXml (reader); | |
100 | } else if (tag == DOCUMENT_SERIALIZE_DIGITIZE_CURVE) { | |
101 | m_modelDigitizeCurve.loadXml (reader); | |
102 | } else if (tag == DOCUMENT_SERIALIZE_DOCUMENT) { | |
103 | // Do nothing. This is the root node | |
104 | } else if (tag == DOCUMENT_SERIALIZE_EXPORT) { | |
105 | m_modelExport.loadXml (reader); | |
106 | } else if (tag == DOCUMENT_SERIALIZE_GRID_REMOVAL) { | |
107 | m_modelGridRemoval.loadXml (reader); | |
108 | } else if (tag == DOCUMENT_SERIALIZE_IMAGE) { | |
109 | // A standard Document file has DOCUMENT_SERIALIZE_IMAGE inside DOCUMENT_SERIALIZE_DOCUMENT, versus an error report file | |
110 | loadImage(reader); | |
111 | } else if (tag == DOCUMENT_SERIALIZE_POINT_MATCH) { | |
112 | m_modelPointMatch.loadXml (reader); | |
113 | } else if (tag == DOCUMENT_SERIALIZE_SEGMENTS) { | |
114 | m_modelSegments.loadXml (reader); | |
115 | } else { | |
116 | m_successfulRead = false; | |
117 | m_reasonForUnsuccessfulRead = QString ("Unexpected xml token '%1' encountered").arg (tokenType); | |
118 | break; | |
119 | } | |
120 | } | |
78 | } else { | |
79 | ||
80 | QFile *file = new QFile (fileName); | |
81 | if (file->open (QIODevice::ReadOnly | QIODevice::Text)) { | |
82 | ||
83 | QXmlStreamReader reader (file); | |
84 | ||
85 | loadPostVersion5 (reader); | |
86 | ||
87 | // Close and deactivate | |
88 | file->close (); | |
89 | delete file; | |
90 | file = 0; | |
91 | ||
92 | } else { | |
93 | ||
94 | m_successfulRead = false; | |
95 | m_reasonForUnsuccessfulRead = "Operating system says file is not readable"; | |
121 | 96 | } |
122 | 97 | } |
123 | if (reader.hasError ()) { | |
124 | ||
125 | m_successfulRead = false; | |
126 | m_reasonForUnsuccessfulRead = reader.errorString(); | |
127 | } | |
128 | ||
129 | // Close and deactivate | |
98 | } else { | |
130 | 99 | file->close (); |
131 | delete file; | |
132 | file = 0; | |
133 | ||
134 | } else { | |
135 | ||
136 | 100 | m_successfulRead = false; |
137 | m_reasonForUnsuccessfulRead = "Operating system says file is not readable"; | |
138 | } | |
139 | ||
140 | // There are already one axes curve and at least one graph curve so we do not need to add any more graph curves | |
101 | m_reasonForUnsuccessfulRead = QString ("File '%1' was not found") | |
102 | .arg (fileName); | |
103 | ||
104 | } | |
141 | 105 | } |
142 | 106 | |
143 | 107 | void Document::addGraphCurveAtEnd (const QString &curveName) |
232 | 196 | curvesGraphs.iterateThroughCurvesPoints (ftorWithCallback); |
233 | 197 | } |
234 | 198 | |
199 | bool Document::bytesIndicatePreVersion6 (const QByteArray &bytes) const | |
200 | { | |
201 | QByteArray preVersion6MagicNumber; | |
202 | preVersion6MagicNumber.resize (FOUR_BYTES); | |
203 | preVersion6MagicNumber[0] = 0x00; | |
204 | preVersion6MagicNumber[1] = 0x00; | |
205 | preVersion6MagicNumber[2] = 0xCA; | |
206 | preVersion6MagicNumber[3] = 0xFE; | |
207 | ||
208 | return (bytes == preVersion6MagicNumber); | |
209 | } | |
210 | ||
235 | 211 | void Document::checkAddPointAxis (const QPointF &posScreen, |
236 | 212 | const QPointF &posGraph, |
237 | 213 | bool &isError, |
422 | 398 | // 1) File is broken |
423 | 399 | // 2) Bad character is in text, and NetworkClient::cleanXml did not do its job |
424 | 400 | reader.raiseError ("Cannot read image data"); |
401 | } | |
402 | } | |
403 | ||
404 | void Document::loadPostVersion5 (QXmlStreamReader &reader) | |
405 | { | |
406 | LOG4CPP_INFO_S ((*mainCat)) << "Document::loadPostVersion5"; | |
407 | ||
408 | // If this is purely a serialized Document then we process every node under the root. However, if this is an error report file | |
409 | // then we need to skip the non-Document stuff. The common solution is to skip nodes outside the Document subtree using this flag | |
410 | bool inDocumentSubtree = false; | |
411 | ||
412 | // Import from xml. Loop to end of data or error condition occurs, whichever is first | |
413 | while (!reader.atEnd() && | |
414 | !reader.hasError()) { | |
415 | QXmlStreamReader::TokenType tokenType = loadNextFromReader(reader); | |
416 | ||
417 | // Special processing of DOCUMENT_SERIALIZE_IMAGE outside DOCUMENT_SERIALIZE_DOCUMENT, for an error report file | |
418 | if ((reader.name() == DOCUMENT_SERIALIZE_IMAGE) && | |
419 | (tokenType == QXmlStreamReader::StartElement)) { | |
420 | ||
421 | generateEmptyPixmap (reader.attributes()); | |
422 | } | |
423 | ||
424 | // Branching to skip non-Document nodes, with the exception of any DOCUMENT_SERIALIZE_IMAGE outside DOCUMENT_SERIALIZE_DOCUMENT | |
425 | if ((reader.name() == DOCUMENT_SERIALIZE_DOCUMENT) && | |
426 | (tokenType == QXmlStreamReader::StartElement)) { | |
427 | ||
428 | inDocumentSubtree = true; | |
429 | ||
430 | } else if ((reader.name() == DOCUMENT_SERIALIZE_DOCUMENT) && | |
431 | (tokenType == QXmlStreamReader::EndElement)) { | |
432 | ||
433 | // Exit out of loop immediately | |
434 | break; | |
435 | } | |
436 | ||
437 | if (inDocumentSubtree) { | |
438 | ||
439 | // Iterate to next StartElement | |
440 | if (tokenType == QXmlStreamReader::StartElement) { | |
441 | ||
442 | // This is a StartElement, so process it | |
443 | QString tag = reader.name().toString(); | |
444 | if (tag == DOCUMENT_SERIALIZE_AXES_CHECKER){ | |
445 | m_modelAxesChecker.loadXml (reader); | |
446 | } else if (tag == DOCUMENT_SERIALIZE_COMMON) { | |
447 | m_modelCommon.loadXml (reader); | |
448 | } else if (tag == DOCUMENT_SERIALIZE_COORDS) { | |
449 | m_modelCoords.loadXml (reader); | |
450 | } else if (tag == DOCUMENT_SERIALIZE_CURVE) { | |
451 | m_curveAxes = new Curve (reader); | |
452 | } else if (tag == DOCUMENT_SERIALIZE_CURVES_GRAPHS) { | |
453 | m_curvesGraphs.loadXml (reader); | |
454 | } else if (tag == DOCUMENT_SERIALIZE_DIGITIZE_CURVE) { | |
455 | m_modelDigitizeCurve.loadXml (reader); | |
456 | } else if (tag == DOCUMENT_SERIALIZE_DOCUMENT) { | |
457 | // Do nothing. This is the root node | |
458 | } else if (tag == DOCUMENT_SERIALIZE_EXPORT) { | |
459 | m_modelExport.loadXml (reader); | |
460 | } else if (tag == DOCUMENT_SERIALIZE_GRID_REMOVAL) { | |
461 | m_modelGridRemoval.loadXml (reader); | |
462 | } else if (tag == DOCUMENT_SERIALIZE_IMAGE) { | |
463 | // A standard Document file has DOCUMENT_SERIALIZE_IMAGE inside DOCUMENT_SERIALIZE_DOCUMENT, versus an error report file | |
464 | loadImage(reader); | |
465 | } else if (tag == DOCUMENT_SERIALIZE_POINT_MATCH) { | |
466 | m_modelPointMatch.loadXml (reader); | |
467 | } else if (tag == DOCUMENT_SERIALIZE_SEGMENTS) { | |
468 | m_modelSegments.loadXml (reader); | |
469 | } else { | |
470 | m_successfulRead = false; | |
471 | m_reasonForUnsuccessfulRead = QString ("Unexpected xml token '%1' encountered").arg (tokenType); | |
472 | break; | |
473 | } | |
474 | } | |
475 | } | |
476 | } | |
477 | if (reader.hasError ()) { | |
478 | ||
479 | m_successfulRead = false; | |
480 | m_reasonForUnsuccessfulRead = reader.errorString(); | |
481 | } | |
482 | ||
483 | // There are already one axes curve and at least one graph curve so we do not need to add any more graph curves | |
484 | } | |
485 | ||
486 | void Document::loadPreVersion6 (QDataStream &str) | |
487 | { | |
488 | LOG4CPP_INFO_S ((*mainCat)) << "Document::loadPreVersion6"; | |
489 | ||
490 | qint32 int32; | |
491 | double dbl, versionDouble, radius = 0.0; | |
492 | QString st; | |
493 | ||
494 | str >> int32; // Magic number | |
495 | str >> versionDouble; | |
496 | str >> st; // Version string | |
497 | str >> int32; // Background | |
498 | str >> m_pixmap; | |
499 | str >> m_name; | |
500 | str >> st; // CurveCmbText selection | |
501 | str >> st; // MeasureCmbText selection | |
502 | str >> int32; | |
503 | m_modelCoords.setCoordsType((CoordsType) int32); | |
504 | if (versionDouble >= 3) { | |
505 | str >> (double &) radius; | |
506 | } | |
507 | m_modelCoords.setOriginRadius(radius); | |
508 | str >> int32; | |
509 | m_modelCoords.setCoordUnitsRadius(COORD_UNITS_NON_POLAR_THETA_NUMBER); | |
510 | m_modelCoords.setCoordUnitsTheta((CoordUnitsPolarTheta) int32); | |
511 | str >> int32; | |
512 | m_modelCoords.setCoordScaleXTheta((CoordScale) int32); | |
513 | str >> int32; | |
514 | m_modelCoords.setCoordScaleYRadius((CoordScale) int32); | |
515 | ||
516 | str >> int32; | |
517 | m_modelExport.setDelimiter((ExportDelimiter) int32); | |
518 | str >> int32; | |
519 | m_modelExport.setLayoutFunctions((ExportLayoutFunctions) int32); | |
520 | str >> int32; | |
521 | m_modelExport.setPointsSelectionFunctions((ExportPointsSelectionFunctions) int32); | |
522 | m_modelExport.setPointsIntervalUnitsRelations((ExportPointsIntervalUnits) int32); | |
523 | str >> int32; | |
524 | m_modelExport.setHeader((ExportHeader) int32); | |
525 | if (versionDouble >= 5.2) { | |
526 | str >> st; // X label | |
527 | if (m_modelCoords.coordsType() == COORDS_TYPE_CARTESIAN) { | |
528 | m_modelExport.setXLabel(st); | |
529 | } | |
530 | str >> st; // Theta label | |
531 | if (m_modelCoords.coordsType() == COORDS_TYPE_POLAR) { | |
532 | m_modelExport.setXLabel(st); | |
533 | } | |
534 | } | |
535 | ||
536 | // Stable flag in m_modelGridRemoval is set below after points are read in | |
537 | str >> int32; // Remove thin lines parallel to axes | |
538 | str >> dbl; // Thin thickness | |
539 | str >> int32; | |
540 | m_modelGridRemoval.setRemoveDefinedGridLines(int32); | |
541 | str >> int32; // Initialized | |
542 | str >> int32; | |
543 | m_modelGridRemoval.setCountX(int32); | |
544 | str >> int32; | |
545 | m_modelGridRemoval.setCountY(int32); | |
546 | str >> int32; | |
547 | m_modelGridRemoval.setGridCoordDisableX((GridCoordDisable) int32); | |
548 | str >> int32; | |
549 | m_modelGridRemoval.setGridCoordDisableY((GridCoordDisable) int32); | |
550 | str >> dbl; | |
551 | m_modelGridRemoval.setStartX(dbl); | |
552 | str >> dbl; | |
553 | m_modelGridRemoval.setStartY(dbl); | |
554 | str >> dbl; | |
555 | m_modelGridRemoval.setStepX(dbl); | |
556 | str >> dbl; | |
557 | m_modelGridRemoval.setStepY(dbl); | |
558 | str >> dbl; | |
559 | m_modelGridRemoval.setStopX(dbl); | |
560 | str >> dbl; | |
561 | m_modelGridRemoval.setStopY(dbl); | |
562 | str >> dbl; | |
563 | m_modelGridRemoval.setCloseDistance(dbl); | |
564 | str >> int32; // Boolean remove color flag | |
565 | if (versionDouble >= 5) { | |
566 | QColor color; | |
567 | str >> color; | |
568 | } else { | |
569 | str >> int32; // Rgb color | |
570 | } | |
571 | str >> int32; // Foreground threshold low | |
572 | str >> int32; // Foreground threshold high | |
573 | str >> dbl; // Gap separation | |
574 | ||
575 | str >> int32; // Grid display is initialized flag | |
576 | str >> int32; // X count | |
577 | str >> int32; // Y count | |
578 | str >> int32; // X parameter | |
579 | str >> int32; // Y parameter | |
580 | str >> dbl; // X start | |
581 | str >> dbl; // Y start | |
582 | str >> dbl; // X step | |
583 | str >> dbl; // Y step | |
584 | str >> dbl; // X stop | |
585 | str >> dbl; // Y stop | |
586 | ||
587 | str >> int32; | |
588 | m_modelSegments.setMinLength(int32); | |
589 | str >> int32; | |
590 | m_modelSegments.setPointSeparation(int32); | |
591 | str >> int32; | |
592 | m_modelSegments.setLineWidth(int32); | |
593 | str >> int32; | |
594 | m_modelSegments.setLineColor((ColorPalette) int32); | |
595 | ||
596 | str >> int32; // Point separation | |
597 | str >> int32; | |
598 | m_modelPointMatch.setMaxPointSize(int32); | |
599 | str >> int32; | |
600 | m_modelPointMatch.setPaletteColorAccepted((ColorPalette) int32); | |
601 | str >> int32; | |
602 | m_modelPointMatch.setPaletteColorRejected((ColorPalette) int32); | |
603 | if (versionDouble < 4) { | |
604 | m_modelPointMatch.setPaletteColorCandidate(COLOR_PALETTE_BLUE); | |
605 | } else { | |
606 | str >> int32; | |
607 | m_modelPointMatch.setPaletteColorCandidate((ColorPalette) int32); | |
608 | } | |
609 | ||
610 | str >> int32; // Discretize method | |
611 | str >> int32; // Intensity threshold low | |
612 | str >> int32; // Intensity threshold high | |
613 | str >> int32; // Foreground threshold low | |
614 | str >> int32; // Foreground threshold high | |
615 | str >> int32; // Hue threshold low | |
616 | str >> int32; // Hue threshold high | |
617 | str >> int32; // Saturation threshold low | |
618 | str >> int32; // Saturation threshold high | |
619 | str >> int32; // Value threshold low | |
620 | str >> int32; // Value threshold high | |
621 | ||
622 | m_curveAxes = new Curve (str); | |
623 | Curve curveScale (str); // Scales are dropped on the floor | |
624 | m_curvesGraphs.loadPreVersion6 (str); | |
625 | ||
626 | // Information from curves and points can affect some data structures that were (mostly) set earlier | |
627 | if (m_curveAxes->numPoints () > 2) { | |
628 | m_modelGridRemoval.setStable(); | |
425 | 629 | } |
426 | 630 | } |
427 | 631 |
18 | 18 | #include <QXmlStreamReader> |
19 | 19 | |
20 | 20 | class Curve; |
21 | class QByteArray; | |
21 | 22 | class QImage; |
22 | 23 | class QTransform; |
23 | 24 | class QXmlStreamWriter; |
230 | 231 | private: |
231 | 232 | Document (); |
232 | 233 | |
234 | bool bytesIndicatePreVersion6 (const QByteArray &bytes) const; | |
233 | 235 | Curve *curveForCurveName (const QString &curveName); // For use by Document only. External classes should use functors |
234 | 236 | void generateEmptyPixmap(const QXmlStreamAttributes &attributes); |
235 | 237 | void loadCurvesGraphs(QXmlStreamReader &reader); |
236 | 238 | void loadImage(QXmlStreamReader &reader); |
239 | void loadPostVersion5 (QXmlStreamReader &reader); | |
240 | void loadPreVersion6 (QDataStream &str); | |
237 | 241 | |
238 | 242 | // Metadata |
239 | 243 | QString m_name; |
0 | 0 | #include "DataKey.h" |
1 | #include "Document.h" | |
1 | 2 | #include "GraphicsItemType.h" |
2 | 3 | #include "GraphicsView.h" |
3 | 4 | #include "Logger.h" |
5 | 6 | #include "Point.h" |
6 | 7 | #include <QApplication> |
7 | 8 | #include <QDebug> |
9 | #include <QDropEvent> | |
8 | 10 | #include <QGraphicsPixmapItem> |
9 | 11 | #include <QGraphicsPolygonItem> |
10 | 12 | #include <QGraphicsScene> |
20 | 22 | QGraphicsView (scene) |
21 | 23 | { |
22 | 24 | connect (this, SIGNAL (signalContextMenuEvent (QString)), &mainWindow, SLOT (slotContextMenuEvent (QString))); |
25 | connect (this, SIGNAL (signalDraggedDigFile (QString)), &mainWindow, SLOT (slotFileOpenDraggedDigFile (QString))); | |
23 | 26 | connect (this, SIGNAL (signalDraggedImage (QImage)), &mainWindow, SLOT (slotFileImportDraggedImage (QImage))); |
24 | 27 | connect (this, SIGNAL (signalDraggedImageUrl (QUrl)), &mainWindow, SLOT (slotFileImportDraggedImageUrl (QUrl))); |
25 | 28 | connect (this, SIGNAL (signalKeyPress (Qt::Key, bool)), &mainWindow, SLOT (slotKeyPress (Qt::Key, bool))); |
100 | 103 | |
101 | 104 | void GraphicsView::dropEvent (QDropEvent *event) |
102 | 105 | { |
103 | LOG4CPP_INFO_S ((*mainCat)) << "GraphicsView::dropEvent"; | |
106 | LOG4CPP_INFO_S ((*mainCat)) << "GraphicsView::dropEvent" | |
107 | << " formats=" << event->mimeData()->formats().join (", ").toLatin1().data(); | |
108 | ||
109 | const QString MIME_FORMAT_TEXT_PLAIN ("text/plain"); | |
104 | 110 | |
105 | 111 | // This code is not specific to a digitizing state so it is implemented here |
106 | 112 | |
114 | 120 | str << " url=" << url.toString () << " "; |
115 | 121 | } |
116 | 122 | |
117 | if (event->mimeData ()->hasImage ()) { | |
123 | if (loadsAsDigFile (event->mimeData()->data (MIME_FORMAT_TEXT_PLAIN))) { | |
124 | ||
125 | LOG4CPP_INFO_S ((*mainCat)) << "QGraphicsView::dropEvent dig file"; | |
126 | QUrl url (event->mimeData()->data(MIME_FORMAT_TEXT_PLAIN)); | |
127 | emit signalDraggedDigFile (url.toLocalFile()); | |
128 | event->acceptProposedAction(); | |
129 | ||
130 | } else if (event->mimeData ()->hasImage ()) { | |
118 | 131 | |
119 | 132 | // This branch never seems to get executed, but will be kept in case it ever applies (since hasUrls branch is messier and less reliable) |
120 | 133 | QImage image = qvariant_cast<QImage> (event->mimeData ()->imageData ()); |
121 | 134 | LOG4CPP_INFO_S ((*mainCat)) << "GraphicsView::dropEvent image"; |
122 | 135 | emit signalDraggedImage (image); |
123 | 136 | |
124 | } else if (event->mimeData ()->hasUrls ()) { | |
137 | } else if (event->mimeData ()->hasUrls () && | |
138 | event->mimeData ()->urls().count () > 0) { | |
125 | 139 | |
126 | 140 | // Sometimes images can be dragged in, but sometimes the url points to an html page that |
127 | 141 | // contains just the image, in which case importing will fail |
181 | 195 | QGraphicsView::leaveEvent (event); |
182 | 196 | } |
183 | 197 | |
198 | bool GraphicsView::loadsAsDigFile (const QString &urlString) const | |
199 | { | |
200 | LOG4CPP_INFO_S ((*mainCat)) << "GraphicsView::loadsAsDigFile"; | |
201 | ||
202 | QUrl url (urlString); | |
203 | Document document (url.toLocalFile()); | |
204 | ||
205 | return document.successfulRead(); | |
206 | } | |
207 | ||
184 | 208 | void GraphicsView::mouseMoveEvent (QMouseEvent *event) |
185 | 209 | { |
186 | 210 | // LOG4CPP_DEBUG_S ((*mainCat)) << "GraphicsView::mouseMoveEvent cursor=" |
5 | 5 | #include <QUrl> |
6 | 6 | |
7 | 7 | class MainWindow; |
8 | class QByteArray; | |
8 | 9 | class QGraphicsPixmapItem; |
9 | 10 | class QGraphicsScene; |
10 | 11 | |
50 | 51 | /// Send right click on axis point to MainWindow for editing. |
51 | 52 | void signalContextMenuEvent (QString pointIdentifier); |
52 | 53 | |
54 | /// Send dragged dig file to MainWindow for import. This comes from dragging an engauge dig file | |
55 | void signalDraggedDigFile (QString); | |
56 | ||
53 | 57 | /// Send dragged image to MainWindow for import. This typically comes from dragging a file |
54 | 58 | void signalDraggedImage (QImage); |
55 | 59 | |
75 | 79 | GraphicsView(); |
76 | 80 | |
77 | 81 | bool inBounds (const QPointF &posScreen); |
82 | bool loadsAsDigFile (const QString &urlString) const; | |
78 | 83 | }; |
79 | 84 | |
80 | 85 | #endif // GRAPHICSVIEW_H |
43 | 43 | // Possible locations of help file. Each entry is first tried as is, and then with |
44 | 44 | // applicationDirPath as a prefix. Each entry should probably start with a slash |
45 | 45 | QStringList paths; |
46 | #ifdef HELPDIR | |
47 | #define QUOTE(string) _QUOTE(string) | |
48 | #define _QUOTE(string) #string | |
49 | QString path = QString ("%1/engauge.qhc") | |
50 | .arg (QUOTE (HELPDIR)); | |
51 | paths << path; | |
52 | #endif | |
46 | 53 | paths << "/documentation/engauge.qhc"; |
47 | 54 | paths << "/../share/doc/engauge-digitizer/engauge.qhc"; |
48 | 55 |
11 | 11 | unsigned int Point::m_identifierIndex = 0; |
12 | 12 | |
13 | 13 | extern const QString AXIS_CURVE_NAME; |
14 | extern const QString DUMMY_CURVE_NAME; | |
14 | 15 | const QString POINT_IDENTIFIER_DELIMITER ("_"); |
15 | 16 | |
16 | 17 | const double MISSING_ORDINAL_VALUE = 0; |
49 | 50 | m_hasOrdinal (false), |
50 | 51 | m_ordinal (MISSING_ORDINAL_VALUE) |
51 | 52 | { |
52 | ENGAUGE_ASSERT (curveName == AXIS_CURVE_NAME); | |
53 | ENGAUGE_ASSERT (curveName == AXIS_CURVE_NAME || | |
54 | curveName == DUMMY_CURVE_NAME); | |
53 | 55 | |
54 | 56 | LOG4CPP_INFO_S ((*mainCat)) << "Point::Point" |
55 | 57 | << " curveName=" << curveName.toLatin1().data() |
19 | 19 | m_isGnuplot (isGnuplot) |
20 | 20 | { |
21 | 21 | LOG4CPP_INFO_S ((*mainCat)) << "Segment::Segment" |
22 | << " address=0x" << hex << (unsigned long) this; | |
22 | << " address=0x" << hex << (quintptr) this; | |
23 | 23 | } |
24 | 24 | |
25 | 25 | Segment::~Segment() |
26 | 26 | { |
27 | 27 | LOG4CPP_INFO_S ((*mainCat)) << "Segment::~Segment" |
28 | << " address=0x" << hex << (unsigned long) this; | |
28 | << " address=0x" << hex << (quintptr) this; | |
29 | 29 | |
30 | 30 | QList<SegmentLine*>::iterator itr; |
31 | 31 | for (itr = m_lines.begin(); itr != m_lines.end(); itr++) { |
45 | 45 | int yNew = y; |
46 | 46 | |
47 | 47 | LOG4CPP_DEBUG_S ((*mainCat)) << "Segment::appendColumn" |
48 | << " segment=0x" << std::hex << (unsigned long) this << std::dec | |
48 | << " segment=0x" << std::hex << (quintptr) this << std::dec | |
49 | 49 | << " adding (" |
50 | 50 | << xOld << "," << yOld << ") to (" |
51 | 51 | << xNew << "," << yNew << ")"; |
470 | 470 | ++(*foldedLines); |
471 | 471 | |
472 | 472 | LOG4CPP_DEBUG_S ((*mainCat)) << "Segment::removeUnneededLines" |
473 | << " segment=0x" << std::hex << (unsigned long) this << std::dec | |
473 | << " segment=0x" << std::hex << (quintptr) this << std::dec | |
474 | 474 | << " removing (" |
475 | 475 | << linePrevious->line().x1() << "," << linePrevious->line().y1() << ") to (" |
476 | 476 | << linePrevious->line().x2() << "," << linePrevious->line().y2() << ") " |
15 | 15 | m_segment (segment) |
16 | 16 | { |
17 | 17 | LOG4CPP_DEBUG_S ((*mainCat)) << "SegmentLine::SegmentLine" |
18 | << " address=0x" << std::hex << (unsigned long) this; | |
18 | << " address=0x" << std::hex << (quintptr) this; | |
19 | 19 | |
20 | 20 | setData (DATA_KEY_GRAPHICS_ITEM_TYPE, QVariant (GRAPHICS_ITEM_TYPE_SEGMENT)); |
21 | 21 | |
34 | 34 | SegmentLine::~SegmentLine () |
35 | 35 | { |
36 | 36 | LOG4CPP_DEBUG_S ((*mainCat)) << "SegmentLine::~SegmentLine" |
37 | << " address=0x" << std::hex << (unsigned long) this; | |
37 | << " address=0x" << std::hex << (quintptr) this; | |
38 | 38 | } |
39 | 39 | |
40 | 40 | void SegmentLine::hoverEnterEvent(QGraphicsSceneHoverEvent * /* event */) |
436 | 436 | |
437 | 437 | updateTransformFromMatrices (ftor.matrixScreen(), |
438 | 438 | ftor.matrixGraph()); |
439 | } else { | |
440 | ||
441 | m_transformIsDefined = false; | |
442 | ||
439 | 443 | } |
440 | 444 | } |
441 | 445 | } |
2 | 2 | #include "ViewPreview.h" |
3 | 3 | |
4 | 4 | ViewPreview::ViewPreview(QGraphicsScene *scene, |
5 | ViewAspectRatio viewAspectRatio, | |
5 | 6 | QWidget *parent) : |
6 | QGraphicsView (scene, parent) | |
7 | QGraphicsView (scene, parent), | |
8 | m_viewAspectRatio (viewAspectRatio) | |
7 | 9 | { |
8 | 10 | setMouseTracking(true); |
9 | 11 | } |
17 | 19 | |
18 | 20 | void ViewPreview::resizeEvent(QResizeEvent *event) |
19 | 21 | { |
20 | // Make image fit the new window size. This is needed since QGraphicsView ignores layout stretching | |
21 | fitInView (scene()->itemsBoundingRect ()); | |
22 | if (m_viewAspectRatio == VIEW_ASPECT_RATIO_ONE_TO_ONE) { | |
22 | 23 | |
23 | QGraphicsView::resizeEvent (event); | |
24 | fitInView (scene()->sceneRect(), | |
25 | Qt::KeepAspectRatio); | |
26 | ||
27 | } else { | |
28 | ||
29 | // Make image fit the new window size. This is needed since QGraphicsView ignores layout stretching | |
30 | fitInView (scene()->itemsBoundingRect ()); | |
31 | ||
32 | QGraphicsView::resizeEvent (event); | |
33 | } | |
24 | 34 | } |
9 | 9 | Q_OBJECT; |
10 | 10 | |
11 | 11 | public: |
12 | ||
13 | /// Prevent aspect ratio distortion in certain previews by providing fixed 1:1 aspect ratio option | |
14 | enum ViewAspectRatio { | |
15 | VIEW_ASPECT_RATIO_VARIABLE, | |
16 | VIEW_ASPECT_RATIO_ONE_TO_ONE | |
17 | }; | |
18 | ||
12 | 19 | /// Single constructor. |
13 | 20 | ViewPreview(QGraphicsScene *scene, |
21 | ViewAspectRatio viewAspectRatio, | |
14 | 22 | QWidget *parent = 0); |
15 | 23 | |
16 | 24 | /// Intercept cursor move events and forward them |
25 | 33 | |
26 | 34 | private: |
27 | 35 | ViewPreview(); |
36 | ||
37 | ViewAspectRatio m_viewAspectRatio; | |
28 | 38 | }; |
29 | 39 | |
30 | 40 | #endif // VIEW_PREVIEW_H |
4 | 4 | |
5 | 5 | echo "Available tests: " ${tests[*]} |
6 | 6 | |
7 | # Need gcc 4 at /C/cygwin/bin rather than gcc 3 at /usr/bin to prevent 'unrecognized command line | |
8 | # option -fno-keep-inline-dllexport' | |
9 | PATH=/C/QtOpenSource/Qt5.5.1/Tools/mingw492_32/bin:$PATH | |
7 | 10 | argcount="$#" |
8 | 11 | |
9 | 12 | if [ $argcount -gt 0 ] |
0 | # engauge.pro : Builds make files for engauge executable | |
1 | # | |
2 | # Instructions are in the INSTALL file, with some comments about setting the configuration variable 'CONFIG' included below | |
3 | ||
4 | TEMPLATE = app | |
5 | ||
6 | # CONFIG comments: | |
7 | # 1) Remove 'debug' in the CONFIG= line or set environment variable ENGAUGE_RELEASE=1 to create a release version | |
8 | # without debug information | |
9 | # 2) Add 'jpeg2000' to the CONFIG= line to include support for JPEG2000 input files. Requires JPEG2000_INCLUDE and JPEG2000_LIB | |
10 | # environment variables | |
11 | # 3) Gratuitous warning about import_qpa_plugin in Fedora is due to 'CONFIG=qt' but that option takes care of | |
12 | # include/library files in an automated and platform-independent manner, so it will not be removed | |
13 | CONFIG = qt warn_on thread debug | |
14 | ||
15 | _ENGAUGE_RELEASE = $$(ENGAUGE_RELEASE) | |
16 | isEmpty(_ENGAUGE_RELEASE) { | |
17 | } else { | |
18 | CONFIG -= debug | |
19 | # Comments: | |
20 | # 1) Release version has warnings enabled so they can be removed | |
21 | # 2) Full coverage requires disabling of ENGAUGE_ASSERT by setting QT_NO_DEBUG | |
22 | # 3) -Wuninitialized requires O1, O2 or O3 optimization | |
23 | DEFINES += QT_NO_DEBUG | |
24 | QMAKE_CXXFLAGS_WARN_ON += -Wreturn-type -O1 -Wuninitialized -Wunused-variable | |
25 | } | |
26 | ||
27 | OBJECTS_DIR = .objs | |
28 | MOC_DIR = .moc | |
29 | RCC_DIR = .rcc | |
30 | ||
31 | HEADERS += \ | |
32 | Background/BackgroundImage.h \ | |
33 | Background/BackgroundStateAbstractBase.h \ | |
34 | Background/BackgroundStateContext.h \ | |
35 | Background/BackgroundStateCurve.h \ | |
36 | Background/BackgroundStateNone.h \ | |
37 | Background/BackgroundStateOriginal.h \ | |
38 | Background/BackgroundStateUnloaded.h \ | |
39 | Callback/CallbackAddPointsInCurvesGraphs.h \ | |
40 | Callback/CallbackAxesCheckerFromAxesPoints.h \ | |
41 | Callback/CallbackAxisPointsAbstract.h \ | |
42 | Callback/CallbackBoundingRects.h \ | |
43 | Callback/CallbackCheckAddPointAxis.h \ | |
44 | Callback/CallbackCheckEditPointAxis.h \ | |
45 | Callback/CallbackGatherXThetaValuesFunctions.h \ | |
46 | Callback/CallbackNextOrdinal.h \ | |
47 | Callback/CallbackPointOrdinal.h \ | |
48 | Callback/CallbackRemovePointsInCurvesGraphs.h \ | |
49 | Callback/CallbackSceneUpdateAfterCommand.h \ | |
50 | Callback/CallbackSearchReturn.h \ | |
51 | Callback/CallbackUpdateTransform.h \ | |
52 | Checker/Checker.h \ | |
53 | Checker/CheckerMode.h \ | |
54 | Checklist/ChecklistGuide.h \ | |
55 | Checklist/ChecklistGuideBrowser.h \ | |
56 | Checklist/ChecklistGuidePage.h \ | |
57 | Checklist/ChecklistGuidePageConclusion.h \ | |
58 | Checklist/ChecklistGuidePageCurves.h \ | |
59 | Checklist/ChecklistGuidePageIntro.h \ | |
60 | Checklist/ChecklistGuideWizard.h \ | |
61 | Checklist/ChecklistLineEdit.h \ | |
62 | Checklist/ChecklistTemplate.h \ | |
63 | Cmd/CmdAbstract.h \ | |
64 | Cmd/CmdAddPointAxis.h \ | |
65 | Cmd/CmdAddPointGraph.h \ | |
66 | Cmd/CmdAddPointsGraph.h \ | |
67 | Cmd/CmdCopy.h \ | |
68 | Cmd/CmdCut.h \ | |
69 | Cmd/CmdDelete.h \ | |
70 | Cmd/CmdEditPointAxis.h \ | |
71 | Cmd/CmdFactory.h \ | |
72 | Cmd/CmdMediator.h \ | |
73 | Cmd/CmdMoveBy.h \ | |
74 | Cmd/CmdPaste.h \ | |
75 | Cmd/CmdSettingsAxesChecker.h \ | |
76 | Cmd/CmdSettingsColorFilter.h \ | |
77 | Cmd/CmdSettingsCommon.h \ | |
78 | Cmd/CmdSettingsCoords.h \ | |
79 | Cmd/CmdSettingsCurveAddRemove.h \ | |
80 | Cmd/CmdSettingsCurveProperties.h \ | |
81 | Cmd/CmdSettingsDigitizeCurve.h \ | |
82 | Cmd/CmdSettingsExportFormat.h \ | |
83 | Cmd/CmdSettingsGridRemoval.h \ | |
84 | Cmd/CmdSettingsPointMatch.h \ | |
85 | Cmd/CmdSettingsSegments.h \ | |
86 | Cmd/CmdStackShadow.h \ | |
87 | Color/ColorConstants.h \ | |
88 | Color/ColorFilter.h \ | |
89 | Color/ColorFilterEntry.h \ | |
90 | Color/ColorFilterHistogram.h \ | |
91 | Color/ColorFilterMode.h \ | |
92 | Color/ColorFilterSettings.h \ | |
93 | Color/ColorPalette.h \ | |
94 | Coord/CoordScale.h \ | |
95 | Coord/CoordsType.h \ | |
96 | Coord/CoordSymbol.h \ | |
97 | Coord/CoordUnitsDate.h \ | |
98 | Coord/CoordUnitsNonPolarTheta.h \ | |
99 | Coord/CoordUnitsPolarTheta.h \ | |
100 | Coord/CoordUnitsTime.h \ | |
101 | Correlation/Correlation.h \ | |
102 | Cursor/CursorFactory.h \ | |
103 | Cursor/CursorSize.h \ | |
104 | Curve/Curve.h \ | |
105 | Curve/CurveConnectAs.h \ | |
106 | Curve/CurveNameList.h \ | |
107 | Curve/CurveNameListEntry.h \ | |
108 | Curve/CurveSettingsInt.h \ | |
109 | Curve/CurvesGraphs.h \ | |
110 | Curve/CurveStyle.h \ | |
111 | Curve/CurveStyles.h \ | |
112 | util/DataKey.h \ | |
113 | DigitizeState/DigitizeStateAbstractBase.h \ | |
114 | DigitizeState/DigitizeStateAxis.h \ | |
115 | DigitizeState/DigitizeStateColorPicker.h \ | |
116 | DigitizeState/DigitizeStateContext.h \ | |
117 | DigitizeState/DigitizeStateCurve.h \ | |
118 | DigitizeState/DigitizeStateEmpty.h \ | |
119 | DigitizeState/DigitizeStatePointMatch.h \ | |
120 | DigitizeState/DigitizeStateSegment.h \ | |
121 | DigitizeState/DigitizeStateSelect.h \ | |
122 | Dlg/DlgAbout.h \ | |
123 | Dlg/DlgEditPoint.h \ | |
124 | Dlg/DlgErrorReport.h \ | |
125 | Dlg/DlgFilterCommand.h \ | |
126 | Dlg/DlgFilterThread.h \ | |
127 | Dlg/DlgFilterWorker.h \ | |
128 | Dlg/DlgRequiresTransform.h \ | |
129 | Dlg/DlgSettingsAbstractBase.h \ | |
130 | Dlg/DlgSettingsAxesChecker.h \ | |
131 | Dlg/DlgSettingsColorFilter.h \ | |
132 | Dlg/DlgSettingsCommon.h \ | |
133 | Dlg/DlgSettingsCoords.h \ | |
134 | Dlg/DlgSettingsCurveAddRemove.h \ | |
135 | Dlg/DlgSettingsCurveProperties.h \ | |
136 | Dlg/DlgSettingsDigitizeCurve.h \ | |
137 | Dlg/DlgSettingsExportFormat.h \ | |
138 | Dlg/DlgSettingsGridRemoval.h \ | |
139 | Dlg/DlgSettingsPointMatch.h \ | |
140 | Dlg/DlgSettingsSegments.h \ | |
141 | Dlg/DlgValidatorAbstract.h \ | |
142 | Dlg/DlgValidatorDateTime.h \ | |
143 | Dlg/DlgValidatorDegreesMinutesSeconds.h \ | |
144 | Dlg/DlgValidatorFactory.h \ | |
145 | Dlg/DlgValidatorNumber.h \ | |
146 | Document/Document.h \ | |
147 | Document/DocumentModelAbstractBase.h \ | |
148 | Document/DocumentModelAxesChecker.h \ | |
149 | Document/DocumentModelColorFilter.h \ | |
150 | Document/DocumentModelCommon.h \ | |
151 | Document/DocumentModelCoords.h \ | |
152 | Document/DocumentModelDigitizeCurve.h \ | |
153 | Document/DocumentModelExportFormat.h \ | |
154 | Document/DocumentModelGridRemoval.h \ | |
155 | Document/DocumentModelPointMatch.h \ | |
156 | Document/DocumentModelSegments.h \ | |
157 | Document/DocumentSerialize.h \ | |
158 | include/EngaugeAssert.h \ | |
159 | util/EnumsToQt.h \ | |
160 | Export/ExportAlignLinear.h \ | |
161 | Export/ExportAlignLog.h \ | |
162 | Export/ExportDelimiter.h \ | |
163 | Export/ExportLayoutFunctions.h \ | |
164 | Export/ExportPointsIntervalUnits.h \ | |
165 | Export/ExportPointsSelectionFunctions.h \ | |
166 | Export/ExportPointsSelectionRelations.h \ | |
167 | Export/ExportDelimiter.h \ | |
168 | Export/ExportFileAbstractBase.h \ | |
169 | Export/ExportFileFunctions.h \ | |
170 | Export/ExportFileRelations.h \ | |
171 | Export/ExportHeader.h \ | |
172 | Export/ExportOrdinalsSmooth.h \ | |
173 | Export/ExportOrdinalsStraight.h \ | |
174 | Export/ExportToClipboard.h \ | |
175 | Export/ExportToFile.h \ | |
176 | Export/ExportValuesOrdinal.h \ | |
177 | Export/ExportValuesXOrY.h \ | |
178 | Export/ExportXThetaValuesMergedFunctions.h \ | |
179 | Filter/FilterImage.h \ | |
180 | Format/FormatCoordsUnits.h \ | |
181 | Format/FormatCoordsUnitsStrategyAbstractBase.h \ | |
182 | Format/FormatCoordsUnitsStrategyNonPolarTheta.h \ | |
183 | Format/FormatCoordsUnitsStrategyPolarTheta.h \ | |
184 | Format/FormatDateTime.h \ | |
185 | Format/FormatDegreesMinutesSecondsBase.h \ | |
186 | Format/FormatDegreesMinutesSecondsNonPolarTheta.h \ | |
187 | Format/FormatDegreesMinutesSecondsPolarTheta.h \ | |
188 | Callback/functor.h \ | |
189 | Graphics/GraphicsArcItem.h \ | |
190 | Graphics/GraphicsItemType.h \ | |
191 | Graphics/GraphicsLinesForCurve.h \ | |
192 | Graphics/GraphicsLinesForCurves.h \ | |
193 | Graphics/GraphicsPoint.h \ | |
194 | Graphics/GraphicsPointAbstractBase.h \ | |
195 | Graphics/GraphicsPointEllipse.h \ | |
196 | Graphics/GraphicsPointFactory.h \ | |
197 | Graphics/GraphicsPointPolygon.h \ | |
198 | Graphics/GraphicsScene.h \ | |
199 | Graphics/GraphicsView.h \ | |
200 | Grid/GridClassifier.h \ | |
201 | Grid/GridCoordDisable.h \ | |
202 | Grid/GridHealer.h \ | |
203 | Grid/GridRemoval.h \ | |
204 | Help/HelpBrowser.h \ | |
205 | Help/HelpWindow.h \ | |
206 | Line/LineStyle.h \ | |
207 | Load/LoadImageFromUrl.h \ | |
208 | Logger/Logger.h \ | |
209 | Logger/LoggerUpload.h \ | |
210 | main/MainWindow.h \ | |
211 | Mime/MimePoints.h \ | |
212 | util/mmsubs.h \ | |
213 | Network/NetworkClient.h \ | |
214 | Ordinal/OrdinalGenerator.h \ | |
215 | Ordinal/OrdinalToGraphicsPoint.h \ | |
216 | Point/Point.h \ | |
217 | Point/PointComparator.h \ | |
218 | Point/PointIdentifiers.h \ | |
219 | Point/PointMatchAlgorithm.h \ | |
220 | Point/PointMatchPixel.h \ | |
221 | Point/PointMatchTriplet.h \ | |
222 | Point/Points.h \ | |
223 | Point/PointShape.h \ | |
224 | Point/PointStyle.h \ | |
225 | util/QtToString.h \ | |
226 | Segment/Segment.h \ | |
227 | Segment/SegmentFactory.h \ | |
228 | Segment/SegmentLine.h \ | |
229 | Settings/Settings.h \ | |
230 | Spline/Spline.h \ | |
231 | Spline/SplineCoeff.h \ | |
232 | Spline/SplinePair.h \ | |
233 | StatusBar/StatusBar.h \ | |
234 | StatusBar/StatusBarMode.h \ | |
235 | Transformation/Transformation.h \ | |
236 | Transformation/TransformationStateAbstractBase.h \ | |
237 | Transformation/TransformationStateContext.h \ | |
238 | Transformation/TransformationStateDefined.h \ | |
239 | Transformation/TransformationStateUndefined.h \ | |
240 | Tutorial/TutorialButton.h \ | |
241 | Tutorial/TutorialButtonRect.h \ | |
242 | Tutorial/TutorialButtonText.h \ | |
243 | Tutorial/TutorialDlg.h \ | |
244 | Tutorial/TutorialStateAbstractBase.h \ | |
245 | Tutorial/TutorialStateAxisPoints.h \ | |
246 | Tutorial/TutorialStateChecklistWizardAbstract.h \ | |
247 | Tutorial/TutorialStateChecklistWizardLines.h \ | |
248 | Tutorial/TutorialStateChecklistWizardPoints.h \ | |
249 | Tutorial/TutorialStateColorFilter.h \ | |
250 | Tutorial/TutorialStateContext.h \ | |
251 | Tutorial/TutorialStateCurveSelection.h \ | |
252 | Tutorial/TutorialStateCurveType.h \ | |
253 | Tutorial/TutorialStateIntroduction.h \ | |
254 | Tutorial/TutorialStatePointMatch.h \ | |
255 | Tutorial/TutorialStateSegmentFill.h \ | |
256 | include/ValuesVectorXOrY.h \ | |
257 | util/Version.h \ | |
258 | View/ViewPointStyle.h \ | |
259 | View/ViewPreview.h \ | |
260 | View/ViewProfile.h \ | |
261 | View/ViewProfileDivider.h \ | |
262 | View/ViewProfileParameters.h \ | |
263 | View/ViewProfileScale.h \ | |
264 | View/ViewSegmentFilter.h \ | |
265 | util/Xml.h \ | |
266 | include/ZoomFactor.h | |
267 | ||
268 | SOURCES += \ | |
269 | Background/BackgroundImage.cpp \ | |
270 | Background/BackgroundStateAbstractBase.cpp \ | |
271 | Background/BackgroundStateContext.cpp \ | |
272 | Background/BackgroundStateCurve.cpp \ | |
273 | Background/BackgroundStateNone.cpp \ | |
274 | Background/BackgroundStateOriginal.cpp \ | |
275 | Background/BackgroundStateUnloaded.cpp \ | |
276 | Callback/CallbackAddPointsInCurvesGraphs.cpp \ | |
277 | Callback/CallbackAxesCheckerFromAxesPoints.cpp \ | |
278 | Callback/CallbackAxisPointsAbstract.cpp \ | |
279 | Callback/CallbackBoundingRects.cpp \ | |
280 | Callback/CallbackCheckAddPointAxis.cpp \ | |
281 | Callback/CallbackCheckEditPointAxis.cpp \ | |
282 | Callback/CallbackGatherXThetaValuesFunctions.cpp \ | |
283 | Callback/CallbackNextOrdinal.cpp \ | |
284 | Callback/CallbackPointOrdinal.cpp \ | |
285 | Callback/CallbackRemovePointsInCurvesGraphs.cpp \ | |
286 | Callback/CallbackSceneUpdateAfterCommand.cpp \ | |
287 | Callback/CallbackUpdateTransform.cpp \ | |
288 | Checker/Checker.cpp \ | |
289 | Checker/CheckerMode.cpp \ | |
290 | Checklist/ChecklistGuide.cpp \ | |
291 | Checklist/ChecklistGuideBrowser.cpp \ | |
292 | Checklist/ChecklistGuidePage.cpp \ | |
293 | Checklist/ChecklistGuidePageConclusion.cpp \ | |
294 | Checklist/ChecklistGuidePageCurves.cpp \ | |
295 | Checklist/ChecklistGuidePageIntro.cpp \ | |
296 | Checklist/ChecklistGuideWizard.cpp \ | |
297 | Checklist/ChecklistLineEdit.cpp \ | |
298 | Checklist/ChecklistTemplate.cpp \ | |
299 | Cmd/CmdAbstract.cpp \ | |
300 | Cmd/CmdAddPointAxis.cpp \ | |
301 | Cmd/CmdAddPointGraph.cpp \ | |
302 | Cmd/CmdAddPointsGraph.cpp \ | |
303 | Cmd/CmdCopy.cpp \ | |
304 | Cmd/CmdCut.cpp \ | |
305 | Cmd/CmdDelete.cpp \ | |
306 | Cmd/CmdEditPointAxis.cpp \ | |
307 | Cmd/CmdFactory.cpp \ | |
308 | Cmd/CmdMediator.cpp \ | |
309 | Cmd/CmdMoveBy.cpp \ | |
310 | Cmd/CmdPaste.cpp \ | |
311 | Cmd/CmdSettingsAxesChecker.cpp \ | |
312 | Cmd/CmdSettingsColorFilter.cpp \ | |
313 | Cmd/CmdSettingsCommon.cpp \ | |
314 | Cmd/CmdSettingsCoords.cpp \ | |
315 | Cmd/CmdSettingsCurveAddRemove.cpp \ | |
316 | Cmd/CmdSettingsCurveProperties.cpp \ | |
317 | Cmd/CmdSettingsDigitizeCurve.cpp \ | |
318 | Cmd/CmdSettingsExportFormat.cpp \ | |
319 | Cmd/CmdSettingsGridRemoval.cpp \ | |
320 | Cmd/CmdSettingsPointMatch.cpp \ | |
321 | Cmd/CmdSettingsSegments.cpp \ | |
322 | Cmd/CmdStackShadow.cpp \ | |
323 | Color/ColorFilter.cpp \ | |
324 | Color/ColorFilterHistogram.cpp \ | |
325 | Color/ColorFilterMode.cpp \ | |
326 | Color/ColorFilterSettings.cpp \ | |
327 | Color/ColorPalette.cpp \ | |
328 | Coord/CoordScale.cpp \ | |
329 | Coord/CoordsType.cpp \ | |
330 | Coord/CoordSymbol.cpp \ | |
331 | Coord/CoordUnitsDate.cpp \ | |
332 | Coord/CoordUnitsNonPolarTheta.cpp \ | |
333 | Coord/CoordUnitsPolarTheta.cpp \ | |
334 | Coord/CoordUnitsTime.cpp \ | |
335 | Correlation/Correlation.cpp \ | |
336 | Cursor/CursorFactory.cpp \ | |
337 | Cursor/CursorSize.cpp \ | |
338 | Curve/Curve.cpp \ | |
339 | Curve/CurveConnectAs.cpp \ | |
340 | Curve/CurveNameList.cpp \ | |
341 | Curve/CurveNameListEntry.cpp \ | |
342 | Curve/CurveSettingsInt.cpp \ | |
343 | Curve/CurvesGraphs.cpp \ | |
344 | Curve/CurveStyle.cpp \ | |
345 | Curve/CurveStyles.cpp \ | |
346 | util/DataKey.cpp \ | |
347 | DigitizeState/DigitizeStateAbstractBase.cpp \ | |
348 | DigitizeState/DigitizeStateAxis.cpp \ | |
349 | DigitizeState/DigitizeStateColorPicker.cpp \ | |
350 | DigitizeState/DigitizeStateContext.cpp \ | |
351 | DigitizeState/DigitizeStateCurve.cpp \ | |
352 | DigitizeState/DigitizeStateEmpty.cpp \ | |
353 | DigitizeState/DigitizeStatePointMatch.cpp \ | |
354 | DigitizeState/DigitizeStateSegment.cpp \ | |
355 | DigitizeState/DigitizeStateSelect.cpp \ | |
356 | Dlg/DlgAbout.cpp \ | |
357 | Dlg/DlgEditPoint.cpp \ | |
358 | Dlg/DlgErrorReport.cpp \ | |
359 | Dlg/DlgFilterCommand.cpp \ | |
360 | Dlg/DlgFilterThread.cpp \ | |
361 | Dlg/DlgFilterWorker.cpp \ | |
362 | Dlg/DlgRequiresTransform.cpp \ | |
363 | Dlg/DlgSettingsAbstractBase.cpp \ | |
364 | Dlg/DlgSettingsAxesChecker.cpp \ | |
365 | Dlg/DlgSettingsColorFilter.cpp \ | |
366 | Dlg/DlgSettingsCommon.cpp \ | |
367 | Dlg/DlgSettingsCoords.cpp \ | |
368 | Dlg/DlgSettingsCurveAddRemove.cpp \ | |
369 | Dlg/DlgSettingsCurveProperties.cpp \ | |
370 | Dlg/DlgSettingsDigitizeCurve.cpp \ | |
371 | Dlg/DlgSettingsExportFormat.cpp \ | |
372 | Dlg/DlgSettingsGridRemoval.cpp \ | |
373 | Dlg/DlgSettingsPointMatch.cpp \ | |
374 | Dlg/DlgSettingsSegments.cpp \ | |
375 | Dlg/DlgValidatorAbstract.cpp \ | |
376 | Dlg/DlgValidatorDateTime.cpp \ | |
377 | Dlg/DlgValidatorDegreesMinutesSeconds.cpp \ | |
378 | Dlg/DlgValidatorFactory.cpp \ | |
379 | Dlg/DlgValidatorNumber.cpp \ | |
380 | Document/Document.cpp \ | |
381 | Document/DocumentModelAbstractBase.cpp \ | |
382 | Document/DocumentModelAxesChecker.cpp \ | |
383 | Document/DocumentModelColorFilter.cpp \ | |
384 | Document/DocumentModelCommon.cpp \ | |
385 | Document/DocumentModelCoords.cpp \ | |
386 | Document/DocumentModelDigitizeCurve.cpp \ | |
387 | Document/DocumentModelExportFormat.cpp \ | |
388 | Document/DocumentModelGridRemoval.cpp \ | |
389 | Document/DocumentModelPointMatch.cpp \ | |
390 | Document/DocumentModelSegments.cpp \ | |
391 | Document/DocumentSerialize.cpp \ | |
392 | util/EnumsToQt.cpp \ | |
393 | Export/ExportAlignLinear.cpp \ | |
394 | Export/ExportAlignLog.cpp \ | |
395 | Export/ExportDelimiter.cpp \ | |
396 | Export/ExportFileAbstractBase.cpp \ | |
397 | Export/ExportFileFunctions.cpp \ | |
398 | Export/ExportFileRelations.cpp \ | |
399 | Export/ExportHeader.cpp \ | |
400 | Export/ExportLayoutFunctions.cpp \ | |
401 | Export/ExportOrdinalsSmooth.cpp \ | |
402 | Export/ExportOrdinalsStraight.cpp \ | |
403 | Export/ExportPointsIntervalUnits.cpp \ | |
404 | Export/ExportPointsSelectionFunctions.cpp \ | |
405 | Export/ExportPointsSelectionRelations.cpp \ | |
406 | Export/ExportToClipboard.cpp \ | |
407 | Export/ExportToFile.cpp \ | |
408 | Export/ExportXThetaValuesMergedFunctions.cpp \ | |
409 | Filter/FilterImage.cpp \ | |
410 | Format/FormatCoordsUnits.cpp \ | |
411 | Format/FormatCoordsUnitsStrategyAbstractBase.cpp \ | |
412 | Format/FormatCoordsUnitsStrategyNonPolarTheta.cpp \ | |
413 | Format/FormatCoordsUnitsStrategyPolarTheta.cpp \ | |
414 | Format/FormatDateTime.cpp \ | |
415 | Format/FormatDegreesMinutesSecondsBase.cpp \ | |
416 | Format/FormatDegreesMinutesSecondsNonPolarTheta.cpp \ | |
417 | Format/FormatDegreesMinutesSecondsPolarTheta.cpp \ | |
418 | Graphics/GraphicsArcItem.cpp \ | |
419 | Graphics/GraphicsLinesForCurve.cpp \ | |
420 | Graphics/GraphicsLinesForCurves.cpp \ | |
421 | Graphics/GraphicsPoint.cpp \ | |
422 | Graphics/GraphicsPointAbstractBase.cpp \ | |
423 | Graphics/GraphicsPointEllipse.cpp \ | |
424 | Graphics/GraphicsPointFactory.cpp \ | |
425 | Graphics/GraphicsPointPolygon.cpp \ | |
426 | Graphics/GraphicsScene.cpp \ | |
427 | Graphics/GraphicsView.cpp \ | |
428 | Grid/GridClassifier.cpp \ | |
429 | Grid/GridCoordDisable.cpp \ | |
430 | Grid/GridHealer.cpp \ | |
431 | Grid/GridRemoval.cpp \ | |
432 | Help/HelpBrowser.cpp \ | |
433 | Help/HelpWindow.cpp \ | |
434 | Line/LineStyle.cpp \ | |
435 | Load/LoadImageFromUrl.cpp \ | |
436 | Logger/Logger.cpp \ | |
437 | Logger/LoggerUpload.cpp \ | |
438 | main/main.cpp \ | |
439 | main/MainWindow.cpp \ | |
440 | Mime/MimePoints.cpp \ | |
441 | util/mmsubs.cpp \ | |
442 | Network/NetworkClient.cpp \ | |
443 | Ordinal/OrdinalGenerator.cpp \ | |
444 | Point/Point.cpp \ | |
445 | Point/PointIdentifiers.cpp \ | |
446 | Point/PointMatchAlgorithm.cpp \ | |
447 | Point/PointMatchPixel.cpp \ | |
448 | Point/PointMatchTriplet.cpp \ | |
449 | Point/PointShape.cpp \ | |
450 | Point/PointStyle.cpp \ | |
451 | util/QtToString.cpp \ | |
452 | Segment/Segment.cpp \ | |
453 | Segment/SegmentFactory.cpp \ | |
454 | Segment/SegmentLine.cpp \ | |
455 | Settings/Settings.cpp \ | |
456 | Spline/Spline.cpp \ | |
457 | Spline/SplineCoeff.cpp \ | |
458 | Spline/SplinePair.cpp \ | |
459 | StatusBar/StatusBar.cpp \ | |
460 | Transformation/Transformation.cpp \ | |
461 | Transformation/TransformationStateAbstractBase.cpp \ | |
462 | Transformation/TransformationStateContext.cpp \ | |
463 | Transformation/TransformationStateDefined.cpp \ | |
464 | Transformation/TransformationStateUndefined.cpp \ | |
465 | Tutorial/TutorialButton.cpp \ | |
466 | Tutorial/TutorialButtonRect.cpp \ | |
467 | Tutorial/TutorialButtonText.cpp \ | |
468 | Tutorial/TutorialDlg.cpp \ | |
469 | Tutorial/TutorialStateAbstractBase.cpp \ | |
470 | Tutorial/TutorialStateAxisPoints.cpp \ | |
471 | Tutorial/TutorialStateChecklistWizardAbstract.cpp \ | |
472 | Tutorial/TutorialStateChecklistWizardLines.cpp \ | |
473 | Tutorial/TutorialStateChecklistWizardPoints.cpp \ | |
474 | Tutorial/TutorialStateColorFilter.cpp \ | |
475 | Tutorial/TutorialStateContext.cpp \ | |
476 | Tutorial/TutorialStateCurveSelection.cpp \ | |
477 | Tutorial/TutorialStateCurveType.cpp \ | |
478 | Tutorial/TutorialStateIntroduction.cpp \ | |
479 | Tutorial/TutorialStatePointMatch.cpp \ | |
480 | Tutorial/TutorialStateSegmentFill.cpp \ | |
481 | util/Version.cpp \ | |
482 | View/ViewPointStyle.cpp \ | |
483 | View/ViewPreview.cpp \ | |
484 | View/ViewProfile.cpp \ | |
485 | View/ViewProfileDivider.cpp \ | |
486 | View/ViewProfileParameters.cpp \ | |
487 | View/ViewProfileScale.cpp \ | |
488 | View/ViewSegmentFilter.cpp \ | |
489 | util/Xml.cpp | |
490 | ||
491 | TARGET = ../bin/engauge | |
492 | ||
493 | QT += core gui network printsupport widgets xml help | |
494 | ||
495 | win32-g++* { | |
496 | CONFIG += windows | |
497 | LIBS += -L$$(LOG4CPP_HOME)/lib -L$$(FFTW_HOME)/lib | |
498 | } | |
499 | LIBS += -llog4cpp -lfftw3 | |
500 | ||
501 | INCLUDEPATH += Background \ | |
502 | Callback \ | |
503 | Checker \ | |
504 | Checklist \ | |
505 | Cmd \ | |
506 | Color \ | |
507 | Coord \ | |
508 | Correlation \ | |
509 | Cursor \ | |
510 | Curve \ | |
511 | DigitizeState \ | |
512 | Dlg \ | |
513 | Document \ | |
514 | Export \ | |
515 | Filter \ | |
516 | Format \ | |
517 | Graphics \ | |
518 | Grid \ | |
519 | Help \ | |
520 | img \ | |
521 | include \ | |
522 | Line \ | |
523 | Load \ | |
524 | Logger \ | |
525 | main \ | |
526 | Mime \ | |
527 | Network \ | |
528 | Ordinal \ | |
529 | Plot \ | |
530 | Point \ | |
531 | Segment \ | |
532 | Settings \ | |
533 | Spline \ | |
534 | StatusBar \ | |
535 | Transformation \ | |
536 | Tutorial \ | |
537 | util \ | |
538 | View | |
539 | ||
540 | win32-g++* { | |
541 | INCLUDEPATH += $$(FFTW_HOME)/include \ | |
542 | $$(LOG4CPP_HOME)/include | |
543 | } | |
544 | ||
545 | RESOURCES += \ | |
546 | engauge.qrc | |
547 | ||
548 | jpeg2000 { | |
549 | CONFIG(debug,debug|release) { | |
550 | message(Building debug version with support for JPEG2000 files) | |
551 | } else { | |
552 | message(Building release version with support for JPEG2000 files) | |
553 | } | |
554 | _JPEG2000_INCLUDE = $$(JPEG2000_INCLUDE) | |
555 | _JPEG2000_LIB = $$(JPEG2000_LIB) | |
556 | isEmpty(_JPEG2000_INCLUDE) { | |
557 | error("JPEG2000_INCLUDE and JPEG2000_LIB environment variables must be defined") | |
558 | } else { | |
559 | isEmpty(_JPEG2000_LIB) { | |
560 | error("JPEG2000_INCLUDE and JPEG2000_LIB environment variables must be defined") | |
561 | } | |
562 | } | |
563 | DEFINES += "ENGAUGE_JPEG2000" | |
564 | INCLUDEPATH += Jpeg2000 \ | |
565 | $$(JPEG2000_INCLUDE) | |
566 | LIBS += -L$$(JPEG2000_LIB) -lopenjp2 | |
567 | ||
568 | HEADERS += Jpeg2000/Jpeg2000.h \ | |
569 | Jpeg2000/Jpeg2000Callbacks.h \ | |
570 | Jpeg2000/Jpeg2000Color.h \ | |
571 | Jpeg2000/Jpeg2000Convert.h \ | |
572 | Jpeg2000/Jpeg2000FormatDefs.h | |
573 | ||
574 | SOURCES += Jpeg2000/Jpeg2000.cpp \ | |
575 | Jpeg2000/Jpeg2000Callbacks.cpp \ | |
576 | Jpeg2000/Jpeg2000Color.cpp \ | |
577 | Jpeg2000/Jpeg2000Convert.cpp | |
578 | ||
579 | } else { | |
580 | CONFIG(debug,debug|release) { | |
581 | message(Building debug version without support for JPEG2000 files) | |
582 | } else { | |
583 | message(Building release version without support for JPEG2000 files) | |
584 | } | |
585 | } |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <!DOCTYPE QtCreatorProject> | |
2 | <!-- Written by QtCreator 3.0.1, 2015-10-08T21:46:40. --> | |
3 | <qtcreator> | |
4 | <data> | |
5 | <variable>ProjectExplorer.Project.ActiveTarget</variable> | |
6 | <value type="int">0</value> | |
7 | </data> | |
8 | <data> | |
9 | <variable>ProjectExplorer.Project.EditorSettings</variable> | |
10 | <valuemap type="QVariantMap"> | |
11 | <value type="bool" key="EditorConfiguration.AutoIndent">true</value> | |
12 | <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value> | |
13 | <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value> | |
14 | <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0"> | |
15 | <value type="QString" key="language">Cpp</value> | |
16 | <valuemap type="QVariantMap" key="value"> | |
17 | <value type="QByteArray" key="CurrentPreferences">CppGlobal</value> | |
18 | </valuemap> | |
19 | </valuemap> | |
20 | <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1"> | |
21 | <value type="QString" key="language">QmlJS</value> | |
22 | <valuemap type="QVariantMap" key="value"> | |
23 | <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value> | |
24 | </valuemap> | |
25 | </valuemap> | |
26 | <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value> | |
27 | <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value> | |
28 | <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> | |
29 | <value type="int" key="EditorConfiguration.IndentSize">4</value> | |
30 | <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value> | |
31 | <value type="bool" key="EditorConfiguration.MouseNavigation">true</value> | |
32 | <value type="int" key="EditorConfiguration.PaddingMode">1</value> | |
33 | <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> | |
34 | <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> | |
35 | <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value> | |
36 | <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> | |
37 | <value type="int" key="EditorConfiguration.TabSize">8</value> | |
38 | <value type="bool" key="EditorConfiguration.UseGlobal">true</value> | |
39 | <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value> | |
40 | <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value> | |
41 | <value type="bool" key="EditorConfiguration.cleanIndentation">true</value> | |
42 | <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value> | |
43 | <value type="bool" key="EditorConfiguration.inEntireDocument">false</value> | |
44 | </valuemap> | |
45 | </data> | |
46 | <data> | |
47 | <variable>ProjectExplorer.Project.PluginSettings</variable> | |
48 | <valuemap type="QVariantMap"/> | |
49 | </data> | |
50 | <data> | |
51 | <variable>ProjectExplorer.Project.Target.0</variable> | |
52 | <valuemap type="QVariantMap"> | |
53 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value> | |
54 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value> | |
55 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{9a861ed4-1705-4ff4-93e4-2b4eb1226fbf}</value> | |
56 | <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> | |
57 | <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> | |
58 | <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> | |
59 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> | |
60 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value> | |
61 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
62 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
63 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
64 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> | |
65 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
66 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> | |
67 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> | |
68 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> | |
69 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> | |
70 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> | |
71 | </valuemap> | |
72 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> | |
73 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
74 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
75 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
76 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
77 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
78 | <value type="QString">-w</value> | |
79 | <value type="QString">-r</value> | |
80 | </valuelist> | |
81 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> | |
82 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> | |
83 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
84 | </valuemap> | |
85 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> | |
86 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> | |
87 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
88 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> | |
89 | </valuemap> | |
90 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> | |
91 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
92 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
93 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
94 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
95 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
96 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
97 | <value type="QString">-w</value> | |
98 | <value type="QString">-r</value> | |
99 | </valuelist> | |
100 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> | |
101 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> | |
102 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
103 | </valuemap> | |
104 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> | |
105 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> | |
106 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
107 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> | |
108 | </valuemap> | |
109 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> | |
110 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> | |
111 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> | |
112 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value> | |
113 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
114 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> | |
115 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> | |
116 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> | |
117 | </valuemap> | |
118 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> | |
119 | <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value> | |
120 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
121 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
122 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
123 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> | |
124 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
125 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> | |
126 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> | |
127 | <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> | |
128 | <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> | |
129 | <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> | |
130 | </valuemap> | |
131 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> | |
132 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
133 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
134 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
135 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
136 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
137 | <value type="QString">-w</value> | |
138 | <value type="QString">-r</value> | |
139 | </valuelist> | |
140 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> | |
141 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> | |
142 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
143 | </valuemap> | |
144 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> | |
145 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> | |
146 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
147 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> | |
148 | </valuemap> | |
149 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> | |
150 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> | |
151 | <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> | |
152 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> | |
153 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
154 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> | |
155 | <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> | |
156 | <value type="QString">-w</value> | |
157 | <value type="QString">-r</value> | |
158 | </valuelist> | |
159 | <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> | |
160 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> | |
161 | <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> | |
162 | </valuemap> | |
163 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> | |
164 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> | |
165 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
166 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> | |
167 | </valuemap> | |
168 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> | |
169 | <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> | |
170 | <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> | |
171 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> | |
172 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
173 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> | |
174 | <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> | |
175 | <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> | |
176 | </valuemap> | |
177 | <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> | |
178 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> | |
179 | <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> | |
180 | <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> | |
181 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value> | |
182 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
183 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> | |
184 | </valuemap> | |
185 | <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> | |
186 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value> | |
187 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
188 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> | |
189 | </valuemap> | |
190 | <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> | |
191 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> | |
192 | <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> | |
193 | <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> | |
194 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> | |
195 | <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">true</value> | |
196 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> | |
197 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> | |
198 | <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> | |
199 | <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> | |
200 | <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> | |
201 | <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> | |
202 | <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> | |
203 | <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> | |
204 | <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> | |
205 | <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value> | |
206 | <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> | |
207 | <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value> | |
208 | <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> | |
209 | <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> | |
210 | <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> | |
211 | <value type="int">0</value> | |
212 | <value type="int">1</value> | |
213 | <value type="int">2</value> | |
214 | <value type="int">3</value> | |
215 | <value type="int">4</value> | |
216 | <value type="int">5</value> | |
217 | <value type="int">6</value> | |
218 | <value type="int">7</value> | |
219 | <value type="int">8</value> | |
220 | <value type="int">9</value> | |
221 | <value type="int">10</value> | |
222 | <value type="int">11</value> | |
223 | <value type="int">12</value> | |
224 | <value type="int">13</value> | |
225 | <value type="int">14</value> | |
226 | </valuelist> | |
227 | <value type="int" key="PE.EnvironmentAspect.Base">2</value> | |
228 | <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> | |
229 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">engauge</value> | |
230 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> | |
231 | <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/mark/engauge6/src/engauge.pro</value> | |
232 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value> | |
233 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">engauge.pro</value> | |
234 | <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value> | |
235 | <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value> | |
236 | <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value> | |
237 | <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> | |
238 | <value type="bool" key="RunConfiguration.UseCppDebugger">true</value> | |
239 | <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value> | |
240 | <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> | |
241 | <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> | |
242 | <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> | |
243 | </valuemap> | |
244 | <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> | |
245 | </valuemap> | |
246 | </data> | |
247 | <data> | |
248 | <variable>ProjectExplorer.Project.TargetCount</variable> | |
249 | <value type="int">1</value> | |
250 | </data> | |
251 | <data> | |
252 | <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> | |
253 | <value type="QByteArray">{678e5f8c-72e6-4af0-8c8d-0f1d7ec5995b}</value> | |
254 | </data> | |
255 | <data> | |
256 | <variable>ProjectExplorer.Project.Updater.FileVersion</variable> | |
257 | <value type="int">15</value> | |
258 | </data> | |
259 | </qtcreator> |
196 | 196 | Logger/Logger.h \ |
197 | 197 | Logger/LoggerUpload.h \ |
198 | 198 | main/MainWindow.h \ |
199 | util/MigrateToVersion6.h \ | |
199 | 200 | Mime/MimePoints.h \ |
200 | 201 | util/mmsubs.h \ |
201 | 202 | Network/NetworkClient.h \ |
425 | 426 | Logger/Logger.cpp \ |
426 | 427 | Logger/LoggerUpload.cpp \ |
427 | 428 | main/MainWindow.cpp \ |
429 | util/MigrateToVersion6.cpp \ | |
428 | 430 | Mime/MimePoints.cpp \ |
429 | 431 | util/mmsubs.cpp \ |
430 | 432 | Network/NetworkClient.cpp \ |
481 | 483 | |
482 | 484 | QT += core gui network printsupport testlib widgets xml help |
483 | 485 | |
486 | win32-g++* { | |
487 | CONFIG += windows | |
488 | LIBS += -L$$(LOG4CPP_HOME)/lib -L$$(FFTW_HOME)/lib | |
489 | } | |
490 | ||
484 | 491 | LIBS += -llog4cpp -lfftw3 |
485 | 492 | INCLUDEPATH += Background \ |
486 | 493 | Callback \ |
522 | 529 | util \ |
523 | 530 | View |
524 | 531 | |
532 | win32-g++* { | |
533 | INCLUDEPATH += $$(FFTW_HOME)/include \ | |
534 | $$(LOG4CPP_HOME)/include | |
535 | } | |
536 | ||
525 | 537 | RESOURCES += \ |
526 | 538 | engauge.qrc |
527 | 539 | |
528 | 540 | jpeg2000 { |
529 | 541 | CONFIG(debug,debug|release) { |
530 | message(Building debug version with support for JPEG2000 files) | |
542 | message(Building debug version with internal support for JPEG2000 files) | |
531 | 543 | } else { |
532 | message(Building release version with support for JPEG2000 files) | |
544 | message(Building release version with internal support for JPEG2000 files) | |
533 | 545 | } |
534 | 546 | _JPEG2000_INCLUDE = $$(JPEG2000_INCLUDE) |
535 | 547 | _JPEG2000_LIB = $$(JPEG2000_LIB) |
558 | 570 | |
559 | 571 | } else { |
560 | 572 | CONFIG(debug,debug|release) { |
561 | message(Building debug version without support for JPEG2000 files) | |
573 | message(Building debug version without internal support for JPEG2000 files) | |
562 | 574 | } else { |
563 | message(Building release version without support for JPEG2000 files) | |
575 | message(Building release version without internal support for JPEG2000 files) | |
564 | 576 | } |
565 | 577 | } |
Binary diff not shown
106 | 106 | |
107 | 107 | const unsigned int MAX_RECENT_FILE_LIST_SIZE = 8; |
108 | 108 | |
109 | const char *VERSION_NUMBER = "6.0"; | |
110 | ||
111 | 109 | MainWindow::MainWindow(const QString &errorReportFile, |
112 | 110 | bool isGnuplot, |
113 | 111 | QWidget *parent) : |
130 | 128 | |
131 | 129 | setCurrentFile (""); |
132 | 130 | createIcons(); |
133 | setWindowFlags (Qt::WindowContextHelpButtonHint); | |
131 | setWindowFlags (Qt::WindowContextHelpButtonHint | windowFlags ()); // Add help to default buttons | |
134 | 132 | setWindowTitle (engaugeWindowTitle ()); |
135 | 133 | |
136 | 134 | createCentralWidget(); |
354 | 352 | m_actionRecentFiles.append (recentFileAction); |
355 | 353 | } |
356 | 354 | |
355 | m_actionClose = new QAction(tr ("&Close"), this); | |
356 | m_actionClose->setShortcut (QKeySequence::Close); | |
357 | m_actionClose->setStatusTip (tr ("Closes the open document document.")); | |
358 | m_actionClose->setWhatsThis (tr ("Close Document\n\n" | |
359 | "Closes the open document.")); | |
360 | connect (m_actionClose, SIGNAL (triggered ()), this, SLOT (slotFileClose ())); | |
361 | ||
357 | 362 | m_actionSave = new QAction(tr ("&Save"), this); |
358 | 363 | m_actionSave->setShortcut (QKeySequence::Save); |
359 | 364 | m_actionSave->setStatusTip (tr ("Saves the current document.")); |
434 | 439 | "Coordinate settings determine how the graph coordinates are mapped to the pixels in the image")); |
435 | 440 | connect (m_actionSettingsCoords, SIGNAL (triggered ()), this, SLOT (slotSettingsCoords ())); |
436 | 441 | |
437 | m_actionSettingsCurveAddRemove = new QAction (tr ("Curve Add/Remove"), this); | |
442 | m_actionSettingsCurveAddRemove = new QAction (tr ("Add/Remove Curve"), this); | |
438 | 443 | m_actionSettingsCurveAddRemove->setStatusTip (tr ("Add or Remove Curves.")); |
439 | m_actionSettingsCurveAddRemove->setWhatsThis (tr ("Curve Add/Remove\n\n" | |
440 | "Curve Add/Remove settings control which curves are included in the current document")); | |
444 | m_actionSettingsCurveAddRemove->setWhatsThis (tr ("Add/Remove Curve\n\n" | |
445 | "Add/Remove Curve settings control which curves are included in the current document")); | |
441 | 446 | connect (m_actionSettingsCurveAddRemove, SIGNAL (triggered ()), this, SLOT (slotSettingsCurveAddRemove ())); |
442 | 447 | |
443 | 448 | m_actionSettingsCurveProperties = new QAction (tr ("Curve Properties"), this); |
759 | 764 | m_menuFileOpenRecent->addAction (m_actionRecentFiles.at (i)); |
760 | 765 | } |
761 | 766 | m_menuFile->addMenu (m_menuFileOpenRecent); |
767 | m_menuFile->addAction (m_actionClose); | |
762 | 768 | m_menuFile->insertSeparator (m_actionSave); |
763 | 769 | m_menuFile->addAction (m_actionSave); |
764 | 770 | m_menuFile->addAction (m_actionSaveAs); |
1788 | 1794 | m_cmbCurve->currentText ()); |
1789 | 1795 | m_backgroundStateContext->setBackgroundImage ((BackgroundImage) m_cmbBackground->currentIndex ()); |
1790 | 1796 | |
1791 | slotViewZoomFill(); | |
1797 | // Preference for issue #25 is 100% rather than fill mode | |
1798 | slotViewZoom1To1 (); | |
1792 | 1799 | |
1793 | 1800 | setCurrentFile(fileName); |
1794 | 1801 | m_statusBar->showTemporaryMessage (temporaryMessage); |
1973 | 1980 | void MainWindow::slotEditPaste () |
1974 | 1981 | { |
1975 | 1982 | LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::slotEditPaste"; |
1983 | } | |
1984 | ||
1985 | void MainWindow::slotFileClose() | |
1986 | { | |
1987 | LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::slotFileClose"; | |
1988 | ||
1989 | if (maybeSave ()) { | |
1990 | ||
1991 | // Transition from defined to undefined. This must be after the clearing of the screen | |
1992 | // since the axes checker screen item (and maybe others) must still exist | |
1993 | m_transformationStateContext->triggerStateTransition(TRANSFORMATION_STATE_UNDEFINED, | |
1994 | cmdMediator(), | |
1995 | m_transformation, | |
1996 | selectedGraphCurve()); | |
1997 | ||
1998 | // Transition to empty state so an inadvertent mouse press does not trigger, for example, | |
1999 | // the creation of an axis point on a non-existent GraphicsScene (=crash) | |
2000 | m_digitizeStateContext->requestImmediateStateTransition (DIGITIZE_STATE_EMPTY); | |
2001 | ||
2002 | // Remove screen objects | |
2003 | m_scene->resetOnLoad (); | |
2004 | ||
2005 | // Remove background | |
2006 | m_backgroundStateContext->close (); | |
2007 | ||
2008 | // Remove scroll bars if they exist | |
2009 | m_scene->setSceneRect (QRectF (0, 0, 1, 1)); | |
2010 | ||
2011 | // Deallocate Document | |
2012 | delete m_cmdMediator; | |
2013 | m_cmdMediator = 0; | |
2014 | m_currentFile = ""; | |
2015 | m_engaugeFile = ""; | |
2016 | ||
2017 | updateControls(); | |
2018 | } | |
1976 | 2019 | } |
1977 | 2020 | |
1978 | 2021 | void MainWindow::slotFileExport () |
2113 | 2156 | |
2114 | 2157 | } |
2115 | 2158 | } |
2159 | } | |
2160 | ||
2161 | void MainWindow::slotFileOpenDraggedDigFile (QString fileName) | |
2162 | { | |
2163 | LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::slotFileOpenDraggedDigFile"; | |
2164 | ||
2165 | loadDocumentFile (fileName); | |
2116 | 2166 | } |
2117 | 2167 | |
2118 | 2168 | void MainWindow::slotFilePrint() |
2882 | 2932 | |
2883 | 2933 | m_menuFileOpenRecent->setEnabled ((m_actionRecentFiles.count () > 0) && |
2884 | 2934 | (m_actionRecentFiles.at(0)->isVisible ())); // Need at least one visible recent file entry |
2885 | m_actionSave->setEnabled (!m_engaugeFile.isEmpty ()); | |
2935 | m_actionClose->setEnabled (!m_currentFile.isEmpty ()); | |
2936 | m_actionSave->setEnabled (!m_currentFile.isEmpty ()); | |
2886 | 2937 | m_actionSaveAs->setEnabled (!m_currentFile.isEmpty ()); |
2887 | 2938 | m_actionExport->setEnabled (!m_currentFile.isEmpty ()); |
2888 | 2939 | m_actionPrint->setEnabled (!m_currentFile.isEmpty ()); |
180 | 180 | void slotEditCut (); |
181 | 181 | void slotEditDelete (); |
182 | 182 | void slotEditPaste (); |
183 | void slotFileClose (); | |
183 | 184 | void slotFileExport (); |
184 | 185 | void slotFileImport(); |
185 | 186 | void slotFileImportDraggedImage(QImage); |
186 | 187 | void slotFileImportDraggedImageUrl(QUrl); |
187 | 188 | void slotFileImportImage(QString, QImage); |
188 | 189 | void slotFileOpen(); |
190 | void slotFileOpenDraggedDigFile (QString); | |
189 | 191 | void slotFilePrint(); |
190 | 192 | bool slotFileSave(); /// Slot method that is sometimes called directly with return value expected |
191 | 193 | bool slotFileSaveAs(); /// Slot method that is sometimes called directly with return value expected |
309 | 311 | QAction *m_actionOpen; |
310 | 312 | QMenu *m_menuFileOpenRecent; |
311 | 313 | QList<QAction*> m_actionRecentFiles; |
314 | QAction *m_actionClose; | |
312 | 315 | QAction *m_actionSave; |
313 | 316 | QAction *m_actionSaveAs; |
314 | 317 | QAction *m_actionExport; |
0 | #include "MigrateToVersion6.h" | |
1 | ||
2 | MigrateToVersion6::MigrateToVersion6 () | |
3 | { | |
4 | } | |
5 | ||
6 | ColorPalette MigrateToVersion6::colorPalette (int preVersion6) const | |
7 | { | |
8 | switch (preVersion6) { | |
9 | case 0: | |
10 | return COLOR_PALETTE_BLACK; | |
11 | ||
12 | case 1: | |
13 | return COLOR_PALETTE_BLUE; | |
14 | ||
15 | case 2: | |
16 | return COLOR_PALETTE_CYAN; | |
17 | ||
18 | case 3: | |
19 | return COLOR_PALETTE_GOLD; | |
20 | ||
21 | case 4: | |
22 | return COLOR_PALETTE_GREEN; | |
23 | ||
24 | case 5: | |
25 | return COLOR_PALETTE_MAGENTA; | |
26 | ||
27 | case 6: | |
28 | return COLOR_PALETTE_RED; | |
29 | ||
30 | case 7: | |
31 | return COLOR_PALETTE_TRANSPARENT; | |
32 | ||
33 | case 8: | |
34 | return COLOR_PALETTE_YELLOW; | |
35 | ||
36 | default: | |
37 | return COLOR_PALETTE_BLACK; | |
38 | } | |
39 | } | |
40 | ||
41 | CurveConnectAs MigrateToVersion6::curveConnectAs (int preVersion6) const | |
42 | { | |
43 | switch (preVersion6) { | |
44 | case 0: | |
45 | return CONNECT_AS_FUNCTION_STRAIGHT; | |
46 | ||
47 | case 1: | |
48 | return CONNECT_AS_RELATION_STRAIGHT; | |
49 | ||
50 | default: | |
51 | return CONNECT_AS_FUNCTION_STRAIGHT; | |
52 | } | |
53 | } | |
54 | ||
55 | PointShape MigrateToVersion6::pointShape (int preVersion6) const | |
56 | { | |
57 | switch (preVersion6) { | |
58 | case 0: | |
59 | return POINT_SHAPE_CROSS; | |
60 | ||
61 | case 1: | |
62 | return POINT_SHAPE_X; | |
63 | ||
64 | case 2: | |
65 | return POINT_SHAPE_DIAMOND; | |
66 | ||
67 | case 3: | |
68 | return POINT_SHAPE_SQUARE; | |
69 | ||
70 | case 4: | |
71 | return POINT_SHAPE_TRIANGLE; | |
72 | ||
73 | default: | |
74 | return POINT_SHAPE_CROSS; | |
75 | } | |
76 | } | |
77 | ||
78 | int MigrateToVersion6::pointRadius (int preVersion6) const | |
79 | { | |
80 | // From pointsetstyles.h | |
81 | return 2 * (preVersion6 + 1); | |
82 | } |
0 | #ifndef MIGRATE_TO_VERSION_6_H | |
1 | #define MIGRATE_TO_VERSION_6_H | |
2 | ||
3 | #include "ColorPalette.h" | |
4 | #include "CurveConnectAs.h" | |
5 | #include "PointShape.h" | |
6 | ||
7 | /// Converts old (=pre version 6) enums to new (=version 6) enums, for reading of old document files | |
8 | class MigrateToVersion6 | |
9 | { | |
10 | public: | |
11 | /// Single constructor | |
12 | MigrateToVersion6 (); | |
13 | ||
14 | /// Color from color palette | |
15 | ColorPalette colorPalette (int preVersion6) const; | |
16 | ||
17 | /// Line drawn between points | |
18 | CurveConnectAs curveConnectAs (int preVersion6) const; | |
19 | ||
20 | /// Point shape | |
21 | PointShape pointShape (int preVersion6) const; | |
22 | ||
23 | /// Point radius | |
24 | int pointRadius (int preVersion6) const; | |
25 | }; | |
26 | ||
27 | #endif // MIGRATE_TO_VERSION_6_H |
0 | 0 | #include "Version.h" |
1 | ||
2 | const char *VERSION_NUMBER = "6.2"; | |
1 | 3 | |
2 | 4 | QString engaugeWindowTitle() |
3 | 5 | { |
0 | 0 | digit*.msi |
1 | digit*.zip | |
1 | 2 | *.wixobj |
2 | engauge.wixpdb | |
3 | digit*.wixpdb | |
4 | engauge*.wixpdb | |
3 | 5 | staging |
6 | Engauge Digitizer⏎ |
0 | #!/usr/bin/bash | |
1 | ||
2 | export FROMQCH="$HOME/engauge6/bin/documentation/engauge.qch" | |
3 | export FROMQHC="$HOME/engauge6/bin/documentation/engauge.qhc" | |
4 | export FROMICO="$HOME/engauge6/src/img/digitizer.ico" | |
5 | export FROMDLL="/C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/bin" | |
6 | ||
7 | ls -ls $FROMQCH | awk '{print $7,$8,$9,$10}' | |
8 | ls -ls $FROMQHC | awk '{print $7,$8,$9,$10}' | |
9 | ||
10 | read -p 'If the help input files are up to date, press Enter to continue' | |
11 | ||
12 | echo "***Copying help input files" | |
13 | mkdir -p documentation | |
14 | cp $FROMQCH ../bin/documentation | |
15 | cp $FROMQHC ../bin/documentation | |
16 | ||
17 | echo "***Copying DLL libraries from $FROMDLL" | |
18 | cp $FROMDLL/libwinpthread-1.dll ../bin/ | |
19 | ||
20 | echo "***Copying icon file" | |
21 | cp $FROMICO ../bin | |
22 | ||
23 | # Notes: | |
24 | # 1) Need gcc 4 at /C/cygwin/bin rather than gcc 3 at /usr/bin to prevent 'unrecognized command line | |
25 | # option -fno-keep-inline-dllexport' | |
26 | # 2) Running 'make -j 4' exhausts system resources which hangs the build | |
27 | # 3) windeployqt builds the release files in the same directory as the executable | |
28 | export PATH=/C/QtOpenSource/Qt5.5.1/Tools/mingw492_32/bin:$PATH && | |
29 | echo "***Rebuilding release executable" && | |
30 | cd ../src && | |
31 | qmake engauge.pro && | |
32 | make clean && | |
33 | make && | |
34 | cd ../windows && | |
35 | echo "***Rebuilding release directory" && | |
36 | windeployqt -release ../bin/engauge.exe && | |
37 | echo "***Compiling release files" && | |
38 | candle.exe engauge.wxs && | |
39 | candle.exe WixUI_InstallDir_NoLicense.wxs && | |
40 | echo "***Creating MSI" && | |
41 | light.exe -ext WixUIExtension -ext WixUtilExtension engauge.wixobj WixUI_InstallDir_NoLicense.wixobj -o digit-exe-windows-64-bit-installer-6_0.msi |
0 | #!/usr/bin/bash | |
1 | ||
2 | export FROMQCH="$HOME/engauge6/bin/documentation/engauge.qch" | |
3 | export FROMQHC="$HOME/engauge6/bin/documentation/engauge.qhc" | |
4 | export FROMICO="$HOME/engauge6/src/img/digitizer.ico" | |
5 | export FROMDLL="/C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/bin" | |
6 | ||
7 | ls -ls $FROMQCH | awk '{print $7,$8,$9,$10}' | |
8 | ls -ls $FROMQHC | awk '{print $7,$8,$9,$10}' | |
9 | ||
10 | read -p 'If the help input files are up to date, press Enter to continue' | |
11 | ||
12 | VERSION_NUMBER=`fgrep -e 'char *VERSION_NUMBER' ../src/util/Version.cpp | awk -F '"' '{print $2}'` | |
13 | echo "Version number=$VERSION_NUMBER" | |
14 | ||
15 | read -p 'If the version number is correct, press Enter to continue' | |
16 | ||
17 | VERSION_NUMBER=`echo $VERSION_NUMBER | sed 's/\./_/g'` | |
18 | ||
19 | echo "***Copying help input files" | |
20 | mkdir -p documentation | |
21 | cp $FROMQCH ../bin/documentation | |
22 | cp $FROMQHC ../bin/documentation | |
23 | ||
24 | echo "***Copying DLL libraries from $FROMDLL" | |
25 | cp $FROMDLL/libwinpthread-1.dll ../bin/ | |
26 | ||
27 | echo "***Copying icon file" | |
28 | cp $FROMICO ../bin | |
29 | ||
30 | # Notes: | |
31 | # 1) Need gcc 4 at /C/cygwin/bin rather than gcc 3 at /usr/bin to prevent 'unrecognized command line | |
32 | # option -fno-keep-inline-dllexport' | |
33 | # 2) Running 'make -j 4' exhausts system resources which hangs the build | |
34 | # 3) windeployqt builds the release files in the same directory as the executable | |
35 | echo "***Rebuilding release executable" && | |
36 | export PATH=/C/QtOpenSource/Qt5.5.1/Tools/mingw492_32/bin:$PATH && | |
37 | export ENGAUGE_RELEASE=1 && | |
38 | cd .. && | |
39 | qmake engauge.pro && | |
40 | make clean && | |
41 | make && | |
42 | cd windows && | |
43 | echo "***Rebuilding release directory" && | |
44 | windeployqt -release ../bin/engauge.exe && | |
45 | echo "***Compiling release files" && | |
46 | candle.exe engauge.wxs && | |
47 | candle.exe WixUI_InstallDir_NoLicense.wxs && | |
48 | echo "***Creating MSI" && | |
49 | light.exe -ext WixUIExtension -ext WixUtilExtension engauge.wixobj WixUI_InstallDir_NoLicense.wixobj -o digit-exe-windows-32-bit-installer-$VERSION_NUMBER.msi | |
50 | ||
51 | echo "***Copying files for creating zip file" | |
52 | mkdir -p "Engauge Digitizer/bearer" | |
53 | mkdir -p "Engauge Digitizer/documentation" | |
54 | mkdir -p "Engauge Digitizer/iconengines" | |
55 | mkdir -p "Engauge Digitizer/imageformats" | |
56 | mkdir -p "Engauge Digitizer/platforms" | |
57 | mkdir -p "Engauge Digitizer/printsupport" | |
58 | mkdir -p "Engauge Digitizer/sqldrivers" | |
59 | mkdir -p "Engauge Digitizer/translations" | |
60 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/bearer/qgenericbearer.dll "Engauge Digitizer/bearer" | |
61 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/bearer/qnativewifibearer.dll "Engauge Digitizer/bearer" | |
62 | cp $FROMQCH "Engauge Digitizer/documentation" | |
63 | cp $FROMQHC "Engauge Digitizer/documentation" | |
64 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/iconengines/qsvgicon.dll "Engauge Digitizer/iconengines" | |
65 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qdds.dll "Engauge Digitizer/imageformats" | |
66 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qgif.dll "Engauge Digitizer/imageformats" | |
67 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qicns.dll "Engauge Digitizer/imageformats" | |
68 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qico.dll "Engauge Digitizer/imageformats" | |
69 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qjp2.dll "Engauge Digitizer/imageformats" | |
70 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qjpeg.dll "Engauge Digitizer/imageformats" | |
71 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qmng.dll "Engauge Digitizer/imageformats" | |
72 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qsvg.dll "Engauge Digitizer/imageformats" | |
73 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qtga.dll "Engauge Digitizer/imageformats" | |
74 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qtiff.dll "Engauge Digitizer/imageformats" | |
75 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qwbmp.dll "Engauge Digitizer/imageformats" | |
76 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/imageformats/qwebp.dll "Engauge Digitizer/imageformats" | |
77 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/platforms/qwindows.dll "Engauge Digitizer/platforms" | |
78 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/printsupport/windowsprintersupport.dll "Engauge Digitizer/printsupport" | |
79 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/sqldrivers/qsqlite.dll "Engauge Digitizer/sqldrivers" | |
80 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/sqldrivers/qsqlmysql.dll "Engauge Digitizer/sqldrivers" | |
81 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/plugins/sqldrivers/qsqlodbc.dll "Engauge Digitizer/sqldrivers" | |
82 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_ca.qm "Engauge Digitizer/translations" | |
83 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_cs.qm "Engauge Digitizer/translations" | |
84 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_de.qm "Engauge Digitizer/translations" | |
85 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_en.qm "Engauge Digitizer/translations" | |
86 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_fi.qm "Engauge Digitizer/translations" | |
87 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_fr.qm "Engauge Digitizer/translations" | |
88 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_he.qm "Engauge Digitizer/translations" | |
89 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_hu.qm "Engauge Digitizer/translations" | |
90 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_it.qm "Engauge Digitizer/translations" | |
91 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_ja.qm "Engauge Digitizer/translations" | |
92 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_ko.qm "Engauge Digitizer/translations" | |
93 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_lv.qm "Engauge Digitizer/translations" | |
94 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_ru.qm "Engauge Digitizer/translations" | |
95 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_sk.qm "Engauge Digitizer/translations" | |
96 | cp /C/QtOpenSource/Qt5.5.1/5.5/mingw492_32/translations/qt_uk.qm "Engauge Digitizer/translations" | |
97 | cp ../bin/D3Dcompiler_47.dll "Engauge Digitizer" | |
98 | cp ../bin/engauge.exe "Engauge Digitizer" | |
99 | cp ../bin/libEGL.dll "Engauge Digitizer" | |
100 | cp ../bin/libgcc_s_dw2-1.dll "Engauge Digitizer" | |
101 | cp ../bin/libGLESV2.dll "Engauge Digitizer" | |
102 | cp ../bin/libstdc++-6.dll "Engauge Digitizer" | |
103 | cp ../bin/libwinpthread-1.dll "Engauge Digitizer" | |
104 | cp ../bin/opengl32sw.dll "Engauge Digitizer" | |
105 | cp ../bin/Qt5*.dll "Engauge Digitizer" | |
106 | ||
107 | echo "***Building zip file" | |
108 | /C/cygwin64/bin/zip -r digit-exe-windows-32-bit-zip-file-$VERSION_NUMBER.zip "Engauge Digitizer" |