public synchronized void setPlayer(Player player) {
   if (this.player != null) {
     this.player.removeChangeListener(this);
     player.removePropertyChangeListener(this);
   }
   this.player = player;
   //        boundedRangeModel = player == null ? null : player.getBoundedRangeModel();
   boundedRangeModel = player == null ? null : player.getTimeModel();
   slider.setModel(boundedRangeModel);
   if (player != null) {
     if (player.getState() >= Player.REALIZED
         && boundedRangeModel != null
         && boundedRangeModel.getMaximum() == 0) {
       setPlayerControlsVisible(false);
     }
     slider.setProgressModel(player.getCachingModel());
     startButton.setSelected(player.isActive());
     player.addChangeListener(this);
     player.addPropertyChangeListener(this);
     audioButton.setVisible(player.isAudioAvailable());
     audioButton.setSelected(player.isAudioEnabled());
     colorCyclingButton.setVisible(
         (player instanceof ColorCyclePlayer)
             ? ((ColorCyclePlayer) player).isColorCyclingAvailable()
             : false);
     colorCyclingButton.setSelected(
         (player instanceof ColorCyclePlayer)
             ? ((ColorCyclePlayer) player).isColorCyclingStarted()
             : false);
     validate();
     repaint();
     BoundedRangeModel cachingControlModel = slider.getProgressModel();
   }
 }
  /**
   * Set the current entity that we are browsing and whether the user should be warned or not
   *
   * @param entity
   * @param type
   * @param silent
   */
  private void setEntity(ITridas entity, Class<? extends ITridas> type, Boolean silent) {
    if (!silent) {
      if (!warnLosingChanges()) {
        return;
      }
    }

    hasChanged = false;

    currentEntityType = type;
    currentEntity = entity;

    // Swapping entities so disable editing
    this.enableEditing(false);

    // derive a property list
    List<TridasEntityProperty> properties = TridasEntityDeriver.buildDerivationList(type);
    Property[] propArray = properties.toArray(new Property[properties.size()]);

    // set properties and load from entity
    propertiesPanel.setProperties(propArray);
    propertiesTable.expandAllBranches(true);

    // Add data to table from entity
    if (entity != null) {
      propertiesPanel.readFromObject(entity);
      propertiesPanel.setEnabled(true);
      editEntity.setVisible(true);
    } else {
      propertiesPanel.setEnabled(false);
      editEntity.setVisible(false);
    }
  }
示例#3
0
 void updateActive() {
   contentPanel.setVisible(activeButton.isSelected());
   advancedPanel.setVisible(activeButton.isSelected() && advancedButton.isSelected());
   advancedButton.setVisible(activeButton.isSelected() && hasAdvanced);
   descriptionLabel.setText(activeButton.isSelected() ? description : "");
   if (value != null) value.setActive(activeButton.isSelected());
 }
