1 package prefuse.visual; 2 3 import java.awt.BasicStroke ; 4 import java.awt.Font ; 5 import java.awt.geom.Rectangle2D ; 6 7 import prefuse.Visualization; 8 import prefuse.data.CascadedTable; 9 import prefuse.data.Schema; 10 import prefuse.data.Table; 11 import prefuse.data.event.EventConstants; 12 import prefuse.data.expression.Predicate; 13 import prefuse.visual.tuple.TableVisualItem; 14 15 26 public class VisualTable extends CascadedTable implements VisualTupleSet { 27 28 private Visualization m_vis; 29 private String m_group; 30 31 34 40 public VisualTable(Table parent, Visualization vis, String group) { 41 this(parent, vis, group, null, VisualItem.SCHEMA); 42 } 43 44 52 public VisualTable(Table parent, Visualization vis, String group, 53 Predicate rowFilter) 54 { 55 this(parent, vis, group, rowFilter, VisualItem.SCHEMA); 56 } 57 58 67 public VisualTable(Table parent, Visualization vis, String group, 68 Predicate rowFilter, Schema schema) 69 { 70 super(parent, rowFilter, null, TableVisualItem.class); 71 init(vis, group, schema); 72 } 73 74 76 81 public VisualTable(Visualization vis, String group) { 82 super(TableVisualItem.class); 83 init(vis, group, VisualItem.SCHEMA); 84 } 85 86 92 public VisualTable(Visualization vis, String group, Schema schema) { 93 super(TableVisualItem.class); 94 init(vis, group, schema); 95 } 96 97 104 public VisualTable(Visualization vis, String group, Schema schema, 105 Class tupleType) 106 { 107 super(tupleType); 108 init(vis, group, schema); 109 } 110 111 117 protected void init(Visualization vis, String group, Schema schema) { 118 setVisualization(vis); 119 setGroup(group); 120 addColumns(schema); 121 if ( canGetBoolean(VisualItem.VISIBLE) ) 122 index(VisualItem.VISIBLE); 123 if ( canGetBoolean(VisualItem.STARTVISIBLE) ) 124 index(VisualItem.STARTVISIBLE); 125 if ( canGetBoolean(VisualItem.VALIDATED) ) 126 index(VisualItem.VALIDATED); 127 } 128 129 131 135 protected void fireTableEvent(int row0, int row1, int col, int type) { 136 if ( type==EventConstants.UPDATE ) 138 { 139 if ( col != VisualItem.IDX_VALIDATED ) { 140 for ( int r=row0; r<=row1; ++r ) 141 setValidated(r,false); 142 } else { 143 for ( int r=row0; r<=row1; ++r ) { 145 if ( !isValidated(r) ) { 146 m_vis.damageReport(getItem(r), getBounds(r)); 148 } 149 } 150 } 151 } 152 else if ( type==EventConstants.DELETE && col==EventConstants.ALL_COLUMNS) 153 { 154 for ( int r=row0; r<=row1; ++r ) { 155 if ( isVisible(r) && isValidated(r) ) { 156 VisualItem item = (VisualItem)getTuple(r); 157 m_vis.damageReport(item, getBounds(r)); 158 } 159 } 160 } 161 super.fireTableEvent(row0, row1, col, type); 163 } 164 165 168 171 public Visualization getVisualization() { 172 return m_vis; 173 } 174 175 179 public void setVisualization(Visualization vis) { 180 m_vis = vis; 181 } 182 183 187 public String getGroup() { 188 return m_group; 189 } 190 191 195 public void setGroup(String group) { 196 m_group = group; 197 } 198 199 204 public VisualItem getItem(int row) { 205 return (VisualItem)getTuple(row); 206 } 207 208 213 public VisualItem addItem() { 214 return getItem(addRow()); 215 } 216 217 220 226 public boolean isValidated(int row) { 227 return getBoolean(row, VisualItem.VALIDATED); 228 } 229 230 236 public void setValidated(int row, boolean value) { 237 setBoolean(row, VisualItem.VALIDATED, value); 238 } 239 240 248 public boolean isVisible(int row) { 249 return getBoolean(row, VisualItem.VISIBLE); 250 } 251 252 257 public void setVisible(int row, boolean value) { 258 setBoolean(row, VisualItem.VISIBLE, value); 259 } 260 261 268 public boolean isStartVisible(int row) { 269 return getBoolean(row, VisualItem.STARTVISIBLE); 270 } 271 272 277 public void setStartVisible(int row, boolean value) { 278 setBoolean(row, VisualItem.STARTVISIBLE, value); 279 } 280 281 288 public boolean isEndVisible(int row) { 289 return getBoolean(row, VisualItem.ENDVISIBLE); 290 } 291 292 297 public void setEndVisible(int row, boolean value) { 298 setBoolean(row, VisualItem.ENDVISIBLE, value); 299 } 300 301 307 public boolean isInteractive(int row) { 308 return getBoolean(row, VisualItem.INTERACTIVE); 309 } 310 311 316 public void setInteractive(int row, boolean value) { 317 setBoolean(row, VisualItem.INTERACTIVE, value); 318 } 319 320 326 public boolean isExpanded(int row) { 327 return getBoolean(row, VisualItem.EXPANDED); 328 } 329 330 335 public void setExpanded(int row, boolean value) { 336 setBoolean(row, VisualItem.EXPANDED, value); 337 } 338 339 345 public boolean isFixed(int row) { 346 return getBoolean(row, VisualItem.FIXED); 347 } 348 349 354 public void setFixed(int row, boolean value) { 355 setBoolean(row, VisualItem.FIXED, value); 356 } 357 358 363 public boolean isHighlighted(int row) { 364 return getBoolean(row, VisualItem.HIGHLIGHT); 365 } 366 367 376 public void setHighlighted(int row, boolean value) { 377 setBoolean(row, VisualItem.HIGHLIGHT, value); 378 } 379 380 385 public boolean isHover(int row) { 386 return getBoolean(row, VisualItem.HOVER); 387 } 388 389 395 public void setHover(int row, boolean value) { 396 setBoolean(row, VisualItem.HOVER, value); 397 } 398 399 401 406 public double getX(int row) { 407 return getDouble(row, VisualItem.X); 408 } 409 410 415 public void setX(int row, double x) { 416 setDouble(row, VisualItem.X, x); 417 } 418 419 424 public double getY(int row) { 425 return getDouble(row, VisualItem.Y); 426 } 427 428 433 public void setY(int row, double y) { 434 setDouble(row, VisualItem.Y, y); 435 } 436 437 442 public double getStartX(int row) { 443 return getDouble(row, VisualItem.STARTX); 444 } 445 446 451 public void setStartX(int row, double x) { 452 setDouble(row, VisualItem.STARTX, x); 453 } 454 455 460 public double getStartY(int row) { 461 return getDouble(row, VisualItem.STARTY); 462 } 463 464 469 public void setStartY(int row, double y) { 470 setDouble(row, VisualItem.STARTY, y); 471 } 472 473 478 public double getEndX(int row) { 479 return getDouble(row, VisualItem.ENDX); 480 } 481 482 487 public void setEndX(int row, double x) { 488 setDouble(row, VisualItem.ENDX, x); 489 } 490 491 496 public double getEndY(int row) { 497 return getDouble(row, VisualItem.ENDY); 498 } 499 500 505 public void setEndY(int row, double y) { 506 setDouble(row, VisualItem.ENDY, y); 507 } 508 509 518 public Rectangle2D getBounds(int row) { 519 return (Rectangle2D )get(row, VisualItem.BOUNDS); 520 } 521 522 534 public void setBounds(int row, double x, double y, double w, double h) { 535 getBounds(row).setRect(x, y, w, h); 536 fireTableEvent(row, row, 537 getColumnNumber(VisualItem.BOUNDS), EventConstants.UPDATE); 538 } 539 540 542 552 public int getStrokeColor(int row) { 553 return getInt(row, VisualItem.STROKECOLOR); 554 } 555 556 566 public void setStrokeColor(int row, int color) { 567 setInt(row, VisualItem.STROKECOLOR, color); 568 } 569 570 580 public int getStartStrokeColor(int row) { 581 return getInt(row, VisualItem.STARTSTROKECOLOR); 582 } 583 584 594 public void setStartStrokeColor(int row, int color) { 595 setInt(row, VisualItem.STARTSTROKECOLOR, color); 596 } 597 598 608 public int getEndStrokeColor(int row) { 609 return getInt(row, VisualItem.ENDSTROKECOLOR); 610 } 611 612 622 public void setEndStrokeColor(int row, int color) { 623 setInt(row, VisualItem.ENDSTROKECOLOR, color); 624 } 625 626 636 public int getFillColor(int row) { 637 return getInt(row, VisualItem.FILLCOLOR); 638 } 639 640 650 public void setFillColor(int row, int color) { 651 setInt(row, VisualItem.FILLCOLOR, color); 652 } 653 654 664 public int getStartFillColor(int row) { 665 return getInt(row, VisualItem.STARTFILLCOLOR); 666 } 667 668 678 public void setStartFillColor(int row, int color) { 679 setInt(row, VisualItem.STARTFILLCOLOR, color); 680 } 681 682 692 public int getEndFillColor(int row) { 693 return getInt(row, VisualItem.ENDFILLCOLOR); 694 } 695 696 706 public void setEndFillColor(int row, int color) { 707 setInt(row, VisualItem.ENDFILLCOLOR, color); 708 } 709 710 720 public int getTextColor(int row) { 721 return getInt(row, VisualItem.TEXTCOLOR); 722 } 723 724 734 public void setTextColor(int row, int color) { 735 setInt(row, VisualItem.TEXTCOLOR, color); 736 } 737 738 748 public int getStartTextColor(int row) { 749 return getInt(row, VisualItem.STARTTEXTCOLOR); 750 } 751 752 762 public void setStartTextColor(int row, int color) { 763 setInt(row, VisualItem.STARTTEXTCOLOR, color); 764 } 765 766 776 public int getEndTextColor(int row) { 777 return getInt(row, VisualItem.ENDTEXTCOLOR); 778 } 779 780 790 public void setEndTextColor(int row, int color) { 791 setInt(row, VisualItem.ENDTEXTCOLOR, color); 792 } 793 794 796 803 public double getSize(int row) { 804 return getDouble(row, VisualItem.SIZE); 805 } 806 807 814 public void setSize(int row, double size) { 815 setDouble(row, VisualItem.SIZE, size); 816 } 817 818 825 public double getStartSize(int row) { 826 return getDouble(row, VisualItem.STARTSIZE); 827 } 828 829 836 public void setStartSize(int row, double size) { 837 setDouble(row, VisualItem.STARTSIZE, size); 838 } 839 840 847 public double getEndSize(int row) { 848 return getDouble(row, VisualItem.ENDSIZE); 849 } 850 851 858 public void setEndSize(int row, double size) { 859 setDouble(row, VisualItem.ENDSIZE, size); 860 } 861 862 864 872 public int getShape(int row) { 873 return getInt(row, VisualItem.SHAPE); 874 } 875 876 884 public void setShape(int row, int shape) { 885 setInt(row, VisualItem.SHAPE, shape); 886 } 887 888 890 895 public BasicStroke getStroke(int row) { 896 return (BasicStroke )get(row, VisualItem.STROKE); 897 } 898 899 903 public void setStroke(int row, BasicStroke stroke) { 904 set(row, VisualItem.STROKE, stroke); 905 } 906 907 909 915 public Font getFont(int row) { 916 return (Font )get(row, VisualItem.FONT); 917 } 918 919 925 public void setFont(int row, Font font) { 926 set(row, VisualItem.FONT, font); 927 } 928 929 935 public Font getStartFont(int row) { 936 return (Font )get(row, VisualItem.STARTFONT); 937 } 938 939 945 public void setStartFont(int row, Font font) { 946 set(row, VisualItem.STARTFONT, font); 947 } 948 949 955 public Font getEndFont(int row) { 956 return (Font )get(row, VisualItem.ENDFONT); 957 } 958 959 965 public void setEndFont(int row, Font font) { 966 set(row, VisualItem.ENDFONT, font); 967 } 968 969 971 980 public double getDOI(int row) { 981 return getDouble(row, VisualItem.DOI); 982 } 983 984 993 public void setDOI(int row, double doi) { 994 setDouble(row, VisualItem.DOI, doi); 995 } 996 997 } | Popular Tags |