//display functions int displayUIElement(Area window,struct displayText ui, ...) { int row = 0; int col = 0; int len = strlen(ui.text); va_list args; va_start(args,ui); row = verticalMargin(ui.verticalMargin,window); if(ui.verticalMargin > 0) { row = window.top + ui.verticalMargin; } else if (ui.verticalMargin < 0) { row = window.bot + ui.verticalMargin; } if(ui.alignment == TEXT_ALIGN_LEFT) { col = window.left; } else if (ui.alignment == TEXT_ALIGN_CENTER) { col = (window.right - window.left - len) / 2; } else if (ui.alignment == TEXT_ALIGN_RIGHT) { col = window.right - len; } xt_par2(XT_SET_ROW_COL_POS,row,col); xt_par0(ui.color); vprintf(ui.text,args); va_end(args); return row; }
void displayModeBar(int cursorArea,Area window,struct modeBar modeBar){ int i; int totalLength = modeBar.nModes * UI_MODE_LABEL_WIDTH; char *next = "%s%s"; char *format = "%s%-*s"; char *formatSelected = "[%s]"; int col = window.top; int row = window.left; char *output = '\0'; for(i = 0; i < modeBar.nModes;i++) { char *input = modeBar.modes[i].text; char * color = getColor(classicModeBar.subject); if(isMode(cursorArea,modeBar.modes[i])) { color = getColor(classicModeBar.body); input = saveFormatted(formatSelected,input); } input = saveFormatted(format,color,UI_MODE_LABEL_WIDTH,input); if(output) { output = saveFormatted(next,output,input); } else { output = saveFormatted(input); } //message(output); } /*for(i = 0; i < modeBar.nModes;i++) { totalLength += strlen(modeBar.modes[i].text); totalLength += 2; }*/ col = (window.right - totalLength) / 2; if(col < window.left) { col = window.left; } row = verticalMargin(modeBar.verticalMargin,window); xt_par2(XT_SET_ROW_COL_POS,row,col); printf(output); flushPool(); }
void AMDetailedItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { QStyleOptionViewItemV4 opt(option); initStyleOption(&opt, index); QStyle* sty = QApplication::style(); // Draw the background: (this will handle selection for us. You can also probe selection directly with opt.state & QStyle::State_Selected) sty->drawPrimitive(QStyle::PE_PanelItemViewItem, &opt, painter); int textStartingPoint = horizontalMargin(); // Do we have a pixmap available? QRect pmap = opt.rect; pmap.setLeft( pmap.left() + horizontalMargin() ); pmap.setTop( pmap.top() + verticalMargin() ); pmap.setBottom( pmap.bottom() - verticalMargin() ); if(opt.features & QStyleOptionViewItemV2::HasDecoration) { QPixmap p = opt.icon.pixmap(pmap.height()); sty->drawItemPixmap(painter, pmap, Qt::AlignLeft | Qt::AlignVCenter, p); textStartingPoint += horizontalMargin() + p.width() + horizontalSpacing(); } QRect textRect = opt.rect; textRect.setLeft( textRect.left() + textStartingPoint); if (index.data(AM::ModifiedRole).toBool()) { fontItalic_.setPointSize(size1_); painter->setFont(fontItalic_); } else { font_.setPointSize(size1_); painter->setFont(font_); } painter->setPen(color1_); painter->drawText(textRect, index.data(Qt::DisplayRole).toString()); QVariant description = index.data(AM::DescriptionRole); if(!description.isNull()){ font_.setPointSize(size2_); painter->setFont(font_); painter->setPen(color2_); QFontMetrics fontMetrics(font_); painter->drawText(textRect.translated(QPoint(0,20)), fontMetrics.elidedText(description.toString(), Qt::ElideRight, textRect.width() )); } /// call base class to draw close button: drawCloseButton(painter, opt, index); /* What info is available: enum OptionType enum Position enum StyleOptionType enum StyleOptionVersion enum ViewItemFeature flags ViewItemFeatures enum ViewItemPosition QStyleOptionViewItemV4 () QStyleOptionViewItemV4 ( const QStyleOptionViewItemV4 & ) QStyleOptionViewItemV4 ( const QStyleOptionViewItem & ) backgroundBrush : QBrush checkState : Qt::CheckState decorationAlignment : Qt::Alignment decorationPosition : Position decorationSize : QSize direction : Qt::LayoutDirection displayAlignment : Qt::Alignment features : ViewItemFeatures font : QFont fontMetrics : QFontMetrics icon : QIcon index : QModelIndex initFrom ( const QWidget * ) locale : QLocale palette : QPalette rect : QRect showDecorationSelected : bool state : QStyle::State text : QString textElideMode : Qt::TextElideMode type : int version : int viewItemPosition : ViewItemPosition widget : const QWidget * operator= ( const QStyleOptionViewItem & ) : QStyleOption */ }