Android Open Source - codemap Workspace View Listeners






From Project

Back to project page codemap.

License

The source code is released under:

GNU General Public License

If you think the Android project codemap listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.hdweiss.codemap.view.workspace;
//from   w  w w  . j a  va2s  .  c  o m
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.ScaleGestureDetector.OnScaleGestureListener;
import android.widget.Scroller;

import com.hdweiss.codemap.util.CodeMapCursorPoint;
import com.hdweiss.codemap.util.CodeMapPoint;
import com.hdweiss.codemap.view.workspace.fragments.CodeMapItem;

public class WorkspaceViewListeners {
  
  public static class CodeMapGestureListener implements OnGestureListener {
    private WorkspaceView codeMapView;
    private Scroller scroller;
    
    private CodeMapItem selectedDrawable = null;
    private float dragYoffset = 0;
    private float dragXoffset = 0;
    
    public CodeMapGestureListener(WorkspaceView codeMapView, Scroller scroller) {
      this.codeMapView = codeMapView;
      this.scroller = scroller;
    }
    
    public boolean onDown(MotionEvent e) {
      if (!scroller.isFinished())
        scroller.forceFinished(true);

      prepareDrag(e);
      return true;
    }
    
    private void prepareDrag(MotionEvent e) {
      CodeMapCursorPoint point = new CodeMapCursorPoint(e.getX(), e.getY());
      this.selectedDrawable = codeMapView.getMapFragmentAtPoint(point);
      
      if (this.selectedDrawable != null) {
        CodeMapPoint drawablePosition = selectedDrawable.getPosition();
        CodeMapPoint clickedPosition = point.getCodeMapPoint(codeMapView);
                
        dragXoffset = drawablePosition.x - clickedPosition.x;
        dragYoffset = drawablePosition.y - clickedPosition.y;
      }
    }
    
    public boolean onSingleTapUp(MotionEvent e) {
      return false;
    }
    
    public void onLongPress(MotionEvent e) {
      codeMapView.getController().addAnnotationView("");
    }

    public void onShowPress(MotionEvent e) {
    }
    
    
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
      float startX = e2.getX() + distanceX;
      float startY = e2.getY() + distanceY;
      
      if(selectedDrawable != null) {
        CodeMapCursorPoint cursorPoint = new CodeMapCursorPoint(startX, startY);
        CodeMapPoint point = cursorPoint.getCodeMapPoint(codeMapView);
        point.offset(dragXoffset, dragYoffset);
        codeMapView.moveFragment(selectedDrawable, point);
        codeMapView.refresh();
      }
      else
        scroller.startScroll((int) startX, (int) startY, (int) distanceX,
            (int) distanceY);
      return true;
    }

    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
      // TODO Implement
      return false;
    }
  }
  
  
  public static class CodeMapScaleListener implements OnScaleGestureListener {
    
    private WorkspaceView codeMapView;
    private float initialZoom = 1;

    public CodeMapScaleListener(WorkspaceView codeMapView) {
      this.codeMapView = codeMapView;
    }
    
    public void onScaleEnd(ScaleGestureDetector detector) {      
    }
    
    public boolean onScaleBegin(ScaleGestureDetector detector) {
      initialZoom = codeMapView.getScaleFactor();
      return true;
    }
    
    public boolean onScale(ScaleGestureDetector detector) {
      float currentZoom = detector.getScaleFactor() * initialZoom;
      CodeMapCursorPoint point = new CodeMapCursorPoint(detector.getFocusX(), detector.getFocusY());
      codeMapView.setScaleFactor(currentZoom, point.getCodeMapPoint(codeMapView));
      return false;
    }
  };
}




Java Source Code List

com.hdweiss.codemap.data.CodeMapApp.java
com.hdweiss.codemap.data.CscopeEntry.java
com.hdweiss.codemap.data.CscopeWrapper.java
com.hdweiss.codemap.data.Cscope.java
com.hdweiss.codemap.data.ICodeMapItem.java
com.hdweiss.codemap.data.JGitWrapper.java
com.hdweiss.codemap.data.ProjectController.java
com.hdweiss.codemap.data.Project.java
com.hdweiss.codemap.data.SerializableItem.java
com.hdweiss.codemap.data.SerializableLink.java
com.hdweiss.codemap.util.AbsoluteLayout.java
com.hdweiss.codemap.util.CodeMapCursorPoint.java
com.hdweiss.codemap.util.CodeMapPoint.java
com.hdweiss.codemap.util.FlowLayout.java
com.hdweiss.codemap.util.ObjectSerializer.java
com.hdweiss.codemap.util.SpanUtils.java
com.hdweiss.codemap.util.SyntaxHighlighter.java
com.hdweiss.codemap.util.Utils.java
com.hdweiss.codemap.util.ZoomableAbsoluteLayout.java
com.hdweiss.codemap.util.ZoomableLinearLayout.java
com.hdweiss.codemap.view.CodeMapActivity.java
com.hdweiss.codemap.view.CodeMapTabListener.java
com.hdweiss.codemap.view.Preferences.java
com.hdweiss.codemap.view.project.ProjectAdapter.java
com.hdweiss.codemap.view.project.ProjectBrowser.java
com.hdweiss.codemap.view.project.ProjectItemView.java
com.hdweiss.codemap.view.project.ProjectWizard.java
com.hdweiss.codemap.view.workspace.CollisionManager.java
com.hdweiss.codemap.view.workspace.FindDeclarationTask.java
com.hdweiss.codemap.view.workspace.WorkspaceController.java
com.hdweiss.codemap.view.workspace.WorkspaceFragment.java
com.hdweiss.codemap.view.workspace.WorkspaceStateLoader.java
com.hdweiss.codemap.view.workspace.WorkspaceState.java
com.hdweiss.codemap.view.workspace.WorkspaceViewListeners.java
com.hdweiss.codemap.view.workspace.WorkspaceView.java
com.hdweiss.codemap.view.workspace.browser.WorkspaceBrowserAdapter.java
com.hdweiss.codemap.view.workspace.browser.WorkspaceBrowser.java
com.hdweiss.codemap.view.workspace.fragments.CodeMapAnnotation.java
com.hdweiss.codemap.view.workspace.fragments.CodeMapFunction.java
com.hdweiss.codemap.view.workspace.fragments.CodeMapImage.java
com.hdweiss.codemap.view.workspace.fragments.CodeMapItem.java
com.hdweiss.codemap.view.workspace.fragments.CodeMapLink.java
com.hdweiss.codemap.view.workspace.fragments.FunctionLinkSpan.java
com.hdweiss.codemap.view.workspace.outline.CscopeEntryAdapter.java
com.hdweiss.codemap.view.workspace.outline.OutlineAdapter.java
com.hdweiss.codemap.view.workspace.outline.OutlineBrowser.java
com.hdweiss.codemap.view.workspace.outline.OutlineItemComparator.java
com.hdweiss.codemap.view.workspace.outline.OutlineItemView.java
com.hdweiss.codemap.view.workspace.outline.OutlineItem.java