CompositionWidget Class Reference

#include <composition.h>

Inheritance diagram for CompositionWidget:

Inheritance graph
[legend]
Collaboration diagram for CompositionWidget:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 39 of file composition.h.

Public Slots

void nextMode ()

Public Member Functions

 CompositionWidget (QWidget *parent)

Private Attributes

bool m_cycle_enabled
QRadioButtonrbClear
QRadioButtonrbSource
QRadioButtonrbDest
QRadioButtonrbSourceOver
QRadioButtonrbDestOver
QRadioButtonrbSourceIn
QRadioButtonrbDestIn
QRadioButtonrbSourceOut
QRadioButtonrbDestOut
QRadioButtonrbSourceAtop
QRadioButtonrbDestAtop
QRadioButtonrbXor


Constructor & Destructor Documentation

CompositionWidget::CompositionWidget ( QWidget parent  ) 

Definition at line 33 of file composition.cpp.

References QBoxLayout::addStretch(), QBoxLayout::addWidget(), QAbstractButton::animateClick(), QObject::connect(), QSizePolicy::Fixed, QGLFormat::hasOpenGL(), QGLPixelBuffer::hasOpenGLPbuffers(), QWidget::hide(), Qt::Horizontal, ArthurFrame::loadDescription(), ArthurFrame::loadSourceFile(), QObject::parent(), QSizePolicy::Preferred, rbClear, rbDest, rbDestAtop, rbDestIn, rbDestOut, rbDestOver, rbSource, rbSourceAtop, rbSourceIn, rbSourceOut, rbSourceOver, rbXor, QWidget::setAttribute(), QAbstractButton::setCheckable(), QAbstractButton::setChecked(), QAbstractSlider::setRange(), QWidget::setSizePolicy(), QAbstractButton::setText(), QGroupBox::setTitle(), QAbstractSlider::setValue(), QWidget::setWindowTitle(), SIGNAL, SLOT, and Qt::WA_ContentsPropagated.

