-
Notifications
You must be signed in to change notification settings - Fork 6
/
CHANGELOG
123 lines (116 loc) · 6.98 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
2010-01-19
- improved AbstractMVCGraphicsItem which is now called GraphicsItemModelExtension
also virtual inheritance didn't work since i can't change QGraphicsTextItem's way
of inheriting from QGraphicsItem (read: i can't add public virtual QGraphicsItem)
2010-01-17
- labeleditor for nodes and connection(labels) will only show up with LMB doubleclick
2010-01-16
- started to add AbstractMVCGraphicsItem concept
2010-01-14
- added this to graphicsView.cpp
view->setSceneRect(QRect(0,0,500,500));
scene->setSceneRect(QRect(0,0,500,500));
which FIXED the issue when a GraphicsView was opened with existing nodes/connections
-> this will be fixed better in the near future, but works for now
2010-01-13
- this was fixed many many releases ago but goes into documentation here
FIXME Model.cpp/GraphicsScene.cpp right now adds a new connection as a loop, afterwards the loop
can be changed to a outgoing connection. the idea was that the automate is always well formed:
no links to dead objects
but this adds some overhead. this situation can be handled better:
just add a dead object which every new connection is linked to. now we can distinguish
between new object and loop again and we don't have any overhead.
FIX: this is now done using NULL
- all the points mentioned here were FIXed a few releases ago, but i want that in the CHANGELOG anyway
- ~Automate should remove all data structures associated with a automate instance like:
- all views (as well as all objects in the views as for instance a SceneItem_Node) and the model
- all data which 'could' be destructed by ~AutomateRoot
- lgpl 3.0 release
2010-01-09
- added some documentation
- fixed doxygen build
2010-01-04
- created a new filesystem structure
- added some more documentation with a class diagram which will be VERY helpful if you want
to understand how the components interact
- WARNING: some code is currently broken, namely:
SceneItem_ConnectionHandle.cpp::paint() triggers a bug which will allocate memory until the OOM
handler of the operating system kills the automate application. on my laptop this will instead
crash the whole system which is very annoying (a linux bug 2.6.32 bug)
2009-12-31
- the version number is now assigned using cmake for the qt project and for the doxygen documentation
using AUTOMATE_VERSION variable in CMakeLists.txt, just include version.h into the cpp file you want
to access the macro variable called VERSION which will be replaced by a string containing the version
- cmake is now the default and only build system
- doxygen build is enabled by default if doxygen is found
2009-12-26
- this code can be used as a library therefore i plan to release it using LGPL
but i have to rewrite the headers and that did not happen yet
- treeView.cpp / ItemView.cpp no longer break the MVC pattern
// FIXME this breaks the MVC pattern by using model->getTreeItemType();
model->getTreeItemType() is now private (defined in Model.h)
and should only be used inside Model.cpp (and friends of that class)
the replacement now is something like:
if ( model->data( item, customRole::TypeRole ).toInt() == ViewTreeItemType::NODE )
this maps the ViewTreeItemType::NODE via the model to a AbstractTreeItem's NODE type
- fixed doxygen build, a hardcoded path /home/joachim/.../src/ was the problem
2009-12-25
- calling ~Automate now removes the datastructure as well (wasn't implemented yet)
so until this fix a lot of memory was lost
- when closing the AutomateHandler (that is the first gui you see) all Automates get removed prior
program termination. this helps to track issues with memleaks (using valgrind for instance).
- FIXED issues with GraphicsView/TreeView once they were hidden (with a click to [x] on the top right corner)
they won't show up anymore using the QMenu context menu in the AutomateHandler
- added doxygen comments
2009-12-24
- made ViewHandler destructor virtual (i forgot this and the views weren't removed properly)
10.12.2009
- added support for placing a node under the cursor
this means: when designing an automate one can now just move the cursor to a place
one wants a node and press 'n' to get one. this is great since it makes creating
automates much faster
- WARNING: found out that this codebase needs some serious refactoring
- WARNING: this codebase has a bug, i must check if that was also true for the last
revision or if it is a qt 4.5 problem in general
the bug occures when a graphicsview is created -> it will crash the computer
here ;P
2008-07-25
- added custom loop handling so that loops can be moved to any location.
this 'fixed' loop labelItem position was now changed to be moved to any
other position which helps to get better layouts.
- added GPL notice to any source file
- added GPL_V3 file
- registered project at savannah (this last CHANGELOG wasn't added there)
but the fixes are of course uploaded there)
2008-07-21
fixed: graphicsitem: bezier issues
- drawing of loops is now possible
- "remove custom transformation" for loops does work now as it is disabled now for loops
- add arrow head for normal connections
- semi-fixed connectionItem bbox (still not perfect use 'u' to manually update)
- bezier drawing:
- bezier drawing is now disabled
- bbox issue: after layoutConnections in SceneItem_Node.cpp the bbox's old content is
not removed when object is drawn somewhere else. this is now fixed.
2008-07-13
added a new feature:
- new connections are now pointing to NULL with next_node. Now one knows if a node is a loop
or if it isn't initialized yet with checking next_node for NULL in a node_connection
This feature helps to minimize drawing of the graphicsView since NULL connections as one can
call them won't be drawn at all while loops will be handled at least in a stub handler right
now which will be implemented in the next release.
2008-07-12
FIXME add caching in SceneItem_Node,SceneItem_Connection,SceneItem_ConnectionHandle,... for model lookups
FIXME1 BUG: when adding new nodes/connections or when moving nodes with attached connections VERY fast in the view sometimes
the program hangs with this error:
QPainterPath::cubicTo: Adding point where x or y is NaN, results are undefined
QPainterPath::lineTo: Adding point where x or y is NaN, results are undefined
QPainterPath::arcTo: Adding arc where a parameter is NaN, results are undefined
...
HINT: this might be the drawing of an connection in the GraphicsScene
HINT: it is the presumption form above: when two nodes nearly overlap this can happen
CODE if ( myStartItem->collidesWithItem( myEndItem ) )
CODE return;
when this two lines in SceneItem_Connection are commented we can trigger this issue
FIXME readd contextMenu in connectionHandles
*sigh* now it's a QObject again, didn't want to do that but that was the only good solution