2014-02-11 8 views
1

Я использую mxGraph для создания некоторых рабочих процессов в своем приложении. По умолчанию коэффициент увеличения In равен 1,2. Я хочу ограничить масштабирование после определенного уровня. Как это можно достичь?Можем ли мы ограничить уровень масштабирования в mxGraph?

Вот идет мой JSNI код:

private native void zoomInGraph(JavaScriptObject graph) /*-{ 
     var scale = $wnd.mxGraphView.prototype.getScale(); 
     if (scale != null && scale < 5){ 
      graph.zoomIn(); 
    } 
     }-*/; 

Everytime масштаб возвращает значение как 1. Я предположил, после увеличения стоимости масштаба будет меняться. Пожалуйста, предложите, как я могу это достичь.

+0

don.t знают ничего о JSNI, но, похоже, проблема в том, что вы звоните 'getScale' на mxGraphView прототипа вместо фактического экземпляра. Это должно быть вместо 'graph.view.getScale()'. –

ответ

0

Я понял решение этого вопроса на Java.

@Override 
public void zoomIn() 
{ 
    mxGraphView view = graph.getView(); 
    double scale = view.getScale(); 
    if (scale > ZOOM_IN_THRESHOLD) 
    { 
     // Don't zoom in past a certain point. 
     return; 
    } 
    else 
    { 
     zoom(zoomFactor); 
    } 
}