changelog
    
    
    - Sat, 05 Mar 2022 00:44:15 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sat, 05 Mar 2022 00:44:15 +0200] rev 156
 
    - render the grid with lines
 
    - Fri, 04 Mar 2022 23:41:58 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 04 Mar 2022 23:41:58 +0200] rev 155
 
    - improve rendering of the grid
 
    - Fri, 04 Mar 2022 23:00:06 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 04 Mar 2022 23:00:06 +0200] rev 154
 
    - add missing files
 
    - Fri, 04 Mar 2022 11:40:19 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 04 Mar 2022 11:40:19 +0200] rev 153
 
    - Renamed modeleditcontext.cpp -> modeleditor.cpp
 
    - Fri, 04 Mar 2022 11:37:50 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 04 Mar 2022 11:37:50 +0200] rev 152
 
    - Major refactoring
- Model now just stores objects
- Document contains business logic
- Model::EditContext is now ModelEditor, no longer a nested class 
    - Thu, 03 Mar 2022 21:13:16 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 03 Mar 2022 21:13:16 +0200] rev 151
 
    - Clean up Model
 
    - Thu, 03 Mar 2022 11:42:52 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Thu, 03 Mar 2022 11:42:52 +0200] rev 150
 
    - extract polygon cache out of Model
 
    - Tue, 01 Mar 2022 17:00:19 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 01 Mar 2022 17:00:19 +0200] rev 149
 
    - work on edit history
 
    - Tue, 02 Nov 2021 15:43:57 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 02 Nov 2021 15:43:57 +0200] rev 148
 
    - reworking
 
    - Sun, 24 Oct 2021 11:33:32 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 24 Oct 2021 11:33:32 +0300] rev 147
 
    - update
 
    - Tue, 28 Sep 2021 23:09:09 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 28 Sep 2021 23:09:09 +0300] rev 146
 
    - remove outdated comment
 
    - Tue, 28 Sep 2021 23:07:23 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 28 Sep 2021 23:07:23 +0300] rev 145
 
    - Use QSaveFile to save the file more safely
 
    - Tue, 28 Sep 2021 22:17:52 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 28 Sep 2021 22:17:52 +0300] rev 144
 
    - Fix handling of "BFC INVERTNEXT" with multiple inner whitespaces
 
    - Tue, 28 Sep 2021 22:14:00 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 28 Sep 2021 22:14:00 +0300] rev 143
 
    - Fix memory corruption involving document tools.
