Revision 37575

View differences:

branches/v2_0_0_prep/extensions/org.gvsig.installer/org.gvsig.installer.swing/org.gvsig.installer.swing.impl/src/main/java/org/gvsig/installer/swing/impl/execution/panel/PackagesTablePanel.java
67 67
 */
68 68
public class PackagesTablePanel extends JPanel implements ListSelectionListener {
69 69

  
70
    private static final long serialVersionUID = 8156088357208685689L;
71
    protected SwingInstallerManager swingInstallerManager = null;
70
	private static final long serialVersionUID = 8156088357208685689L;
71
	protected SwingInstallerManager swingInstallerManager = null;
72 72

  
73
    private JScrollPane descriptionScrollPane;
74
    private JTextArea descriptionTextArea;
75
    private JTextPane descriptionTextPane;
76
    private JScrollPane pluginsScrollPane;
77
    private JTable pluginsTable;
78
    private CategoriesFilterPanel filterPanel;
79
    private FastFilterButtonsPanel fastFilterPanel;
80
    private SelectPackagesPanel selectPackagesPanel;
73
	private JScrollPane descriptionScrollPane;
74
	private JTextArea descriptionTextArea;
75
	private JTextPane descriptionTextPane;
76
	private JScrollPane pluginsScrollPane;
77
	private JTable pluginsTable;
78
	private CategoriesFilterPanel filterPanel;
79
	private FastFilterButtonsPanel fastFilterPanel;
80
	private SelectPackagesPanel selectPackagesPanel;
81 81

  
82
    public PackagesTablePanel(SelectPackagesPanel selectPackagesPanel) {
83
        super();
84
        swingInstallerManager =
85
            SwingInstallerLocator.getSwingInstallerManager();
86
        this.selectPackagesPanel = selectPackagesPanel;
87
        initComponents();
88
        pluginsTable.getSelectionModel().addListSelectionListener(this);
89
        pluginsTable.setDefaultRenderer(PackageOfficialRecommended.class,
90
            new OfficialRecommendedCellRenderer());
91
        pluginsTable.setDefaultRenderer(PackageStatus.class,
92
            new InstallStatusCellRenderer());
93
        pluginsTable.setDefaultEditor(PackageStatus.class,
94
            new InstallStatusCellEditor(this.selectPackagesPanel));
95
        AbstractTablePackageInfoCellRenderer ipcr =
96
            new InstalledPackageCellRenderer();
97
        pluginsTable.setDefaultRenderer(PackageOsAndArchitecture.class,
98
            new OsAndArchitectureCellRenderer());
99
        pluginsTable.setDefaultRenderer(String.class, ipcr);
100
        pluginsTable.setDefaultRenderer(Number.class, ipcr);
101
        pluginsTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
102
    }
82
	public PackagesTablePanel(SelectPackagesPanel selectPackagesPanel) {
83
		super();
84
		swingInstallerManager = SwingInstallerLocator
85
				.getSwingInstallerManager();
86
		this.selectPackagesPanel = selectPackagesPanel;
87
		initComponents();
88
		pluginsTable.getSelectionModel().addListSelectionListener(this);
89
		pluginsTable.setDefaultRenderer(PackageOfficialRecommended.class,
90
				new OfficialRecommendedCellRenderer());
91
		pluginsTable.setDefaultRenderer(PackageStatus.class,
92
				new InstallStatusCellRenderer());
93
		pluginsTable.setDefaultEditor(PackageStatus.class,
94
				new InstallStatusCellEditor(this.selectPackagesPanel));
95
		AbstractTablePackageInfoCellRenderer ipcr = new InstalledPackageCellRenderer();
96
		pluginsTable.setDefaultRenderer(PackageOsAndArchitecture.class,
97
				new OsAndArchitectureCellRenderer());
98
		pluginsTable.setDefaultRenderer(String.class, ipcr);
99
		pluginsTable.setDefaultRenderer(Number.class, ipcr);
100
		pluginsTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
101
	}
103 102

  
104
    private void initComponents() {
105
        java.awt.GridBagConstraints gridBagConstraints;
103
	private void initComponents() {
104
		java.awt.GridBagConstraints gridBagConstraints;
106 105

  
107
        pluginsTable = new JTable();
106
		pluginsTable = new JTable();
108 107

  
109
        MouseListener mouseListener = new MyMouseListener();
110
        pluginsTable.addMouseListener(mouseListener);
108
		MouseListener mouseListener = new MyMouseListener();
109
		pluginsTable.addMouseListener(mouseListener);
111 110

  
112
        pluginsScrollPane = new JScrollPane(pluginsTable);
111
		pluginsScrollPane = new JScrollPane(pluginsTable);
113 112

  
114
        descriptionTextArea = new JTextArea();
115
        descriptionTextArea.setEditable(false);
116
        descriptionTextArea.setBackground(Color.WHITE);
117
        descriptionTextArea.setColumns(20);
118
        descriptionTextArea.setRows(5);
113
		descriptionTextArea = new JTextArea();
114
		descriptionTextArea.setEditable(false);
115
		descriptionTextArea.setBackground(Color.WHITE);
116
		descriptionTextArea.setColumns(20);
117
		descriptionTextArea.setRows(5);
119 118

  
120
        descriptionTextPane = new JTextPane();
121
        descriptionTextPane.setEditable(false);
119
		descriptionTextPane = new JTextPane();
120
		descriptionTextPane.setEditable(false);
122 121

  
123
        descriptionScrollPane = new JScrollPane(descriptionTextArea);
122
		descriptionScrollPane = new JScrollPane(descriptionTextArea);
124 123

  
125
        filterPanel = new CategoriesFilterPanel(this);
126
        filterPanel.setVisible(true);
124
		filterPanel = new CategoriesFilterPanel(this);
125
		filterPanel.setVisible(false);
127 126

  
128
        fastFilterPanel = new FastFilterButtonsPanel(this);
127
		fastFilterPanel = new FastFilterButtonsPanel(this);
129 128

  
130
        setLayout(new GridBagLayout());
129
		setLayout(new GridBagLayout());
131 130

  
132
        // panel filter
133
        gridBagConstraints = new GridBagConstraints();
134
        gridBagConstraints.fill = GridBagConstraints.BOTH;
135
        gridBagConstraints.gridx = 0;
136
        gridBagConstraints.gridy = 0;
137
        gridBagConstraints.weightx = 0.13;
138
        gridBagConstraints.weighty = 1;
139
        gridBagConstraints.gridheight = 3;
140
        gridBagConstraints.insets = new Insets(2, 2, 2, 2);
141
        add(filterPanel, gridBagConstraints);
131
		// panel filter
132
		gridBagConstraints = new GridBagConstraints();
133
		gridBagConstraints.fill = GridBagConstraints.BOTH;
134
		gridBagConstraints.gridx = 0;
135
		gridBagConstraints.gridy = 0;
136
		gridBagConstraints.weightx = 0.13;
137
		gridBagConstraints.weighty = 1;
138
		gridBagConstraints.gridheight = 3;
139
		gridBagConstraints.insets = new Insets(2, 2, 2, 2);
140
		add(filterPanel, gridBagConstraints);
142 141

  
143
        // filters buttons panel
144
        gridBagConstraints = new GridBagConstraints();
145
        gridBagConstraints.fill = GridBagConstraints.BOTH;
146
        gridBagConstraints.gridx = 1;
147
        gridBagConstraints.gridy = 0;
148
        gridBagConstraints.weightx = 0.75;
149
        gridBagConstraints.weighty = 0;
150
        gridBagConstraints.insets = new Insets(2, 2, 2, 2);
151
        add(fastFilterPanel, gridBagConstraints);
142
		// filters buttons panel
143
		gridBagConstraints = new GridBagConstraints();
144
		gridBagConstraints.fill = GridBagConstraints.BOTH;
145
		gridBagConstraints.gridx = 1;
146
		gridBagConstraints.gridy = 0;
147
		gridBagConstraints.weightx = 0.75;
148
		gridBagConstraints.weighty = 0;
149
		gridBagConstraints.insets = new Insets(2, 2, 2, 2);
150
		add(fastFilterPanel, gridBagConstraints);
152 151

  
153
        // plugins scroll panel
154
        gridBagConstraints = new GridBagConstraints();
155
        gridBagConstraints.fill = GridBagConstraints.BOTH;
156
        gridBagConstraints.gridx = 1;
157
        gridBagConstraints.gridy = 1;
158
        gridBagConstraints.weightx = 0.75;
159
        gridBagConstraints.weighty = 0.7;
160
        gridBagConstraints.insets = new Insets(2, 2, 2, 2);
161
        add(pluginsScrollPane, gridBagConstraints);
152
		// plugins scroll panel
153
		gridBagConstraints = new GridBagConstraints();
154
		gridBagConstraints.fill = GridBagConstraints.BOTH;
155
		gridBagConstraints.gridx = 1;
156
		gridBagConstraints.gridy = 1;
157
		gridBagConstraints.weightx = 0.75;
158
		gridBagConstraints.weighty = 0.7;
159
		gridBagConstraints.insets = new Insets(2, 2, 2, 2);
160
		add(pluginsScrollPane, gridBagConstraints);
162 161

  
163
        // description panel
164
        gridBagConstraints = new GridBagConstraints();
165
        gridBagConstraints.gridx = 1;
166
        gridBagConstraints.gridy = 2;
167
        gridBagConstraints.fill = GridBagConstraints.BOTH;
168
        gridBagConstraints.weightx = 0.75;
169
        gridBagConstraints.weighty = 0.3;
170
        gridBagConstraints.insets = new Insets(2, 2, 2, 2);
171
        add(descriptionScrollPane, gridBagConstraints);
172
    }
162
		// description panel
163
		gridBagConstraints = new GridBagConstraints();
164
		gridBagConstraints.gridx = 1;
165
		gridBagConstraints.gridy = 2;
166
		gridBagConstraints.fill = GridBagConstraints.BOTH;
167
		gridBagConstraints.weightx = 0.75;
168
		gridBagConstraints.weighty = 0.3;
169
		gridBagConstraints.insets = new Insets(2, 2, 2, 2);
170
		add(descriptionScrollPane, gridBagConstraints);
171
	}
173 172

  
174
    public void selectPackages() {
175
        PackagesTableModel pluginsTableModel =
176
            (PackagesTableModel) pluginsTable.getModel();
173
	public void selectPackages() {
174
		PackagesTableModel pluginsTableModel = (PackagesTableModel) pluginsTable
175
				.getModel();
177 176

  
178
        // if default packages must be selected
179
        // if (selectPackagesPanel.isDefaultPackagesSelectionSet()) {
180
        // System.out.println("packagestablepanel select? " +
181
        // selectPackagesPanel.isDefaultPackagesSelectionSet());
182
        pluginsTableModel.selectDefaultPackages();
183
        // }
184
    }
177
		// if default packages must be selected
178
		// if (selectPackagesPanel.isDefaultPackagesSelectionSet()) {
179
		// System.out.println("packagestablepanel select? " +
180
		// selectPackagesPanel.isDefaultPackagesSelectionSet());
181
		pluginsTableModel.selectDefaultPackages();
182
		// }
183
	}
185 184

  
186
    public void setTableModel(PackagesTableModel pluginsTableModel) {
187
        pluginsTable.setModel(pluginsTableModel);
188
        pluginsTableModel.fireTableDataChanged();
189
        TableColumnModel tableColumnModel = pluginsTable.getColumnModel();
190
        tableColumnModel.getColumn(0).setPreferredWidth(20);
191
        tableColumnModel.getColumn(1).setPreferredWidth(20);
192
        tableColumnModel.getColumn(2).setPreferredWidth(20);
193
        tableColumnModel.getColumn(3).setPreferredWidth(225);
194
        tableColumnModel.getColumn(4).setPreferredWidth(130);
195
        tableColumnModel.getColumn(5).setPreferredWidth(53);
185
	public void setTableModel(PackagesTableModel pluginsTableModel) {
186
		pluginsTable.setModel(pluginsTableModel);
187
		pluginsTableModel.fireTableDataChanged();
188
		TableColumnModel tableColumnModel = pluginsTable.getColumnModel();
189
		tableColumnModel.getColumn(0).setPreferredWidth(20);
190
		tableColumnModel.getColumn(1).setPreferredWidth(20);
191
		tableColumnModel.getColumn(2).setPreferredWidth(20);
192
		tableColumnModel.getColumn(3).setPreferredWidth(325);
193
		tableColumnModel.getColumn(4).setPreferredWidth(150);
194
		tableColumnModel.getColumn(5).setPreferredWidth(55);
195
		// tableColumnModel.getColumn(0).setPreferredWidth(20);
196
		// tableColumnModel.getColumn(1).setPreferredWidth(20);
197
		// tableColumnModel.getColumn(2).setPreferredWidth(20);
198
		// tableColumnModel.getColumn(3).setPreferredWidth(225);
199
		// tableColumnModel.getColumn(4).setPreferredWidth(130);
200
		// tableColumnModel.getColumn(5).setPreferredWidth(53);
196 201

  
197
    }
202
	}
198 203

  
199
    public List<PackageInfo> getPackagesToInstall() {
200
        return ((PackagesTableModel) pluginsTable.getModel())
201
            .getPackagesToInstall();
202
    }
204
	public List<PackageInfo> getPackagesToInstall() {
205
		return ((PackagesTableModel) pluginsTable.getModel())
206
				.getPackagesToInstall();
207
	}
203 208

  
204
    public boolean isPackageSelected() {
205
        return ((PackagesTableModel) pluginsTable.getModel())
206
            .hasAnyPackageSelected();
207
    }
209
	public boolean isPackageSelected() {
210
		return ((PackagesTableModel) pluginsTable.getModel())
211
				.hasAnyPackageSelected();
212
	}
208 213

  
209
    public void valueChanged(ListSelectionEvent e) {
210
        int row = pluginsTable.getSelectedRow();
211
        if (row != -1) {
214
	public void valueChanged(ListSelectionEvent e) {
215
		int row = pluginsTable.getSelectedRow();
216
		if (row != -1) {
212 217

  
213
            String code =
214
                ((PackagesTableModel) pluginsTable.getModel())
215
                    .getPackageInfoAt(row).getCode();
216
            if (code == null || code.equals("")) {
217
                code = "";
218
            } else {
219
                code = "Code: " + code + "\n";
220
            }
218
			String code = ((PackagesTableModel) pluginsTable.getModel())
219
					.getPackageInfoAt(row).getCode();
220
			if (code == null || code.equals("")) {
221
				code = "";
222
			} else {
223
				code = "Code: " + code + "\n";
224
			}
221 225

  
222
            String name =
223
                ((PackagesTableModel) pluginsTable.getModel())
224
                    .getPackageInfoAt(row).getName();
225
            if (name == null || name.equals("")) {
226
                name = "";
227
            } else {
228
                name = name + "\n";
229
            }
226
			String name = ((PackagesTableModel) pluginsTable.getModel())
227
					.getPackageInfoAt(row).getName();
228
			if (name == null || name.equals("")) {
229
				name = "";
230
			} else {
231
				name = name + "\n";
232
			}
230 233

  
231
            String owner =
232
                ((PackagesTableModel) pluginsTable.getModel()).getOwnerAt(row)
233
                    .trim();
234
            if (owner == null || owner.equals("")) {
235
                owner = "";
236
            } else {
237
                owner = "Owner: " + owner + "\n";
238
            }
234
			String owner = ((PackagesTableModel) pluginsTable.getModel())
235
					.getOwnerAt(row).trim();
236
			if (owner == null || owner.equals("")) {
237
				owner = "";
238
			} else {
239
				owner = "Owner: " + owner + "\n";
240
			}
239 241

  
240
            String sources;
241
            URL sourcesURL =
242
                ((PackagesTableModel) pluginsTable.getModel())
243
                    .getSourcesAt(row);
244
            if (sourcesURL == null) {
245
                sources = "";
246
            } else {
247
                sources = "Sources: " + sourcesURL.toString() + "\n";
248
            }
242
			String sources;
243
			URL sourcesURL = ((PackagesTableModel) pluginsTable.getModel())
244
					.getSourcesAt(row);
245
			if (sourcesURL == null) {
246
				sources = "";
247
			} else {
248
				sources = "Sources: " + sourcesURL.toString() + "\n";
249
			}
249 250

  
250
            String description =
251
                ((PackagesTableModel) pluginsTable.getModel())
252
                    .getDescriptionAt(row);
253
            if (description == null) {
254
                description = "";
255
            } else {
256
                description = description + "\n";
257
            }
251
			String description = ((PackagesTableModel) pluginsTable.getModel())
252
					.getDescriptionAt(row);
253
			if (description == null) {
254
				description = "";
255
			} else {
256
				description = description + "\n";
257
			}
258 258

  
259
            String depends = "";
260
            Dependencies dependencies =
261
                ((PackagesTableModel) pluginsTable.getModel())
262
                    .getPackageInfoAt(row).getDependencies();
263
            if (dependencies != null && !dependencies.isEmpty()) {
264
                depends = "Dependencies: " + dependencies.toString() + "\n";
265
            }
259
			String depends = "";
260
			Dependencies dependencies = ((PackagesTableModel) pluginsTable
261
					.getModel()).getPackageInfoAt(row).getDependencies();
262
			if (dependencies != null && !dependencies.isEmpty()) {
263
				depends = "Dependencies: " + dependencies.toString() + "\n";
264
			}
266 265

  
267
            String categories =
268
                ((PackagesTableModel) pluginsTable.getModel())
269
                    .getPackageInfoAt(row).getCategoriesAsString();
270
            if (categories == null || categories.equals("")) {
271
                categories = "";
272
            } else {
273
                categories = "Categories: " + categories + "\n";
274
            }
266
			String categories = ((PackagesTableModel) pluginsTable.getModel())
267
					.getPackageInfoAt(row).getCategoriesAsString();
268
			if (categories == null || categories.equals("")) {
269
				categories = "";
270
			} else {
271
				categories = "Categories: " + categories + "\n";
272
			}
275 273

  
276
            String descriptionText =
277
                name + "\n" + description + "\n" + code + owner + sources
278
                    + depends + categories;
274
			String descriptionText = name + "\n" + description + "\n" + code
275
					+ owner + sources + depends + categories;
279 276

  
280
            descriptionTextArea.setText(descriptionText.trim());
277
			descriptionTextArea.setText(descriptionText.trim());
281 278

  
282
            // get the view area to the top-left corner
283
            descriptionTextArea.setCaretPosition(0);
279
			// get the view area to the top-left corner
280
			descriptionTextArea.setCaretPosition(0);
284 281

  
285
        }
286
    }
282
		}
283
	}
287 284

  
288
    public void setFilter(PackageFilter filter) {
289
        PackagesTableModel pluginsTableModel =
290
            (PackagesTableModel) pluginsTable.getModel();
291
        pluginsTableModel.setFilter(filter);
292
        selectPackagesPanel.updatePanel();
293
    }
285
	public void setFilter(PackageFilter filter) {
286
		PackagesTableModel pluginsTableModel = (PackagesTableModel) pluginsTable
287
				.getModel();
288
		pluginsTableModel.setFilter(filter);
289
		selectPackagesPanel.updatePanel();
290
	}
294 291

  
295
    private class MyMouseListener implements MouseListener {
292
	private class MyMouseListener implements MouseListener {
296 293

  
297
        public void mouseClicked(MouseEvent e) {
298
            selectPackagesPanel.checkIfPluginSelected();
299
        }
294
		public void mouseClicked(MouseEvent e) {
295
			selectPackagesPanel.checkIfPluginSelected();
296
		}
300 297

  
301
        public void mouseEntered(MouseEvent e) {
302
        }
298
		public void mouseEntered(MouseEvent e) {
299
		}
303 300

  
304
        public void mouseExited(MouseEvent e) {
305
        }
301
		public void mouseExited(MouseEvent e) {
302
		}
306 303

  
307
        public void mousePressed(MouseEvent e) {
308
        }
304
		public void mousePressed(MouseEvent e) {
305
		}
309 306

  
310
        public void mouseReleased(MouseEvent e) {
311
        }
312
    }
307
		public void mouseReleased(MouseEvent e) {
308
		}
309
	}
313 310

  
314
    public SelectPackagesPanel getSelectPackagesPanel() {
315
        return this.selectPackagesPanel;
316
    }
311
	public SelectPackagesPanel getSelectPackagesPanel() {
312
		return this.selectPackagesPanel;
313
	}
317 314

  
318
    public void clearAllPanels() {
319
        filterPanel.resetPanel();
320
        descriptionTextArea.setText("");
321
        fastFilterPanel.resetPanel();
322
    }
315
	public void clearAllPanels() {
316
		filterPanel.resetPanel();
317
		descriptionTextArea.setText("");
318
		fastFilterPanel.resetPanel();
319
	}
323 320

  
324
    public void resetPanel() {
325
        filterPanel.resetPanel();
326
        descriptionTextArea.setText("");
327
    }
321
	public void resetPanel() {
322
		filterPanel.resetPanel();
323
		descriptionTextArea.setText("");
324
	}
328 325

  
329 326
}
branches/v2_0_0_prep/extensions/org.gvsig.installer/org.gvsig.installer.swing/org.gvsig.installer.swing.impl/src/main/java/org/gvsig/installer/swing/impl/execution/panel/CategoriesFilterPanel.java
26 26
import java.awt.Insets;
27 27
import java.awt.event.ActionEvent;
28 28
import java.awt.event.ActionListener;
29
import java.awt.event.MouseEvent;
30
import java.awt.event.MouseListener;
29 31
import java.util.List;
30 32

  
31 33
import javax.swing.DefaultListModel;
......
167 169
            }
168 170
        }
169 171
    }
172
    
173
    private class MyKeyListener implements MouseListener {
170 174

  
175
		public void mouseClicked(MouseEvent e) {
176
			// TODO Auto-generated method stub
177
			
178
		}
179

  
180
		public void mouseEntered(MouseEvent e) {
181
			// TODO Auto-generated method stub
182
			
183
		}
184

  
185
		public void mouseExited(MouseEvent e) {
186
			// TODO Auto-generated method stub
187
			
188
		}
189

  
190
		public void mousePressed(MouseEvent e) {
191
			// TODO Auto-generated method stub
192
			
193
		}
194

  
195
		public void mouseReleased(MouseEvent e) {
196
			// TODO Auto-generated method stub
197
			
198
		}
199

  
200

  
201
    }
202

  
171 203
}

Also available in: Unified diff