|
|
|
/***************************************************************************
|
|
|
|
sq_label.cpp - description
|
|
|
|
-------------------
|
|
|
|
begin : June 10 2005
|
|
|
|
copyright : (C) 2005 by Baryshev Dmitry
|
|
|
|
email : ksquirrel.iv@gmail.com
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
/***************************************************************************
|
|
|
|
* *
|
|
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
|
|
* it under the terms of the GNU General Public License as published by *
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
|
|
* (at your option) any later version. *
|
|
|
|
* *
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
#include <tqpainter.h>
|
|
|
|
|
|
|
|
#include "sq_label.h"
|
|
|
|
|
|
|
|
#define MARGIN 15
|
|
|
|
|
|
|
|
SQ_Label::SQ_Label(TQWidget *parent, const char *name) : TQWidget(parent, name), single(false)
|
|
|
|
{}
|
|
|
|
|
|
|
|
SQ_Label::~SQ_Label()
|
|
|
|
{}
|
|
|
|
|
|
|
|
void SQ_Label::paintEvent(TQPaintEvent *)
|
|
|
|
{
|
|
|
|
if((single && ltext.isEmpty() && rtext.isEmpty()) || (!single && ltext.isEmpty()))
|
|
|
|
return;
|
|
|
|
|
|
|
|
TQPainter paint(this);
|
|
|
|
|
|
|
|
TQFont font = paint.font();
|
|
|
|
font.setBold(true);
|
|
|
|
font.setPointSize(10);
|
|
|
|
paint.setFont(font);
|
|
|
|
|
|
|
|
if(!single)
|
|
|
|
{
|
|
|
|
paint.translate((width() + paint.fontMetrics().height()) / 2, height());
|
|
|
|
paint.rotate(-90);
|
|
|
|
paint.drawText(MARGIN, 0, ltext);
|
|
|
|
|
|
|
|
paint.translate(height() - paint.fontMetrics().width(rtext), 0);
|
|
|
|
paint.drawText(-MARGIN, 0, rtext);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
paint.translate((width() + paint.fontMetrics().height()) / 2,
|
|
|
|
(height() + paint.fontMetrics().width(ltext)) / 2);
|
|
|
|
paint.rotate(-90);
|
|
|
|
paint.drawText(0, 0, ltext);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void SQ_Label::setText(const TQString <, const TQString &rt)
|
|
|
|
{
|
|
|
|
ltext = lt;
|
|
|
|
rtext = rt;
|
|
|
|
|
|
|
|
update();
|
|
|
|
}
|
|
|
|
|
|
|
|
void SQ_Label::setText(const TQString <)
|
|
|
|
{
|
|
|
|
ltext = lt;
|
|
|
|
|
|
|
|
update();
|
|
|
|
}
|
|
|
|
|
|
|
|
void SQ_Label::setSingle(bool s)
|
|
|
|
{
|
|
|
|
single = s;
|
|
|
|
}
|