#include "dialog.h"
{
fSize = 72;
/**********flags for preventing crash**************/
flag = 0;
flag1 = 1;
flag2 = 0;
setGeometry(0,0,400,400);
textObject->setGeometry(10,10,300,150);
textObject->setText("deepa");
textObject->setVisible(true);
rBtn->setVisible(true);
rBtn->setGeometry(10,190,50,30);
rBtn->setChecked(true);
rBtn1->setVisible(true);
rBtn1->setGeometry(90,190,50,30);
rBtn2->setVisible(true);
rBtn2->setGeometry(170,190,50,30);
connect(rBtn,SIGNAL(clicked()),this,SLOT(ischecked1()));
connect(rBtn1,SIGNAL(clicked()),this,SLOT(ischecked2()));
connect(rBtn2,SIGNAL(clicked()),this,SLOT(ischecked3()));
this->setAttribute( Qt::WA_TranslucentBackground, true );
}
void Dialog::ischecked1()
{
if(flag1 == 0)
{
rBtn->setCheckable(true);
QString str1
= textObject
->toPlainText
();
char *src = ba.data();
char *dest = (char* )malloc(10) ;
memset(dest,0,10);
stcpy1(src,dest);
textObject->setText(string);
flag1 = 1;
flag2 = 0;
flag = 0;
}
}
/*************This needs to be rotated using paintevent************/
void Dialog::ischecked2()
{
rBtn1->setCheckable(true);
flag = 1;
repaint();
}
void Dialog::ischecked3()
{
if (flag2 == 0)
{
rBtn2->setCheckable(true);
QString str1
= textObject
->toPlainText
();
char *src = ba.data();
//textObject->setFont(QFont("Arial", 10));
char *dest = (char* )malloc(10) ;
memset(dest,0,10);
stcpy(src,dest);
textObject->setText(string);
flag2 = 1;
flag1 = 0;
flag = 0;
}
}
/***********copying a string with \n to display in vertical order***********/
void Dialog::stcpy(char *src,char* dest)
{
int i,len = 0,j=0;
len=strlen(src);
qDebug()<<"Length ="<<len;
for(i=0;i<len;i++)
{
*(dest+j++) = *(src+i);
*(dest+j++) = '\n';
}
*(dest+j) = '\0';
}
/***********copying a string with \n to display in horizontal order***********/
void Dialog::stcpy1(char *src,char* dest)
{
int i,len = 0,j=0;
len=strlen(src);
qDebug()<<"Length ="<<len;
for(i=0;i<len;i=i+2)
{
*(dest+j) = *(src+i);
++j;
}
*(dest+j) = '\0';
}
{
painter.setBackgroundMode(Qt::TransparentMode);
painter.
setBrush(QColor(255,
215,
100));
painter.
setFont(QFont("Arial",
10));
QRectF rectangle1
(0,
180,
350,
40);
painter.drawRect(rectangle1);
painter.drawText(28,199,tr("abc"));
drawRotatedText(&painter, 90,120,196, tr("abc"));
painter.drawLine(195,197,195,195);
painter.drawText(200,200,tr("a"));
painter.drawText(200,210,tr("b"));
/*********functionality of second radiobutton**********/
QString str1
= textObject
->toPlainText
();
char *c_str2 = ba.data();
if(flag == 1)
{
painter.
setPen(QColor("red"));
painter.
setFont(QFont("Arial",
20));
drawRotatedText(&painter, 90,50,300, tr(c_str2));
flag = 0;
}
}
/************for drawing rotated text************/
void Dialog
::drawRotatedText(QPainter *painter,
float degrees,
int x,
int y,
const QString &text
) {
painter->save();
painter->translate(x, y);
painter->rotate(degrees);
// painter->scale(70,70);
painter->drawText(0,0, text);
painter->restore();
}
Dialog::~Dialog()
{
}