01: // @@
02: // @@
03: /*
04: * Wi.Ser Framework
05: *
06: * Version: 1.8.1, 20-September-2007
07: * Copyright (C) 2005 Dirk von der Weiden <dvdw@imail.de>
08: *
09: * This library is free software; you can redistribute it and/or
10: * modify it under the terms of the GNU Lesser General Public
11: * License as published by the Free Software Foundation; either
12: * version 2 of the License, or (at your option) any later version.
13: *
14: * This library is distributed in the hope that it will be useful,
15: * but WITHOUT ANY WARRANTY; without even the implied warranty of
16: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17: * Lesser General Public License for more details.
18: *
19: * You should have received a copy of the GNU Lesser General Public
20: * License along with this library located in LGPL.txt in the
21: * license directory; if not, write to the
22: * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23: * Boston, MA 02111-1307, USA.
24: *
25: * If this agreement does not cover your requirements, please contact us
26: * via email to get detailed information about the commercial license
27: * or our service offerings!
28: *
29: */
30: // @@
31: package de.ug2t.unifiedGui.cellRenderer.implementations.table;
32:
33: import java.util.*;
34:
35: import de.ug2t.kernel.*;
36: import de.ug2t.unifiedGui.interfaces.*;
37:
38: public class DefaultTableSorter implements IKeExecutable {
39: public Object pcmf_execObj(Object xObj) {
40: IUnTable l_table = (IUnTable) xObj;
41: Collection l_header = l_table.pcmf_getHeader();
42: KeTable l_content = l_table.pcmf_getComplete();
43: Iterator l_it = l_header.iterator();
44: int l_cnt = -1;
45: while (l_it.hasNext()) {
46: l_cnt++;
47: Object l_hobj = l_it.next();
48: if (l_hobj instanceof IUnBox) {
49: l_hobj = ((IUnBox) l_hobj).pcmf_getUnComponent()
50: .pcmf_getNodeAt(0).pcmf_getNodeAt(0);
51: }
52: if (l_hobj instanceof IUnButton) {
53: IUnButton l_cbut = (IUnButton) l_hobj;
54:
55: String l_iname = l_cbut.pcmf_getIcon()
56: .pcmf_getUnComponent().pcmf_getName();
57: if (l_iname.equals("nn"))
58: l_content.pcmf_sortByColDir(l_cnt, true);
59: else if (l_iname.equals("pn"))
60: l_content.pcmf_sortByColDir(l_cnt, false);
61: }
62: }
63: l_table.pcmf_setComplete(l_content);
64:
65: return (null);
66: }
67: }
|