private void initCustomContextMenu() {
    Resources resources = getResources();
    iconContextMenu = new CustomIconContextMenu(this, DIALOG_CONTEXT_MENU);
    iconContextMenu.addItem(
        resources,
        this.getString(R.string.rename),
        R.drawable.ic_context_rename,
        CONTEXT_MENU_ITEM_RENAME);
    iconContextMenu.addItem(
        resources,
        this.getString(R.string.delete),
        R.drawable.ic_context_delete,
        CONTEXT_MENU_ITEM_DELETE);

    iconContextMenu.setOnClickListener(
        new CustomIconContextMenu.IconContextMenuOnClickListener() {
          public void onClick(int menuId) {
            switch (menuId) {
              case CONTEXT_MENU_ITEM_RENAME:
                showDialog(DIALOG_RENAME_SPRITE);
                break;
              case CONTEXT_MENU_ITEM_DELETE:
                ProjectManager projectManager = ProjectManager.getInstance();
                projectManager.getCurrentProject().getSpriteList().remove(spriteToEdit);
                if (projectManager.getCurrentSprite() != null
                    && projectManager.getCurrentSprite().equals(spriteToEdit)) {
                  projectManager.setCurrentSprite(null);
                }
                break;
            }
          }
        });
  }
  @Override
  protected Dialog onCreateDialog(int id) {
    final Dialog dialog;
    switch (id) {
      case DIALOG_NEW_SPRITE:
        newSpriteDialog = new NewSpriteDialog(this);
        dialog = newSpriteDialog.dialog;
        break;
      case DIALOG_RENAME_SPRITE:
        if (spriteToEdit == null) {
          dialog = null;
        } else {
          renameDialog = new RenameSpriteDialog(this);
          dialog = renameDialog.dialog;
        }
        break;
      case DIALOG_CONTEXT_MENU:
        if (iconContextMenu == null || spriteToEdit == null) {
          dialog = null;
        } else {
          dialog = iconContextMenu.createMenu(spriteToEdit.getName());
        }
        break;
      default:
        dialog = null;
        break;
    }

    return dialog;
  }