[Kst] kdeextragear-2/kst/kst
C. Barth Netterfield
netterfield at physics.utoronto.ca
Mon Sep 15 16:24:12 CEST 2003
The drag and drop works nice... but: how do you edit or delete the label? I
click left or right, and don't get the box up....
cbn
On Friday 12 September 2003 04:54 pm, George Staikos wrote:
> CVS commit by staikos:
>
> fix painting and add a small fudge factor to get the label to fall in the
> "exact" right place without any offset
>
>
> M +23 -23 kstlabel.cpp 1.16
> M +2 -4 kstlabel.h 1.14
> M +8 -4 kstview.cpp 1.34
>
>
> --- kdeextragear-2/kst/kst/kstlabel.cpp #1.15:1.16
> @@ -124,5 +124,5 @@ void KstLabel::draw(QPainter &p, int px,
> QString processedText;
>
> - GreekCharType GC[] = {{"\\Alpha", "A"}, {"\\alpha", "a"},
> + static const GreekCharType GC[] = {{"\\Alpha", "A"}, {"\\alpha", "a"},
> {"\\Beta", "B"}, {"\\beta", "b"},
> {"\\Chi", "C"}, {"\\chi", "c"},
> @@ -460,3 +460,3 @@ QByteArray KstLabelDrag::encodedData(con
> }
>
> -
> +// vim: ts=2 sw=2 et
>
> --- kdeextragear-2/kst/kst/kstlabel.h #1.13:1.14
> @@ -35,6 +35,5 @@ typedef enum {CxBy, CxTy, CxCy, LxBy, Lx
> class KstLabel {
> public:
> - KstLabel(const QString &in_text,
> - KstJustifyType in_j = CxBy,
> + KstLabel(const QString &in_text, KstJustifyType in_j = CxBy,
> float in_rotation = 0.0, float in_X=0.0,
> float in_Y=0.0, bool is_sample = false);
> @@ -56,6 +55,5 @@ public:
>
> /** draw the label with painter at px, py */
> - void draw(QPainter &p, int px, int py,
> - bool doDraw=true);
> + void draw(QPainter &p, int px, int py, bool doDraw=true);
>
> void setSize(int size);
>
> --- kdeextragear-2/kst/kst/kstview.cpp #1.33:1.34
> @@ -366,8 +366,11 @@ void KstView::mouseMoveEvent(QMouseEvent
> KstLabel *label = plot->labelList.at(i_label);
> QRect oldExtents = label->extents;
> - QPixmap pm(oldExtents.width(), oldExtents.height());
> + QPixmap pm(plot->GetWinRegion().width(),
> plot->GetWinRegion().height()); pm.fill();
> + { // Scope is needed to kill off the painter before we resize
> QPainter p(&pm);
> - label->draw(p, 0, 0, true);
> + label->draw(p, 2, oldExtents.height() + 2, true);
> + }
> + pm.resize(oldExtents.width() + 4, oldExtents.height() + 4);
> label->extents = oldExtents; // restore them incase the drag is
> cancelled QDragObject *d = new KstLabelDrag(this, plot_num, i_label,
> _draggablePoint - plot->GetWinRegion().topLeft() - oldExtents.topLeft(),
> pm); @@ -691,5 +694,5 @@ void KstView::dropEvent(QDropEvent *e) {
> }
>
> - QPoint pos = e->pos() - plotPtr->GetPlotRegion().topLeft() - hs;
> + QPoint pos = e->pos() - plotPtr->GetPlotRegion().topLeft() - hs +
> QPoint(2 /* border offset */, 2 /* border offset */ + 8 /* fudge factor
> */); QSize divisor = plotPtr->GetPlotRegion().size();
> l->move(float(pos.x())/divisor.width(),
> float(pos.y())/divisor.height()); @@ -1174,2 +1177,3 @@ void
> KstView::forceUpdate() {
>
> #include "kstview.moc"
> +// vim: ts=2 sw=2 et
>
>
> _______________________________________________
> Kst mailing list
> Kst at kde.org
> http://mail.kde.org/mailman/listinfo/kst
More information about the Kst
mailing list