-v_radius = 10;
+v_radius = 7;
v_color = 'red'
e_width = 5
e_color = 'black'
var ezformatter = function(canvas) {
var retstr = "";
- var useedges = document.getElementById("radioedge").checked;
+ vertstr = "V = {";
+ edgestr = "E = ";
var useids = document.getElementById("idlblid").checked;
canvas.forEachObject(function(o) {
- if(useedges && o.type == 'Edge') {
- console.log("a");
- if(!useids) {
- retstr = retstr.concat("("+o.vertices[0].label+
- ", "+o.vertices[1].label+") ");
+ if(o.type=='Vertex') {
+ if(useids) {
+ vertstr = vertstr.concat(o.id+", ");
}
else {
- retstr = retstr.concat("("+o.vertices[0].id+
- ", "+o.vertices[1].id+") ");
+ vertstr = vertstr.concat(o.label+", ");
}
}
- else if(o.type == 'Vertex') {
-
-
+ else { // edge
+ if(useids) {
+ edgestr = edgestr.concat("{"+o.vertices[0].id+", "+
+ o.vertices[1].id+"}, ");
+ }
+ else {
+ edgestr = edgestr.concat("{"+o.vertices[0].label+
+ ","+o.vertices[1].label+"}, ");
+ }
}
});
+ if(vertstr!="V = {") {
+ vertstr = vertstr.slice(0,-2);
+ }
+ vertstr = vertstr.concat("}");
+ if(edgestr!="E = ") {
+ edgestr = edgestr.slice(0,-2);
+ }
+ retstr = vertstr + "\n" + edgestr;
document.getElementById("results").value = retstr;
document.getElementById("results").style.display = "block";
}
-var runformatter = function(canvas) {
- retstr = "";
- fstr = document.getElementById("formatstr").value;
- var in_escape = false;
- for(i=0;i<fstr.length;i++) {
- if(in_escape) {
- if(fstr[i]=='\\') {
- retstr.push('\\')
- }
- else if(fstr[i]=='{') {
- retstr.push('a');
- }
-
- in_escape = false;
- }
-
-
- }
-
- console.log(retstr);
-}
var Vertex = fabric.util.createClass(fabric.Circle, {
type: 'Vertex',
</div>
<div id="formatter">
Formatter<br/>
- <input type="radio" name="eorv"
- id="radiovert">
- <label for="radiovert">Run on vertices</label>
- <input type="radio" name="eorv"
- id="radioedge">
- <label for="radioedge">Run on edges</label><br/>
<input type="radio" name="idolbl"
id="idlblid">
- <label for="idlblid">Use automatically generated IDs</label>
+ <label for="idlblid">Use automatically generated IDs</label><br/>
<input type="radio" name="idolbl"
- id="idlbllbl">
+ id="idlbllbl" checked="checked">
<label for="idlbllbl">Use user-given labels</label><br/>
- <textarea name="formatstr" id="formatstr"></textarea><br/>
- <button id="fmt">Format</button><br/>
- <textarea name="results" id="results" style="display:none"></textarea>
+ <button id="fmt">Get representation</button><br/>
+ <textarea name="results" id="results" rows="10" cols="50" style="display:none"></textarea>
+ note: in order to get proper results when using user-provided labels, it's essential that you label each vertex uniquely.
</div>
</body>
</html>