Codebase list engauge-digitizer / 94b479a
Imported Upstream version 6.2 Tobias Winchen 8 years ago
54 changed file(s) with 2078 addition(s) and 1070 deletion(s). Raw diff Collapse all Expand all
00 \#*
1 engauge.log
2 engauge.pro.user
3 Makefile*
4 object_script.engauge
5 qrc_*
44
55 Rewrite of Engauge Digitizer from Qt3/Qt4 to Qt5
66
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.
1010
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.
1712
1813 Developers and users are encouraged to offer their suggestions and comments!
1914
2015 Features
2116 --------
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:
2718
2819 1. Undo/redo of all operations means recovering from mistakes and experimenting with options is painless
2920 2. Wizard provides an interactive tutorial to explain the basic steps
4031 12. Uploadable error report generated when a programming error is encountered, for identifying problems and improving
4132 user support
4233 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>
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 digit-exe*.run
1 engauge
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"
1111 engauge_test.pro
1212 engauge_test.pro.user
1313 Makefile*
14 object_script.engauge
14 object_script.*
1515 qrc_*
2626 m_currentState = NUM_BACKGROUND_STATES; // Value that forces a transition right away
2727 requestStateTransition (BACKGROUND_STATE_UNLOADED);
2828 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 ();
2938 }
3039
3140 void BackgroundStateContext::completeRequestedStateTransitionIfExists()
2727 public:
2828 /// Single constructor
2929 BackgroundStateContext(MainWindow &mainWindow);
30
31 /// Open Document is being closed so remove the background
32 void close();
3033
3134 /// Zoom so background fills the window
3235 void fitInView (GraphicsView &view);
1313
1414 const int NUM_AXES_POINTS = 3;
1515
16 const QString DUMMY_CURVENAME ("dummy");
16 extern const QString DUMMY_CURVE_NAME;
1717 const int Z_VALUE_IN_FRONT = 100;
1818 const int NO_SIDE = -1;
1919
445445
446446 const QPointF &pF = *itr;
447447
448 Point p (DUMMY_CURVENAME,
448 Point p (DUMMY_CURVE_NAME,
449449 pF,
450450 pF);
451451 points.push_back (p);
00 #include "Curve.h"
11 #include "CurvesGraphs.h"
2 #include "CurveStyle.h"
23 #include "DocumentSerialize.h"
34 #include "EngaugeAssert.h"
45 #include "Logger.h"
6 #include "MigrateToVersion6.h"
57 #include "Point.h"
68 #include "PointComparator.h"
9 #include <QDataStream>
710 #include <QDebug>
811 #include <QMap>
912 #include <QTextStream>
1518 const QString AXIS_CURVE_NAME ("Axes");
1619 const int AXIS_CURVE_ORDINAL = 0;
1720 const QString DEFAULT_GRAPH_CURVE_NAME ("Curve1");
21 const QString DUMMY_CURVE_NAME ("dummy");
1822 const QString TAB_DELIMITER ("\t");
1923
2024 typedef QMap<double, QString> XOrThetaToPointIdentifier;
3438 m_colorFilterSettings (curve.colorFilterSettings ()),
3539 m_curveStyle (curve.curveStyle ())
3640 {
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 }
3799 }
38100
39101 Curve::Curve (QXmlStreamReader &reader)
1212
1313 extern const QString AXIS_CURVE_NAME;
1414 extern const QString DEFAULT_GRAPH_CURVE_NAME;
15 extern const QString DUMMY_CURVE_NAME;
1516
1617 class CurvesGraphs;
18 class QDataStream;
1719 class QTextStream;
1820 class QXmlStreamReader;
1921 class QXmlStreamWriter;
2729 Curve(const QString &curveName,
2830 const ColorFilterSettings &colorFilterSettings,
2931 const CurveStyle &curveStyle);
32
33 /// Constructor from serialized binary pre-version 6 file
34 Curve (QDataStream &str);
3035
3136 /// Constructor for use when loading from serialized xml
3237 Curve (QXmlStreamReader &reader);
44 #include "EngaugeAssert.h"
55 #include "Logger.h"
66 #include "Point.h"
7 #include <qdebug.h>
78 #include <QTextStream>
89 #include <QXmlStreamWriter>
910 #include "Transformation.h"
138139
139140 const Curve &curve = *itr;
140141 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
141164 }
142165 }
143166
5151 /// Apply functor to Points on all of the Curves.
5252 void iterateThroughCurvesPoints (const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback) const;
5353
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
5558 void loadXml(QXmlStreamReader &reader);
5659
5760 /// Current number of graphs curves.
6060 QWidget *panelButtons = new QWidget (this);
6161 QHBoxLayout *buttonLayout = new QHBoxLayout (panelButtons);
6262
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 ()));
6667
6768 QSpacerItem *spacer = new QSpacerItem (40, 5, QSizePolicy::Minimum, QSizePolicy::Minimum);
6869 buttonLayout->addItem (spacer);
6970
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 ()));
7474
7575 panelLayout->addWidget (panelButtons, STRETCH_ON, Qt::AlignRight);
7676 panelLayout->setStretch (panelLayout->count () - 1, STRETCH_OFF);
142142 layout->addWidget (labelPreview, row++, 0, 1, 4);
143143
144144 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);
146148 m_viewPreview->setWhatsThis (tr ("Preview window that shows how current settings affect the displayed axes checker"));
147149 m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
148150 m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
108108 layout->addWidget (labelPreview, row++, 0, 1, 5);
109109
110110 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);
112114 m_viewPreview->setWhatsThis (tr ("Preview window that shows how current settings affect the filtering of the original image."));
113115 m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
114116 m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
340340 layout->addWidget (labelPreview, row++, 0, 1, 4);
341341
342342 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);
344346 m_viewPreview->setWhatsThis (tr ("Preview window that shows how current settings affect the coordinate system."));
345347 m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
346348 m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
4646 {
4747 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsCurveAddRemove::createButtons";
4848
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"
5351 "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);
5755
5856 m_btnRemove = new QPushButton ("Remove");
5957 m_btnRemove->setWhatsThis (tr ("Removes the currently selected curve from the curve list.\n\n"
352350
353351 QString curveNameSuggestion = nextCurveName ();
354352
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);
370356
371357 updateControls();
372358 }
425411 int numSelectedItems = m_listCurves->selectionModel ()->selectedIndexes ().count ();
426412 int numItems = m_curveNameList->rowCount ();
427413
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
440414 // Leave at least one curve
441415 m_btnRemove->setEnabled ((numSelectedItems > 0) && (numSelectedItems < numItems));
442416 }
5050 void removeSelectedCurves();
5151 void updateControls ();
5252
53 QPushButton *m_btnNew;
53 QPushButton *m_btnAdd;
5454 QPushButton *m_btnRemove;
5555 QPushButton *m_btnRename;
5656
204204 layout->addWidget (labelPreview, row++, 0, 1, 4);
205205
206206 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);
208210 m_viewPreview->setWhatsThis (tr ("Preview window that shows how current settings affect the points and line of the selected curve.\n\n"
209211 "The X coordinate is in the horizontal direction, and the Y coordinate is in the vertical direction. A "
210212 "function can have only one Y value, at most, for any X value, but a relation can have multiple Y values "
122122 IMAGE_WIDTH,
123123 IMAGE_HEIGHT);
124124
125 m_viewPreview = new ViewPreview (m_scenePreview, this);
125 m_viewPreview = new ViewPreview (m_scenePreview,
126 ViewPreview::VIEW_ASPECT_RATIO_VARIABLE,
127 this);
126128 m_viewPreview->setWhatsThis (tr ("Preview window showing the currently selected cursor"));
127129 m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
128130 m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
4949 layout->addWidget (labelPreview, row++, 0, 1, 5);
5050
5151 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);
5355 m_viewPreview->setWhatsThis (tr ("Preview window that shows how current settings affect grid removal"));
5456 m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
5557 m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
124124 layout->addWidget (labelPreview, row++, 0, 1, 4);
125125
126126 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);
128130 m_viewPreview->setWhatsThis (tr ("Preview window shows how current settings affect "
129131 "point matching, and how the marked and candidate points are displayed.\n\nThe points are separated "
130132 "by the point separation value, and the maximum point size is shown as a box in the center"));
130130 layout->addWidget (labelPreview, row++, 0, 1, 4);
131131
132132 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);
134136 m_viewPreview->setWhatsThis (tr ("Preview window shows the shortest line that can be segment filled, "
135137 "and the effects of current settings on segments and points generated by segment fill"));
136138 m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
2323 #include "Transformation.h"
2424 #include "Xml.h"
2525
26 const int FOUR_BYTES = 4;
27
2628 Document::Document (const QImage &image) :
2729 m_name ("untitled"),
2830 m_curveAxes (new Curve (AXIS_CURVE_NAME,
3032 CurveStyle (LineStyle::defaultAxesCurve(),
3133 PointStyle::defaultAxesCurve ())))
3234 {
35 LOG4CPP_INFO_S ((*mainCat)) << "Document::Document"
36 << " image=" << image.width() << "x" << image.height();
37
3338 m_successfulRead = true; // Reading from QImage always succeeds, resulting in empty Document
3439
3540 m_pixmap.convertFromImage (image);
4449 m_name (fileName),
4550 m_curveAxes (0)
4651 {
52 LOG4CPP_INFO_S ((*mainCat)) << "Document::Document"
53 << " fileName=" << fileName.toLatin1().data();
54
4755 m_successfulRead = true;
4856
57 // Grab first few bytes to determine the version number
4958 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
6877 }
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";
12196 }
12297 }
123 if (reader.hasError ()) {
124
125 m_successfulRead = false;
126 m_reasonForUnsuccessfulRead = reader.errorString();
127 }
128
129 // Close and deactivate
98 } else {
13099 file->close ();
131 delete file;
132 file = 0;
133
134 } else {
135
136100 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 }
141105 }
142106
143107 void Document::addGraphCurveAtEnd (const QString &curveName)
232196 curvesGraphs.iterateThroughCurvesPoints (ftorWithCallback);
233197 }
234198
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
235211 void Document::checkAddPointAxis (const QPointF &posScreen,
236212 const QPointF &posGraph,
237213 bool &isError,
422398 // 1) File is broken
423399 // 2) Bad character is in text, and NetworkClient::cleanXml did not do its job
424400 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();
425629 }
426630 }
427631
1818 #include <QXmlStreamReader>
1919
2020 class Curve;
21 class QByteArray;
2122 class QImage;
2223 class QTransform;
2324 class QXmlStreamWriter;
230231 private:
231232 Document ();
232233
234 bool bytesIndicatePreVersion6 (const QByteArray &bytes) const;
233235 Curve *curveForCurveName (const QString &curveName); // For use by Document only. External classes should use functors
234236 void generateEmptyPixmap(const QXmlStreamAttributes &attributes);
235237 void loadCurvesGraphs(QXmlStreamReader &reader);
236238 void loadImage(QXmlStreamReader &reader);
239 void loadPostVersion5 (QXmlStreamReader &reader);
240 void loadPreVersion6 (QDataStream &str);
237241
238242 // Metadata
239243 QString m_name;
8585 }
8686 }
8787
88 ENGAUGE_ASSERT (false);
8988 return 0;
9089 }
9190
00 #include "DataKey.h"
1 #include "Document.h"
12 #include "GraphicsItemType.h"
23 #include "GraphicsView.h"
34 #include "Logger.h"
56 #include "Point.h"
67 #include <QApplication>
78 #include <QDebug>
9 #include <QDropEvent>
810 #include <QGraphicsPixmapItem>
911 #include <QGraphicsPolygonItem>
1012 #include <QGraphicsScene>
2022 QGraphicsView (scene)
2123 {
2224 connect (this, SIGNAL (signalContextMenuEvent (QString)), &mainWindow, SLOT (slotContextMenuEvent (QString)));
25 connect (this, SIGNAL (signalDraggedDigFile (QString)), &mainWindow, SLOT (slotFileOpenDraggedDigFile (QString)));
2326 connect (this, SIGNAL (signalDraggedImage (QImage)), &mainWindow, SLOT (slotFileImportDraggedImage (QImage)));
2427 connect (this, SIGNAL (signalDraggedImageUrl (QUrl)), &mainWindow, SLOT (slotFileImportDraggedImageUrl (QUrl)));
2528 connect (this, SIGNAL (signalKeyPress (Qt::Key, bool)), &mainWindow, SLOT (slotKeyPress (Qt::Key, bool)));
100103
101104 void GraphicsView::dropEvent (QDropEvent *event)
102105 {
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");
104110
105111 // This code is not specific to a digitizing state so it is implemented here
106112
114120 str << " url=" << url.toString () << " ";
115121 }
116122
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 ()) {
118131
119132 // This branch never seems to get executed, but will be kept in case it ever applies (since hasUrls branch is messier and less reliable)
120133 QImage image = qvariant_cast<QImage> (event->mimeData ()->imageData ());
121134 LOG4CPP_INFO_S ((*mainCat)) << "GraphicsView::dropEvent image";
122135 emit signalDraggedImage (image);
123136
124 } else if (event->mimeData ()->hasUrls ()) {
137 } else if (event->mimeData ()->hasUrls () &&
138 event->mimeData ()->urls().count () > 0) {
125139
126140 // Sometimes images can be dragged in, but sometimes the url points to an html page that
127141 // contains just the image, in which case importing will fail
181195 QGraphicsView::leaveEvent (event);
182196 }
183197
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
184208 void GraphicsView::mouseMoveEvent (QMouseEvent *event)
185209 {
186210 // LOG4CPP_DEBUG_S ((*mainCat)) << "GraphicsView::mouseMoveEvent cursor="
55 #include <QUrl>
66
77 class MainWindow;
8 class QByteArray;
89 class QGraphicsPixmapItem;
910 class QGraphicsScene;
1011
5051 /// Send right click on axis point to MainWindow for editing.
5152 void signalContextMenuEvent (QString pointIdentifier);
5253
54 /// Send dragged dig file to MainWindow for import. This comes from dragging an engauge dig file
55 void signalDraggedDigFile (QString);
56
5357 /// Send dragged image to MainWindow for import. This typically comes from dragging a file
5458 void signalDraggedImage (QImage);
5559
7579 GraphicsView();
7680
7781 bool inBounds (const QPointF &posScreen);
82 bool loadsAsDigFile (const QString &urlString) const;
7883 };
7984
8085 #endif // GRAPHICSVIEW_H
4343 // Possible locations of help file. Each entry is first tried as is, and then with
4444 // applicationDirPath as a prefix. Each entry should probably start with a slash
4545 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
4653 paths << "/documentation/engauge.qhc";
4754 paths << "/../share/doc/engauge-digitizer/engauge.qhc";
4855
1111 unsigned int Point::m_identifierIndex = 0;
1212
1313 extern const QString AXIS_CURVE_NAME;
14 extern const QString DUMMY_CURVE_NAME;
1415 const QString POINT_IDENTIFIER_DELIMITER ("_");
1516
1617 const double MISSING_ORDINAL_VALUE = 0;
4950 m_hasOrdinal (false),
5051 m_ordinal (MISSING_ORDINAL_VALUE)
5152 {
52 ENGAUGE_ASSERT (curveName == AXIS_CURVE_NAME);
53 ENGAUGE_ASSERT (curveName == AXIS_CURVE_NAME ||
54 curveName == DUMMY_CURVE_NAME);
5355
5456 LOG4CPP_INFO_S ((*mainCat)) << "Point::Point"
5557 << " curveName=" << curveName.toLatin1().data()
1919 m_isGnuplot (isGnuplot)
2020 {
2121 LOG4CPP_INFO_S ((*mainCat)) << "Segment::Segment"
22 << " address=0x" << hex << (unsigned long) this;
22 << " address=0x" << hex << (quintptr) this;
2323 }
2424
2525 Segment::~Segment()
2626 {
2727 LOG4CPP_INFO_S ((*mainCat)) << "Segment::~Segment"
28 << " address=0x" << hex << (unsigned long) this;
28 << " address=0x" << hex << (quintptr) this;
2929
3030 QList<SegmentLine*>::iterator itr;
3131 for (itr = m_lines.begin(); itr != m_lines.end(); itr++) {
4545 int yNew = y;
4646
4747 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
4949 << " adding ("
5050 << xOld << "," << yOld << ") to ("
5151 << xNew << "," << yNew << ")";
470470 ++(*foldedLines);
471471
472472 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
474474 << " removing ("
475475 << linePrevious->line().x1() << "," << linePrevious->line().y1() << ") to ("
476476 << linePrevious->line().x2() << "," << linePrevious->line().y2() << ") "
1515 m_segment (segment)
1616 {
1717 LOG4CPP_DEBUG_S ((*mainCat)) << "SegmentLine::SegmentLine"
18 << " address=0x" << std::hex << (unsigned long) this;
18 << " address=0x" << std::hex << (quintptr) this;
1919
2020 setData (DATA_KEY_GRAPHICS_ITEM_TYPE, QVariant (GRAPHICS_ITEM_TYPE_SEGMENT));
2121
3434 SegmentLine::~SegmentLine ()
3535 {
3636 LOG4CPP_DEBUG_S ((*mainCat)) << "SegmentLine::~SegmentLine"
37 << " address=0x" << std::hex << (unsigned long) this;
37 << " address=0x" << std::hex << (quintptr) this;
3838 }
3939
4040 void SegmentLine::hoverEnterEvent(QGraphicsSceneHoverEvent * /* event */)
436436
437437 updateTransformFromMatrices (ftor.matrixScreen(),
438438 ftor.matrixGraph());
439 } else {
440
441 m_transformIsDefined = false;
442
439443 }
440444 }
441445 }
22 #include "ViewPreview.h"
33
44 ViewPreview::ViewPreview(QGraphicsScene *scene,
5 ViewAspectRatio viewAspectRatio,
56 QWidget *parent) :
6 QGraphicsView (scene, parent)
7 QGraphicsView (scene, parent),
8 m_viewAspectRatio (viewAspectRatio)
79 {
810 setMouseTracking(true);
911 }
1719
1820 void ViewPreview::resizeEvent(QResizeEvent *event)
1921 {
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) {
2223
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 }
2434 }
99 Q_OBJECT;
1010
1111 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
1219 /// Single constructor.
1320 ViewPreview(QGraphicsScene *scene,
21 ViewAspectRatio viewAspectRatio,
1422 QWidget *parent = 0);
1523
1624 /// Intercept cursor move events and forward them
2533
2634 private:
2735 ViewPreview();
36
37 ViewAspectRatio m_viewAspectRatio;
2838 };
2939
3040 #endif // VIEW_PREVIEW_H
44
55 echo "Available tests: " ${tests[*]}
66
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
710 argcount="$#"
811
912 if [ $argcount -gt 0 ]
+0
-586
src/engauge.pro less more
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
-260
src/engauge.pro.user.mmitchell less more
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>
196196 Logger/Logger.h \
197197 Logger/LoggerUpload.h \
198198 main/MainWindow.h \
199 util/MigrateToVersion6.h \
199200 Mime/MimePoints.h \
200201 util/mmsubs.h \
201202 Network/NetworkClient.h \
425426 Logger/Logger.cpp \
426427 Logger/LoggerUpload.cpp \
427428 main/MainWindow.cpp \
429 util/MigrateToVersion6.cpp \
428430 Mime/MimePoints.cpp \
429431 util/mmsubs.cpp \
430432 Network/NetworkClient.cpp \
481483
482484 QT += core gui network printsupport testlib widgets xml help
483485
486 win32-g++* {
487 CONFIG += windows
488 LIBS += -L$$(LOG4CPP_HOME)/lib -L$$(FFTW_HOME)/lib
489 }
490
484491 LIBS += -llog4cpp -lfftw3
485492 INCLUDEPATH += Background \
486493 Callback \
522529 util \
523530 View
524531
532 win32-g++* {
533 INCLUDEPATH += $$(FFTW_HOME)/include \
534 $$(LOG4CPP_HOME)/include
535 }
536
525537 RESOURCES += \
526538 engauge.qrc
527539
528540 jpeg2000 {
529541 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)
531543 } else {
532 message(Building release version with support for JPEG2000 files)
544 message(Building release version with internal support for JPEG2000 files)
533545 }
534546 _JPEG2000_INCLUDE = $$(JPEG2000_INCLUDE)
535547 _JPEG2000_LIB = $$(JPEG2000_LIB)
558570
559571 } else {
560572 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)
562574 } else {
563 message(Building release version without support for JPEG2000 files)
575 message(Building release version without internal support for JPEG2000 files)
564576 }
565577 }
Binary diff not shown
106106
107107 const unsigned int MAX_RECENT_FILE_LIST_SIZE = 8;
108108
109 const char *VERSION_NUMBER = "6.0";
110
111109 MainWindow::MainWindow(const QString &errorReportFile,
112110 bool isGnuplot,
113111 QWidget *parent) :
130128
131129 setCurrentFile ("");
132130 createIcons();
133 setWindowFlags (Qt::WindowContextHelpButtonHint);
131 setWindowFlags (Qt::WindowContextHelpButtonHint | windowFlags ()); // Add help to default buttons
134132 setWindowTitle (engaugeWindowTitle ());
135133
136134 createCentralWidget();
354352 m_actionRecentFiles.append (recentFileAction);
355353 }
356354
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
357362 m_actionSave = new QAction(tr ("&Save"), this);
358363 m_actionSave->setShortcut (QKeySequence::Save);
359364 m_actionSave->setStatusTip (tr ("Saves the current document."));
434439 "Coordinate settings determine how the graph coordinates are mapped to the pixels in the image"));
435440 connect (m_actionSettingsCoords, SIGNAL (triggered ()), this, SLOT (slotSettingsCoords ()));
436441
437 m_actionSettingsCurveAddRemove = new QAction (tr ("Curve Add/Remove"), this);
442 m_actionSettingsCurveAddRemove = new QAction (tr ("Add/Remove Curve"), this);
438443 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"));
441446 connect (m_actionSettingsCurveAddRemove, SIGNAL (triggered ()), this, SLOT (slotSettingsCurveAddRemove ()));
442447
443448 m_actionSettingsCurveProperties = new QAction (tr ("Curve Properties"), this);
759764 m_menuFileOpenRecent->addAction (m_actionRecentFiles.at (i));
760765 }
761766 m_menuFile->addMenu (m_menuFileOpenRecent);
767 m_menuFile->addAction (m_actionClose);
762768 m_menuFile->insertSeparator (m_actionSave);
763769 m_menuFile->addAction (m_actionSave);
764770 m_menuFile->addAction (m_actionSaveAs);
17881794 m_cmbCurve->currentText ());
17891795 m_backgroundStateContext->setBackgroundImage ((BackgroundImage) m_cmbBackground->currentIndex ());
17901796
1791 slotViewZoomFill();
1797 // Preference for issue #25 is 100% rather than fill mode
1798 slotViewZoom1To1 ();
17921799
17931800 setCurrentFile(fileName);
17941801 m_statusBar->showTemporaryMessage (temporaryMessage);
19731980 void MainWindow::slotEditPaste ()
19741981 {
19751982 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 }
19762019 }
19772020
19782021 void MainWindow::slotFileExport ()
21132156
21142157 }
21152158 }
2159 }
2160
2161 void MainWindow::slotFileOpenDraggedDigFile (QString fileName)
2162 {
2163 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::slotFileOpenDraggedDigFile";
2164
2165 loadDocumentFile (fileName);
21162166 }
21172167
21182168 void MainWindow::slotFilePrint()
28822932
28832933 m_menuFileOpenRecent->setEnabled ((m_actionRecentFiles.count () > 0) &&
28842934 (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 ());
28862937 m_actionSaveAs->setEnabled (!m_currentFile.isEmpty ());
28872938 m_actionExport->setEnabled (!m_currentFile.isEmpty ());
28882939 m_actionPrint->setEnabled (!m_currentFile.isEmpty ());
180180 void slotEditCut ();
181181 void slotEditDelete ();
182182 void slotEditPaste ();
183 void slotFileClose ();
183184 void slotFileExport ();
184185 void slotFileImport();
185186 void slotFileImportDraggedImage(QImage);
186187 void slotFileImportDraggedImageUrl(QUrl);
187188 void slotFileImportImage(QString, QImage);
188189 void slotFileOpen();
190 void slotFileOpenDraggedDigFile (QString);
189191 void slotFilePrint();
190192 bool slotFileSave(); /// Slot method that is sometimes called directly with return value expected
191193 bool slotFileSaveAs(); /// Slot method that is sometimes called directly with return value expected
309311 QAction *m_actionOpen;
310312 QMenu *m_menuFileOpenRecent;
311313 QList<QAction*> m_actionRecentFiles;
314 QAction *m_actionClose;
312315 QAction *m_actionSave;
313316 QAction *m_actionSaveAs;
314317 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
00 #include "Version.h"
1
2 const char *VERSION_NUMBER = "6.2";
13
24 QString engaugeWindowTitle()
35 {
00 digit*.msi
1 digit*.zip
12 *.wixobj
2 engauge.wixpdb
3 digit*.wixpdb
4 engauge*.wixpdb
35 staging
6 Engauge Digitizer
+0
-42
windows/build_msi less more
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"