*CBEChannelSelectWidget: remove old detail line handing

add dline instance from CComponentsDetailsLine
This commit is contained in:
2012-07-19 15:45:00 +02:00
committed by micha-bbg
parent 2aa30d7303
commit dd9086b84d
2 changed files with 22 additions and 19 deletions

View File

@@ -72,6 +72,16 @@ CBEChannelSelectWidget::CBEChannelSelectWidget(const std::string & Caption, unsi
ButtonHeight = std::max(footerHeight, icol_h+4);
liststart = 0;
bouquetChannels = NULL;
dline = NULL;
}
CBEChannelSelectWidget::~CBEChannelSelectWidget()
{
// clear details line
if (dline != NULL)
dline->hide();
delete dline;
}
uint CBEChannelSelectWidget::getItemCount()
@@ -222,30 +232,21 @@ void CBEChannelSelectWidget::paintItem2DetailsLine (int pos, int /*ch_index*/)
int ypos1a = ypos1 + (fheight/2)-2;
int ypos2a = ypos2 + (info_height/2)-2;
fb_pixel_t col1 = COL_MENUCONTENT_PLUS_6;
fb_pixel_t col2 = COL_MENUCONTENT_PLUS_1;
// Clear
frameBuffer->paintBackgroundBoxRel(xpos,y, ConnectLineBox_Width, height+info_height);
// clear details line
if (dline != NULL)
dline->hide();
// paint Line if detail info (and not valid list pos)
if (pos >= 0)
{
int fh = fheight > 10 ? fheight - 10: 5;
frameBuffer->paintBoxRel(xpos+ConnectLineBox_Width-4, ypos1+5, 4, fh, col1);
frameBuffer->paintBoxRel(xpos+ConnectLineBox_Width-4, ypos1+5, 1, fh, col2);
frameBuffer->paintBoxRel(xpos+ConnectLineBox_Width-4, ypos2+7, 4,info_height-14, col1);
frameBuffer->paintBoxRel(xpos+ConnectLineBox_Width-4, ypos2+7, 1,info_height-14, col2);
frameBuffer->paintBoxRel(xpos+ConnectLineBox_Width-16, ypos1a, 4,ypos2a-ypos1a, col1);
frameBuffer->paintBoxRel(xpos+ConnectLineBox_Width-16, ypos1a, 1,ypos2a-ypos1a+4, col2);
frameBuffer->paintBoxRel(xpos+ConnectLineBox_Width-16, ypos1a, 12,4, col1);
frameBuffer->paintBoxRel(xpos+ConnectLineBox_Width-16, ypos1a, 12,1, col2);
frameBuffer->paintBoxRel(xpos+ConnectLineBox_Width-16, ypos2a, 12,4, col1);
frameBuffer->paintBoxRel(xpos+ConnectLineBox_Width-12, ypos2a, 8,1, col2);
if (dline == NULL)
dline = new CComponentsDetailLine(xpos, ypos1a, ypos2a, fheight/2+1, info_height-RADIUS_LARGE*2);
dline->setYPos(ypos1a);
dline->paint();
//info box frame
frameBuffer->paintBoxFrame(x, ypos2, width, info_height, 2, col1, RADIUS_LARGE);
}
}