25#include <tdeapplication.h>
28#include <basicelement.h>
29#include <formulacursor.h>
30#include <formulaelement.h>
31#include <kformulacontainer.h>
32#include <kformuladocument.h>
33#include "kformulawidget.h"
36KFormulaWidget::KFormulaWidget(KFormula::Container* doc,
37 TQWidget* parent,
const char* name, WFlags f)
38 : TQWidget(parent, name, f | WRepaintNoErase | WResizeNoErase),
41 connect(doc, TQ_SIGNAL(formulaChanged(
int,
int)),
42 this, TQ_SLOT(slotFormulaChanged(
int,
int)));
43 connect(&formulaView, TQ_SIGNAL(cursorChanged(
bool,
bool)),
44 this, TQ_SLOT(slotCursorChanged(
bool,
bool)));
46 setFocusPolicy(TQWidget::StrongFocus);
47 setBackgroundMode(NoBackground);
49 TQRect rect = doc->boundingRect();
50 slotFormulaChanged(rect.width(), rect.height());
53KFormulaWidget::~KFormulaWidget()
60 return formulaView.getCursorPoint();
65 formulaView.setReadOnly(ro);
69void KFormulaWidget::paintEvent(TQPaintEvent* event)
73 TQPainter p( &buffer );
75 formulaView.draw( p, event->rect(), colorGroup() );
79 painter.drawPixmap( event->rect().x(), event->rect().y(),
80 buffer, event->rect().x(), event->rect().y(), event->rect().width(), event->rect().height() );
84void KFormulaWidget::keyPressEvent(TQKeyEvent* event)
86 formulaView.keyPressEvent(event);
90void KFormulaWidget::focusInEvent(TQFocusEvent* event)
92 formulaView.focusInEvent(event);
95void KFormulaWidget::focusOutEvent(TQFocusEvent* event)
97 formulaView.focusOutEvent(event);
100void KFormulaWidget::mousePressEvent(TQMouseEvent* event)
102 formulaView.mousePressEvent(event);
105void KFormulaWidget::mouseReleaseEvent(TQMouseEvent* event)
107 formulaView.mouseReleaseEvent(event);
110void KFormulaWidget::mouseDoubleClickEvent(TQMouseEvent* event)
112 formulaView.mouseDoubleClickEvent(event);
115void KFormulaWidget::mouseMoveEvent(TQMouseEvent* event)
117 formulaView.mouseMoveEvent(event);
123 resize(width + 5, height + 5);
124 buffer.resize(width + 5, height + 5);
134 return formulaView.getDocument();
142 return formulaView.getCursor();
146void KFormulaWidget::slotSelectAll()
148 formulaView.slotSelectAll();
151void KFormulaWidget::slotCursorChanged(
bool visible,
bool selecting)
157#include "kformulawidget.moc"