CustomZoom in mathgl-2.2

Developers
2013-12-04
2013-12-05
  • Vadim Druzhin

    Vadim Druzhin - 2013-12-04

    Здравствуйте, Алексей!

    Я рад, что Вы включили в новую версию библиотеки функцию CustomZoom, к сожалению,
    в такой реализации она для меня полностью бесполезна.

    Опишу свою ситуацию.

    В моей программе виджет QMathGL используется для построения нескольких наложенных
    графиков по табличным данным. Один из графиков строится в собственном масштабе
    с использованием дополнительной оси Y.

    Пользователю нужно иметь возможность выбрать часть группы графиков для изучения в более
    крупном масштабе. При этом необходимо сохранить отображение координатных осей,
    а график, использующий дополнительную ось, укрупнить только по оси X.

    Для выполнения таких преобразований программа должна получить сигнал,
    когда пользователь закончил выделение области (отпустил кнопку мыши),
    при этом промежуточные положения мыши совершенно бесполезны,
    так как, пока выделение не закончено, графики изменять бессмысленно.
    Координаты, посылаемые программе должны быть в координатной системе графика,
    так как будут использованы для задания нового положения осей.

    Вторая проблема, напрямую не связанная с масштабированием, но затрагивающая те же функции
    программы, состоит в том, что пользователю необходимо иметь возможность определить координаты
    произвольной точки в области построения, указав точку при помощи мыши.

    Переключать режимы работы "масштабирование" -- "выбор" неудобно, при том, что программа сама
    может определить требуемую функцию, на основании того, было совершено перемещение мыши
    перед отпусканием кнопки, или нет.

    Было бы не плохо, если бы Вы рассмотрели исходный вариант моего патча, с учётом ситуации,
    в которой он применяется.

    --
    WBR, Vadim Druzhin.

     
  • Alexey Balakin

    Alexey Balakin - 2013-12-05

    Вадим, добрый день!
    Мда, видимо не допонял. Существующий механизм "ломать" не буду. Сейчас добавил флаг custDraw и соответствующий сигнал
    /// user can define its own drawing/setting function which will be called before main drawing
    void customDraw(double x1, double y1, double x2, double y2, bool draw);
    который будет вызываться как минимум дважды -- сначала как только сработает (отпущена кнопка мыши, с draw=false), потом при каждой перерисовке основного графика (с draw=true). Посмотрите устроит ли Вас такой вариант.

    Замечу, что выдавать координаты графика было бы не правильно (слишком частный случай).

    Алексей

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks