/***************************************************************************
tableitem . cpp - description
- - - - - - - - - - - - - - - - - - -
begin : Mon 15 Mar 2004
copyright : ( C ) 2004 by Michal Rudolf < mrudolf @ kdewebdev . org >
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/***************************************************************************
* *
* This program 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 . *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# include <tqtextedit.h>
# include <tqpainter.h>
# include "tableitem.h"
TableItem : : TableItem ( TQTable * table , EditType et ) : TQTableItem ( table , et )
{
setReplaceable ( false ) ;
m_halign = TQt : : AlignLeft ;
m_valign = TQt : : AlignVCenter ;
}
TableItem : : TableItem ( TQTable * table , EditType et , const TQString & text ) : TQTableItem ( table , et , text )
{
setReplaceable ( false ) ;
m_halign = TQt : : AlignLeft ;
m_valign = TQt : : AlignVCenter ;
}
TableItem : : TableItem ( TQTable * table , EditType et , const TQString & text , const TQPixmap & p ) :
TQTableItem ( table , et , text , p )
{
setReplaceable ( false ) ;
m_halign = TQt : : AlignLeft ;
m_valign = TQt : : AlignVCenter ;
}
TQWidget * TableItem : : createEditor ( ) const
{
TQTextEdit * Editor = new TQTextEdit ( table ( ) - > viewport ( ) ) ;
Editor - > setTextFormat ( TQTextEdit : : PlainText ) ;
Editor - > setHScrollBarMode ( TQScrollView : : AlwaysOff ) ;
Editor - > setVScrollBarMode ( TQScrollView : : AlwaysOff ) ;
Editor - > setBold ( m_header ) ;
Editor - > setText ( text ( ) ) ;
TQObject : : connect ( Editor , TQT_SIGNAL ( textChanged ( ) ) , table ( ) , TQT_SLOT ( doValueChanged ( ) ) ) ;
return Editor ;
}
void TableItem : : setContentFromEditor ( TQWidget * w )
{
if ( w - > inherits ( TQTEXTEDIT_OBJECT_NAME_STRING ) )
setText ( ( ( TQTextEdit * ) w ) - > text ( ) ) ;
else
TQTableItem : : setContentFromEditor ( w ) ;
}
void TableItem : : paint ( TQPainter * p , const TQColorGroup & cg , const TQRect & cr , bool selected )
{
if ( m_header ) {
TQFont editFont = p - > font ( ) ;
editFont . setBold ( true ) ;
p - > setFont ( editFont ) ;
}
TQRect cr0 ( 0 , 0 , cr . width ( ) , cr . height ( ) ) ;
if ( selected ) {
p - > fillRect ( cr0 , cg . brush ( TQColorGroup : : Highlight ) ) ;
p - > setPen ( cg . highlightedText ( ) ) ;
}
else {
p - > fillRect ( cr0 , cg . brush ( TQColorGroup : : Base ) ) ;
p - > setPen ( cg . text ( ) ) ;
}
if ( ! pixmap ( ) . isNull ( ) ) {
p - > drawPixmap ( 4 , 4 , pixmap ( ) ) ;
p - > drawText ( 6 + pixmap ( ) . width ( ) , 4 , cr0 . width ( ) - 8 , cr0 . height ( ) - 8 , m_halign | m_valign | WordBreak , text ( ) ) ;
}
else
p - > drawText ( 4 , 4 , cr0 . width ( ) - 8 , cr0 . height ( ) - 8 , m_halign | m_valign | WordBreak , text ( ) ) ;
}
TQSize TableItem : : sizeHint ( ) const
{
TQSize size = TQTableItem : : sizeHint ( ) ;
size . setWidth ( size . width ( ) + 8 ) ;
size . setHeight ( size . height ( ) + 8 ) ;
return size ;
}