Forward-port the following Qt3 GIT commits to TQt4:

3653f049bf83636d00237e61781e68ae7c3b499a	[ENHANCEMENT] Add skeleton of setVisible()/isVisible() support to QIconView
4dd6a7ae2cf8d7fc3df7c9743129cec736c0d591	[ENHANCEMENT] Add new PE_HeaderSectionMenu primitive element
pull/1/head
Timothy Pearson 14 years ago
parent df19687570
commit 3d0ccc665e

@ -995,6 +995,7 @@ void TQIconViewItem::init( TQIconViewItem *after
allow_rename = FALSE; allow_rename = FALSE;
allow_drag = TRUE; allow_drag = TRUE;
allow_drop = TRUE; allow_drop = TRUE;
visible = TRUE;
selected = FALSE; selected = FALSE;
selectable = TRUE; selectable = TRUE;
#ifndef TQT_NO_TEXTEDIT #ifndef TQT_NO_TEXTEDIT
@ -1050,6 +1051,32 @@ int TQIconViewItem::rtti() const
return RTTI; return RTTI;
} }
/*!
If \a b is TRUE, the item is made visible; otherwise it is hidden.
*/
void TQIconViewItem::setVisible( bool b )
{
if ( b == (bool)visible )
return;
TQIconView *iv = iconView();
if ( !iv )
return;
visible = b;
if ( iv )
iv->updateContents();
}
/*!
Returns TRUE if the item is visible; otherwise returns FALSE.
\sa setVisible()
*/
bool TQIconViewItem::isVisible() const
{
return (bool)visible;
}
/*! /*!
Sets \a text as the text of the icon view item. This function Sets \a text as the text of the icon view item. This function
@ -3852,10 +3879,18 @@ void TQIconView::selectAll( bool select )
viewport()->setUpdatesEnabled( FALSE ); viewport()->setUpdatesEnabled( FALSE );
TQRect rr; TQRect rr;
for ( ; item; item = item->next ) { for ( ; item; item = item->next ) {
if ( select != item->isSelected() ) { if (item->isVisible()) {
item->setSelected( select, TRUE ); if ( select != item->isSelected() ) {
rr = rr.unite( item->rect() ); item->setSelected( select, TRUE );
changed = TRUE; rr = rr.unite( item->rect() );
changed = TRUE;
}
else {
if ( FALSE != item->isSelected() ) {
item->setSelected( FALSE, TRUE );
changed = TRUE;
}
}
} }
} }
viewport()->setUpdatesEnabled( ue ); viewport()->setUpdatesEnabled( ue );
@ -6148,17 +6183,19 @@ void TQIconView::updateItemContainer( TQIconViewItem *item )
return; return;
} }
c->items.append( item ); if (item->isVisible()) {
item->d->container1 = c; c->items.append( item );
item->d->container1 = c;
if ( !tqcontains ) { if ( !tqcontains ) {
c = c->n; c = c->n;
if ( !c ) { if ( !c ) {
appendItemContainer(); appendItemContainer();
c = d->lastContainer; c = d->lastContainer;
} }
c->items.append( item ); c->items.append( item );
item->d->container2 = c; item->d->container2 = c;
}
} }
if ( contentsWidth() < irect.right() || contentsHeight() < irect.bottom() ) if ( contentsWidth() < irect.right() || contentsHeight() < irect.bottom() )
resizeContents( TQMAX( contentsWidth(), irect.right() ), TQMAX( contentsHeight(), irect.bottom() ) ); resizeContents( TQMAX( contentsWidth(), irect.right() ), TQMAX( contentsHeight(), irect.bottom() ) );
@ -6213,40 +6250,42 @@ void TQIconView::rebuildContainers()
appendItemContainer(); appendItemContainer();
c = d->lastContainer; c = d->lastContainer;
while ( item ) { while ( item ) {
if ( c->rect.tqcontains( item->rect() ) ) { if (item->isVisible()) {
item->d->container1 = c; if ( c->rect.tqcontains( item->rect() ) ) {
item->d->container2 = 0; item->d->container1 = c;
c->items.append( item ); item->d->container2 = 0;
item = item->next; c->items.append( item );
} else if ( c->rect.intersects( item->rect() ) ) { item = item->next;
item->d->container1 = c; } else if ( c->rect.intersects( item->rect() ) ) {
c->items.append( item ); item->d->container1 = c;
c = c->n; c->items.append( item );
if ( !c ) { c = c->n;
appendItemContainer(); if ( !c ) {
c = d->lastContainer; appendItemContainer();
} c = d->lastContainer;
c->items.append( item ); }
item->d->container2 = c; c->items.append( item );
item = item->next; item->d->container2 = c;
c = c->p; item = item->next;
} else { c = c->p;
if ( d->arrangement == LeftToRight ) {
if ( item->y() < c->rect.y() && c->p ) {
c = c->p;
continue;
}
} else { } else {
if ( item->x() < c->rect.x() && c->p ) { if ( d->arrangement == LeftToRight ) {
c = c->p; if ( item->y() < c->rect.y() && c->p ) {
continue; c = c->p;
} continue;
} }
} else {
if ( item->x() < c->rect.x() && c->p ) {
c = c->p;
continue;
}
}
c = c->n; c = c->n;
if ( !c ) { if ( !c ) {
appendItemContainer(); appendItemContainer();
c = d->lastContainer; c = d->lastContainer;
}
} }
} }
} }

@ -170,6 +170,9 @@ public:
bool isSelected() const; bool isSelected() const;
bool isSelectable() const; bool isSelectable() const;
void setVisible( bool b );
bool isVisible() const;
virtual void tqrepaint(); virtual void tqrepaint();
virtual bool move( int x, int y ); virtual bool move( int x, int y );
@ -250,6 +253,7 @@ private:
uint allow_rename : 1; uint allow_rename : 1;
uint allow_drag : 1; uint allow_drag : 1;
uint allow_drop : 1; uint allow_drop : 1;
uint visible : 1;
uint selected : 1; uint selected : 1;
uint selectable : 1; uint selectable : 1;
uint dirty : 1; uint dirty : 1;

@ -744,6 +744,8 @@ public:
PE_PanelGroupBox, PE_PanelGroupBox,
PE_RubberBand, PE_RubberBand,
PE_HeaderSectionMenu,
// do not add any values below/greater this // do not add any values below/greater this
PE_CustomBase = 0xf000000 PE_CustomBase = 0xf000000
}; };

@ -283,6 +283,7 @@ void TQCommonStyle::tqdrawPrimitive( TQ_PrimitiveElement pe,
case TQStyle::PE_ButtonTool: case TQStyle::PE_ButtonTool:
case TQStyle::PE_ButtonDropDown: case TQStyle::PE_ButtonDropDown:
case TQStyle::PE_HeaderSection: case TQStyle::PE_HeaderSection:
case TQStyle::PE_HeaderSectionMenu:
qDrawShadePanel(p, r, cg, flags & (Style_Sunken | Style_Down | Style_On) , 1, qDrawShadePanel(p, r, cg, flags & (Style_Sunken | Style_Down | Style_On) , 1,
&cg.brush(TQColorGroup::Button)); &cg.brush(TQColorGroup::Button));
break; break;

Loading…
Cancel
Save