blob: 147086093e64e4fce2637ae209cf0b01b8a49140 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001/*
2 * Copyright 2005-2006 Sun Microsystems, Inc. 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. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25
26package sun.awt.shell;
27
28import javax.swing.*;
29import java.util.Comparator;
30
31public 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
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
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 */
73 public ShellFolderColumnInfo(String title, int width, int alignment,
74 boolean visible) {
75 this(title, width, alignment, visible, null, null);
76 }
77
78 public String getTitle() {
79 return title;
80 }
81
82 public void setTitle(String title) {
83 this.title = title;
84 }
85
86 public Integer getWidth() {
87 return width;
88 }
89
90 public void setWidth(Integer width) {
91 this.width = width;
92 }
93
94 public Integer getAlignment() {
95 return alignment;
96 }
97
98 public void setAlignment(Integer alignment) {
99 this.alignment = alignment;
100 }
101
102 public boolean isVisible() {
103 return visible;
104 }
105
106 public void setVisible(boolean visible) {
107 this.visible = visible;
108 }
109
110 public SortOrder getSortOrder() {
111 return sortOrder;
112 }
113
114 public void setSortOrder(SortOrder sortOrder) {
115 this.sortOrder = sortOrder;
116 }
117
118 public Comparator getComparator() {
119 return comparator;
120 }
121
122 public void setComparator(Comparator comparator) {
123 this.comparator = comparator;
124 }
125
126 public boolean isCompareByColumn() {
127 return compareByColumn;
128 }
129
130 public void setCompareByColumn(boolean compareByColumn) {
131 this.compareByColumn = compareByColumn;
132 }
133}