Package org.zkoss.zss.ui.fn

Source Code of org.zkoss.zss.ui.fn.UtilFns

/* UtilFns.java

{{IS_NOTE
  Purpose:
   
  Description:
   
  History:
    Dec 17, 2007 5:12:20 PM     2007, Created by Dennis.Chen
}}IS_NOTE

Copyright (C) 2007 Potix Corporation. All Rights Reserved.

{{IS_RIGHT
  This program is distributed under GPL Version 2.0 in the hope that
  it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
*/
package org.zkoss.zss.ui.fn;

import java.io.IOException;
import java.io.StringWriter;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import org.zkoss.poi.ss.usermodel.Cell;
import org.zkoss.poi.ss.usermodel.Hyperlink;
import org.zkoss.poi.ss.usermodel.RichTextString;
import org.zkoss.zk.ui.UiException;
//import org.zkoss.zss.model.Cell;
//import org.zkoss.zss.model.Format;
import org.zkoss.zss.model.Worksheet;
import org.zkoss.zss.model.FormatText;
import org.zkoss.zss.ui.Rect;
import org.zkoss.zss.ui.Spreadsheet;
import org.zkoss.zss.ui.impl.HeaderPositionHelper;
import org.zkoss.zss.ui.impl.MergeMatrixHelper;
import org.zkoss.zss.ui.impl.Utils;
import org.zkoss.zss.ui.sys.SpreadsheetCtrl;


/**
*
* This class is for Spreadsheet Taglib use only, don't use it as a utility .
* @author Dennis.Chen
*
*/
public class UtilFns {

  /**
   * Gets Column name of a sheet
   */
  static public String getColumntitle(Spreadsheet ss,int index){
    return ss.getColumntitle(index);
  }
 
 
  /**
   * Gets Row name of a sheet
   */
  static public String getRowtitle(Spreadsheet ss,int index){
    return ss.getRowtitle(index);
  }
 
  /**
   * Gets Cell text by given row and column
   */
  static public String getCelltext(Worksheet sheet, int row,int column){
    /*List list = ss.getBook().getSheets();
    if(list.size()<=ss.getSelectedIndex()){
      throw new XelException("No such sheet :"+ss.getSelectedIndex());
    }*/
    final Cell cell = Utils.getCell(sheet, row, column);
    String text = "";
    if (cell != null) {
      boolean wrap = cell.getCellStyle().getWrapText();
      final FormatText ft = Utils.getFormatText(cell);
      if (ft != null) {
        if (ft.isRichTextString()) {
          final RichTextString rstr = ft.getRichTextString();
          text = rstr == null ? "" : Utils.formatRichTextString(sheet, rstr, wrap);
        } else if (ft.isCellFormatResult()) {
          text = Utils.escapeCellText(ft.getCellFormatResult().text, wrap, true);
        }
      }
      final Hyperlink hlink = Utils.getHyperlink(cell);
      if (hlink != null) {
        text = Utils.formatHyperlink(sheet, hlink, text, wrap);
      }
    }
    return text;
  }
 
  static public String getCellFormatText(Worksheet sheet, int row,int column) {
    final Cell cell = Utils.getCell(sheet, row, column);
    String text = "";
    if (cell != null) {
      final FormatText ft = Utils.getFormatText(cell);
      if (ft != null) {
        if (ft.isRichTextString()) {
          final RichTextString rstr = ft.getRichTextString();
          text = rstr == null ? "" : rstr.toString();
        } else if (ft.isCellFormatResult()) {
          text = ft.getCellFormatResult().text;
        }
      }
    }
    return text;
  }

  //Gets Cell edit text by given row and column
  static public String getEdittext(Worksheet sheet, int row,int column){
    final Cell cell = Utils.getCell(sheet, row, column);
    return cell != null ? Utils.getEditText(cell) : "";
  }
 
  static public Integer getRowBegin(Spreadsheet ss){
    return Integer.valueOf(0);
  }
  static public Integer getRowEnd(Spreadsheet ss){
    int max = ss.getMaxrows();
    max = max<=20?max-1:20;
    return Integer.valueOf(max);//Integer.valueOf(ss.getMaxrow()-1);
  }
  static public Integer getColBegin(Spreadsheet ss){
    return Integer.valueOf(0);
  }
  static public Integer getColEnd(Spreadsheet ss){
    int max = ss.getMaxcolumns();

    max = max<=10?max-1:10;
   
    int row_top = getRowBegin(ss).intValue();
    int row_bottom = getRowEnd(ss).intValue();
   
    Worksheet sheet = ss.getSelectedSheet();
    MergeMatrixHelper mmhelper = ((SpreadsheetCtrl)ss.getExtraCtrl()).getMergeMatrixHelper(sheet);
    Set blocks = mmhelper.getRangesByColumn(max);
    Iterator iter = blocks.iterator();
    while(iter.hasNext()){
      Rect rect = (Rect)iter.next();
      int top = rect.getTop();
      //int left = rect.getLeft();
      int right = rect.getRight();
      //int bottom = rect.getBottom();
      if(top<row_top || top<row_bottom){
        continue;
      }
     
      if(max<right){
        max = right;
      }
    }
   
    return Integer.valueOf(max);//Integer.valueOf(ss.getMaxcolumn()-1);
  }
 
//  static public String getRowOuterAttrs(Spreadsheet ss,int row){
//    return ((SpreadsheetCtrl)ss.getExtraCtrl()).getRowOuterAttrs(row);
//  }
// 
//  static public String getCellOuterAttrs(Spreadsheet ss,int row,int col){
//    return ((SpreadsheetCtrl)ss.getExtraCtrl()).getCellOuterAttrs(row,col);
//  }
// 
//  static public String getCellInnerAttrs(Spreadsheet ss,int row,int col){
//    return ((SpreadsheetCtrl)ss.getExtraCtrl()).getCellInnerAttrs(row,col);
//  }
//  static public String getTopHeaderOuterAttrs(Spreadsheet ss,int col){
//    return ((SpreadsheetCtrl)ss.getExtraCtrl()).getTopHeaderOuterAttrs(col);
//  }
//  static public String getTopHeaderInnerAttrs(Spreadsheet ss,int col){
//    return ((SpreadsheetCtrl)ss.getExtraCtrl()).getTopHeaderInnerAttrs(col);
//  }
// 
//  static public String getLeftHeaderOuterAttrs(Spreadsheet ss,int row){
//    return ((SpreadsheetCtrl)ss.getExtraCtrl()).getLeftHeaderOuterAttrs(row);
//  }
// 
//  static public String getLeftHeaderInnerAttrs(Spreadsheet ss,int row){
//    return ((SpreadsheetCtrl)ss.getExtraCtrl()).getLeftHeaderInnerAttrs(row);
//  }
 
  static public Boolean getTopHeaderHiddens(Spreadsheet ss, int col) {
    return ((SpreadsheetCtrl)ss.getExtraCtrl()).getTopHeaderHiddens(col);
  }
 
  static public Boolean getLeftHeaderHiddens(Spreadsheet ss,int row){
    return ((SpreadsheetCtrl)ss.getExtraCtrl()).getLeftHeaderHiddens(row);
  }
}
TOP

Related Classes of org.zkoss.zss.ui.fn.UtilFns

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.