Проблема перетаскивания графиков - PullRequest
0 голосов
/ 14 января 2011

Я использую Flare в качестве библиотеки графических объектов для моего текущего проекта Flex. Все отлично работает - мой график отображается правильно, но его перемещение создает проблему. График можно перемещать в любом месте приложения, даже вне панели / контейнера графика. Его можно даже разместить поверх кнопок и других элементов графического интерфейса.

Мне нужно, чтобы график оставался в родительском контейнере и мог перемещаться только в пределах родительского контейнера. Я провел много часов, пробуя разные подходы, рекомендованные другими разработчиками Flare / Flex, и, похоже, ничего не работает.

Некоторые подходы, которые я пробовал: установка прямоугольных границ на родительском контейнере графа, размещение родительского контейнера или самого графа внутри объекта спрайта и установка конкретных границ, и установка свойства clipToContent соответствующим образом.

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

Любая помощь очень ценится! Спасибо.

Ответы [ 2 ]

1 голос
/ 19 марта 2011

Я столкнулся с той же ситуацией и решил ее, создав маску для своей визуализации (решена или обойдена? Lol):

-> в моем .mxml

<mx:Panel width="65%" height="100%" layout="absolute" id="graphPanel">
  <flexvis:FlareVis id="graph" label="Graph" width="100%" height="100%" />  
  <mx:Canvas width="100%" height="100%" id="graphMask" />
</mx:Panel>

-> в ActionScript:

var vis:Visualization = graph.visualization;
vis.mask = graphMask;
0 голосов
/ 26 апреля 2013

Есть две разные проблемы, вызывающие эту проблему.

1) Hitarea для панорамирования и масштабирования. -> при использовании PanZoomControl определите Hitarea, например новый PanZoomControl (здесь, чтобы указать Hitarea) Это поможет решить проблему: «мышь, интерактивная вне зоны видимости, вызывает движение вокруг»;

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

Надеюсь, это поможет:)

...