GraphUI3 is an app based on Graph Theory concepts, the app allows you to create, edit and run visual algorithms on graphs.
For more information about Graph Theory, click here.
Simply download and install the app from the Microsoft Store for the latest release.
If you want to open the app in Visual Studio Community / Pro / Enterprise and see how the code actually works, you'll need the Windows App SDK and clone this repository.
The fundamental unit of which graphs are formed.
Tip
Create nodes by double clicking anywhere on the app.
Tip
You can move a node around by moving the mouse while holding left click on a node.
Right clicking on a node brings up it's option menu where you can give it a name or delete it from your graph.
Tip
Double click on an existing node to select it (its border will turn red), a selected node can interact with another selected node.
Edges link nodes together, their weight determines the "distance" between nodes.
Tip
Create edges by selecting two distinct nodes.
Important
Loops are not yet supported, you cannot create an edge from the same node to the same node.
Important
So far, the app only supports unoriented graphs (WiP).
Right clicking on an edge brings up its options menu where you can change its weight or delete it from your graph.
Note
Edge weights CANNOT be negative. If set to 0 their weight will not show up in the UI but they are treated as "1".
Your basic file opening / saving / loading menu, you can choose to save your current graph to a file, load up another graph or create a new graph.
Note
If the graph is not saved the app will ask if you want to save your changes before discarding.
Caution
It is not recommended to manually edit these graph files, it can lead to errors where the app cannot load up the graph! If you want to manually edit the graph please refer to the end of this readme to see how the files are actually formed.
Contains your entire current graph data, it is exactly what is saved inside a graph file as text, you can opt to copy the contents directly from here if you want.
Note
The graph is not editable from the 'Raw' menu yet.
Contains various quick editing features of your current loaded graph.
2.3.1. The difference between creating a new graph and resetting current is when you already have a graph loaded from file, resetting keeps file path, creating a new one will require you to assign a path to it when saving.
2.3.2. Resetting the colors doesn't affect your graphs traits. ( Colors are not saved , they are purely visual )
2.3.3. Resetting weights converts your current graph to a fully unweighed one.
2.3.4. Auto-Set Weights by Distance will convert your graph to a weighed one where the weights are the pixel distances between nodes. ( updated automatically )
Note
In this app edge weight default values are 1, even if edge weight is 0 it is always considered 1 since there cannot be two or more nodes 0 distance apart. If you leave weights at 0 they will not show up on the UI, 1 will show up but they are treated as equal!
2.4 The 'Help' menu contains the button that brings you to this page :)
*as of ver 1.0.0
3.1. Coloring
*The "First Path only" switch sets wether these algorithms should return the full list ( capped at 100 ) existent path ( there can be a lot of them ) or just stop at the first one found. ( to check for existance and visually show it )
3.2.1-3.2.2 Hamilton Path / Cycle
3.2.3-3.2.4 Euler Path / Cycle
3.4.1 Minimum Spanning Tree
Pull requests are welcome. I'll try my best to add as much interactive stuff to the app and make it robust. Hit me up with ideas.