I don't think that the metaobject-initialization had anything to do with this
but it is a lot simpler without it anyway. 
    - Tue, 28 Sep 2021 00:21:09 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 28 Sep 2021 00:21:09 +0300] rev 142
 
    - Update document tab label after saving
 
    - Tue, 28 Sep 2021 00:10:29 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 28 Sep 2021 00:10:29 +0300] rev 141
 
    - Saving works now
 
    - Mon, 27 Sep 2021 21:04:45 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 27 Sep 2021 21:04:45 +0300] rev 140
 
    - work on saving
 
    - Wed, 22 Sep 2021 14:03:43 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 22 Sep 2021 14:03:43 +0300] rev 139
 
    - Document and refactor colors.cpp and colors.h
 
    - Wed, 22 Sep 2021 13:28:53 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 22 Sep 2021 13:28:53 +0300] rev 138
 
    - Document model.h
 
    - Wed, 22 Sep 2021 12:55:44 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 22 Sep 2021 12:55:44 +0300] rev 137
 
    - Add documentation to model.cpp
 
    - Wed, 22 Sep 2021 12:30:48 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 22 Sep 2021 12:30:48 +0300] rev 136
 
    - Work on edit history
 
    - Wed, 22 Sep 2021 00:25:31 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 22 Sep 2021 00:25:31 +0300] rev 135
 
    - Merge commit
 
    - Wed, 22 Sep 2021 00:25:13 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 22 Sep 2021 00:25:13 +0300] rev 134
 
    - Add remaining serialize methods
 
    - Tue, 21 Sep 2021 19:58:06 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 21 Sep 2021 19:58:06 +0300] rev 133
 
    - Begin work on edit history
 
    - Tue, 21 Sep 2021 16:00:15 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 21 Sep 2021 16:00:15 +0300] rev 132
 
    - Begin work with serialization
 
    - Fri, 17 Sep 2021 22:43:22 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 17 Sep 2021 22:43:22 +0300] rev 131
 
    - add missing change to document.cpp
 
    - Fri, 17 Sep 2021 22:38:53 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 17 Sep 2021 22:38:53 +0300] rev 130
 
    - Add missing changes to canvas.h
 
    - Sun, 12 Sep 2021 13:50:28 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 12 Sep 2021 13:50:28 +0300] rev 129
 
    - Add documentation
 
    - Sun, 12 Sep 2021 12:14:32 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 12 Sep 2021 12:14:32 +0300] rev 128
 
    - Moved automatic grid adjusting into a new action
 
    - Sun, 29 Aug 2021 22:14:42 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 29 Aug 2021 22:14:42 +0300] rev 127
 
    - added a simple matrix transformation tool
 
    - Sun, 29 Aug 2021 21:28:08 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 29 Aug 2021 21:28:08 +0300] rev 126
 
    - moved ObjectEditor under SelectTool
 
    - Sun, 29 Aug 2021 20:39:55 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 29 Aug 2021 20:39:55 +0300] rev 125
 
    - Move tools under Document instead of MainWindow
 
    - Sun, 29 Aug 2021 20:05:24 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 29 Aug 2021 20:05:24 +0300] rev 124
 
    - esc with draw mode now clears the polygon
 
    - Fri, 27 Aug 2021 14:38:56 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 27 Aug 2021 14:38:56 +0300] rev 123
 
    - refactor
 
    - Fri, 27 Aug 2021 00:55:32 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 27 Aug 2021 00:55:32 +0300] rev 122
 
    - Show concave polygons as red while drawing
 
    - Fri, 30 Jul 2021 01:28:39 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Fri, 30 Jul 2021 01:28:39 +0300] rev 121
 
    - added right click support for draw tool
 
    - Wed, 28 Jul 2021 13:22:51 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 28 Jul 2021 13:22:51 +0300] rev 120
 
    - rework rendering of vertices
 
    - Wed, 28 Jul 2021 08:23:09 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Wed, 28 Jul 2021 08:23:09 +0300] rev 119
 
    - update
 
    - Tue, 27 Jul 2021 16:29:00 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 27 Jul 2021 16:29:00 +0300] rev 118
 
    - Add vertex rendering
 
    - Tue, 27 Jul 2021 13:23:34 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 27 Jul 2021 13:23:34 +0300] rev 117
 
    - Add vertex map
 
    - Tue, 27 Jul 2021 12:44:54 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 27 Jul 2021 12:44:54 +0300] rev 116
 
    - refactor
 
    - Tue, 27 Jul 2021 11:11:32 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 27 Jul 2021 11:11:32 +0300] rev 115
 
    - fix too long lines
 
    - Tue, 27 Jul 2021 09:56:06 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Tue, 27 Jul 2021 09:56:06 +0300] rev 114
 
    - added build-time test for line length
 
    - Mon, 26 Jul 2021 11:50:45 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 26 Jul 2021 11:50:45 +0300] rev 113
 
    - refactor
 
    - Sun, 25 Jul 2021 20:39:21 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 25 Jul 2021 20:39:21 +0300] rev 112
 
    - use QT_NO_KEYWORDS
 
    - Sun, 25 Jul 2021 20:29:14 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 25 Jul 2021 20:29:14 +0300] rev 111
 
    - Draw tool actually adds objects now
 
    - Sun, 25 Jul 2021 16:29:08 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 25 Jul 2021 16:29:08 +0300] rev 110
 
    - stuff
 
    - Sun, 25 Jul 2021 16:26:38 +0300
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 25 Jul 2021 16:26:38 +0300] rev 109
 
    - replaced preview layers in favor of overpainting callback