Android Open Source - codemap Workspace Browser






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.browser;
//from   w ww. jav  a2s. c om
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.ExpandableListContextMenuInfo;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupClickListener;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.hdweiss.codemap.R;
import com.hdweiss.codemap.view.CodeMapActivity;
import com.hdweiss.codemap.view.workspace.WorkspaceController;

public class WorkspaceBrowser extends LinearLayout implements
    OnChildClickListener, OnGroupClickListener, AdapterView.OnCreateContextMenuListener {

  private ExpandableListView listView;
  private WorkspaceBrowserAdapter adapter;
  private WorkspaceController controller;
  private CodeMapActivity activity;

  public WorkspaceBrowser(Context context, AttributeSet attrs) {
    super(context, attrs);

    LayoutInflater.from(getContext()).inflate(R.layout.workspace_browser,
        this);
    this.listView = (ExpandableListView) findViewById(R.id.workspace_list);
    this.listView.setOnGroupClickListener(this);
    this.listView.setOnChildClickListener(this);
    this.listView.setOnCreateContextMenuListener(this);
  }

  public void setController(WorkspaceController controller,
      CodeMapActivity activity) {
    this.controller = controller;
    this.activity = activity;
    init();
  }

  public void init() {
    this.adapter = new WorkspaceBrowserAdapter(getContext(), controller);
    listView.setAdapter(adapter);
  }

  public boolean onGroupClick(ExpandableListView parent, View v,
      int groupPosition, long id) {
    return false;
  }

  public boolean onChildClick(ExpandableListView parent, View v,
      int groupPosition, int childPosition, long id) {
    String workspaceName = adapter.getGroup(groupPosition);
    String url = adapter.getChild(groupPosition, childPosition);

    activity.navigateToTab(workspaceName, url);
    return false;
  }

  public void refresh() {
    adapter.refresh();
  }

  public void onCreateContextMenu(ContextMenu menu, View v,
      ContextMenuInfo menuInfo) {
    ExpandableListView.ExpandableListContextMenuInfo info = (ExpandableListView.ExpandableListContextMenuInfo) menuInfo;

    int type = ExpandableListView
        .getPackedPositionType(info.packedPosition);
    if (type == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
      new MenuInflater(getContext()).inflate(R.menu.workspace_browser, menu);
    }
  }

  public void handleLongClick(MenuItem item) {
    ExpandableListContextMenuInfo info = (ExpandableListContextMenuInfo) item
        .getMenuInfo();

    Log.d("CodeMap", "handlelongclick!");
    int type = ExpandableListView
        .getPackedPositionType(info.packedPosition);
    if (type == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
      int groupPosition = ExpandableListView
          .getPackedPositionGroup(info.packedPosition);
      String group = adapter.getGroup(groupPosition);
      Toast.makeText(getContext(), "Clicked! " + group, Toast.LENGTH_SHORT).show();
    }
  }
}




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