void updateUIelements()

in ConstraintLayoutExamples/CycleEditor/src/com/google/androidstudio/motionlayoutcycles/CycleModel.java [269:343]


  void updateUIelements() {
    inCallBack = true;
    int max = (int) (0.5 + 100 * ((selected == values[POS].length - 1) ? 1
        : (values[POS][selected + 1])));
    int min = (int) (0.5 + 100 * (selected == 0 ? 0 : (values[POS][selected - 1])));
    boolean middle = (selected > 0) && (selected < values[POS].length - 1);
    mPos.setEnabled(middle);
    delete.setEnabled(middle);

    mPos.setMaximum(max - 1);
    mPos.setMinimum(min + 1);
    if (CycleView.MainAttribute.mapTo100[mAttrIndex]) {
      mAmp.setMinimum(0);
      mAmp.setMaximum(100);
      mOff.setMinimum(-100);
      mOff.setMaximum(100);
      Hashtable<Integer, JLabel> labelTable =
          new Hashtable<Integer, JLabel>();
      labelTable.put(0, new JLabel("" + CycleView.MainAttribute.typicalRange[mAttrIndex][0]));
      labelTable.put(50, new JLabel("" +
          (CycleView.MainAttribute.typicalRange[mAttrIndex][0] + CycleView.MainAttribute.typicalRange[mAttrIndex][1])
              / 2));
      labelTable.put(100, new JLabel("" + CycleView.MainAttribute.typicalRange[mAttrIndex][1]));
      mOff.setLabelTable(labelTable);
      mAmp.setLabelTable(labelTable);
    } else {
      mAmp.setMinimum((int) CycleView.MainAttribute.typicalRange[mAttrIndex][0]);
      mAmp.setMaximum((int) CycleView.MainAttribute.typicalRange[mAttrIndex][1]);
      mOff.setMinimum((int) CycleView.MainAttribute.typicalRange[mAttrIndex][0]);
      mOff.setMaximum((int) CycleView.MainAttribute.typicalRange[mAttrIndex][1]);
      mOff.setLabelTable(null);
      mAmp.setLabelTable(null);

    }

    if (CycleView.MainAttribute.mapTo100[mAttrIndex]) {
      mAmp.setPaintTicks(true);
      mAmp.setPaintLabels(true);
      mAmp.setMinorTickSpacing(10);
      mAmp.setMajorTickSpacing(100);

      mOff.setMinorTickSpacing(10);
      mOff.setMajorTickSpacing(100);
      mAmp.repaint();

    } else {
      int maxr = (int) (CycleView.MainAttribute.typicalRange[mAttrIndex][1]);
      mAmp.setPaintTicks(true);
      mAmp.setPaintLabels(true);
      mAmp.setMinorTickSpacing(90);
      mAmp.setMajorTickSpacing(180);
      mAmp.repaint();
      mOff.setMinorTickSpacing(90);
      mOff.setMajorTickSpacing(180);
      mAmp.setPaintTicks(true);
      mAmp.setPaintLabels(true);

    }
    mPos.setValue((int) (values[POS][selected] * 100));
    mPeriod.setValue((int) (values[PERIOD][selected]));
    if (CycleView.MainAttribute.mapTo100[mAttrIndex]) {
      float range_min = CycleView.MainAttribute.typicalRange[mAttrIndex][0];
      float range_max = CycleView.MainAttribute.typicalRange[mAttrIndex][1];
      mAmp.setValue(
          (int) (0.5 + 100 * (values[AMP][selected] / (range_max - range_min) + range_min)));
      mOff.setValue(
          (int) (0.5 + 100 * (values[OFFSET][selected] / (range_max - range_min) + range_min)));

    } else {
      mAmp.setValue((int) (0.5 + values[AMP][selected]));
      mOff.setValue((int) (0.5 + values[OFFSET][selected]));
    }
    inCallBack = false;

  }