OpenConcerto

Dépôt officiel du code source de l'ERP OpenConcerto
sonarqube

svn://code.openconcerto.org/openconcerto

Rev

Rev 177 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 177 Rev 180
Line 26... Line 26...
26
import org.openconcerto.sql.view.list.RowValuesTableControlPanel;
26
import org.openconcerto.sql.view.list.RowValuesTableControlPanel;
27
import org.openconcerto.sql.view.list.RowValuesTableModel;
27
import org.openconcerto.sql.view.list.RowValuesTableModel;
28
import org.openconcerto.sql.view.list.RowValuesTableRenderer;
28
import org.openconcerto.sql.view.list.RowValuesTableRenderer;
29
import org.openconcerto.sql.view.list.SQLTableElement;
29
import org.openconcerto.sql.view.list.SQLTableElement;
30
import org.openconcerto.ui.DefaultGridBagConstraints;
30
import org.openconcerto.ui.DefaultGridBagConstraints;
-
 
31
import org.openconcerto.ui.table.XTableColumnModel;
31
import org.openconcerto.utils.DecimalUtils;
32
import org.openconcerto.utils.DecimalUtils;
32
 
33
 
33
import java.awt.GridBagConstraints;
34
import java.awt.GridBagConstraints;
34
import java.awt.GridBagLayout;
35
import java.awt.GridBagLayout;
35
import java.awt.event.ActionEvent;
36
import java.awt.event.ActionEvent;
36
import java.math.BigDecimal;
37
import java.math.BigDecimal;
37
import java.util.ArrayList;
38
import java.util.ArrayList;
38
import java.util.Arrays;
39
import java.util.Arrays;
-
 
40
import java.util.HashMap;
39
import java.util.List;
41
import java.util.List;
-
 
42
import java.util.Map;
40
import java.util.Vector;
43
import java.util.Vector;
41
 
44
 
42
import javax.swing.AbstractAction;
45
import javax.swing.AbstractAction;
43
import javax.swing.JButton;
46
import javax.swing.JButton;
44
import javax.swing.JPanel;
47
import javax.swing.JPanel;
Line 78... Line 81...
78
        list.add(fam);
81
        list.add(fam);
79
 
82
 
80
        final SQLField fieldHA = e.getTable().getField("PA_HT");
83
        final SQLField fieldHA = e.getTable().getField("PA_HT");
81
        final DeviseNumericCellEditor editorPAHT = new DeviseNumericCellEditor(fieldHA);
84
        final DeviseNumericCellEditor editorPAHT = new DeviseNumericCellEditor(fieldHA);
82
        final SQLTableElement pa = new SQLTableElement(fieldHA, BigDecimal.class, editorPAHT);
85
        final SQLTableElement pa = new SQLTableElement(fieldHA, BigDecimal.class, editorPAHT);
83
        pa.setRenderer(new DeviseTableCellRenderer());
86
        DeviseTableCellRenderer renderer = new DeviseTableCellRenderer();
-
 
87
        renderer.setHideZeroValue(true);
-
 
88
        pa.setRenderer(renderer);
84
        if (e.getTable().contains("ID_CATEGORIE_HEURE")) {
89
        if (e.getTable().contains("ID_CATEGORIE_HEURE")) {
85
            pa.setEditable(false);
90
            pa.setEditable(false);
86
        }
91
        }
87
        list.add(pa);
92
        list.add(pa);
88
 
93
 
89
        final SQLField fieldPV = e.getTable().getField("PV_HT");
94
        final SQLField fieldPV = e.getTable().getField("PV_HT");
90
        final DeviseNumericCellEditor editorPVHT = new DeviseNumericCellEditor(fieldPV);
95
        final DeviseNumericCellEditor editorPVHT = new DeviseNumericCellEditor(fieldPV);
91
        final SQLTableElement pv = new SQLTableElement(fieldPV, BigDecimal.class, editorPVHT);
96
        final SQLTableElement pv = new SQLTableElement(fieldPV, BigDecimal.class, editorPVHT);
92
        pv.setRenderer(new DeviseTableCellRenderer());
97
        pv.setRenderer(renderer);
93
        list.add(pv);
98
        list.add(pv);
94
 
99
 
