1 /* 2 * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package sun.awt.shell; 27 28 import javax.swing.*; 29 import java.util.Comparator; 30 31 public class ShellFolderColumnInfo { 32 private String title; 33 private Integer width; 34 private boolean visible; 35 /** 36 * Allowed values are {@link SwingConstants#LEFT}, {@link SwingConstants#RIGHT}, {@link SwingConstants#LEADING}, 37 * {@link SwingConstants#TRAILING}, {@link SwingConstants#CENTER} 38 */ 39 private Integer alignment; 40 private SortOrder sortOrder; 41 private Comparator comparator; 42 /** 43 * <code>false</code> (default) if the {@link comparator} expects folders as arguments, 44 * and <code>true</code> if folder's column values. The first option is used default for comparison 45 * on Windows and also for separating files from directories when sorting using 46 * ShellFolderManager's inner comparator. 47 */ 48 private boolean compareByColumn; 49 ShellFolderColumnInfo(String title, Integer width, Integer alignment, boolean visible, SortOrder sortOrder, Comparator comparator, boolean compareByColumn)50 public ShellFolderColumnInfo(String title, Integer width, 51 Integer alignment, boolean visible, 52 SortOrder sortOrder, Comparator comparator, 53 boolean compareByColumn) { 54 this.title = title; 55 this.width = width; 56 this.alignment = alignment; 57 this.visible = visible; 58 this.sortOrder = sortOrder; 59 this.comparator = comparator; 60 this.compareByColumn = compareByColumn; 61 } 62 ShellFolderColumnInfo(String title, Integer width, Integer alignment, boolean visible, SortOrder sortOrder, Comparator comparator)63 public ShellFolderColumnInfo(String title, Integer width, 64 Integer alignment, boolean visible, 65 SortOrder sortOrder, Comparator comparator) { 66 this(title, width, alignment, visible, sortOrder, comparator, false); 67 } 68 69 /** 70 * This constructor is used by native code when getting column set for 71 * a folder under Windows 72 */ ShellFolderColumnInfo(String title, int width, int alignment, boolean visible)73 public ShellFolderColumnInfo(String title, int width, int alignment, 74 boolean visible) { 75 this(title, width, alignment, visible, null, null); 76 } 77 getTitle()78 public String getTitle() { 79 return title; 80 } 81 setTitle(String title)82 public void setTitle(String title) { 83 this.title = title; 84 } 85 getWidth()86 public Integer getWidth() { 87 return width; 88 } 89 setWidth(Integer width)90 public void setWidth(Integer width) { 91 this.width = width; 92 } 93 getAlignment()94 public Integer getAlignment() { 95 return alignment; 96 } 97 setAlignment(Integer alignment)98 public void setAlignment(Integer alignment) { 99 this.alignment = alignment; 100 } 101 isVisible()102 public boolean isVisible() { 103 return visible; 104 } 105 setVisible(boolean visible)106 public void setVisible(boolean visible) { 107 this.visible = visible; 108 } 109 getSortOrder()110 public SortOrder getSortOrder() { 111 return sortOrder; 112 } 113 setSortOrder(SortOrder sortOrder)114 public void setSortOrder(SortOrder sortOrder) { 115 this.sortOrder = sortOrder; 116 } 117 getComparator()118 public Comparator getComparator() { 119 return comparator; 120 } 121 setComparator(Comparator comparator)122 public void setComparator(Comparator comparator) { 123 this.comparator = comparator; 124 } 125 isCompareByColumn()126 public boolean isCompareByColumn() { 127 return compareByColumn; 128 } 129 setCompareByColumn(boolean compareByColumn)130 public void setCompareByColumn(boolean compareByColumn) { 131 this.compareByColumn = compareByColumn; 132 } 133 } 134