/manugram

Computer Science Center, fall 2014, practice

Primary LanguageC++MIT LicenseMIT

manugram

Computer Science Center, fall 2014, practice

Building

Developed for Qt5, may work under Qt4. Just run qmake (standard CONFIG+=debug and CONFIG+=release work) followed by make and you'll get an executable.

Testing

Tests are located in tests.cpp and are built in the same project. Just add CONFIG+=tests (you may want it with CONFIG+=debug too) and run qmake followed by make.

You'll get a standard Qt testlib executable, which runs all the tests and prints results to stdout.

You can also add extra build configuration in Qt Creator (say, 'tests') based on standard 'debug' configuration. The only different you shoudl add is CONFIG+=tests to qmake parameters.

For MinGW users: Please take a look at this question on StackOverflow. In short: if your build directory contains spaces and you get gcc's error like <part-of-your-directory-here>: No such file or directory, locate a file named testlib_defines.prf in your Qt installation directory and replace triple backslashes by one backslash.

Similar products

  • Sketchometry, article in Russian
  • SMART Board software: the 'smart pen' tool (not sure about English name of the tool)

Used resources

Icon from http://www.icons4android.com/icon/1120 was used, edited on http://romannurik.github.io/AndroidAssetStudio/icons-launcher.html Icon in ICO format (for Windows) converted by http://www.icoconverter.com

Invariants

  1. Output operations do not throw exceptions. The only kind of error is underlying stream error - you have to manually check output stream bad bits afterwards, if you wish
  2. exportModelToImageFile throws exception if something goes wrong with QFile
  3. Output to std::stringstream is not checked for success - I assume that the only reason for it to fail is bad_alloc

Examples

Some pictures that I want to be drawable with Manugram are available here.