MyNode.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package de.tu_darmstadt.informatik.tk.scopviz.graphs;
  2. import java.util.Set;
  3. import org.graphstream.graph.implementations.AbstractGraph;
  4. import org.graphstream.graph.implementations.SingleNode;
  5. import de.tu_darmstadt.informatik.tk.scopviz.ui.css.CSSManager;
  6. import de.tu_darmstadt.informatik.tk.scopviz.ui.css.CSSable;
  7. public class MyNode extends SingleNode implements CSSable {
  8. // TODO comment
  9. Set<String> classes;
  10. // TODO comment
  11. String type = "node";
  12. // TODO comment
  13. String css;
  14. public MyNode(AbstractGraph graph, String id) {
  15. super(graph, id);
  16. updateCSS();
  17. }
  18. @Override
  19. public void addCSSClass(String c) {
  20. classes.add(c);
  21. }
  22. @Override
  23. public void removeCSSClass(String c) {
  24. classes.remove(c);
  25. }
  26. @Override
  27. public void toggleCSSClass(String c) {
  28. if (hasCSSClass(c))
  29. removeCSSClass(c);
  30. else
  31. addCSSClass(c);
  32. }
  33. @Override
  34. public boolean hasCSSClass(String c) {
  35. return classes.contains(c);
  36. }
  37. @Override
  38. public Set<String> getClasses() {
  39. return classes;
  40. }
  41. @Override
  42. public String getType() {
  43. return type;
  44. }
  45. @Override
  46. public void updateCSS() {
  47. css = CSSManager.getCSS(this);
  48. addAttribute("ui.style", css);
  49. }
  50. @Override
  51. public String getCSS() {
  52. return css;
  53. }
  54. }