1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.theplugin.idea.crucible.table.column;
18
19 import com.atlassian.theplugin.idea.TableColumnInfo;
20 import com.atlassian.theplugin.idea.crucible.table.renderer.ReviewDecoratorImpl;
21 import com.atlassian.theplugin.idea.crucible.ReviewData;
22
23 import javax.swing.*;
24 import java.util.Comparator;
25
26
27 public class ReviewStateColumn extends TableColumnInfo {
28 private static final int COL_WIDTH = new JLabel("Summarize").getPreferredSize().width;
29
30 public String getColumnName() {
31 return "State";
32 }
33
34 public Object valueOf(Object o) {
35 ReviewData review = (ReviewData) o;
36
37 return new ReviewDecoratorImpl(review.getState().value(), review).getString();
38 }
39
40 public Class getColumnClass() {
41 return String.class;
42 }
43
44 public Comparator getComparator() {
45 return new Comparator() {
46 public int compare(Object o, Object o1) {
47 return ((ReviewData) o).getState().value()
48 .compareTo(((ReviewData) o1).getState().value());
49 }
50 };
51 }
52
53 public int getPrefferedWidth() {
54 return COL_WIDTH;
55 }
56
57
58 }