/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ro.nextreports.designer.grid.plaf; import java.awt.Color; import java.awt.Graphics; import javax.swing.CellRendererPane; import javax.swing.JComponent; import javax.swing.LookAndFeel; import javax.swing.UIManager; import javax.swing.event.MouseInputListener; import javax.swing.plaf.ComponentUI; import ro.nextreports.designer.grid.JGrid; /** * GridUI for use with row and column headers. * * @author Decebal Suiu */ public class BasicGridHeaderUI extends BasicGridUI { private static boolean installedHeader; // protected JGrid gridHeader; public BasicGridHeaderUI() { } public static ComponentUI createUI(JComponent c) { return new BasicGridHeaderUI(); } @Override public void installUI(JComponent component) { grid = (JGrid) component; rendererPane = new CellRendererPane(); grid.add(rendererPane); // gridHeader = (JGrid) component; component.setOpaque(false); LookAndFeel.installColorsAndFont( component, "TableHeader.background", "TableHeader.foreground", "TableHeader.font"); installDefaults(); installListeners(); installKeyboardActions(); } @Override protected void installDefaults() { Color defaultGridColor = UIManager.getColor("Table.gridColor"); // Color defaultForegroundColor = UIManager.getColor("TableHeader.foreground"); // Color defaultBackgroundColor = UIManager.getColor("TableHeader.background"); // Font defaultGridFont = UIManager.getFont("Table.font"); // Border defaultGridBorder = UIManager.getBorder("TableHeader.border"); // Color defaultSelectionForegroundColor = defaultForegroundColor.brighter(); // Color defaultSelectionBackgroundColor = defaultBackgroundColor; // Color defaultFocusForegroundColor = defaultForegroundColor.brighter(); // Color defaultFocusBackgroundColor = defaultBackgroundColor.brighter(); // if (!installedHeader) { // UIManager.getDefaults().put("GridHeader.gridColor", defaultGridColor); // UIManager.getDefaults().put("GridHeader.foreground", defaultForegroundColor); // UIManager.getDefaults().put("GridHeader.background", defaultBackgroundColor); // UIManager.getDefaults().put( // "GridHeader.selectionForegroundColor", // defaultSelectionForegroundColor); // UIManager.getDefaults().put( // "GridHeader.selectionBackgroundColor", // defaultSelectionBackgroundColor); // UIManager.getDefaults().put( // "GridHeader.focusForegroundColor", // defaultFocusForegroundColor); // UIManager.getDefaults().put( // "GridHeader.focusBackgroundColor", // defaultFocusBackgroundColor); // UIManager.getDefaults().put("GridHeader.border", defaultGridBorder); // UIManager.getDefaults().put("GridHeader.font", defaultGridFont); // } // Color foregroundColor = gridHeader.getForeground(); // Color backgroundColor = gridHeader.getBackground(); // Font gridFont = gridHeader.getFont(); // Border gridBorder = gridHeader.getBorder(); // Color gridColor = gridHeader.getGridColor(); Color gridColor = grid.getGridColor(); // if (foregroundColor == null || foregroundColor instanceof UIResource) { // gridHeader.setForeground(defaultForegroundColor); // } // if (backgroundColor == null || backgroundColor instanceof UIResource) { // gridHeader.setBackground(defaultBackgroundColor); // } // if (gridColor == null || gridColor instanceof UIResource) { grid.setGridColor(defaultGridColor); // } // if (gridFont == null || gridFont instanceof UIResource) { // gridHeader.setFont(defaultGridFont); // } // if (gridBorder == null || gridBorder instanceof UIResource) { // gridHeader.setBorder(defaultGridBorder); // } } @Override public void paintEditor(Graphics g) { } @Override public void paintSelection(Graphics g, int rowMin, int rowMax, int colMin, int colMax) { } /* @Override protected DropTargetListener createDropTargetListener() { // return super.createDropTargetListener(); return null; } */ // @Override // protected MouseInputListener createMouseInputListener() { // // TODO Auto-generated method stub //// return new MouseInputListener(); // return null; // } }