1 package com.melloware.jukes.gui.view.preferences;
2
3 import java.beans.BeanInfo;
4
5 import javax.swing.JPanel;
6
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9
10 import com.l2fprod.common.model.DefaultBeanInfoResolver;
11 import com.l2fprod.common.propertysheet.PropertySheet;
12 import com.l2fprod.common.propertysheet.PropertySheetPanel;
13 import com.l2fprod.common.swing.LookAndFeelTweaks;
14 import com.melloware.jukes.gui.tool.Settings;
15
16
17
18
19
20
21
22
23 public class PropertySheetSettings
24 extends JPanel {
25
26 private static final Log LOG = LogFactory.getLog(PropertySheetSettings.class);
27 private final Settings settings;
28 private final PropertySheetPanel sheet;
29
30
31
32
33
34
35 public PropertySheetSettings(Settings aSettings) {
36 LOG.debug("PropertySheetSettings created.");
37 this.settings = aSettings;
38
39 setLayout(LookAndFeelTweaks.createVerticalPercentLayout());
40
41 final DefaultBeanInfoResolver resolver = new DefaultBeanInfoResolver();
42 final BeanInfo beanInfo = resolver.getBeanInfo(this.settings);
43
44 sheet = new PropertySheetPanel();
45 sheet.setMode(PropertySheet.VIEW_AS_CATEGORIES);
46 sheet.setProperties(beanInfo.getPropertyDescriptors());
47 sheet.readFromObject(this.settings);
48 sheet.setDescriptionVisible(true);
49 sheet.setSortingCategories(true);
50 sheet.setSortingProperties(false);
51 add(sheet, "*");
52 }
53
54
55
56
57
58
59 public PropertySheetPanel getSheet() {
60 return this.sheet;
61 }
62
63
64
65 }