keyframe.updateTimeForFrameAdd(currentTime);
keyframe.addChild(originalFrameIndex, frame);
frame.setFrameTime(originalFrameTime);
- if (curveFrames != null)
- ((AnimatorFrame) keyframe.getPrevChild(frame)).setCurveFrames(curveFrames);
-
- AnimatorModelManager animatorModelManager =
- AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
- animatorModelManager.fireEvent(true, frame.getParent().getParent(),
- AnimatorModelEvent.EventType.FRAME_ADD,
- AnimatorModelEvent.Origin.TIMELINE, frame);
+ if (curveFrames != null) {
+ AnimatorModel childFrame = keyframe.getPrevChild(frame);
+ if(childFrame != null) {
+ ((AnimatorFrame) childFrame).setCurveFrames(curveFrames);
+
+ AnimatorModelManager animatorModelManager =
+ AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
+ animatorModelManager.fireEvent(true, frame.getParent().getParent(),
+ AnimatorModelEvent.EventType.FRAME_ADD,
+ AnimatorModelEvent.Origin.TIMELINE, frame);
+ } else {
+ return;
+ }
+ } else {
+ return;
+ }
+
}
/**
for (KeyFrameWidget currentKeyframe : keyframes) {
if (currentKeyframe.getKeyframe().getId().equals(keyframe.getId())) {
LifeWidget lifeWidget = currentKeyframe.getLifeWidget();
- FrameWidget frameWidget = lifeWidget.findFrame((AnimatorFrame) model);
-
- lifeWidget.removeChild(frameWidget);
- frameWidget.dispose();
-
- if (frameWidget.getFrameType() != FrameWidget.COMMON_FRAME) {
-
- currentKeyframe.setKeyframeWidgetStartTime(keyframe.getDelay());
- currentKeyframe.setKeyframeWidgetDurationTime(keyframe
- .getDuration());
-
- lifeWidget.setFrameType();
+ if(lifeWidget != null) {
+ FrameWidget frameWidget = lifeWidget.findFrame((AnimatorFrame) model);
+ if(frameWidget != null) {
+
+ lifeWidget.removeChild(frameWidget);
+ frameWidget.dispose();
+
+ if (frameWidget.getFrameType() != FrameWidget.COMMON_FRAME) {
+ currentKeyframe.setKeyframeWidgetStartTime(keyframe.getDelay());
+ currentKeyframe.setKeyframeWidgetDurationTime(keyframe
+ .getDuration());
+
+ lifeWidget.setFrameType();
+ }
+ }
}
currentKeyframe.redraw();
}
public void paintControl(PaintEvent e) {
if (contentHeadersashFormSash == null) {
Sash[] sashes = getSashes(contentHeadersashForm);
-
- contentHeadersashFormSash = sashes[0];
- contentHeadersashFormSash.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- int headerContainerWidth =
- TimelineContentHeaderContainer.this.getBounds().width;
- if (event.x < OUTLINE_HEADER_MIN_WIDTH) {
- contentHeadersashForm.setWeights(new int[] {
- OUTLINE_HEADER_MIN_WIDTH,
- headerContainerWidth - OUTLINE_HEADER_MIN_WIDTH });
-
- if (!isMinWidth) {
- // AnimatorNotifierDialog.notify("Minimum Width",
- // "The minimum width is 225px.", NotificationType.INFO,
- // TimelineContentHeaderContainer.this,
- // outlineHeader.getBounds().width - 175,
- // outlineHeader.getBounds().height + 30);
-
- isMinWidth = true;
- }
- } else if (event.x > OUTLINE_HEADER_MAX_WIDTH - 5) {
- contentHeadersashForm.setWeights(new int[] {
- OUTLINE_HEADER_MAX_WIDTH,
- headerContainerWidth - OUTLINE_HEADER_MAX_WIDTH });
-
- if (!isMaxWidth) {
- // AnimatorNotifierDialog.notify("Maximum Width",
- // "The maximum width is 450px.", NotificationType.INFO,
- // TimelineContentHeaderContainer.this,
- // outlineHeader.getBounds().width - 175,
- // outlineHeader.getBounds().height + 30);
-
- isMaxWidth = true;
+ if(sashes == null) {
+ return;
+ } else {
+ contentHeadersashFormSash = sashes[0];
+ contentHeadersashFormSash.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent event) {
+ int headerContainerWidth =
+ TimelineContentHeaderContainer.this.getBounds().width;
+ if (event.x < OUTLINE_HEADER_MIN_WIDTH) {
+ contentHeadersashForm.setWeights(new int[] {
+ OUTLINE_HEADER_MIN_WIDTH,
+ headerContainerWidth - OUTLINE_HEADER_MIN_WIDTH });
+
+ if (!isMinWidth) {
+ // AnimatorNotifierDialog.notify("Minimum Width",
+ // "The minimum width is 225px.", NotificationType.INFO,
+ // TimelineContentHeaderContainer.this,
+ // outlineHeader.getBounds().width - 175,
+ // outlineHeader.getBounds().height + 30);
+
+ isMinWidth = true;
+ }
+ } else if (event.x > OUTLINE_HEADER_MAX_WIDTH - 5) {
+ contentHeadersashForm.setWeights(new int[] {
+ OUTLINE_HEADER_MAX_WIDTH,
+ headerContainerWidth - OUTLINE_HEADER_MAX_WIDTH });
+
+ if (!isMaxWidth) {
+ // AnimatorNotifierDialog.notify("Maximum Width",
+ // "The maximum width is 450px.", NotificationType.INFO,
+ // TimelineContentHeaderContainer.this,
+ // outlineHeader.getBounds().width - 175,
+ // outlineHeader.getBounds().height + 30);
+
+ isMaxWidth = true;
+ }
+ } else {
+ isMinWidth = false;
+ isMaxWidth = false;
}
- } else {
- isMinWidth = false;
- isMaxWidth = false;
- }
- if (event.detail != SWT.DRAG) {
- contentHeadersashForm.layout();
+ if (event.detail != SWT.DRAG) {
+ contentHeadersashForm.layout();
+ }
}
- }
- });
+ });
+ }
}
}
});