95
        SQLTableElement qteU = new SQLTableElement(e.getTable().getField("QTE"), BigDecimal.class) {
100
        SQLTableElement qteU = new SQLTableElement(e.getTable().getField("QTE"), BigDecimal.class) {
96
 
101
 
97
            protected Object getDefaultNullValue() {
102
            protected Object getDefaultNullValue() {
98
                return BigDecimal.ZERO;
103
                return BigDecimal.ZERO;
99
            }
104
            }
100
        };
105
        };
101
        qteU.setRenderer(new DeviseTableCellRenderer());
106
        qteU.setRenderer(renderer);
102
        list.add(qteU);
107
        list.add(qteU);
103
        
108
 
104
        if (e.getTable().contains("ANT")) {
109
        if (e.getTable().contains("ANT")) {
105
            SQLTableElement ant = new SQLTableElement(e.getTable().getField("ANT"), BigDecimal.class) {
110
            SQLTableElement ant = new SQLTableElement(e.getTable().getField("ANT"), BigDecimal.class) {
106
 
111
 
107
                protected Object getDefaultNullValue() {
112
                protected Object getDefaultNullValue() {
108
                    return BigDecimal.ZERO;
113
                    return BigDecimal.ZERO;
109
                }
114
                }
110
            };
115
            };
111
            ant.setRenderer(new DeviseTableCellRenderer());
116
            ant.setRenderer(renderer);
112
            list.add(ant);
117
            list.add(ant);
113
        }
118
        }
114
        
119
 
115
        if (e.getTable().contains("RESTANT")) {
120
        if (e.getTable().contains("RESTANT")) {
116
            SQLTableElement restant = new SQLTableElement(e.getTable().getField("RESTANT"), BigDecimal.class) {
121
            SQLTableElement restant = new SQLTableElement(e.getTable().getField("RESTANT"), BigDecimal.class) {
117
 
122
 
118
                protected Object getDefaultNullValue() {
123
                protected Object getDefaultNullValue() {
119
                    return BigDecimal.ZERO;
124
                    return BigDecimal.ZERO;
120
                }
125
                }
121
            };
126
            };
122
            restant.setRenderer(new DeviseTableCellRenderer());
127
            restant.setRenderer(renderer);
123
            list.add(restant);
128
            list.add(restant);
124
        }
129
        }
125
 
130
 
126
        final SQLTableElement unit = new SQLTableElement(e.getTable().getField("ID_UNITE_VENTE"));
131
        final SQLTableElement unit = new SQLTableElement(e.getTable().getField("ID_UNITE_VENTE"));
127
        list.add(unit);
132
        list.add(unit);
128
 
133
 
129
        final SQLField fieldTotalHA = e.getTable().getField("T_PA_HT");
134
        final SQLField fieldTotalHA = e.getTable().getField("T_PA_HT");
130
        final DeviseNumericCellEditor editorTotalPAHT = new DeviseNumericCellEditor(fieldTotalHA);
135
        final DeviseNumericCellEditor editorTotalPAHT = new DeviseNumericCellEditor(fieldTotalHA);
131
        final SQLTableElement totalpa = new SQLTableElement(fieldTotalHA, BigDecimal.class, editorTotalPAHT);
136
        final SQLTableElement totalpa = new SQLTableElement(fieldTotalHA, BigDecimal.class, editorTotalPAHT);
132
        totalpa.setRenderer(new DeviseTableCellRenderer());
137
        totalpa.setRenderer(renderer);
133
        totalpa.setEditable(false);
138
        totalpa.setEditable(false);
134
        list.add(totalpa);
139
        list.add(totalpa);
135
 
140
 
136
        final SQLField fieldTotalPV = e.getTable().getField("T_PV_HT");
141
        final SQLField fieldTotalPV = e.getTable().getField("T_PV_HT");
137
        final DeviseNumericCellEditor editorTotalPVHT = new DeviseNumericCellEditor(fieldTotalPV);
142
        final DeviseNumericCellEditor editorTotalPVHT = new DeviseNumericCellEditor(fieldTotalPV);
138
        final SQLTableElement totalpv = new SQLTableElement(fieldTotalPV, BigDecimal.class, editorTotalPVHT);
143
        final SQLTableElement totalpv = new SQLTableElement(fieldTotalPV, BigDecimal.class, editorTotalPVHT);
139
        totalpv.setEditable(false);