示例#4
0
 public void syncPanel() {
   if (SeaMark.EntMAP.get(dlg.panelMain.mark.getObject()) == Ent.MOORING) {
     mooringButton.setBorderPainted(true);
     categoryBox.setVisible(false);
     mooringBox.setVisible(true);
     pillarButton.setEnabled(false);
     sparButton.setEnabled(false);
     beaconButton.setEnabled(false);
     towerButton.setEnabled(false);
     stakeButton.setEnabled(false);
     cairnButton.setEnabled(false);
     noticeButton.setEnabled(false);
     topmarkButton.setVisible(false);
     for (Cat cat : moorings.keySet()) {
       int item = moorings.get(cat);
       if (dlg.panelMain.mark.getCategory() == cat) mooringBox.setSelectedIndex(item);
     }
   } else {
     mooringButton.setBorderPainted(false);
     mooringBox.setVisible(false);
     categoryBox.setVisible(true);
     pillarButton.setEnabled(true);
     sparButton.setEnabled(true);
     beaconButton.setEnabled(true);
     towerButton.setEnabled(true);
     stakeButton.setEnabled(true);
     cairnButton.setEnabled(true);
     noticeButton.setEnabled(true);
     topmarkButton.setBorderPainted(dlg.panelMain.mark.getTopmark() != Top.NOTOP);
     topmarkButton.setSelected(dlg.panelMain.mark.getTopmark() != Top.NOTOP);
     topmarkButton.setVisible(dlg.panelMain.mark.testValid());
     for (Cat cat : categories.keySet()) {
       int item = categories.get(cat);
       if (dlg.panelMain.mark.getCategory() == cat) categoryBox.setSelectedIndex(item);
     }
   }
   for (Shp shp : shapes.keySet()) {
     JRadioButton button = shapes.get(shp);
     if (dlg.panelMain.mark.getShape() == shp) {
       button.setBorderPainted(true);
     } else button.setBorderPainted(false);
   }
   noticeButton.setBorderPainted(false);
   dlg.panelMain.mark.testValid();
 }
 public void setPlayerControlsVisible(boolean b) {
   boolean oldValue = forwardButton.isVisible();
   if (oldValue != b) {
     forwardButton.setVisible(b);
     rewindButton.setVisible(b);
     startButton.setVisible(b);
     slider.setVisible(b);
     spacer.setVisible(!b);
     revalidate();
   }
 }
 public void propertyChange(PropertyChangeEvent evt) {
   String name = evt.getPropertyName();
   if (name.equals("audioEnabled")) {
     audioButton.setSelected(player.isAudioEnabled());
   } else if (name.equals("audioAvailable")) {
     audioButton.setVisible(player.isAudioAvailable());
     validate();
     repaint();
   } else if (name.equals("colorCyclingStarted")) {
     colorCyclingButton.setSelected(
         (player instanceof ColorCyclePlayer)
             ? ((ColorCyclePlayer) player).isColorCyclingStarted()
             : false);
   } else if (name.equals("colorCyclingAvailable")) {
     colorCyclingButton.setVisible(
         (player instanceof ColorCyclePlayer)
             ? ((ColorCyclePlayer) player).isColorCyclingAvailable()
             : false);
     validate();
     repaint();
   } else if (name.equals("cached")) {
     setPlayerControlsVisible(player.getTimeModel().getMaximum() > 0);
   }
 }
