PSQt/src/lines.cpp

Go to the documentation of this file.
00001 //---------------------------------------------------------------------
00002 // File and Version Information:
00003 //   $Id: lines.cpp 9841 2015-03-26 18:35:44Z dubrovin@SLAC.STANFORD.EDU $
00004 //
00005 // Author: Mikhail S. Dubrovin
00006 //---------------------------------------------------------------------
00007 
00008 #include "PSQt/lines.h"
00009 #include <QApplication>
00010 #include <QPainter>
00011 
00012 namespace PSQt {
00013 
00014 Lines::Lines(QWidget *parent)
00015     : QWidget(parent)
00016 {
00017 }
00018 
00019 void Lines::paintEvent(QPaintEvent *event)
00020 {
00021   this -> setFrame();
00022 
00023   //QPalette palette(Qt::white); //palette.setColor(QPalette::Base,Qt::yellow);
00024   //QPalette palette(QColor(255, 255, 255, 255)); // QColor(R,G,B,Alpha) palette.setColor(QPalette::Base,Qt::yellow);
00025   //QPalette palette("#FFAAFF");
00026   setPalette ( QPalette(QColor(255, 255, 255, 255)) );
00027   setAutoFillBackground (true); // MUST BE TRUE TO DRAW THE BACKGROUND COLOR SET IN Palette
00028 
00029   QPen pen(Qt::black, 2, Qt::SolidLine);
00030   QPainter painter(this);
00031 
00032   painter.setPen(pen);
00033   painter.drawLine(20, 20, 250, 20);
00034 
00035   pen.setStyle(Qt::DashLine);
00036   painter.setPen(pen);
00037   painter.drawLine(20, 40, 250, 40);
00038 
00039   pen.setStyle(Qt::DashDotLine);
00040   painter.setPen(pen);
00041   painter.drawLine(20, 60, 250, 60);
00042 
00043   pen.setStyle(Qt::DotLine);
00044   painter.setPen(pen);
00045   painter.drawLine(20, 80, 250, 80);
00046 
00047   pen.setStyle(Qt::DashDotDotLine);
00048   painter.setPen(pen);
00049   painter.drawLine(20, 100, 250, 100);
00050 
00051 
00052   QVector<qreal> dashes;
00053   qreal space = 4;
00054 
00055   dashes << 1 << space << 5 << space;
00056 
00057   pen.setStyle(Qt::CustomDashLine);
00058   pen.setDashPattern(dashes);
00059   painter.setPen(pen);
00060   painter.drawLine(20, 120, 250, 120);
00061 }
00062 
00063 //--------------------------
00064 
00065 void Lines::setFrame()
00066 {
00067   m_frame = new QFrame(this);
00068   m_frame -> setFrameStyle ( QFrame::Box | QFrame::Sunken); // or
00069   //m_frame -> setFrameStyle ( QFrame::Box );    // NoFrame, Box, Panel, WinPanel, ..., StyledPanel 
00070   //m_frame -> setFrameShadow( QFrame::Sunken ); // Plain, Sunken, Raised 
00071   m_frame -> setLineWidth(0);
00072   m_frame -> setMidLineWidth(1);
00073   m_frame -> setCursor(Qt::SizeAllCursor);     // Qt::WaitCursor, Qt::PointingHandCursor
00074   m_frame -> setGeometry(this->rect());
00075   m_frame -> setVisible(true);
00076 }
00077 
00078 //--------------------------
00079 } // namespace PSQt

Generated on 19 Dec 2016 for PSANAmodules by  doxygen 1.4.7