Re: Drawing network topology
I hope this doesn't ruin your day, but just drawing a network topology is a complex task...modifying the drawing is going to be the easy part. Having done this once before--on a Mac in the early '80s--I have a couple of suggestions for you:
1) Tackle the spatial layout (drawing routine) first...don't worry about editing it yet. Get your logic in place to analyze and visually display the network topology, because that is a rather hairy process in itself. We actually ended up forcing the user to "pre-draw" the topology for us, because trying to automatically generate it from a database proved too difficult. A lot of PhD thesis paper has been wasted on various ways to dynamically analyze and depict networks; you might want to get a book on data modelling algorithms and start reading...
2) Once you get the spatial layout taken care of, it now becomes a little more straight forward exercise in graphics UI and manipulation. I would strongly recommend some type of "object-based" graphics, where each line/box/whatever is internally maintained and drawn. You may even be able to find some shareware CAD packages that will sell you the source for a pittance...it's not a sin to use other people's code.
Hope this helps, and good luck.
Cheers!
Humble Programmer
,,,^..^,,,
[email protected]
Re: Drawing network topology
I would look at three packages....
TomSawyer Software makes a library that will automatically lay out a graph like this BUT it is VERY expensive (too expensive for what it does in my opinion).
A less automated approach with be to use the MFC drawing extensions from Dundas (Ultimate Draw), or Stingray (Objective Draw).
Re: Drawing network topology
Hi am developing a network topology/configuration program also. Currently I have CStatic bitmap objects representing routers, hubs, IP networks, etc. You doubleclick on the object and a dialog box pops up to allow you to configure the object. My current problem is that I need to the user to be able to move the objects around with the mouse.
Ernie