示例#7
0
  public EditorPanel(ParticleValue value, String name, String description) {
    this.name = name;
    this.value = value;
    this.description = description;

    initializeComponents();

    titlePanel.addMouseListener(
        new MouseAdapter() {
          public void mouseClicked(MouseEvent event) {
            if (!activeButton.isVisible()) return;
            activeButton.setSelected(!activeButton.isSelected());
            updateActive();
          }
        });
    activeButton.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            updateActive();
          }
        });
    advancedButton.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            advancedPanel.setVisible(advancedButton.isSelected());
          }
        });

    if (value != null) {
      activeButton.setSelected(value.isActive());
      updateActive();
    }

    boolean alwaysActive = value == null ? true : value.isAlwaysActive();
    activeButton.setVisible(!alwaysActive);
    if (alwaysActive) contentPanel.setVisible(true);
    if (alwaysActive) titlePanel.setCursor(null);
  }
  public JMovieControlAqua() {
    // Set the background color to the border color of the buttons.
    // This way the toolbar won't look too ugly when the buttons
    // are displayed before they have been loaded completely.
    // setBackground(new Color(118, 118, 118));
    setBackground(Color.WHITE);

    Dimension buttonSize = new Dimension(16, 16);
    GridBagLayout gridbag = new GridBagLayout();
    Insets margin = new Insets(0, 0, 0, 0);
    setLayout(gridbag);
    GridBagConstraints c;

    ResourceBundle labels = ResourceBundle.getBundle("org.monte.media.Labels");
    colorCyclingButton = new JToggleButton();
    colorCyclingButton.setToolTipText(labels.getString("colorCycling.toolTipText"));
    colorCyclingButton.addActionListener(this);
    colorCyclingButton.setPreferredSize(buttonSize);
    colorCyclingButton.setMinimumSize(buttonSize);
    colorCyclingButton.setVisible(false);
    colorCyclingButton.setMargin(margin);
    c = new GridBagConstraints();
    // c.gridx = 0;
    // c.gridy = 0;
    gridbag.setConstraints(colorCyclingButton, c);
    add(colorCyclingButton);

    audioButton = new JToggleButton();
    audioButton.setToolTipText(labels.getString("audio.toolTipText"));
    audioButton.addActionListener(this);
    audioButton.setPreferredSize(buttonSize);
    audioButton.setMinimumSize(buttonSize);
    audioButton.setVisible(false);
    audioButton.setMargin(margin);
    c = new GridBagConstraints();
    // c.gridx = 0;
    // c.gridy = 0;
    gridbag.setConstraints(audioButton, c);
    add(audioButton);

    startButton = new JToggleButton();
    startButton.setToolTipText(labels.getString("play.toolTipText"));
    startButton.addActionListener(this);
    startButton.setPreferredSize(buttonSize);
    startButton.setMinimumSize(buttonSize);
    startButton.setMargin(margin);
    c = new GridBagConstraints();
    // c.gridx = 1;
    // c.gridy = 0;
    gridbag.setConstraints(startButton, c);
    add(startButton);

    slider = new JMovieSliderAqua();
    c = new GridBagConstraints();
    // c.gridx = 2;
    // c.gridy = 0;
    c.fill = GridBagConstraints.HORIZONTAL;
    c.weightx = 1.0;
    gridbag.setConstraints(slider, c);
    add(slider);

    rewindButton = new JButton();
    rewindButton.setToolTipText(labels.getString("previous.toolTipText"));
    rewindButton.setPreferredSize(buttonSize);
    rewindButton.setMinimumSize(buttonSize);
    rewindButton.setMargin(margin);
    c = new GridBagConstraints();
    // c.gridx = 3;
    // c.gridy = 0;

    gridbag.setConstraints(rewindButton, c);
    add(rewindButton);
    rewindButton.addActionListener(this);

    forwardButton = new JButton();
    forwardButton.setToolTipText(labels.getString("next.toolTipText"));
    buttonSize = new Dimension(17, 16);
    forwardButton.setPreferredSize(buttonSize);
    forwardButton.setMinimumSize(buttonSize);
    forwardButton.setMargin(margin);
    c = new GridBagConstraints();
    // c.gridx = 4;
    // c.gridy = 0;
    gridbag.setConstraints(forwardButton, c);
    add(forwardButton);
    forwardButton.addActionListener(this);

    // The spacer is used when the play controls are hidden
    spacer = new JPanel(new BorderLayout());
    spacer.setVisible(false);
    spacer.setPreferredSize(new Dimension(16, 16));
    spacer.setMinimumSize(new Dimension(16, 16));
    spacer.setOpaque(false);
    c = new GridBagConstraints();
    c.fill = GridBagConstraints.HORIZONTAL;
    c.weightx = 1.0;
    gridbag.setConstraints(spacer, c);
    add(spacer);

    Border border =
        new BackdropBorder(
            new ButtonStateBorder(
                new ImageBevelBorder(
                    Images.createImage(getClass(), "images/Player.border.png"),
                    new Insets(1, 1, 1, 1),
                    new Insets(0, 4, 1, 4)),
                new ImageBevelBorder(
                    Images.createImage(getClass(), "images/Player.borderP.png"),
                    new Insets(1, 1, 1, 1),
                    new Insets(0, 4, 1, 4))));

    Border westBorder =
        new BackdropBorder(
            new ButtonStateBorder(
                new ImageBevelBorder(
                    Images.createImage(getClass(), "images/Player.borderWest.png"),
                    new Insets(1, 1, 1, 0),
                    new Insets(0, 4, 1, 4)),
                new ImageBevelBorder(
                    Images.createImage(getClass(), "images/Player.borderWestP.png"),
                    new Insets(1, 1, 1, 0),
                    new Insets(0, 4, 1, 4))));

    startButton.setBorder(westBorder);
    colorCyclingButton.setBorder(westBorder);
    audioButton.setBorder(westBorder);
    rewindButton.setBorder(westBorder);
    forwardButton.setBorder(border);
    startButton.setUI((ButtonUI) CustomButtonUI.createUI(startButton));
    colorCyclingButton.setUI((ButtonUI) CustomButtonUI.createUI(audioButton));
    audioButton.setUI((ButtonUI) CustomButtonUI.createUI(audioButton));
    rewindButton.setUI((ButtonUI) CustomButtonUI.createUI(rewindButton));
    forwardButton.setUI((ButtonUI) CustomButtonUI.createUI(forwardButton));

    colorCyclingButton.setIcon(
        new ImageIcon(Images.createImage(getClass(), "images/PlayerStartColorCycling.png")));
    colorCyclingButton.setSelectedIcon(
        new ImageIcon(Images.createImage(getClass(), "images/PlayerStartColorCycling.png")));
    colorCyclingButton.setDisabledIcon(
        new ImageIcon(
            Images.createImage(getClass(), "images/PlayerStartColorCycling.disabled.png")));
    audioButton.setIcon(
        new ImageIcon(Images.createImage(getClass(), "images/PlayerStartAudio.png")));
    audioButton.setSelectedIcon(
        new ImageIcon(Images.createImage(getClass(), "images/PlayerStopAudio.png")));
    audioButton.setDisabledIcon(
        new ImageIcon(Images.createImage(getClass(), "images/PlayerStartAudio.disabled.png")));
    startButton.setIcon(new ImageIcon(Images.createImage(getClass(), "images/PlayerStart.png")));
    startButton.setSelectedIcon(
        new ImageIcon(Images.createImage(getClass(), "images/PlayerStop.png")));
    startButton.setDisabledIcon(
        new ImageIcon(Images.createImage(getClass(), "images/PlayerStart.disabled.png")));
    rewindButton.setIcon(new ImageIcon(Images.createImage(getClass(), "images/PlayerBack.png")));
    rewindButton.setDisabledIcon(
        new ImageIcon(Images.createImage(getClass(), "images/PlayerBack.disabled.png")));
    forwardButton.setIcon(new ImageIcon(Images.createImage(getClass(), "images/PlayerNext.png")));
    forwardButton.setDisabledIcon(
        new ImageIcon(Images.createImage(getClass(), "images/PlayerNext.disabled.png")));

    // Automatic scrolling
    scrollHandler = new ScrollHandler();
    scrollTimer = new Timer(60, scrollHandler);
    scrollTimer.setInitialDelay(300); // default InitialDelay?
    forwardButton.addMouseListener(scrollHandler);
    rewindButton.addMouseListener(scrollHandler);
  }
