use of com.codename1.ui.animations.Timeline in project CodenameOne by codenameone.
the class TimelineEditor method duplicateObjectActionPerformed.
// GEN-LAST:event_removeAnimationObjectActionPerformed
private void duplicateObjectActionPerformed(java.awt.event.ActionEvent evt) {
// GEN-FIRST:event_duplicateObjectActionPerformed
Timeline t = cloneCurrentTimeline();
AnimationObject o = AnimationAccessor.clone((AnimationObject) ((AnimationObjectTableModel) animationObjectList.getModel()).getElementAt(animationObjectList.getSelectedRow()));
((AnimationObjectTableModel) animationObjectList.getModel()).addElement(o);
AnimationObject[] animations = new AnimationObject[t.getAnimationCount() + 1];
for (int iter = 0; iter < animations.length - 1; iter++) {
animations[iter] = t.getAnimation(iter);
}
animations[animations.length - 1] = o;
Timeline nt = Timeline.createTimeline(getValue(duration), animations, new com.codename1.ui.geom.Dimension(getValue(width), getValue(height)));
nt.setPause(t.isPause());
setImage(nt);
animationObjectList.clearSelection();
duplicateObject.setEnabled(false);
moveDown.setEnabled(false);
moveUp.setEnabled(false);
removeAnimationObject.setEnabled(false);
}
use of com.codename1.ui.animations.Timeline in project CodenameOne by codenameone.
the class TimelineEditor method addAnimationObjectActionPerformed.
private void addAnimationObjectActionPerformed(java.awt.event.ActionEvent evt) {
// GEN-FIRST:event_addAnimationObjectActionPerformed
AnimationObjectEditor editor = new AnimationObjectEditor(res, null, getValue(duration));
editor.setStartTime(timeline.getValue());
int ok = JOptionPane.showConfirmDialog(this, editor, "Add", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
if (ok == JOptionPane.OK_OPTION) {
((AnimationObjectTableModel) animationObjectList.getModel()).addElement(editor.getAnimationObject());
Timeline t = (Timeline) res.getImage(name);
AnimationObject[] animations = new AnimationObject[t.getAnimationCount() + 1];
for (int iter = 0; iter < animations.length - 1; iter++) {
animations[iter] = t.getAnimation(iter);
}
animations[animations.length - 1] = editor.getAnimationObject();
Timeline nt = Timeline.createTimeline(getValue(duration), animations, new com.codename1.ui.geom.Dimension(getValue(width), getValue(height)));
nt.setPause(t.isPause());
nt.setTime(t.getTime());
setImage(nt);
}
}
use of com.codename1.ui.animations.Timeline in project CodenameOne by codenameone.
the class TimelineEditor method updatePosition.
public void updatePosition(int x, int y, AnimationObject o, boolean startingPoint) {
AnimationObjectTableModel dl = (AnimationObjectTableModel) animationObjectList.getModel();
int index = -1;
for (int iter = 0; iter < animationObjectList.getModel().getRowCount(); iter++) {
if (dl.getElementAt(iter) == o) {
index = iter;
break;
}
}
Timeline t = (Timeline) TimelineEditor.this.res.getImage(TimelineEditor.this.name);
AnimationObjectEditor editor = new AnimationObjectEditor(TimelineEditor.this.res, o, t.getDuration());
if (x > -1) {
editor.updatePosition(x, y, startingPoint);
}
int ok = JOptionPane.showConfirmDialog(TimelineEditor.this, editor, "Edit", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
if (ok == JOptionPane.OK_OPTION) {
if (index < 0) {
return;
}
dl.setElementAt(editor.getAnimationObject(), index);
AnimationObject[] animations = new AnimationObject[t.getAnimationCount()];
for (int iter = 0; iter < animations.length; iter++) {
animations[iter] = t.getAnimation(iter);
}
animations[index] = editor.getAnimationObject();
boolean paused = t.isPause();
int oldTime = t.getTime();
t = Timeline.createTimeline(getValue(duration), animations, new com.codename1.ui.geom.Dimension(getValue(width), getValue(height)));
t.setPause(paused);
t.setTime(oldTime);
setImage(t);
}
}
use of com.codename1.ui.animations.Timeline in project CodenameOne by codenameone.
the class TimelineEditor method durationStateChanged.
private void durationStateChanged(javax.swing.event.ChangeEvent evt) {
// GEN-FIRST:event_durationStateChanged
int d = getValue(duration);
if (d != ((Timeline) renderer.getImage()).getDuration()) {
com.codename1.ui.animations.Timeline t = cloneCurrentTimeline();
endTime.setText("" + d);
timeline.setMaximum(d);
res.setImage(name, t);
setImage(t);
}
}
use of com.codename1.ui.animations.Timeline in project CodenameOne by codenameone.
the class TimelineEditor method moveDownActionPerformed.
// GEN-LAST:event_moveUpActionPerformed
private void moveDownActionPerformed(java.awt.event.ActionEvent evt) {
// GEN-FIRST:event_moveDownActionPerformed
int i = animationObjectList.getSelectedRow();
Timeline t = cloneCurrentTimeline();
AnimationObject[] animations = new AnimationObject[t.getAnimationCount()];
for (int iter = 0; iter < animations.length; iter++) {
animations[iter] = t.getAnimation(iter);
}
AnimationObject o = animations[i + 1];
animations[i + 1] = animations[i];
animations[i] = o;
Timeline nt = Timeline.createTimeline(getValue(duration), animations, new com.codename1.ui.geom.Dimension(getValue(width), getValue(height)));
nt.setPause(t.isPause());
setImage(nt);
moveDown.setEnabled(i < animations.length - 1);
moveUp.setEnabled(true);
animationObjectList.getSelectionModel().setSelectionInterval(i + 1, i + 1);
}
Aggregations