1 package fr.ifremer.dali.ui.swing.content.observation.photo;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import fr.ifremer.dali.decorator.DecoratorService;
27 import fr.ifremer.dali.dto.data.sampling.SamplingOperationDTO;
28 import fr.ifremer.dali.dto.referential.PhotoTypeDTO;
29 import fr.ifremer.dali.ui.swing.util.table.AbstractDaliTableModel;
30 import fr.ifremer.dali.ui.swing.util.table.DaliColumnIdentifier;
31 import fr.ifremer.quadrige3.ui.swing.table.SwingTableColumnModel;
32
33 import java.util.Date;
34
35 import static org.nuiton.i18n.I18n.n;
36
37
38
39
40 public class PhotosTableModel extends AbstractDaliTableModel<PhotosTableRowModel> {
41
42
43
44
45 public static final DaliColumnIdentifier<PhotosTableRowModel> NAME = DaliColumnIdentifier.newId(
46 PhotosTableRowModel.PROPERTY_NAME,
47 n("dali.property.name"),
48 n("dali.photo.name.tip"),
49 String.class,
50 true);
51
52
53
54
55 public static final DaliColumnIdentifier<PhotosTableRowModel> TYPE = DaliColumnIdentifier.newId(
56 PhotosTableRowModel.PROPERTY_PHOTO_TYPE,
57 n("dali.photo.type"),
58 n("dali.photo.type.tip"),
59 PhotoTypeDTO.class);
60
61
62
63
64 public static final DaliColumnIdentifier<PhotosTableRowModel> CAPTION = DaliColumnIdentifier.newId(
65 PhotosTableRowModel.PROPERTY_CAPTION,
66 n("dali.photo.caption"),
67 n("dali.photo.caption.tip"),
68 String.class);
69
70
71
72
73 public static final DaliColumnIdentifier<PhotosTableRowModel> DATE = DaliColumnIdentifier.newId(
74 PhotosTableRowModel.PROPERTY_DATE,
75 n("dali.property.date"),
76 n("dali.photo.date.tip"),
77 Date.class,
78 true);
79
80
81
82
83 public static final DaliColumnIdentifier<PhotosTableRowModel> SAMPLING_OPERATION = DaliColumnIdentifier.newId(
84 PhotosTableRowModel.PROPERTY_SAMPLING_OPERATION,
85 n("dali.property.samplingOperation"),
86 n("dali.photo.samplingOperation.tip"),
87 SamplingOperationDTO.class,
88 DecoratorService.CONCAT);
89
90
91
92
93 public static final DaliColumnIdentifier<PhotosTableRowModel> DIRECTION = DaliColumnIdentifier.newId(
94 PhotosTableRowModel.PROPERTY_DIRECTION,
95 n("dali.photo.direction"),
96 n("dali.photo.direction.tip"),
97 String.class);
98
99
100
101
102 public static final DaliColumnIdentifier<PhotosTableRowModel> PATH = DaliColumnIdentifier.newId(
103 PhotosTableRowModel.PROPERTY_PATH,
104 n("dali.photo.path"),
105 n("dali.photo.path.tip"),
106 String.class);
107
108 private boolean readOnly;
109
110
111
112
113
114
115 public PhotosTableModel(final SwingTableColumnModel columnModel) {
116 super(columnModel, false, false);
117 this.readOnly = false;
118 }
119
120
121
122
123
124
125 public void setReadOnly(boolean readOnly) {
126 this.readOnly = readOnly;
127 }
128
129
130 @Override
131 public PhotosTableRowModel createNewRow() {
132 return new PhotosTableRowModel(readOnly);
133 }
134
135
136 @Override
137 public DaliColumnIdentifier<PhotosTableRowModel> getFirstColumnEditing() {
138 return NAME;
139 }
140 }