//This file is part of SECONDO.
// Copyright (C) 2004-2007,
// University in Hagen
// Faculty of Mathematics and Computer Science,
// Database Systems for New Applications.
// SECONDO is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
// SECONDO is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with SECONDO; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package viewer.hoese.algebras;
import sj.lang.ListExpr;
import viewer.*;
import viewer.hoese.*;
import javax.swing.*;
import javax.swing.JButton;
import java.awt.event.*;
import java.awt.BorderLayout;
import java.awt.Font;
/**
* A displayclass for the cluster type
*/
public class Dsplcluster extends DsplGeneric implements ExternDisplay{
/** string which is used for wrong formatted nested lists **/
static final String ERROR="wrong list";
/** a frame for external display **/
static ExtWin extWin = new ExtWin();
/** the formatted text for displaying in the external entry **/
private String text; // html content of the external window
/** the matrix as a single line for the entry **/
private String entry;
/** number of columns within the table **/
private static final int no_columns=6;
/* returns the used style sheet */
public static String getCss(){
return "\n";
}
/** Extracts the name from the list.
* If the structure of value does not allow to extract the name
* (i.e. the structure does not represent a valid cluster),
* null is returned.
**/
public String getName(ListExpr value){
if(value.listLength()<1){
return null;
}
ListExpr namelist = value.first();
if(namelist.atomType()!=ListExpr.STRING_ATOM){
return null;
}
return namelist.stringValue();
}
public String getContent(ListExpr value,int headLevel){
if(isUndefined(value)){
return "undefined";
}
String name = getName(value);
if(name==null){
return ERROR;
}
if(headLevel<1){
headLevel=1;
}
if(headLevel>9){
headLevel=9;
}
StringBuffer sb = new StringBuffer();
sb.append("
| "); sb.append(celltext); sb.append(" | "); cell++; row++; value = value.rest(); if(cell % no_columns ==0 || value.isEmpty()){ sb.append("