summaryrefslogtreecommitdiffstats
path: root/kspread/KSpreadCellIface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kspread/KSpreadCellIface.cpp')
-rw-r--r--kspread/KSpreadCellIface.cpp1238
1 files changed, 1238 insertions, 0 deletions
diff --git a/kspread/KSpreadCellIface.cpp b/kspread/KSpreadCellIface.cpp
new file mode 100644
index 000000000..4188a1e4e
--- /dev/null
+++ b/kspread/KSpreadCellIface.cpp
@@ -0,0 +1,1238 @@
+/* This file is part of the KDE project
+
+ Copyright 2002-2004 Ariya Hidayat <ariya@kde.org>
+ Copyright 2002-2003 Philipp Mueller <philipp.mueller@gmx.de>
+ Copyright 2002-2003 Norbert Andres <nandres@web.de>
+ Copyright 2002-2003 Joseph Wenninger <jowenn@kde.org>
+ Copyright 2002 John Dailey <dailey@vt.edu>
+ Copyright 1999-2002 Laurent Montel <montel@kde.org>
+ Copyright 2000-2001 David Faure <faure@kde.org>
+ Copyright 1999-2000 Torben Weis <weis@kde.org>
+
+ 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(Qt::DotLine);
+ else if(_style=="DashLine")
+ cell->format()->setLeftBorderStyle(Qt::DashLine);
+ else if(_style=="DashDotLine")
+ cell->format()->setLeftBorderStyle(Qt::DashDotLine);
+ else if(_style=="DashDotDotLine")
+ cell->format()->setLeftBorderStyle(Qt::DashDotDotLine);
+ else if(_style=="SolidLine")
+ cell->format()->setLeftBorderStyle(Qt::SolidLine);
+ else
+ cell->format()->setLeftBorderStyle(Qt::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 );
+ Qt::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(Qt::DotLine);
+ else if(_style=="DashLine")
+ cell->format()->setRightBorderStyle(Qt::DashLine);
+ else if(_style=="DashDotLine")
+ cell->format()->setRightBorderStyle(Qt::DashDotLine);
+ else if(_style=="DashDotDotLine")
+ cell->format()->setRightBorderStyle(Qt::DashDotDotLine);
+ else if(_style=="SolidLine")
+ cell->format()->setRightBorderStyle(Qt::SolidLine);
+ else
+ cell->format()->setRightBorderStyle(Qt::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 );
+ Qt::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(Qt::DotLine);
+ else if(_style=="DashLine")
+ cell->format()->setTopBorderStyle(Qt::DashLine);
+ else if(_style=="DashDotLine")
+ cell->format()->setTopBorderStyle(Qt::DashDotLine);
+ else if(_style=="DashDotDotLine")
+ cell->format()->setTopBorderStyle(Qt::DashDotDotLine);
+ else if(_style=="SolidLine")
+ cell->format()->setTopBorderStyle(Qt::SolidLine);
+ else
+ cell->format()->setTopBorderStyle(Qt::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 );
+ Qt::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(Qt::DotLine);
+ else if(_style=="DashLine")
+ cell->format()->setBottomBorderStyle(Qt::DashLine);
+ else if(_style=="DashDotLine")
+ cell->format()->setBottomBorderStyle(Qt::DashDotLine);
+ else if(_style=="DashDotDotLine")
+ cell->format()->setBottomBorderStyle(Qt::DashDotDotLine);
+ else if(_style=="SolidLine")
+ cell->format()->setBottomBorderStyle(Qt::SolidLine);
+ else
+ cell->format()->setBottomBorderStyle(Qt::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 );
+ Qt::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(Qt::DotLine);
+ else if(_style=="DashLine")
+ cell->format()->setFallDiagonalStyle(Qt::DashLine);
+ else if(_style=="DashDotLine")
+ cell->format()->setFallDiagonalStyle(Qt::DashDotLine);
+ else if(_style=="DashDotDotLine")
+ cell->format()->setFallDiagonalStyle(Qt::DashDotDotLine);
+ else if(_style=="SolidLine")
+ cell->format()->setFallDiagonalStyle(Qt::SolidLine);
+ else
+ cell->format()->setFallDiagonalStyle(Qt::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 );
+ Qt::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(Qt::DotLine);
+ else if(_style=="DashLine")
+ cell->format()->setGoUpDiagonalStyle(Qt::DashLine);
+ else if(_style=="DashDotLine")
+ cell->format()->setGoUpDiagonalStyle(Qt::DashDotLine);
+ else if(_style=="DashDotDotLine")
+ cell->format()->setGoUpDiagonalStyle(Qt::DashDotDotLine);
+ else if(_style=="SolidLine")
+ cell->format()->setGoUpDiagonalStyle(Qt::SolidLine);
+ else
+ cell->format()->setGoUpDiagonalStyle(Qt::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 );
+ Qt::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();
+}