コード例 #1
0
  private void onClickMainMenuItem(MainMenuItem clickedItem) {
    if (clickedItem.mIsSelected) return;

    clickedItem.mIsSelected = true;
    if (mCurrentSelectedItem != null) {
      mCurrentSelectedItem.mIsSelected = false;
    }
    mCurrentSelectedItem = clickedItem;

    notifyDataSetChanged();

    mOnClickMainMenuItemListener.onClickMainMenuItem(clickedItem);

    Log.d(TAG, "Current selected main menu item: " + clickedItem.mName);
  }
コード例 #2
0
ファイル: MainToolBar.java プロジェクト: RaffaelBild/arx
  @Override
  protected void update(Model model) {

    // Check
    if (toolbar == null) return;

    // For each item
    for (final ToolItem item : toolbar.getItems()) {

      // Check group
      if (!(item.getData() instanceof MainMenuGroup)) {
        MainMenuItem mItem = (MainMenuItem) item.getData();
        item.setEnabled(mItem == null || mItem.isEnabled(model));
      }
    }
  }
コード例 #3
0
  public void clearSelectedMainMenuItem() {
    if (mCurrentSelectedItem == null) return;

    mCurrentSelectedItem.mIsSelected = false;
    mCurrentSelectedItem = null;

    notifyDataSetChanged();
  }
コード例 #4
0
ファイル: MainToolBar.java プロジェクト: RaffaelBild/arx
  /**
   * Creates all items
   *
   * @param toolbar
   * @param items
   * @param label
   */
  private void createItems(ToolBar toolbar, List<MainMenuItem> items, String label) {

    // For each item
    for (final MainMenuItem item : items) {

      // Skip items that are not buttons
      if (!item.isButton()) {
        continue;
      }

      // Create group
      if (item instanceof MainMenuGroup) {

        MainMenuGroup group = (MainMenuGroup) item;
        if (!this.toolitems.isEmpty()) {
          ToolItem menuItem = new ToolItem(toolbar, SWT.SEPARATOR);
          menuItem.setEnabled(false);
          menuItem.setData(item);
          this.toolitems.add(menuItem);
        }

        createItems(
            toolbar,
            group.getItems(),
            label.length() != 0
                ? label + " -> " + group.getLabel()
                : group.getLabel()); // $NON-NLS-1$

        // Create separator
      } else if (item instanceof MainMenuSeparator) {

        if (!this.toolitems.isEmpty()) {
          ToolItem menuItem = new ToolItem(toolbar, SWT.SEPARATOR);
          this.toolitems.add(menuItem);
        }

        // Create item
      } else {

        ToolItem menuItem = new ToolItem(toolbar, SWT.PUSH);
        menuItem.setToolTipText(
            label.length() != 0
                ? label + " -> " + item.getLabel()
                : item.getLabel()); // $NON-NLS-1$
        if (item.getImage() != null) {
          menuItem.setImage(item.getImage());
          SWTUtil.createDisabledImage(menuItem);
        }
        menuItem.addSelectionListener(
            new SelectionAdapter() {
              @Override
              public void widgetSelected(final SelectionEvent e) {
                item.action(getController());
              }
            });
        menuItem.setData(item);
        menuItem.setEnabled(false);
        this.toolitems.add(menuItem);
      }
    }
  }