00034     : QWidget(parent)
00035 {
00036     CompositionRenderer *view = new CompositionRenderer(this);
00037 
00038     QGroupBox *mainGroup = new QGroupBox(parent);
00039     mainGroup->setAttribute(Qt::WA_ContentsPropagated);
00040     mainGroup->setTitle("Composition Modes");
00041 
00042     QGroupBox *modesGroup = new QGroupBox(mainGroup);
00043     modesGroup->setAttribute(Qt::WA_ContentsPropagated);
00044     modesGroup->setTitle("Mode");
00045 
00046     rbClear = new QRadioButton("Clear", modesGroup);
00047     connect(rbClear, SIGNAL(clicked()), view, SLOT(setClearMode()));
00048     rbSource = new QRadioButton("Source", modesGroup);
00049     connect(rbSource, SIGNAL(clicked()), view, SLOT(setSourceMode()));
00050     rbDest = new QRadioButton("Destination", modesGroup);
00051     connect(rbDest, SIGNAL(clicked()), view, SLOT(setDestMode()));
00052     rbSourceOver = new QRadioButton("Source Over", modesGroup);
00053     connect(rbSourceOver, SIGNAL(clicked()), view, SLOT(setSourceOverMode()));
00054     rbDestOver = new QRadioButton("Destination Over", modesGroup);
00055     connect(rbDestOver, SIGNAL(clicked()), view, SLOT(setDestOverMode()));
00056     rbSourceIn = new QRadioButton("Source In", modesGroup);
00057     connect(rbSourceIn, SIGNAL(clicked()), view, SLOT(setSourceInMode()));
00058     rbDestIn = new QRadioButton("Dest In", modesGroup);
00059     connect(rbDestIn, SIGNAL(clicked()), view, SLOT(setDestInMode()));
00060     rbSourceOut = new QRadioButton("Source Out", modesGroup);
00061     connect(rbSourceOut, SIGNAL(clicked()), view, SLOT(setSourceOutMode()));
00062     rbDestOut = new QRadioButton("Dest Out", modesGroup);
00063     connect(rbDestOut, SIGNAL(clicked()), view, SLOT(setDestOutMode()));
00064     rbSourceAtop = new QRadioButton("Source Atop", modesGroup);
00065     connect(rbSourceAtop, SIGNAL(clicked()), view, SLOT(setSourceAtopMode()));
00066     rbDestAtop = new QRadioButton("Dest Atop", modesGroup);
00067     connect(rbDestAtop, SIGNAL(clicked()), view, SLOT(setDestAtopMode()));
00068     rbXor = new QRadioButton("Xor", modesGroup);
00069     connect(rbXor, SIGNAL(clicked()), view, SLOT(setXorMode()));
00070 
00071     QGroupBox *circleColorGroup = new QGroupBox(mainGroup);
00072     circleColorGroup->setAttribute(Qt::WA_ContentsPropagated);
00073     circleColorGroup->setTitle("Circle color");
00074     QSlider *circleColorSlider = new QSlider(Qt::Horizontal, circleColorGroup);
00075     circleColorSlider->setRange(0, 359);
00076     circleColorSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
00077     connect(circleColorSlider, SIGNAL(valueChanged(int)), view, SLOT(setCircleColor(int)));
00078 
00079     QGroupBox *circleAlphaGroup = new QGroupBox(mainGroup);
00080     circleAlphaGroup->setAttribute(Qt::WA_ContentsPropagated);
00081     circleAlphaGroup->setTitle("Circle alpha");
00082     QSlider *circleAlphaSlider = new QSlider(Qt::Horizontal, circleAlphaGroup);
00083     circleAlphaSlider->setRange(0, 255);
00084     circleAlphaSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
00085     connect(circleAlphaSlider, SIGNAL(valueChanged(int)), view, SLOT(setCircleAlpha(int)));
00086 
00087     QPushButton *showSourceButton = new QPushButton(mainGroup);
00088     showSourceButton->setText("Show Source");
00089 #ifdef QT_OPENGL_SUPPORT
00090     QPushButton *enableOpenGLButton = new QPushButton(mainGroup);
00091     enableOpenGLButton->setText("Use OpenGL");
00092     enableOpenGLButton->setCheckable(true);
00093     enableOpenGLButton->setChecked(view->usesOpenGL());
00094 
00095     if (!QGLFormat::hasOpenGL() || !QGLPixelBuffer::hasOpenGLPbuffers())
00096         enableOpenGLButton->hide();
00097 #endif
00098     QPushButton *whatsThisButton = new QPushButton(mainGroup);
00099     whatsThisButton->setText("What's This?");
00100     whatsThisButton->setCheckable(true);
00101 
00102     QPushButton *animateButton = new QPushButton(mainGroup);
00103     animateButton->setText("Animated");
00104     animateButton->setCheckable(true);
00105     animateButton->setChecked(true);
00106 
00107     QHBoxLayout *viewLayout = new QHBoxLayout(this);
00108     viewLayout->addWidget(view);
00109     viewLayout->addWidget(mainGroup);
00110 
00111     QVBoxLayout *mainGroupLayout = new QVBoxLayout(mainGroup);
00112     mainGroupLayout->addWidget(circleColorGroup);
00113     mainGroupLayout->addWidget(circleAlphaGroup);
00114     mainGroupLayout->addWidget(modesGroup);
00115     mainGroupLayout->addStretch();
00116     mainGroupLayout->addWidget(animateButton);
00117     mainGroupLayout->addWidget(whatsThisButton);
00118     mainGroupLayout->addWidget(showSourceButton);
00119 #ifdef QT_OPENGL_SUPPORT
00120     mainGroupLayout->addWidget(enableOpenGLButton);
00121 #endif
00122 
00123     QVBoxLayout *modesLayout = new QVBoxLayout(modesGroup);
00124     modesLayout->addWidget(rbClear);
00125     modesLayout->addWidget(rbSource);
00126     modesLayout->addWidget(rbDest);
00127     modesLayout->addWidget(rbSourceOver);
00128     modesLayout->addWidget(rbDestOver);
00129     modesLayout->addWidget(rbSourceIn);
00130     modesLayout->addWidget(rbDestIn);
00131     modesLayout->addWidget(rbSourceOut);
00132     modesLayout->addWidget(rbDestOut);
00133     modesLayout->addWidget(rbSourceAtop);
00134     modesLayout->addWidget(rbDestAtop);
00135     modesLayout->addWidget(rbXor);
00136 
00137     QVBoxLayout *circleColorLayout = new QVBoxLayout(circleColorGroup);
00138     circleColorLayout->addWidget(circleColorSlider);
00139 
00140     QVBoxLayout *circleAlphaLayout = new QVBoxLayout(circleAlphaGroup);
00141     circleAlphaLayout->addWidget(circleAlphaSlider);
00142 
00143     view->loadDescription(":res/composition.html");
00144     view->loadSourceFile(":res/composition.cpp");
00145 
00146     connect(whatsThisButton, SIGNAL(clicked(bool)), view, SLOT(setDescriptionEnabled(bool)));
00147     connect(view, SIGNAL(descriptionEnabledChanged(bool)), whatsThisButton, SLOT(setChecked(bool)));
00148     connect(showSourceButton, SIGNAL(clicked()), view, SLOT(showSource()));
00149 #ifdef QT_OPENGL_SUPPORT
00150     connect(enableOpenGLButton, SIGNAL(clicked(bool)), view, SLOT(enableOpenGL(bool)));
00151 #endif
00152     connect(animateButton, SIGNAL(toggled(bool)), view, SLOT(setAnimationEnabled(bool)));
00153 
00154     circleColorSlider->setValue(270);
00155     circleAlphaSlider->setValue(200);
00156     rbSourceOut->animateClick();
00157 
00158     setWindowTitle(tr("Composition Modes"));
00159 }

