Пример #1
0
//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;
}
Пример #2
0
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();

}
Пример #3
0
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
*/
}