X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FObjBrowser%2FOB_ListItem.cxx;h=2e85a85b4663ce2dd966c0d8ec99f6093c7349fb;hb=4d148645d284599ffb89aca9313b3a5878570e33;hp=570d3a9e1de2d1bf54d3c4263315ad2ab0c92b83;hpb=26c42324c345edd513f45434137aac7a48acfa08;p=modules%2Fgui.git diff --git a/src/ObjBrowser/OB_ListItem.cxx b/src/ObjBrowser/OB_ListItem.cxx index 570d3a9e1..2e85a85b4 100755 --- a/src/ObjBrowser/OB_ListItem.cxx +++ b/src/ObjBrowser/OB_ListItem.cxx @@ -7,84 +7,23 @@ #include #include +#include +using namespace std; + /*! Class: ListItem Descr: base template class */ -template -ListItem::ListItem( SUIT_DataObject* obj, QListView* parent ) -: T( parent ), -myObject( obj ) -{ - update(); -} - -template -ListItem::ListItem( SUIT_DataObject* obj, QListViewItem* parent ) -: T( parent ), -myObject( obj ) -{ - update(); -} - -template -ListItem::ListItem( SUIT_DataObject* obj, QListView* parent, QListViewItem* after ) -: T( parent, after ), -myObject( obj ) -{ - update(); -} template -ListItem::ListItem( SUIT_DataObject* obj, QListViewItem* parent, QListViewItem* after ) -: T( parent, after ), +ListItemF::ListItemF(T& theT, SUIT_DataObject* obj) : +myT(theT), myObject( obj ) { - update(); } template -ListItem::ListItem( SUIT_DataObject* obj, QListView* parent, int type ) -: T( parent, "", (typename T::Type)type ), -myObject( obj ) -{ - update(); -} - -template -ListItem::ListItem( SUIT_DataObject* obj, QListViewItem* parent, int type ) -: T( parent, "", (typename T::Type)type ), -myObject( obj ) -{ - update(); -} - -template -ListItem::ListItem( SUIT_DataObject* obj, QListView* parent, QListViewItem* after, int type ) -#if defined(QT_VERSION) && QT_VERSION >= 0x030101 -: T( parent, after, "", (typename T::Type)type ), -#else -: T( parent, "", (typename T::Type)type ), -#endif -myObject( obj ) -{ - update(); -} - -template -ListItem::ListItem( SUIT_DataObject* obj, QListViewItem* parent, QListViewItem* after, int type ) -#if defined(QT_VERSION) && QT_VERSION >= 0x030101 -: T( parent, after, "", (typename T::Type)type ), -#else -: T( parent, "", (typename T::Type)type ), -#endif -myObject( obj ) -{ - update(); -} - -template -void ListItem::paintCell( QPainter* p, const QColorGroup& cg, int c, int w, int align ) +void ListItemF::paintC( QPainter* p, const QColorGroup& cg, int c, int w, int align ) { QColorGroup colorGrp( cg ); if ( myObject ) @@ -104,41 +43,41 @@ void ListItem::paintCell( QPainter* p, const QColorGroup& cg, int c, int w, i } - p->fillRect( 0, 0, w, this->height(), colorGrp.brush( QColorGroup::Base ) ); - int itemW = width( p->fontMetrics(), this->listView(), c ); + p->fillRect( 0, 0, w, myT.height(), colorGrp.brush( QColorGroup::Base ) ); + int itemW = myT.width( p->fontMetrics(), myT.listView(), c ); - T::paintCell( p, colorGrp, c, itemW, align ); + //myT.paintCell( p, colorGrp, c, itemW, align ); } template -void ListItem::paintFocus( QPainter* p, const QColorGroup& cg, const QRect& r ) +void ListItemF::paintFoc( QPainter* p, const QColorGroup& cg, const QRect& r ) { QRect rect = r; - rect.setWidth( width( p->fontMetrics(), this->listView(), 0 ) ); - T::paintFocus( p, cg, rect ); + rect.setWidth( myT.width( p->fontMetrics(), myT.listView(), 0 ) ); + //myT.paintFocus( p, cg, rect ); } template -void ListItem::setSelected( bool s ) +void ListItemF::setSel( bool s ) { - QListView* lv = T::listView(); + QListView* lv = myT.listView(); if ( s && lv && lv->inherits( "OB_ListView" ) ) { OB_ListView* objlv = (OB_ListView*)lv; - s = s && objlv->isOk( this ); + s = s && objlv->isOk( &myT ); } - QListViewItem::setSelected( s ); + //myT.setSelected( s ); } template -void ListItem::update() +void ListItemF::update() { SUIT_DataObject* obj = dataObject(); if ( !obj ) return; - setText( 0, obj->name() ); + myT.setText( 0, obj->name() ); int aIconW = obj->icon().width(); if ( aIconW > 0 ) @@ -148,14 +87,14 @@ void ListItem::update() QWMatrix aM; double aScale = 20.0 / aIconW; aM.scale( aScale, aScale ); - setPixmap( 0, obj->icon().xForm( aM ) ); + myT.setPixmap( 0, obj->icon().xForm( aM ) ); } else - setPixmap( 0, obj->icon() ); + myT.setPixmap( 0, obj->icon() ); } - this->setDragEnabled( obj->isDragable() ); - this->setDropEnabled( true ); + myT.setDragEnabled( obj->isDragable() ); + myT.setDropEnabled( true ); } /*! @@ -164,29 +103,52 @@ void ListItem::update() */ OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListView* parent ) -: ListItem( obj, parent ) +: ListItemF( *this, obj ), + QListViewItem(parent) { + update(); } OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListViewItem* parent ) -: ListItem( obj, parent ) +: ListItemF( *this, obj), + QListViewItem(parent) { + update(); } OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListView* parent, QListViewItem* after ) -: ListItem( obj, parent, after ) +: ListItemF( *this, obj), +QListViewItem(parent, after ) { + update(); } OB_ListItem::OB_ListItem( SUIT_DataObject* obj, QListViewItem* parent, QListViewItem* after ) -: ListItem( obj, parent, after ) +: ListItemF( *this,obj), +QListViewItem(parent, after ) { + update(); } OB_ListItem::~OB_ListItem() { } +void OB_ListItem::setSelected( bool s ) { + setSel(s); + QListViewItem::setSelected(s); +} + +void OB_ListItem::paintFocus( QPainter* p, const QColorGroup& cg, const QRect& r ){ + paintFoc(p, cg, r); + QListViewItem::paintFocus(p, cg, r); +} + +void OB_ListItem::paintCell( QPainter* p, const QColorGroup& cg, int c, int w, int align ) { + paintC(p, cg, c ,w, align); + QListViewItem::paintCell(p, cg, c, w, align); +} + int OB_ListItem::RTTI() { return 1000; @@ -203,29 +165,60 @@ int OB_ListItem::rtti() const */ OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListView* parent, Type type ) -: ListItem( obj, parent, type ) +: ListItemF( *this, obj), +QCheckListItem( parent, "", type ) { + update(); } OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListViewItem* parent, Type type ) -: ListItem( obj, parent, type ) +: ListItemF( *this, obj), +QCheckListItem( parent, "", type ) { + update(); } OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListView* parent, QListViewItem* after, Type type ) -: ListItem( obj, parent, after, type ) +: ListItemF( *this, obj), +#if defined(QT_VERSION) && QT_VERSION >= 0x030101 + QCheckListItem( parent, after, "", type ) +#else + QCheckListItem( parent, "", type ) +#endif { + update(); } OB_CheckListItem::OB_CheckListItem( SUIT_DataObject* obj, QListViewItem* parent, QListViewItem* after, Type type ) -: ListItem( obj, parent, after, type ) +: ListItemF( *this, obj), +#if defined(QT_VERSION) && QT_VERSION >= 0x030101 + QCheckListItem( parent, after, "", type ) +#else + QCheckListItem( parent, "", type ) +#endif { + update(); } OB_CheckListItem::~OB_CheckListItem() { } +void OB_CheckListItem::setSelected( bool s ) { + setSel(s); + QCheckListItem::setSelected(s); +} + +void OB_CheckListItem::paintFocus( QPainter* p, const QColorGroup& cg, const QRect& r ){ + paintFoc(p, cg, r); + QCheckListItem::paintFocus(p, cg, r); +} + +void OB_CheckListItem::paintCell( QPainter* p, const QColorGroup& cg, int c, int w, int align ) { + paintC(p, cg, c ,w, align); + QCheckListItem::paintCell(p, cg, c, w, align); +} + int OB_CheckListItem::RTTI() { return OB_ListItem::RTTI() + 1;