From: Francois V. <Fra...@sk...> - 2004-10-10 07:43:23
|
1. Using the scrollbars to scroll to the left or to scroll up on a big graph leaves lines on the graph control. Added an overriden WndProc as follows: protected override void WndProc(ref Message m) { if(m.Msg==WM_VSCROLL) { this.Invalidate(); } base.WndProc (ref m); } I don't understand why the ScrollableControl class doesn't have a scroll-event, but this works as well. 2. When using CTL+SHIFT+Right mouse button to Zoom Out the popup menu for the control pops up. This one was more difficult. If you look at the mouse-down event: if((e.Button==MouseButtons.Right) && (e.Clicks==1) && (CtrlShift)) { this.Zoom -=0.1F; CtrlShift = false; this.ContextMenu = null; return; } There is a 'return' at the end of this, isn't it? In debug mode the context-menu does not appear, without a break-point it does... Anyway, I hacked it by settings the ContextMenu to null since it is being rebuild on every click because of the Entity dependence. 3. Dragging a connection from one Connector to another can be a bit tricky sometimes. As I said in an earlier post, tweaking of the resources. 4. Addition. You can use for debugging purpose something like freeArrows.Add(new FreeArrow(new PointF(0,0),insertionPoint, "(" + insertionPoint.X + "," + insertionPoint.Y + ")")); In the GraphControl class. It draws a helpful arrow with coordinates at the tip, you can use it as a free, non-graph related arrow if you wish too. The method can be used in general, I guess, to display information on the canvas. 5.Addition. Intermediate connection points. There is a fundamental shift here in the class structure. The former Tracker class is called now ShapeTracker and the base abstract class is called 'Tracker'! The tracker associated to the connection is called ConnectionTracker. Hope it's not confusing, it's also the way it was implemented in version beta-one. I haven't looked at the implications it has on serialization. I need to reconstruct the application examples anyway and will scan the serialization at that point. You can download the latest version here http://netron.sf.net/downloads/GraphControlUpdate.zip It includes the Bezier demo I spoke about yesterday. Looking at the v2beta, starts to look outdated, no? I think we should move to a new release soon. If the GraphML requires more time I suggest uploading a v2beta2 release. Have a nice Sunday! |