Hacking:Technical decisions: Difference between revisions
m
→C++ and Qt: I smoothed the wording & fixed grammar where I was sure that I wasn't changing the meaning.
Pneumarian (talk | contribs) m (→C++ and Qt: I smoothed the wording & fixed grammar where I was sure that I wasn't changing the meaning.) |
|||
(7 intermediate revisions by 2 users not shown) | |||
Line 11:
* First prototype was made on Pascal.
* Next try was made on C and GTK+. It was time when we describe a pattern in C, instead of using normal interpreter language like Python for example, and export a pattern to png, pdf and ps.
* That prototype
* Next logical conclusion was to separate the data and program. This is where we came up with the idea of a pattern file format based on XML.
* Next thing that you usually want is to have a nice GUI, and here is the time for Qt to show up.
Line 17:
== C++ and Qt ==
When you decide to use Qt you also want to decide which language to use
Qt's killer feature for us was [https://doc.qt.io/qt-5/graphicsview.html Graphics View Framework]. This set of classes allow us to quick build the GUI for manipulating objects. A lot of developer teams do their own research in this area, but we decided
In the end it allows us to build a project that has only one external dependence: Qt itself. And this fact
== Code Repository Hosting ==
Line 31:
== Continuous Integration ==
A process called [https://en.wikipedia.org/wiki/Continuous_integration Continuous Integration (CI)] has evolved in recent years. When the Valentina project was hosted on Mercurial, several tools were implemented to support the CI method of releasing code changes and getting those changes into the hands of users quickly.
The Seamly2D project split from the Valentina project by the end of 2017. The Seamly2D code has been moved to a separate repository at https://github.com/FashionFreedom/Seamly2D. The [[Seamly2D_ci | initial Seamly2D CI environment]] was based on the delivery pipeline used by the Valentina project.
Incorporating minor software changes was still possible until changes happened to the environment provided by Appveyor in the summer of 2018. A change in the default version of a software tool used to build the windows executable caused the automatic process of builds to fail (for windows executables only). Changes still could be and were being made to the Mac executable and to the Ubuntu version which is hosted at the Seamly2D repository on launchpad.
Additional changes in the continuous integration tools provided by Github will force the Seamly2D project to update the pipeline process before January 31, 2019. Please check back to this wiki for updates in the process.
|