1 #include "OB_ListItem.h"
3 #include "OB_ListView.h"
5 #include <SUIT_DataObject.h>
15 Descr: base template class
19 ListItemF<T>::ListItemF(T& theT, SUIT_DataObject* obj) :
26 void ListItemF<T>::paintC( QPainter* p, const QColorGroup& cg, int c, int w, int align )
28 QColorGroup colorGrp( cg );
31 if ( myObject->color( SUIT_DataObject::Text ).isValid() )
32 colorGrp.setColor( QColorGroup::Text, myObject->color( SUIT_DataObject::Text ) );
33 if ( myObject->color( SUIT_DataObject::Base ).isValid() )
34 colorGrp.setColor( QColorGroup::Base, myObject->color( SUIT_DataObject::Base ) );
35 if ( myObject->color( SUIT_DataObject::Foreground ).isValid() )
36 colorGrp.setColor( QColorGroup::Foreground, myObject->color( SUIT_DataObject::Foreground ) );
37 if ( myObject->color( SUIT_DataObject::Background ).isValid() )
38 colorGrp.setColor( QColorGroup::Background, myObject->color( SUIT_DataObject::Background ) );
39 if ( myObject->color( SUIT_DataObject::Highlight ).isValid() )
40 colorGrp.setColor( QColorGroup::Highlight, myObject->color( SUIT_DataObject::Highlight ) );
41 if ( myObject->color( SUIT_DataObject::HighlightedText ).isValid() )
42 colorGrp.setColor( QColorGroup::HighlightedText, myObject->color( SUIT_DataObject::HighlightedText ) );
46 p->fillRect( 0, 0, w, myT.height(), colorGrp.brush( QColorGroup::Base ) );
47 int itemW = myT.width( p->fontMetrics(), myT.listView(), c );
49 //myT.paintCell( p, colorGrp, c, itemW, align );
53 void ListItemF<T>::paintFoc( QPainter* p, const QColorGroup& cg, const QRect& r )
56 rect.setWidth( myT.width( p->fontMetrics(), myT.listView(), 0 ) );
57 //myT.paintFocus( p, cg, rect );
61 void ListItemF<T>::setSel( bool s )
63 QListView* lv = myT.listView();
64 if ( s && lv && lv->inherits( "OB_ListView" ) )
66 OB_ListView* objlv = (OB_ListView*)lv;
67 s = s && objlv->isOk( &myT );
70 //myT.setSelected( s );
74 void ListItemF<T>::update()
76 SUIT_DataObject* obj = dataObject();
80 myT.setText( 0, obj->name() );
82 int aIconW = obj->icon().width();
88 double aScale = 20.0 / aIconW;
89 aM.scale( aScale, aScale );
90 myT.setPixmap( 0, obj->icon().xForm( aM ) );
93 myT.setPixmap( 0, obj->icon() );
96 myT.setDragEnabled( obj->isDragable() );
97 myT.setDropEnabled( true );
102 Descr: List view item for OB_Browser.
105 OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListView* parent )
106 : ListItemF<QListViewItem>( *this, obj ),
107 QListViewItem(parent)
112 OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListViewItem* parent )
113 : ListItemF<QListViewItem>( *this, obj),
114 QListViewItem(parent)
119 OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListView* parent, QListViewItem* after )
120 : ListItemF<QListViewItem>( *this, obj),
121 QListViewItem(parent, after )
126 OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListViewItem* parent, QListViewItem* after )
127 : ListItemF<QListViewItem>( *this,obj),
128 QListViewItem(parent, after )
133 OB_ListItem::~OB_ListItem()
137 void OB_ListItem::setSelected( bool s ) {
139 QListViewItem::setSelected(s);
142 void OB_ListItem::paintFocus( QPainter* p, const QColorGroup& cg, const QRect& r ){
144 QListViewItem::paintFocus(p, cg, r);
147 void OB_ListItem::paintCell( QPainter* p, const QColorGroup& cg, int c, int w, int align ) {
148 paintC(p, cg, c ,w, align);
149 QListViewItem::paintCell(p, cg, c, w, align);
152 int OB_ListItem::RTTI()
157 int OB_ListItem::rtti() const
163 Class: OB_CheckListItem
164 Descr: Check list view item for OB_Browser.
167 OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListView* parent, Type type )
168 : ListItemF<QCheckListItem>( *this, obj),
169 QCheckListItem( parent, "", type )
174 OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListViewItem* parent, Type type )
175 : ListItemF<QCheckListItem>( *this, obj),
176 QCheckListItem( parent, "", type )
181 OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListView* parent, QListViewItem* after, Type type )
182 : ListItemF<QCheckListItem>( *this, obj),
183 #if defined(QT_VERSION) && QT_VERSION >= 0x030101
184 QCheckListItem( parent, after, "", type )
186 QCheckListItem( parent, "", type )
192 OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListViewItem* parent, QListViewItem* after, Type type )
193 : ListItemF<QCheckListItem>( *this, obj),
194 #if defined(QT_VERSION) && QT_VERSION >= 0x030101
195 QCheckListItem( parent, after, "", type )
197 QCheckListItem( parent, "", type )
203 OB_CheckListItem::~OB_CheckListItem()
207 void OB_CheckListItem::setSelected( bool s ) {
209 QCheckListItem::setSelected(s);
212 void OB_CheckListItem::paintFocus( QPainter* p, const QColorGroup& cg, const QRect& r ){
214 QCheckListItem::paintFocus(p, cg, r);
217 void OB_CheckListItem::paintCell( QPainter* p, const QColorGroup& cg, int c, int w, int align ) {
218 paintC(p, cg, c ,w, align);
219 QCheckListItem::paintCell(p, cg, c, w, align);
222 int OB_CheckListItem::RTTI()
224 return OB_ListItem::RTTI() + 1;
227 int OB_CheckListItem::rtti() const
232 void OB_CheckListItem::stateChange( bool on )
234 QCheckListItem::stateChange( on );
237 dataObject()->setOn( on );