[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