Here is the call graph for this function:


Member Function Documentation

void CompositionWidget::nextMode (  )  [slot]

Definition at line 162 of file composition.cpp.

00163 {
00164     /*
00165       if (!m_animation_enabled)
00166       return;
00167       if (rbClear->isChecked()) rbSource->animateClick();
00168       if (rbSource->isChecked()) rbDest->animateClick();
00169       if (rbDest->isChecked()) rbSourceOver->animateClick();
00170       if (rbSourceOver->isChecked()) rbDestOver->animateClick();
00171       if (rbDestOver->isChecked()) rbSourceIn->animateClick();
00172       if (rbSourceIn->isChecked()) rbDestIn->animateClick();
00173       if (rbDestIn->isChecked()) rbSourceOut->animateClick();
00174       if (rbSourceOut->isChecked()) rbDestOut->animateClick();
00175       if (rbDestOut->isChecked()) rbSourceAtop->animateClick();
00176       if (rbSourceAtop->isChecked()) rbDestAtop->animateClick();
00177       if (rbDestAtop->isChecked()) rbXor->animateClick();
00178       if (rbXor->isChecked()) rbClear->animateClick();
00179     */
00180 }


Member Data Documentation

bool CompositionWidget::m_cycle_enabled [private]

Definition at line 50 of file composition.h.

QRadioButton* CompositionWidget::rbClear [private]

Definition at line 52 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbSource [private]

Definition at line 53 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbDest [private]

Definition at line 54 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbSourceOver [private]

Definition at line 55 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbDestOver [private]

Definition at line 56 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbSourceIn [private]

Definition at line 57 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbDestIn [private]

Definition at line 58 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbSourceOut [private]

Definition at line 59 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbDestOut [private]

Definition at line 60 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbSourceAtop [private]

Definition at line 61 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbDestAtop [private]

Definition at line 62 of file composition.h.

Referenced by CompositionWidget().

QRadioButton* CompositionWidget::rbXor [private]

Definition at line 63 of file composition.h.

Referenced by CompositionWidget().


The documentation for this class was generated from the following files:
Generated on Thu Mar 15 14:49:23 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1