18#include <tqtoolbutton.h>
20#include <tqgroupbox.h>
22#include <tqbuttongroup.h>
26#include <kiconloader.h>
31#include "KPrRotationDialogImpl.h"
32#include "rotationpropertyui.h"
33#include "KPrTextPreview.h"
35KPrRotationDialogImpl::KPrRotationDialogImpl( TQWidget *parent,
const char* name )
36: KDialogBase( parent, name, true, i18n(
"Rotation"), Ok|Cancel|Apply, Ok, true )
37, m_dialog( new RotationPropertyUI( this, name ) )
40 m_preview =
new KPrTextPreview( m_dialog->previewPanel );
41 TQHBoxLayout *lay =
new TQHBoxLayout( m_dialog->previewPanel, m_dialog->previewPanel->lineWidth(), 0 );
42 lay->addWidget( m_preview );
44 TQHBoxLayout *hbox =
new TQHBoxLayout(m_dialog->angleFrame);
46 hbox->addWidget(m_angleGroup);
49 TQGridLayout *circleLayout =
new TQGridLayout(m_angleGroup, 4, 5);
50 circleLayout->addItem(
new TQSpacerItem ( 1, 1 , TQSizePolicy::MinimumExpanding ), 0, 0);
51 circleLayout->addItem(
new TQSpacerItem ( 1, 1 , TQSizePolicy::MinimumExpanding ), 0, 5);
60 circleLayout->addWidget(r0, 0, 2);
61 circleLayout->addWidget(r180, 2, 2);
62 circleLayout->addWidget(r45, 0, 3);
63 circleLayout->addWidget(r135, 2, 3);
64 circleLayout->addWidget(r315, 0, 1);
65 circleLayout->addWidget(r225, 2, 1);
66 circleLayout->addWidget(r90, 1, 3);
67 circleLayout->addWidget(r270, 1, 1);
69 connect( m_angleGroup, TQ_SIGNAL (clicked (
int)),
70 this, TQ_SLOT( angleMode(
int ) ) );
71 connect (m_dialog->angleSlider, TQ_SIGNAL( valueChanged (
int ) ),
72 this, TQ_SLOT( angleMode(
int ) ) );
73 connect (m_dialog->angleSpinbox, TQ_SIGNAL (valueChanged (
double) ),
74 this, TQ_SLOT( angleChanged(
double ) ) );
75 connect(
this, TQ_SIGNAL( okClicked() ),
this, TQ_SLOT( slotOk() ) );
77 setMainWidget( m_dialog );
80void KPrRotationDialogImpl::slotOk()
86void KPrRotationDialogImpl::setAngle(
double angle )
90 int roundedAngle = (int) (angle + (angle >=0 ? 0.5:-0.5));
91 m_dialog->angleSlider->setValue( roundedAngle );
92 if(roundedAngle == -180)
94 m_angleGroup->setAngle(roundedAngle);
95 m_dialog->angleSpinbox->setValue( angle );
96 m_preview->setAngle( angle );
100double KPrRotationDialogImpl::angle()
102 return m_dialog->angleSpinbox->value();
105void KPrRotationDialogImpl::angleChanged(
double angle )
110void KPrRotationDialogImpl::angleMode(
int angle )
119 TDEIconLoader il(
"kpresenter");
120 m_off = il.loadIcon(
"rotate/" + image, TDEIcon::NoGroup, 28);
121 m_on = il.loadIcon(
"rotate/" + image +
"dn", TDEIcon::NoGroup, 28);
125 setMouseTracking(
true);
133 if(e->button() != TQt:: LeftButton)
139 if(on == m_selected)
return;
141 setPixmap( m_selected?m_on:m_off );
146 : TQFrame(parent), m_buttons()
154 for ( button = m_buttons.first(); button; button = m_buttons.next() )
160 connect (button, TQ_SIGNAL(
clicked (
int)),
this, TQ_SLOT (selectionChanged (
int)) );
161 m_buttons.append(button);
164void KPrCircleGroup::selectionChanged(
int buttonId) {
168 for ( button = m_buttons.first(); button; button = m_buttons.next() )
173#include "KPrRotationDialogImpl.moc"
A button-group equivalent for a set of KPrCircleToggle classes.
void add(KPrCircleToggle *button)
Add a KPrCircleToggle button as one of the representers of this circle.
void setAngle(int angle)
Set the angle the group is currently representing.
KPrCircleGroup(TQWidget *parent)
Constructor.
void clicked(int id)
clicked will be emitted when one of the child buttons is clicked.
A toggle-button like widget that shows one pixmap when it is checked, and another when it is unselect...
KPrCircleToggle(TQWidget *parent, const TQString &image, int id)
Constructor.
void setChecked(bool on)
Check or uncheck the button.
void mousePressEvent(TQMouseEvent *e)
overwritten method from TQWidget.
int id()
return the id which is passed in the constructor
void clicked(int id)
this signal will be emitted whenever the button becomes checked