This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 221428
Collapse All | Expand All

(-)db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewTableUI.java (-6 / +27 lines)
Lines 43-48 Link Here
43
 */
43
 */
44
package org.netbeans.modules.db.dataview.output;
44
package org.netbeans.modules.db.dataview.output;
45
45
46
import java.awt.BorderLayout;
46
import java.awt.Color;
47
import java.awt.Color;
47
import java.awt.Component;
48
import java.awt.Component;
48
import java.awt.Toolkit;
49
import java.awt.Toolkit;
Lines 56-71 Link Here
56
import java.util.Map;
57
import java.util.Map;
57
import java.util.logging.Level;
58
import java.util.logging.Level;
58
import java.util.logging.Logger;
59
import java.util.logging.Logger;
60
import javax.swing.JComponent;
59
import javax.swing.JMenuItem;
61
import javax.swing.JMenuItem;
60
import javax.swing.JPopupMenu;
62
import javax.swing.JPopupMenu;
61
import javax.swing.JTable;
63
import javax.swing.JTable;
62
import javax.swing.RowFilter;
64
import javax.swing.RowFilter;
65
import javax.swing.border.LineBorder;
63
import javax.swing.event.ListSelectionEvent;
66
import javax.swing.event.ListSelectionEvent;
64
import javax.swing.event.ListSelectionListener;
67
import javax.swing.event.ListSelectionListener;
65
import javax.swing.table.DefaultTableModel;
68
import javax.swing.table.DefaultTableModel;
66
import javax.swing.table.TableCellEditor;
69
import javax.swing.table.TableCellEditor;
67
import javax.swing.table.TableCellRenderer;
70
import javax.swing.table.TableCellRenderer;
68
import javax.swing.table.TableModel;
71
import javax.swing.table.TableModel;
72
import org.jdesktop.swingx.renderer.JRendererCheckBox;
69
import org.netbeans.modules.db.dataview.meta.DBColumn;
73
import org.netbeans.modules.db.dataview.meta.DBColumn;
70
import org.netbeans.modules.db.dataview.meta.DBException;
74
import org.netbeans.modules.db.dataview.meta.DBException;
71
import org.netbeans.modules.db.dataview.meta.DBTable;
75
import org.netbeans.modules.db.dataview.meta.DBTable;
Lines 74-80 Link Here
74
import org.netbeans.modules.db.dataview.table.ResultSetTableModel;
78
import org.netbeans.modules.db.dataview.table.ResultSetTableModel;
75
import org.openide.DialogDisplayer;
79
import org.openide.DialogDisplayer;
76
import org.openide.NotifyDescriptor;
80
import org.openide.NotifyDescriptor;
77
import org.openide.util.Exceptions;
78
import org.openide.util.Lookup;
81
import org.openide.util.Lookup;
79
import org.openide.util.NbBundle;
82
import org.openide.util.NbBundle;
80
import org.openide.util.datatransfer.ExClipboard;
83
import org.openide.util.datatransfer.ExClipboard;
Lines 150-162 Link Here
150
    }
153
    }
151
154
152
    private static class UpdatedResultSetCellRenderer extends ResultSetCellRenderer {
155
    private static class UpdatedResultSetCellRenderer extends ResultSetCellRenderer {
153
156
        static int borderThickness = 1;
154
        static Color green = new Color(0, 128, 0);
157
        static Color green = new Color(0, 128, 0);
155
        static Color gray = new Color(245, 245, 245);
158
        static Color gray = new Color(245, 245, 245);
159
        private JComponent holder = new JComponent() {};
156
        DataView dataView;
160
        DataView dataView;
157
161
158
        public UpdatedResultSetCellRenderer(DataView dView) {
162
        public UpdatedResultSetCellRenderer(DataView dView) {
159
            dataView = dView;
163
            dataView = dView;
164
            holder.setLayout(new BorderLayout());
160
        }
165
        }
161
166
162
        @Override
167
        @Override
Lines 166-184 Link Here
166
                    table.convertRowIndexToModel(row),
171
                    table.convertRowIndexToModel(row),
167
                    table.convertColumnIndexToModel(column));
172
                    table.convertColumnIndexToModel(column));
168
173
174
            Color color;
175
            boolean override = false;
176
            
169
            if (isSelected) {
177
            if (isSelected) {
170
                if ((obj == null && value == null) || (obj != null && value != null && value.equals(obj))) {
178
                if ((obj == null && value == null) || (obj != null && value != null && value.equals(obj))) {
171
                    c.setForeground(gray);
179
                    color = gray;
180
                    override = true;
172
                } else {
181
                } else {
173
                    c.setForeground(Color.ORANGE);
182
                    color = Color.ORANGE;
183
                    override = true;
174
                }
184
                }
175
            } else {
185
            } else {
176
                if ((obj == null && value == null) || (obj != null && value != null && value.equals(obj))) {
186
                if ((obj == null && value == null) || (obj != null && value != null && value.equals(obj))) {
177
                    c.setForeground(table.getForeground());
187
                    color = table.getForeground();
178
                } else {
188
                } else {
179
                    c.setForeground(green);
189
                    color = green;
190
                    override = true;
180
                }
191
                }
181
            }
192
            }
193
            
194
            if(override && c instanceof JRendererCheckBox) {
195
                holder.removeAll();
196
                holder.setBorder(new LineBorder(color, borderThickness));
197
                holder.add(c);
198
                return holder;
199
            } else {
200
                c.setForeground(color);
201
            }
202
            
182
            return c;
203
            return c;
183
        }
204
        }
184
    }
205
    }

Return to bug 221428