/* This file is part of the KDE project Copyright 2002-2004 Ariya Hidayat Copyright 2002-2003 Philipp Mueller Copyright 2002-2003 Norbert Andres Copyright 2002-2003 Joseph Wenninger Copyright 2002 John Dailey Copyright 1999-2002 Laurent Montel Copyright 2000-2001 David Faure Copyright 1999-2000 Torben Weis This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include "KSpreadCellIface.h" #include "kspread_doc.h" #include "kspread_sheet.h" #include "kspread_value.h" #include "valueconverter.h" using namespace KSpread; CellIface::CellIface() : m_point( 0, 0 ), m_sheet( 0 ) { } void CellIface::setCell( Sheet* sheet, const TQPoint& point ) { m_sheet = sheet; m_point = point; } bool CellIface::isDefault() const { if( !m_sheet ) return false; Cell* cell = m_sheet->cellAt( m_point ); return cell->isDefault(); } bool CellIface::isEmpty() const { if (!m_sheet) return true; Cell *cell=m_sheet->cellAt(m_point); return cell->isEmpty(); } TQString CellIface::text() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); return m_sheet->doc()->converter()->asString (cell->value()).asString(); } void CellIface::setText( const TQString& text ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->setCellText( text ); } TQString CellIface::visibleContentAsString() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if (cell->isEmpty()) return TQString(); TQString ret; ret=cell->value().asString(); if (ret.isEmpty()) { ret=TQString::number(cell->value().asFloat()); } return ret; } TQString CellIface::comment() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); return cell->format()->comment(m_point.x(), m_point.y()); } void CellIface::setComment( const TQString& comment ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setComment( comment); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setValue( int value ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->setValue( (double)value ); } void CellIface::setValue( double value ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->setValue( value ); } double CellIface::value() const { if( !m_sheet ) return 0.0; Cell* cell = m_sheet->cellAt( m_point ); return m_sheet->doc()->converter()->asFloat (cell->value()).asFloat(); } void CellIface::setBgColor(const TQString& _c) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQColor c(_c); cell->format()->setBgColor(c); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setBgColor(int r,int g,int b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQColor c(r,g,b); cell->format()->setBgColor(c); m_sheet->setRegionPaintDirty(cell->cellRect()); } TQString CellIface::bgColor() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); return cell->bgColor( m_point.x(), m_point.y() ).name(); } TQString CellIface::textColor() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); return cell->format()->textColor( m_point.x(), m_point.y() ).name(); } void CellIface::setTextColor(int r,int g,int b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQColor c(r,g,b); cell->format()->setTextColor(c); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setTextColor(const TQString& _c) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQColor c(_c); cell->format()->setTextColor(c); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setAngle(int angle) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setAngle(angle); m_sheet->setRegionPaintDirty(cell->cellRect()); } int CellIface::angle() const { if( !m_sheet ) return 0; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->getAngle(m_point.x(), m_point.y()); } void CellIface::setVerticalText(bool _vertical) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setVerticalText(_vertical); m_sheet->setRegionPaintDirty(cell->cellRect()); } bool CellIface::verticalText() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->verticalText( m_point.x(), m_point.y() ); } void CellIface::setMultiRow(bool _multi) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setMultiRow( _multi ); m_sheet->setRegionPaintDirty(cell->cellRect()); } bool CellIface::multiRow() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->multiRow( m_point.x(), m_point.y() ); } void CellIface::setAlign( const TQString& _Align ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); Format::Align Align; if(_Align=="Left") Align=Format::Left; else if(_Align=="Right") Align=Format::Right; else if(_Align=="Center") Align=Format::Center; else Align=Format::Undefined; cell->format()->setAlign( Align); m_sheet->setRegionPaintDirty(cell->cellRect()); } TQString CellIface::align() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQString alignString; switch( cell->format()->align( m_point.x(), m_point.y() ) ) { case Format::Left : alignString="Left"; break; case Format::Right : alignString="Right"; break; case Format::Center : alignString="Center"; break; case Format::Undefined : alignString="Undefined"; break; } return alignString; } void CellIface::setAlignY( const TQString& _AlignY ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); Format::AlignY AlignY; if(_AlignY=="Top") AlignY=Format::Top; else if(_AlignY=="Middle") AlignY=Format::Middle; else if(_AlignY=="Bottom") AlignY=Format::Bottom; else AlignY=Format::Middle; cell->format()->setAlignY( AlignY); m_sheet->setRegionPaintDirty(cell->cellRect()); } TQString CellIface::alignY() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQString alignString; switch( cell->format()->alignY( m_point.x(), m_point.y() ) ) { case Format::Top : alignString="Top"; break; case Format::Middle : alignString="Middle"; break; case Format::Bottom : alignString="Bottom"; break; case Format::UndefinedY : alignString="UndefinedY"; break; } return alignString; } void CellIface::setPostfix(const TQString &_postfix) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setPostfix( _postfix ); m_sheet->setRegionPaintDirty(cell->cellRect()); } TQString CellIface::prefix() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->prefix( m_point.x(), m_point.y() ); } void CellIface::setPrefix(const TQString &_prefix) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setPrefix( _prefix ); m_sheet->setRegionPaintDirty(cell->cellRect()); } TQString CellIface::postfix() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->postfix( m_point.x(), m_point.y() ); } void CellIface::setFormatType(const TQString &_formatType) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); FormatType format; cell->format()->setPrecision(2); if (_formatType=="Generic") format = Generic_format; else if(_formatType=="Number") format=Number_format; else if (_formatType=="Text") format=Text_format; else if(_formatType=="Money") format=Money_format; else if(_formatType=="Percentage") format=Percentage_format; else if(_formatType=="Scientific") format=Scientific_format; else if(_formatType=="ShortDate") format=ShortDate_format; else if(_formatType=="TextDate") format=TextDate_format; else if(_formatType=="Time") format=Time_format; else if(_formatType=="SecondeTime") format=SecondeTime_format; else if(_formatType=="fraction_half") format=fraction_half; else if(_formatType=="fraction_quarter") format=fraction_quarter; else if(_formatType=="fraction_eighth") format=fraction_eighth; else if(_formatType=="fraction_sixteenth") format=fraction_sixteenth; else if(_formatType=="fraction_tenth") format=fraction_tenth; else if(_formatType=="fraction_hundredth") format=fraction_hundredth; else if(_formatType=="fraction_one_digit") format=fraction_one_digit; else if(_formatType=="fraction_two_digits") format=fraction_two_digits; else if(_formatType=="fraction_three_digits") format=fraction_three_digits; else format=Generic_format; cell->format()->setFormatType( format); m_sheet->setRegionPaintDirty(cell->cellRect()); } TQString CellIface::getFormatType() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQString stringFormat; switch( cell->format()->getFormatType(m_point.x(), m_point.y())) { case Text_format: stringFormat="Text"; break; case Number_format: stringFormat="Number"; break; case Money_format: stringFormat="Money"; break; case Percentage_format: stringFormat="Percentage"; break; case Scientific_format: stringFormat="Scientific"; break; case ShortDate_format: stringFormat="ShortDate"; break; case TextDate_format: stringFormat="TextDate"; break; case date_format1: case date_format2: case date_format3: case date_format4: case date_format5: case date_format6: case date_format7: case date_format8: case date_format9: case date_format10: case date_format11: case date_format12: case date_format13: case date_format14: case date_format15: case date_format16: case date_format17: case date_format18: case date_format19: case date_format20: case date_format21: case date_format22: case date_format23: case date_format24: case date_format25: case date_format26: stringFormat="date format"; break; case Time_format: stringFormat="Time"; break; case SecondeTime_format: stringFormat="SecondeTime"; break; case Time_format1: case Time_format2: case Time_format3: case Time_format4: case Time_format5: case Time_format6: case Time_format7: case Time_format8: stringFormat="time format"; break; case fraction_half: stringFormat="fraction_half"; break; case fraction_quarter: stringFormat="fraction_quarter"; break; case fraction_eighth: stringFormat="fraction_eighth"; break; case fraction_sixteenth: stringFormat="fraction_sixteenth"; break; case fraction_tenth: stringFormat="fraction_tenth"; break; case fraction_hundredth: stringFormat="fraction_hundredth"; break; case fraction_one_digit: stringFormat="fraction_one_digit"; break; case fraction_two_digits: stringFormat="fraction_two_digits"; break; case fraction_three_digits: stringFormat="fraction_three_digits"; break; default: break; } return stringFormat; } void CellIface::setPrecision(int _p) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setPrecision( _p ); m_sheet->setRegionPaintDirty(cell->cellRect()); } int CellIface::precision() const { if( !m_sheet ) return 0; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->precision( m_point.x(), m_point.y() ); } void CellIface::setTextFontBold(bool _b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setTextFontBold( _b ); m_sheet->setRegionPaintDirty(cell->cellRect()); } bool CellIface::textFontBold() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->textFontBold( m_point.x(), m_point.y() ); } void CellIface::setTextFontItalic(bool _b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setTextFontItalic( _b ); m_sheet->setRegionPaintDirty(cell->cellRect()); } bool CellIface::textFontItalic() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->textFontItalic( m_point.x(), m_point.y() ); } void CellIface::setTextFontUnderline(bool _b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setTextFontUnderline( _b ); m_sheet->setRegionPaintDirty(cell->cellRect()); } bool CellIface::textFontUnderline() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->textFontUnderline( m_point.x(), m_point.y() ); } void CellIface::setTextFontStrike(bool _b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setTextFontStrike( _b ); m_sheet->setRegionPaintDirty(cell->cellRect()); } bool CellIface::textFontStrike() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->textFontStrike( m_point.x(), m_point.y() ); } void CellIface::setTextFontSize( int _size ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setTextFontSize( _size ); m_sheet->setRegionPaintDirty(cell->cellRect()); } int CellIface::textFontSize() const { if( !m_sheet ) return 10; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->textFontSize( m_point.x(), m_point.y() ); } void CellIface::setTextFontFamily( const TQString& _font ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setTextFontFamily( _font ); m_sheet->setRegionPaintDirty(cell->cellRect()); } TQString CellIface::textFontFamily() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->textFontFamily( m_point.x(), m_point.y() ); } //border left void CellIface::setLeftBorderStyle( const TQString& _style ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if(_style=="DotLine") cell->format()->setLeftBorderStyle(TQt::DotLine); else if(_style=="DashLine") cell->format()->setLeftBorderStyle(TQt::DashLine); else if(_style=="DashDotLine") cell->format()->setLeftBorderStyle(TQt::DashDotLine); else if(_style=="DashDotDotLine") cell->format()->setLeftBorderStyle(TQt::DashDotDotLine); else if(_style=="SolidLine") cell->format()->setLeftBorderStyle(TQt::SolidLine); else cell->format()->setLeftBorderStyle(TQt::SolidLine); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setLeftBorderColor(const TQString& _c) { if( !m_sheet ) return; TQColor c(_c); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setLeftBorderColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setLeftBorderColor(int r,int g,int b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQColor c(r,g,b); cell->format()->setLeftBorderColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setLeftBorderWidth( int _size ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setLeftBorderWidth( _size ); m_sheet->setRegionPaintDirty(cell->cellRect()); } int CellIface::leftBorderWidth() const { if( !m_sheet ) return 0; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->leftBorderWidth(m_point.x(), m_point.y()); } TQString CellIface::leftBorderColor() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); return cell->format()->leftBorderColor( m_point.x(), m_point.y() ).name(); } TQString CellIface::leftBorderStyle() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); TQt::PenStyle penStyle=cell->format()->leftBorderStyle( m_point.x(), m_point.y() ); TQString tmp; if( penStyle==TQt::DotLine) tmp="DotLine"; else if( penStyle==TQt::DashLine) tmp="DashLine"; else if( penStyle==TQt::DashDotLine) tmp="DashDotLine"; else if( penStyle==TQt::DashDotDotLine) tmp="DashDotDotLine"; else if( penStyle==TQt::SolidLine) tmp="SolidLine"; else tmp="SolidLine"; return tmp; } //border right void CellIface::setRightBorderStyle( const TQString& _style ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if(_style=="DotLine") cell->format()->setRightBorderStyle(TQt::DotLine); else if(_style=="DashLine") cell->format()->setRightBorderStyle(TQt::DashLine); else if(_style=="DashDotLine") cell->format()->setRightBorderStyle(TQt::DashDotLine); else if(_style=="DashDotDotLine") cell->format()->setRightBorderStyle(TQt::DashDotDotLine); else if(_style=="SolidLine") cell->format()->setRightBorderStyle(TQt::SolidLine); else cell->format()->setRightBorderStyle(TQt::SolidLine); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setRightBorderColor(const TQString& _c) { if( !m_sheet ) return; TQColor c(_c); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setRightBorderColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setRightBorderColor(int r,int g,int b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQColor c(r,g,b); cell->format()->setRightBorderColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setRightBorderWidth( int _size ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setRightBorderWidth( _size ); m_sheet->setRegionPaintDirty(cell->cellRect()); } int CellIface::rightBorderWidth() const { if( !m_sheet ) return 0; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->rightBorderWidth(m_point.x(), m_point.y()); } TQString CellIface::rightBorderColor() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); return cell->format()->rightBorderColor( m_point.x(), m_point.y() ).name(); } TQString CellIface::rightBorderStyle() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); TQt::PenStyle penStyle=cell->format()->rightBorderStyle( m_point.x(), m_point.y() ); TQString tmp; if( penStyle==TQt::DotLine) tmp="DotLine"; else if( penStyle==TQt::DashLine) tmp="DashLine"; else if( penStyle==TQt::DashDotLine) tmp="DashDotLine"; else if( penStyle==TQt::DashDotDotLine) tmp="DashDotDotLine"; else if( penStyle==TQt::SolidLine) tmp="SolidLine"; else tmp="SolidLine"; return tmp; } //border top void CellIface::setTopBorderStyle( const TQString& _style ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if(_style=="DotLine") cell->format()->setTopBorderStyle(TQt::DotLine); else if(_style=="DashLine") cell->format()->setTopBorderStyle(TQt::DashLine); else if(_style=="DashDotLine") cell->format()->setTopBorderStyle(TQt::DashDotLine); else if(_style=="DashDotDotLine") cell->format()->setTopBorderStyle(TQt::DashDotDotLine); else if(_style=="SolidLine") cell->format()->setTopBorderStyle(TQt::SolidLine); else cell->format()->setTopBorderStyle(TQt::SolidLine); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setTopBorderColor(const TQString& _c) { if( !m_sheet ) return; TQColor c(_c); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setTopBorderColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setTopBorderColor(int r,int g,int b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQColor c(r,g,b); cell->format()->setTopBorderColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setTopBorderWidth( int _size ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setTopBorderWidth( _size ); m_sheet->setRegionPaintDirty(cell->cellRect()); } int CellIface::topBorderWidth() const { if( !m_sheet ) return 0; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->topBorderWidth(m_point.x(), m_point.y()); } TQString CellIface::topBorderColor() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); return cell->format()->topBorderColor( m_point.x(), m_point.y() ).name(); } TQString CellIface::topBorderStyle() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); TQt::PenStyle penStyle=cell->format()->topBorderStyle( m_point.x(), m_point.y() ); TQString tmp; if( penStyle==TQt::DotLine) tmp="DotLine"; else if( penStyle==TQt::DashLine) tmp="DashLine"; else if( penStyle==TQt::DashDotLine) tmp="DashDotLine"; else if( penStyle==TQt::DashDotDotLine) tmp="DashDotDotLine"; else if( penStyle==TQt::SolidLine) tmp="SolidLine"; else tmp="SolidLine"; return tmp; } //border bottom void CellIface::setBottomBorderStyle( const TQString& _style ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if(_style=="DotLine") cell->format()->setBottomBorderStyle(TQt::DotLine); else if(_style=="DashLine") cell->format()->setBottomBorderStyle(TQt::DashLine); else if(_style=="DashDotLine") cell->format()->setBottomBorderStyle(TQt::DashDotLine); else if(_style=="DashDotDotLine") cell->format()->setBottomBorderStyle(TQt::DashDotDotLine); else if(_style=="SolidLine") cell->format()->setBottomBorderStyle(TQt::SolidLine); else cell->format()->setBottomBorderStyle(TQt::SolidLine); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setBottomBorderColor(const TQString& _c) { if( !m_sheet ) return; TQColor c(_c); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setBottomBorderColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setBottomBorderColor(int r,int g,int b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQColor c(r,g,b); cell->format()->setBottomBorderColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setBottomBorderWidth( int _size ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setBottomBorderWidth( _size ); m_sheet->setRegionPaintDirty(cell->cellRect()); } int CellIface::bottomBorderWidth() const { if( !m_sheet ) return 0; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->bottomBorderWidth(m_point.x(), m_point.y()); } TQString CellIface::bottomBorderColor() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); return cell->format()->bottomBorderColor( m_point.x(), m_point.y() ).name(); } TQString CellIface::bottomBorderStyle() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); TQt::PenStyle penStyle=cell->format()->bottomBorderStyle( m_point.x(), m_point.y() ); TQString tmp; if( penStyle==TQt::DotLine) tmp="DotLine"; else if( penStyle==TQt::DashLine) tmp="DashLine"; else if( penStyle==TQt::DashDotLine) tmp="DashDotLine"; else if( penStyle==TQt::DashDotDotLine) tmp="DashDotDotLine"; else if( penStyle==TQt::SolidLine) tmp="SolidLine"; else tmp="SolidLine"; return tmp; } //fall back diagonal void CellIface::setFallDiagonalStyle( const TQString& _style ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if(_style=="DotLine") cell->format()->setFallDiagonalStyle(TQt::DotLine); else if(_style=="DashLine") cell->format()->setFallDiagonalStyle(TQt::DashLine); else if(_style=="DashDotLine") cell->format()->setFallDiagonalStyle(TQt::DashDotLine); else if(_style=="DashDotDotLine") cell->format()->setFallDiagonalStyle(TQt::DashDotDotLine); else if(_style=="SolidLine") cell->format()->setFallDiagonalStyle(TQt::SolidLine); else cell->format()->setFallDiagonalStyle(TQt::SolidLine); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setFallDiagonalColor(const TQString& _c) { if( !m_sheet ) return; TQColor c(_c); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setFallDiagonalColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setFallDiagonalColor(int r,int g,int b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQColor c(r,g,b); cell->format()->setFallDiagonalColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setFallDiagonalWidth( int _size ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setFallDiagonalWidth( _size ); m_sheet->setRegionPaintDirty(cell->cellRect()); } int CellIface::fallDiagonalWidth() const { if( !m_sheet ) return 0; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->fallDiagonalWidth(m_point.x(), m_point.y()); } TQString CellIface::fallDiagonalColor() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); return cell->format()->fallDiagonalColor( m_point.x(), m_point.y() ).name(); } TQString CellIface::fallDiagonalStyle() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); TQt::PenStyle penStyle=cell->format()->fallDiagonalStyle( m_point.x(), m_point.y() ); TQString tmp; if( penStyle==TQt::DotLine) tmp="DotLine"; else if( penStyle==TQt::DashLine) tmp="DashLine"; else if( penStyle==TQt::DashDotLine) tmp="DashDotLine"; else if( penStyle==TQt::DashDotDotLine) tmp="DashDotDotLine"; else if( penStyle==TQt::SolidLine) tmp="SolidLine"; else tmp="SolidLine"; return tmp; } //GoUpDiagonal void CellIface::setGoUpDiagonalStyle( const TQString& _style ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if(_style=="DotLine") cell->format()->setGoUpDiagonalStyle(TQt::DotLine); else if(_style=="DashLine") cell->format()->setGoUpDiagonalStyle(TQt::DashLine); else if(_style=="DashDotLine") cell->format()->setGoUpDiagonalStyle(TQt::DashDotLine); else if(_style=="DashDotDotLine") cell->format()->setGoUpDiagonalStyle(TQt::DashDotDotLine); else if(_style=="SolidLine") cell->format()->setGoUpDiagonalStyle(TQt::SolidLine); else cell->format()->setGoUpDiagonalStyle(TQt::SolidLine); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setGoUpDiagonalColor(const TQString& _c) { if( !m_sheet ) return; TQColor c(_c); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setGoUpDiagonalColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setGoUpDiagonalColor(int r,int g,int b) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); TQColor c(r,g,b); cell->format()->setGoUpDiagonalColor(c ); m_sheet->setRegionPaintDirty(cell->cellRect()); } void CellIface::setGoUpDiagonalWidth( int _size ) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setGoUpDiagonalWidth( _size ); m_sheet->setRegionPaintDirty(cell->cellRect()); } int CellIface::goUpDiagonalWidth() const { if( !m_sheet ) return 0; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->goUpDiagonalWidth(m_point.x(), m_point.y()); } TQString CellIface::goUpDiagonalColor() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); return cell->format()->goUpDiagonalColor( m_point.x(), m_point.y() ).name(); } TQString CellIface::goUpDiagonalStyle() const { if( !m_sheet ) return TQString(); Cell* cell = m_sheet->cellAt( m_point ); TQt::PenStyle penStyle=cell->format()->goUpDiagonalStyle( m_point.x(), m_point.y() ); TQString tmp; if( penStyle==TQt::DotLine) tmp="DotLine"; else if( penStyle==TQt::DashLine) tmp="DashLine"; else if( penStyle==TQt::DashDotLine) tmp="DashDotLine"; else if( penStyle==TQt::DashDotDotLine) tmp="DashDotDotLine"; else if( penStyle==TQt::SolidLine) tmp="SolidLine"; else tmp="SolidLine"; return tmp; } void CellIface::setIndent(double indent) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if( indent >= 0.0 ) cell->format()->setIndent( indent ); else cell->format()->setIndent( 0.0 ); m_sheet->setRegionPaintDirty(cell->cellRect()); } double CellIface::getIndent() const { if( !m_sheet ) return 0.0; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->getIndent( m_point.x(), m_point.y() ); } void CellIface::setDontPrintText ( bool _print) { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->format()->setDontPrintText ( _print); } bool CellIface::getDontprintText() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); return cell->format()->getDontprintText(m_point.x(), m_point.y()); } bool CellIface::hasValidation() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if ( cell->getValidity( 0 ) ) return true; else return false; } TQString CellIface::validationTitle() const { if( !m_sheet ) return ""; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if ( cell->getValidity( 0 ) ) { return cell->getValidity( 0 )->title; } else return ""; } TQString CellIface::validationMessage() const { if( !m_sheet ) return ""; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if ( cell->getValidity( 0 ) ) { return cell->getValidity( 0 )->message; } else return ""; } TQStringList CellIface::listValidation() const { if( !m_sheet ) return TQStringList(); Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if ( cell->getValidity( 0 ) ) { return cell->getValidity( 0 )->listValidity; } else return TQStringList(); } TQString CellIface::validationTitleInfo() const { if( !m_sheet ) return ""; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if ( cell->getValidity( 0 ) ) { return cell->getValidity( 0 )->titleInfo; } else return ""; } TQString CellIface::validationMessageInfo() const { if( !m_sheet ) return ""; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if ( cell->getValidity( 0 ) ) { return cell->getValidity( 0 )->messageInfo; } else return ""; } bool CellIface::displayValidationInformation() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if ( cell->getValidity( 0 ) ) { return cell->getValidity( 0 )->displayValidationInformation; } else return false; } bool CellIface::displayValidationMessage() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if ( cell->getValidity( 0 ) ) { return cell->getValidity( 0 )->displayMessage; } else return false; } bool CellIface::validationAllowEmptyCell() const { if( !m_sheet ) return false; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); if ( cell->getValidity( 0 ) ) { return cell->getValidity( 0 )->allowEmptyCell; } else return false; } void CellIface::removeValidity() { if( !m_sheet ) return; Cell* cell = m_sheet->nonDefaultCell( m_point.x(), m_point.y() ); cell->removeValidity(); }