|
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!
|