示例#9
0
 public void setHasAdvanced(boolean hasAdvanced) {
   this.hasAdvanced = hasAdvanced;
   advancedButton.setVisible(hasAdvanced && (value.isActive() || value.isAlwaysActive()));
 }
示例#10
0
 void updateActive() {
   contentPanel.setVisible(activeButton.isSelected());
   advancedPanel.setVisible(activeButton.isSelected() && advancedButton.isSelected());
   advancedButton.setVisible(activeButton.isSelected() && hasAdvanced);
   if (value != null) value.setActive(activeButton.isSelected());
 }
示例#11
0
 private void initializeComponents() {
   setLayout(new GridBagLayout());
   {
     titlePanel = new JPanel(new GridBagLayout());
     add(
         titlePanel,
         new GridBagConstraints(
             1,
             0,
             1,
             1,
             1.0,
             0.0,
             GridBagConstraints.WEST,
             GridBagConstraints.HORIZONTAL,
             new Insets(3, 0, 3, 0),
             0,
             0));
     titlePanel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
     {
       JLabel label = new JLabel(name);
       titlePanel.add(
           label,
           new GridBagConstraints(
               0,
               0,
               1,
               1,
               1.0,
               0.0,
               GridBagConstraints.WEST,
               GridBagConstraints.NONE,
               new Insets(3, 6, 3, 6),
               0,
               0));
       label.setFont(label.getFont().deriveFont(Font.BOLD));
     }
     {
       advancedButton = new JToggleButton("Advanced");
       titlePanel.add(
           advancedButton,
           new GridBagConstraints(
               1,
               0,
               1,
               1,
               0.0,
               0.0,
               GridBagConstraints.CENTER,
               GridBagConstraints.NONE,
               new Insets(0, 0, 0, 6),
               0,
               0));
       advancedButton.setVisible(false);
     }
     {
       activeButton = new JToggleButton("Active");
       titlePanel.add(
           activeButton,
           new GridBagConstraints(
               2,
               0,
               1,
               1,
               0.0,
               0.0,
               GridBagConstraints.CENTER,
               GridBagConstraints.NONE,
               new Insets(0, 0, 0, 6),
               0,
               0));
     }
   }
   {
     contentPanel = new JPanel(new GridBagLayout());
     add(
         contentPanel,
         new GridBagConstraints(
             1,
             1,
             1,
             1,
             0.0,
             0.0,
             GridBagConstraints.CENTER,
             GridBagConstraints.BOTH,
             new Insets(0, 6, 6, 6),
             0,
             0));
     contentPanel.setVisible(false);
   }
   {
     advancedPanel = new JPanel(new GridBagLayout());
     add(
         advancedPanel,
         new GridBagConstraints(
             1,
             2,
             1,
             1,
             0.0,
             0.0,
             GridBagConstraints.CENTER,
             GridBagConstraints.BOTH,
             new Insets(0, 6, 6, 6),
             0,
             0));
     advancedPanel.setVisible(false);
   }
 }