Beispiel #1
0
  /** 初始数据,将数据加载到对应的View中 */
  private void initData() {
    MenuItem item = new MenuItem(mContext);
    item.setTextAlign(mAlign);
    item.setTextColor(mTxtColor);
    item.setTextSize(mTxtColor);
    int txtLength = mTexts.length;
    int imgLength = mImgRes.length;
    if (txtLength != 0 && imgLength != 0) {
      for (int i = 0; i < imgLength; i++) {
        MenuItem menuItem = new MenuItem(mContext, item);
        menuItem.setImageRes(mImgRes[i]);
        menuItem.setText(mTexts[i]);
        mMenuItems.add(menuItem);
      }

    } else {
      if (txtLength != 0) {
        for (int i = 0; i < txtLength; i++) {
          MenuItem menuItem = new MenuItem(mContext, item);
          menuItem.setText(mTexts[i]);
          mMenuItems.add(menuItem);
        }
      } else if (imgLength != 0) {
        for (int i = 0; i < imgLength; i++) {
          MenuItem menuItem = new MenuItem(mContext, item);
          menuItem.setImageRes(mImgRes[i]);
          mMenuItems.add(menuItem);
        }
      }
    }
  }
  public ArchiveView(final ArchiveHandler archiveHandler, ListStore<Device> deviceStore) {
    this.archiveHandler = archiveHandler;
    deviceStore.addStoreHandlers(deviceStoreHandlers);
    this.deviceStore = deviceStore;

    DeviceProperties deviceProperties = GWT.create(DeviceProperties.class);
    deviceCombo = new ComboBox<Device>(deviceStore, deviceProperties.label());

    // Element that displays the current track color
    styleButtonTrackColor = new TextButton();
    styleButtonTrackColor
        .getElement()
        .getStyle()
        .setProperty("backgroundColor", "#".concat(style.DEFAULT_COLOR));
    styleButtonTrackColor.getElement().getStyle().setCursor(Style.Cursor.TEXT);
    // Menu with the small palette
    smallColorMenu = new ExtColorMenu(ArchiveStyle.COLORS, ArchiveStyle.COLORS);
    smallColorMenu.setColor(ArchiveStyle.DEFAULT_COLOR);
    smallColorMenu
        .getPalette()
        .addValueChangeHandler(
            new ValueChangeHandler<String>() {
              @Override
              public void onValueChange(ValueChangeEvent<String> event) {
                style.setTrackColor(event.getValue());
                smallColorMenu.hide(true);
                fullColorMenu.getPalette().setValue("", false);
                styleButtonTrackColor
                    .getElement()
                    .getStyle()
                    .setProperty("backgroundColor", "#".concat(style.getTrackColor()));
              }
            });
    // Menu with the complete palette
    fullColorMenu = new ColorMenu();
    fullColorMenu
        .getPalette()
        .addValueChangeHandler(
            new ValueChangeHandler<String>() {
              @Override
              public void onValueChange(ValueChangeEvent<String> event) {
                style.setTrackColor(event.getValue());
                fullColorMenu.hide(true);
                smallColorMenu.getPalette().setValue("", false);
                styleButtonTrackColor
                    .getElement()
                    .getStyle()
                    .setProperty("backgroundColor", "#".concat(style.getTrackColor()));
              }
            });
    // Markers
    routeMarkersType = new Menu();
    for (Object[] obj :
        new Object[][] {
          {i18n.noMarkers(), null},
          {i18n.standardMarkers(), PositionIconType.iconArchive},
          {i18n.reducedMarkers(), PositionIconType.dotArchive}
        }) {
      CheckMenuItem item = new CheckMenuItem((String) obj[0]);
      final PositionIconType iconType = (PositionIconType) obj[1];
      item.setGroup("markers");
      item.setChecked(
          iconType == ApplicationContext.getInstance().getUserSettings().getArchiveMarkerType());
      if (item.isChecked()) {
        style.setIconType(iconType);
      }
      item.addSelectionHandler(
          new SelectionHandler<Item>() {
            @Override
            public void onSelection(SelectionEvent<Item> event) {
              style.setIconType(iconType);
              archiveHandler.onChangeArchiveMarkerType(iconType);
            }
          });
      routeMarkersType.add(item);
    }

    devicesTabs =
        new TabPanel(GWT.<TabPanel.TabPanelAppearance>create(BlueTabPanelBottomAppearance.class));
    archivePanels = new HashMap<Long, ArchivePanel>();

    uiBinder.createAndBindUi(this);

    markersMenu.setText(i18n.overlayType(UserSettings.OverlayType.MARKERS));

    // Initialize with current time
    long min = 60 * 1000;
    Date now = new Date();
    Date to = new Date(((now.getTime() + 15 * min) / (15 * min)) * 15 * min);
    Date from = new Date(to.getTime() - 60 * min);
    fromDate.setValue(from);
    fromTime.setValue(from);
    toDate.setValue(to);
    toTime.setValue(to);
  }