package edu.mit.mitmobile2; import java.util.HashMap; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.widget.TextView; import edu.mit.mitmobile2.OnMITMenuItemListener; public class MITPopupSecondaryTitleBar extends MITSecondaryTitleBar implements OnMITMenuItemListener { private View mAnchorView; private MITPopupMenu mPopUpMenu; private TextView mTitleView; private HashMap<String, String> mTitles = new HashMap<String, String>(); private OnMITMenuItemListener mMenuItemListener; public MITPopupSecondaryTitleBar(Context context, AttributeSet attrs) { super(context, attrs); mTitleView = (TextView) mContainer.findViewById(R.id.secondaryTitleBarPopupTitle); mAnchorView = mContainer.findViewById(R.id.secondaryTitleBarAnchorView); mAnchorView.setVisibility(View.VISIBLE); mPopUpMenu = new MITPopupMenu(mAnchorView); mPopUpMenu.setMenuItemSelectedListener(this); mAnchorView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mPopUpMenu.show(); } }); } public MITPopupSecondaryTitleBar(Context context) { this(context, null); } public void notifyScreenRotated() { mPopUpMenu.notifyScreenRotated(); } public void setOnPopupMenuItemListener(OnMITMenuItemListener listener) { mMenuItemListener = listener; } public void addPopupMenuItem(MITMenuItem item) { mPopUpMenu.addMenuItem(item); if (mTitles.size() == 0) { setTitle(item.getTitle()); } mTitles.put(item.getId(), item.getTitle()); } public void setTitle(String title) { mTitleView.setText(title.toUpperCase()); } @Override public void onOptionItemSelected(String optionId) { setTitle(mTitles.get(optionId)); if (mMenuItemListener != null) { mMenuItemListener.onOptionItemSelected(optionId); } } }