1 /* 2 * Copyright (c) 2003-2008 by Cosylab d. d. 3 * 4 * This file is part of CosyBeans-Common. 5 * 6 * CosyBeans-Common is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * CosyBeans-Common is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with CosyBeans-Common. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 package com.cosylab.gui.components.wheelswitch; 21 22 import java.awt.Component; 23 import java.awt.Container; 24 import java.awt.Dimension; 25 import java.awt.LayoutManager; 26 27 /** 28 * Implementation of <code>java.awt.LayoutManager</code> to be used for 29 * <code>UpDownButton</code> layout. 30 * 31 * @author <a href="mailto:jernej.kamenik@cosylab.com">Jernej Kamenik</a> 32 * @version $id$ 33 */ 34 public class UpDownLayout implements LayoutManager { 35 36 /** 37 * @see LayoutManager#addLayoutComponent(String, Component) 38 */ 39 public void addLayoutComponent(String name, Component comp) { 40 } 41 42 /** 43 * @see LayoutManager#removeLayoutComponent(Component) 44 */ 45 public void removeLayoutComponent(Component comp) {} 46 47 /** 48 * @see LayoutManager#preferredLayoutSize(Container) 49 */ 50 public Dimension preferredLayoutSize(Container parent) { 51 return parent.getPreferredSize(); 52 } 53 54 /** 55 * @see LayoutManager#minimumLayoutSize(Container) 56 */ 57 public Dimension minimumLayoutSize(Container parent) { 58 return parent.getMinimumSize(); 59 } 60 61 /** 62 * @see LayoutManager#layoutContainer(Container) 63 */ 64 public void layoutContainer(Container parent) { 65 UpDownButton upDownButton = (UpDownButton)parent;; 66 if (upDownButton==null || upDownButton.getComponentCount()!=2) return; 67 int height = upDownButton.getHeight(); 68 int width = upDownButton.getWidth(); 69 70 upDownButton.getComponent(0).setBounds(0,0,width,Math.round(height/2f)+1); 71 upDownButton.getComponent(1).setBounds(0,Math.round(height/2f)-1,width,height/2+1); 72 upDownButton.revalidate(); 73 } 74 }