1 #include "OB_ListItem.h"
3 #include <SUIT_DataObject.h>
10 Descr: base template class
13 ListItem<T>::ListItem( SUIT_DataObject* obj, QListView* parent )
21 ListItem<T>::ListItem( SUIT_DataObject* obj, QListViewItem* parent )
29 ListItem<T>::ListItem( SUIT_DataObject* obj, QListView* parent, QListViewItem* after )
37 ListItem<T>::ListItem( SUIT_DataObject* obj, QListViewItem* parent, QListViewItem* after )
45 ListItem<T>::ListItem( SUIT_DataObject* obj, QListView* parent, int type )
46 : T( parent, "", (typename T::Type)type ),
53 ListItem<T>::ListItem( SUIT_DataObject* obj, QListViewItem* parent, int type )
54 : T( parent, "", (typename T::Type)type ),
61 ListItem<T>::ListItem( SUIT_DataObject* obj, QListView* parent, QListViewItem* after, int type )
62 #if defined(QT_VERSION) && QT_VERSION >= 0x030101
63 : T( parent, after, "", (typename T::Type)type ),
65 : T( parent, "", (typename T::Type)type ),
73 ListItem<T>::ListItem( SUIT_DataObject* obj, QListViewItem* parent, QListViewItem* after, int type )
74 #if defined(QT_VERSION) && QT_VERSION >= 0x030101
75 : T( parent, after, "", (typename T::Type)type ),
77 : T( parent, "", (typename T::Type)type ),
85 void ListItem<T>::paintCell( QPainter* p, const QColorGroup& cg, int c, int w, int align )
87 QColorGroup colorGrp( cg );
90 if ( myObject->color( SUIT_DataObject::Text ).isValid() )
91 colorGrp.setColor( QColorGroup::Text, myObject->color( SUIT_DataObject::Text ) );
92 if ( myObject->color( SUIT_DataObject::Base ).isValid() )
93 colorGrp.setColor( QColorGroup::Base, myObject->color( SUIT_DataObject::Base ) );
94 if ( myObject->color( SUIT_DataObject::Foreground ).isValid() )
95 colorGrp.setColor( QColorGroup::Foreground, myObject->color( SUIT_DataObject::Foreground ) );
96 if ( myObject->color( SUIT_DataObject::Background ).isValid() )
97 colorGrp.setColor( QColorGroup::Background, myObject->color( SUIT_DataObject::Background ) );
98 if ( myObject->color( SUIT_DataObject::Highlight ).isValid() )
99 colorGrp.setColor( QColorGroup::Highlight, myObject->color( SUIT_DataObject::Highlight ) );
103 p->fillRect( 0, 0, w, this->height(), colorGrp.brush( QColorGroup::Base ) );
104 int itemW = width( p->fontMetrics(), this->listView(), c );
106 T::paintCell( p, colorGrp, c, itemW, align );
110 void ListItem<T>::paintFocus( QPainter* p, const QColorGroup& cg, const QRect& r )
113 rect.setWidth( width( p->fontMetrics(), this->listView(), 0 ) );
114 T::paintFocus( p, cg, rect );
118 void ListItem<T>::update()
120 SUIT_DataObject* obj = dataObject();
124 setText( 0, obj->name() );
126 int aIconW = obj->icon().width();
132 double aScale = 20.0 / aIconW;
133 aM.scale( aScale, aScale );
134 setPixmap( 0, obj->icon().xForm( aM ) );
137 setPixmap( 0, obj->icon() );
140 this->setDragEnabled( obj->isDragable() );
141 this->setDropEnabled( true );
146 Descr: List view item for OB_Browser.
149 OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListView* parent )
150 : ListItem<QListViewItem>( obj, parent )
154 OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListViewItem* parent )
155 : ListItem<QListViewItem>( obj, parent )
159 OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListView* parent, QListViewItem* after )
160 : ListItem<QListViewItem>( obj, parent, after )
164 OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListViewItem* parent, QListViewItem* after )
165 : ListItem<QListViewItem>( obj, parent, after )
169 OB_ListItem::~OB_ListItem()
173 int OB_ListItem::RTTI()
178 int OB_ListItem::rtti() const
184 Class: OB_CheckListItem
185 Descr: Check list view item for OB_Browser.
188 OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListView* parent, Type type )
189 : ListItem<QCheckListItem>( obj, parent, type )
193 OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListViewItem* parent, Type type )
194 : ListItem<QCheckListItem>( obj, parent, type )
198 OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListView* parent, QListViewItem* after, Type type )
199 : ListItem<QCheckListItem>( obj, parent, after, type )
203 OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListViewItem* parent, QListViewItem* after, Type type )
204 : ListItem<QCheckListItem>( obj, parent, after, type )
208 OB_CheckListItem::~OB_CheckListItem()
212 int OB_CheckListItem::RTTI()
214 return OB_ListItem::RTTI() + 1;
217 int OB_CheckListItem::rtti() const
222 void OB_CheckListItem::stateChange( bool on )
224 QCheckListItem::stateChange( on );
227 dataObject()->setOn( on );