144
        totalpv.setEditable(false);
140
        totalpv.setRenderer(new DeviseTableCellRenderer());
145
        totalpv.setRenderer(renderer);
141
        list.add(totalpv);
146
        list.add(totalpv);
142
 
147
 
143
        final SQLField fieldMarge = e.getTable().getField("MARGE");
148
        final SQLField fieldMarge = e.getTable().getField("MARGE");
144
        final DeviseNumericCellEditor editorMarge = new DeviseNumericCellEditor(fieldMarge);
149
        final DeviseNumericCellEditor editorMarge = new DeviseNumericCellEditor(fieldMarge);
145
        final SQLTableElement marge = new SQLTableElement(fieldMarge, BigDecimal.class, editorMarge);
150
        final SQLTableElement marge = new SQLTableElement(fieldMarge, BigDecimal.class, editorMarge);
146
        marge.setEditable(false);
151
        marge.setEditable(false);
147
        marge.setRenderer(new DeviseTableCellRenderer());
152
        marge.setRenderer(renderer);
148
        list.add(marge);
153
        list.add(marge);
149
 
154
 
150
        SQLRowValues defautRow = new SQLRowValues(UndefinedRowValuesCache.getInstance().getDefaultRowValues(e.getTable()));
155
        SQLRowValues defautRow = new SQLRowValues(UndefinedRowValuesCache.getInstance().getDefaultRowValues(e.getTable()));
151
        this.model = new RowValuesTableModel(e, list, e.getTable().getField("NOM"), false, defautRow);
156
        this.model = new RowValuesTableModel(e, list, e.getTable().getField("NOM"), false, defautRow);
152
 
157
 
153
        this.table = new RowValuesTable(this.model, null, true);
158
        this.table = new RowValuesTable(this.model, null, true);
154
        ToolTipManager.sharedInstance().unregisterComponent(this.table);
159
        ToolTipManager.sharedInstance().unregisterComponent(this.table);
155
        ToolTipManager.sharedInstance().unregisterComponent(this.table.getTableHeader());
160
        ToolTipManager.sharedInstance().unregisterComponent(this.table.getTableHeader());
156
 
161
 
-
 
162
        this.table.readState();
-
 
163
 
-
 
164
        Map<String, Boolean> mapCustom = getCustomVisibilityMap();
-
 
165
        if (mapCustom != null) {
-
 
166
            for (String string : mapCustom.keySet()) {
-
 
167
                setColumnVisible(model.getColumnForField(string), mapCustom.get(string));
-
 
168
            }
-
 
169
        }
-
 
170
 
-
 
171
        this.table.writeState();
-
 
172
 
157
        // Autocompletion
173
        // Autocompletion
158
        // AutoCompletionManager m = new AutoCompletionManager(tableElementNom,
174
        // AutoCompletionManager m = new AutoCompletionManager(tableElementNom,
159
        // ((ComptaPropsConfiguration)
175
        // ((ComptaPropsConfiguration)
160
        // Configuration.getInstance()).getSQLBaseSociete().getField("ECHANTILLON.NOM"), this.table,
176
        // Configuration.getInstance()).getSQLBaseSociete().getField("ECHANTILLON.NOM"), this.table,
161
        // this.table.getRowValuesTableModel());
177
        // this.table.getRowValuesTableModel());
Line 212... Line 228...
212
                return r;
228
                return r;
213
            }
229
            }
214
        });
230
        });
215
    }
231
    }
216
 
232
 
-
 
233
    protected void setColumnVisible(int col, boolean visible) {
-
 
234
        if (col >= 0) {
-
 
235
            XTableColumnModel columnModel = this.table.getColumnModel();
-
 
236
            columnModel.setColumnVisible(columnModel.getColumnByModelIndex(col), visible);
-
 
237
        }
-
 
238
    }
-
 
239
 
-
 
240
    public static Map<String, Boolean> map = new HashMap<String, Boolean>();
-
 
241
 
-
 
242
    protected Map<String, Boolean> getCustomVisibilityMap() {
-
 
243
        return map;
-
 
244
    }
-
 
245
 
217
    /**
246
    /**
218
     * 
247
     * 
219
     */
248
     */
220
    protected void uiInit() {
249
    protected void uiInit() {
221
        // Ui init
250
        // Ui init