ANIMATOR : Fixed open animator tab 32/20032/1
authorjinwooim.bae <jinwooim.bae@samsung.com>
Fri, 25 Apr 2014 06:49:36 +0000 (15:49 +0900)
committerjinwooim.bae <jinwooim.bae@samsung.com>
Fri, 25 Apr 2014 06:49:36 +0000 (15:49 +0900)
This is fixed by adding listener for open animator tab.

Change-Id: I25131ac26497496a78b5248bebc3444c693cbe6f
Signed-off-by: jinwooim.bae <jinwooim.bae@samsung.com>
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/TimelineMainContainer.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/TimelinePage.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/command/TimelineAnimationGroupDeleteCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/header/TimelineOutlineHeader.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/tool/TimelineToolbar.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/tree/TimelineOutlineElement.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesigner.java

index 73270f1..6cd0dfe 100644 (file)
@@ -39,6 +39,7 @@ import org.tizen.webuibuilder.animator.ui.views.timeline.tool.TimelineToolbar;
 public class TimelineMainContainer extends Composite {
 
     private TimelineViewer viewer = null;
+    private TimelinePage page = null;
 
     private TimelineToolbar toolbar = null;
     private TimelineContentContainer contentContainer = null;
@@ -53,10 +54,12 @@ public class TimelineMainContainer extends Composite {
      * @param viewer
      *            {@link TimelineViewer}
      */
-    public TimelineMainContainer(Composite parent, int style, TimelineViewer viewer) {
+    public TimelineMainContainer(Composite parent, TimelinePage page, int style,
+            TimelineViewer viewer) {
         super(parent, style);
 
         this.viewer = viewer;
+        this.page = page;
 
         createControls(parent);
     }
@@ -130,7 +133,7 @@ public class TimelineMainContainer extends Composite {
 
      */
     public TimelinePage getPage() {
-        return viewer.getPage();
+        return page;
     }
 
 }
index 51efcb3..15e78b0 100644 (file)
@@ -77,13 +77,15 @@ public class TimelinePage extends ContentOutlinePage {
      *            {@link EditDomain}
      * @param rootPart
      *            {@link Part}
+     * @param pagePart
+     *            {@link AnimatorPagePart}
      * @param selectionSync
      *            {@link SelectionSynchronizer}
      * @param actionRegistry
      *            {@linck ActionRegistry}
      */
-    public TimelinePage(EditDomain editDomain, Part rootPart, Part pagePart, SelectionSynchronizer selectionSync,
-            ActionRegistry actionRegistry) {
+    public TimelinePage(EditDomain editDomain, Part rootPart, Part pagePart,
+            SelectionSynchronizer selectionSync, ActionRegistry actionRegistry) {
         super(new TimelineViewer());
 
         this.editDomain = editDomain;
@@ -183,7 +185,8 @@ public class TimelinePage extends ContentOutlinePage {
     private void initialize() {
 
         // Main Container
-        setMainContainer(new TimelineMainContainer(parent, SWT.NONE, (TimelineViewer) getViewer()));
+        setMainContainer(new TimelineMainContainer(parent, this, SWT.NONE,
+                                                   (TimelineViewer) getViewer()));
         getMainContainer().setLayout(new FormLayout());
 
         FormData mainContainerFormData = new FormData();
@@ -209,7 +212,7 @@ public class TimelinePage extends ContentOutlinePage {
         viewer.setMainContainer(getMainContainer());
         viewer.setPage(this);
         selectionSync.addViewer(getViewer());
-        
+
         viewer.refreshTimelineViewer();
     }
 
@@ -337,4 +340,8 @@ public class TimelinePage extends ContentOutlinePage {
     public boolean isCurrentPage(AnimatorPagePart newPagePart) {
         return pagePart.equals(newPagePart);
     }
+
+    public Part getRootPart() {
+        return rootPart;
+    }
 }
index a8d04b1..b2f10a5 100644 (file)
@@ -28,7 +28,6 @@ import org.eclipse.swt.widgets.Menu;
 import org.eclipse.swt.widgets.MenuItem;
 import org.tizen.webuibuilder.animator.model.AnimatorAnimation;
 import org.tizen.webuibuilder.animator.model.AnimatorModelEvent;
-import org.tizen.webuibuilder.animator.model.AnimatorModelManager;
 import org.tizen.webuibuilder.animator.model.part.AnimatorPagePart;
 import org.tizen.webuibuilder.animator.ui.views.timeline.TimelineViewer;
 import org.tizen.webuibuilder.animator.ui.views.timeline.header.TimelineOutlineHeader;
index f85e0da..f516978 100644 (file)
@@ -55,7 +55,6 @@ import org.tizen.webuibuilder.BuilderConstants;
 import org.tizen.webuibuilder.animator.model.AnimatorAnimation;
 import org.tizen.webuibuilder.animator.model.AnimatorModelEvent;
 import org.tizen.webuibuilder.animator.model.AnimatorModelListenerAdapter;
-import org.tizen.webuibuilder.animator.model.AnimatorModelManager;
 import org.tizen.webuibuilder.animator.model.part.AnimatorPagePart;
 import org.tizen.webuibuilder.animator.model.part.AnimatorPart;
 import org.tizen.webuibuilder.animator.ui.views.timeline.TimelineMainContainer;
@@ -65,6 +64,7 @@ import org.tizen.webuibuilder.animator.ui.views.timeline.command.TimelineAnimati
 import org.tizen.webuibuilder.animator.ui.views.timeline.command.TimelineAnimationGroupEditCommand;
 import org.tizen.webuibuilder.animator.ui.views.timeline.common.ColorResource;
 import org.tizen.webuibuilder.animator.utils.AnimatorUtils;
+import org.tizen.webuibuilder.model.Part;
 import org.tizen.webuibuilder.ui.editor.PageDesigner;
 import org.tizen.webuibuilder.utility.ResourceManager;
 
@@ -106,12 +106,9 @@ public class TimelineOutlineHeader extends Composite {
 
         addPaintListener(paintListener);
 
-        AnimatorModelManager manager =
-                AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
-
+        Part rootPart = getTimelineMainContainer().getPage().getRootPart();
         animatorAnimationEventAdapter = new AnimatorAnimationEventAdpater();
-        ((AnimatorPart) manager.getRootPart())
-                .addAnimatorModelListener(animatorAnimationEventAdapter);
+        ((AnimatorPart) rootPart).addAnimatorModelListener(animatorAnimationEventAdapter);
 
     }
 
index af6a5e8..70c8894 100644 (file)
@@ -67,7 +67,6 @@ import org.tizen.webuibuilder.animator.model.AnimatorFrame;
 import org.tizen.webuibuilder.animator.model.AnimatorModel;
 import org.tizen.webuibuilder.animator.model.AnimatorModelEvent;
 import org.tizen.webuibuilder.animator.model.AnimatorModelListenerAdapter;
-import org.tizen.webuibuilder.animator.model.AnimatorModelManager;
 import org.tizen.webuibuilder.animator.model.AnimatorSelector;
 import org.tizen.webuibuilder.animator.model.part.AnimatorPagePart;
 import org.tizen.webuibuilder.animator.model.part.AnimatorPart;
@@ -81,6 +80,7 @@ import org.tizen.webuibuilder.animator.ui.views.timeline.header.TimeBar;
 import org.tizen.webuibuilder.animator.ui.views.timeline.widget.KeyFrame;
 import org.tizen.webuibuilder.animator.ui.views.timeline.widget.KeyFrameComponent;
 import org.tizen.webuibuilder.animator.utils.AnimatorUtils;
+import org.tizen.webuibuilder.model.Part;
 import org.tizen.webuibuilder.utility.Platform;
 import org.tizen.webuibuilder.utility.ResourceManager;
 
@@ -135,20 +135,19 @@ public class TimelineToolbar extends Composite implements IAnimationListener {
 
         AnimatorBrowserViewer.addAnimationListener(this);
 
-        AnimatorModelManager manager =
-                AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
-
+        TimelineMainContainer mainContainer = (TimelineMainContainer) getParent();
+        Part rootPart = mainContainer.getPage().getRootPart();
         animatorModelEventAdapter = new AnimatorModelEventAdapter();
-        ((AnimatorPart) manager.getRootPart()).addAnimatorModelListener(animatorModelEventAdapter);
+        ((AnimatorPart) rootPart).addAnimatorModelListener(animatorModelEventAdapter);
 
         addDisposeListener(new DisposeListener() {
             @Override
             public void widgetDisposed(DisposeEvent e) {
                 AnimatorBrowserViewer.removeAnimationListener(TimelineToolbar.this);
-                AnimatorModelManager manager =
-                        AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
-                ((AnimatorPart) manager.getRootPart())
-                        .removeAnimatorModelListener(animatorModelEventAdapter);
+                
+                TimelineMainContainer mainContainer = (TimelineMainContainer) getParent();
+                Part rootPart = mainContainer.getPage().getRootPart();
+                ((AnimatorPart) rootPart).removeAnimatorModelListener(animatorModelEventAdapter);
             }
         });
     }
index 5737fd2..6e666ac 100644 (file)
@@ -52,7 +52,6 @@ import org.tizen.webuibuilder.animator.gef.command.AnimationMakeInvisibleCommand
 import org.tizen.webuibuilder.animator.model.AnimatorModel;
 import org.tizen.webuibuilder.animator.model.AnimatorModelEvent;
 import org.tizen.webuibuilder.animator.model.AnimatorModelListenerAdapter;
-import org.tizen.webuibuilder.animator.model.AnimatorModelManager;
 import org.tizen.webuibuilder.animator.model.AnimatorProperty;
 import org.tizen.webuibuilder.animator.model.AnimatorSelector;
 import org.tizen.webuibuilder.animator.model.AnimatorWidget;
@@ -126,8 +125,7 @@ public class TimelineOutlineElement extends Composite {
         this.editpart = editpart;
         this.setElementType(elementType);
 
-        AnimatorModelManager manager =
-                AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
+
 
         if (model instanceof AnimatorWidget) {
             this.isLockable = ((AnimatorWidget) model).isLock();
@@ -143,9 +141,8 @@ public class TimelineOutlineElement extends Composite {
             setBackground(ColorResource.PARENT_TREEITEM);
             animatorModelOutlineAdapter = new AnimatorModelOutlineAdapter();
 
-            ((AnimatorPart) manager.getRootPart())
-                    .addAnimatorModelListener(animatorModelOutlineAdapter);
-
+            Part rootPart = editpart.getViewer().getPage().getRootPart();
+            ((AnimatorPart) rootPart).addAnimatorModelListener(animatorModelOutlineAdapter);
         } else {
             this.setBackground(ColorResource.CHILD_TREEITEM);
         }
@@ -199,10 +196,8 @@ public class TimelineOutlineElement extends Composite {
             @Override
             public void widgetDisposed(DisposeEvent e) {
 
-                AnimatorModelManager manager =
-                        AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
-                ((AnimatorPart) manager.getRootPart())
-                        .removeAnimatorModelListener(animatorModelOutlineAdapter);
+                Part rootPart = getEditPart().getViewer().getPage().getRootPart();
+                ((AnimatorPart) rootPart).removeAnimatorModelListener(animatorModelOutlineAdapter);
             }
         });
     }
@@ -717,6 +712,9 @@ public class TimelineOutlineElement extends Composite {
         this.elementType = elementType;
     }
 
+    private TimelineEditPart getEditPart() {
+        return this.editpart;
+    }
     /**********************************************************************************************
      * PaintListener to Child Label
      **********************************************************************************************/
index 5318563..f335c42 100644 (file)
@@ -130,6 +130,7 @@ import org.tizen.webuibuilder.animator.ui.views.timeline.TimelinePage;
 import org.tizen.webuibuilder.animator.ui.views.timeline.TimelineViewer;
 import org.tizen.webuibuilder.animator.ui.views.timeline.editpart.TimelineEditPart;
 import org.tizen.webuibuilder.animator.utils.AnimatorUtils;
+import org.tizen.webuibuilder.browserwidget.ProgressListener;
 import org.tizen.webuibuilder.extintrf.DeclarationViewInfoProvider;
 import org.tizen.webuibuilder.gef.commands.CopyPartAction;
 import org.tizen.webuibuilder.gef.commands.CutPartAction;
@@ -718,9 +719,25 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
         /*
          * Check whether PageDesigner is finished loading
          */
-        Timer timer = new Timer();
-        TimerTask job = new CheckPageDesigner(timer);
-        timer.schedule(job, 0, 300);
+        // Timer timer = new Timer();
+        // TimerTask job = new CheckPageDesigner(timer);
+        // timer.schedule(job, 0, 300);
+        designer.getBrowser().getBrowser().addProgressListener(new ProgressListener() {
+            @Override
+            public void loadFinished(boolean ok) {
+                createAnimatorGraphicalViewer(tabs);
+                editDomain.addViewer(animator);
+                animator.zoomBrowser(designer.getZoomScale());
+                animator.setLandscape(designer.isLandScape());
+                animatorTabItem.setControl(animatorRuler);
+            }
+
+            @Override
+            public void updateImage() {
+
+            }
+        });
+
     }
 
     // @Override
@@ -769,7 +786,7 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
                     preview.prepareToShow();
                     enableDesignerMode();
                 } else if (tabs.getSelectionIndex() == ANIMATOR_TAB) {
-                    if(animatorTabItem.getControl() == null) {
+                    if (animatorTabItem.getControl() == null) {
                         tabs.setSelection(DESIGN_TAB);
                     } else {
                         enableAnimatorMode();
@@ -937,7 +954,8 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
             }
             // final DesignerPropertiesPage properties =
             properties =
-                    new PropertiesPage(getCommandStack(), getViewer().getGoingBridge(), getDescriptorManager(), getPageData(),
+                    new PropertiesPage(getCommandStack(), getViewer().getGoingBridge(),
+                                       getDescriptorManager(), getPageData(),
                                        actionRegistry.getAction(ActionFactory.UNDO.getId()),
                                        actionRegistry.getAction(ActionFactory.REDO.getId()));
             return properties;
@@ -986,10 +1004,10 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
             AnimatorModelManager animatorModelManager =
                     AnimatorModelManager.getInstance(appManager);
             animatorModelManager.initialize(rootPart);
-            if(timelinePage == null) {
+            if (timelinePage == null) {
                 timelinePage =
-                        new TimelinePage(editDomain, rootPart, pageData.getPagePart(), getSelectionSynchronizer(),
-                                         actionRegistry);
+                        new TimelinePage(editDomain, rootPart, pageData.getPagePart(),
+                                         getSelectionSynchronizer(), actionRegistry);
             }
             return timelinePage;
         }
@@ -1083,13 +1101,13 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
                             return (EditPart) viewer.getEditPartRegistry()
                                     .get(((Part) part.getModel()).getPartId());
                         } else {
-                            AnimatorPagePart animatorPagePart = (AnimatorPagePart)((Part) part.getModel()).
-                                       getOwnerPage();
-                            if(animatorPagePart != null) {
+                            AnimatorPagePart animatorPagePart =
+                                    (AnimatorPagePart) ((Part) part.getModel()).getOwnerPage();
+                            if (animatorPagePart != null) {
                                 AnimatorWidget animatorWidget =
                                         animatorPagePart.findAnimatorWidget(animator
-                                                .getCurrentAnimationGroupId(), ((Part) part.getModel())
-                                                .getIdPropertyValue());
+                                                .getCurrentAnimationGroupId(), ((Part) part
+                                                .getModel()).getIdPropertyValue());
                                 if (animatorWidget != null && animatorWidget.isLock() == true) {
                                     return null;
                                 } else {
@@ -1115,18 +1133,14 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
                     } else if (part != null && part instanceof TimelineEditPart) {
                         Object temp = null;
                         AnimatorModel model = (AnimatorModel) part.getModel();
-                        
-                        if ( viewer instanceof TimelineViewer || 
-                                model instanceof AnimatorWidget || 
-                                model instanceof AnimatorSelector) {
+
+                        if (viewer instanceof TimelineViewer || model instanceof AnimatorWidget
+                                || model instanceof AnimatorSelector) {
                             Part partLink = model.getPartLink();
                             if (partLink != null) {
                                 temp = viewer.getEditPartRegistry().get(partLink.getPartId());
                             }
-                        } else {
-                            return null;
                         }
-
                         if (temp != null) {
                             if (temp instanceof AnimatorEditPart
                                     && !((EditPart) (temp)).isSelectable()) {
@@ -1134,11 +1148,9 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
                             }
                             newPart = (EditPart) temp;
                         }
-
                     } else {
                         return null;
                     }
-
                     return newPart;
                 }
             };
@@ -1308,16 +1320,16 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
     /**
      * change to Animator Perspective
      */
-//    public void changeToAnimatorPerspective() {
-//        toolbar.changeToAnimatorPerspective();
-//    }
+    // public void changeToAnimatorPerspective() {
+    // toolbar.changeToAnimatorPerspective();
+    // }
 
     /**
      * change to Designer Perspective
      */
-//    public void changeToDesignerPerspective() {
-//        toolbar.changeToDesignerPerspective();
-//    }
+    // public void changeToDesignerPerspective() {
+    // toolbar.changeToDesignerPerspective();
+    // }
 
     public void enableAnimatorMode() {
         toolbar.enableAnimatorMode();
@@ -1342,12 +1354,13 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
         if (isExist) {
             AnimatorFileReader.makeModelbyFile(rootPart, animatorModelJsFile, animatorModelCssFile);
         } else {
-            List<AnimatorAnimation> animations = ((AnimatorPart)rootPart).createDefaultAnimations();
+            List<AnimatorAnimation> animations =
+                    ((AnimatorPart) rootPart).createDefaultAnimations();
             for (Part part : rootPart.getChildren()) {
-               for (AnimatorAnimation animation : animations) {
-                       if(part.equals(animation.getPartLink())) {
-                               ((AnimatorPagePart)part).addAnimation(animation, Origin.EDITOR);
-                       }
+                for (AnimatorAnimation animation : animations) {
+                    if (part.equals(animation.getPartLink())) {
+                        ((AnimatorPagePart) part).addAnimation(animation, Origin.EDITOR);
+                    }
                 }
             }
         }
@@ -1384,6 +1397,7 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
         configureRuler(animator);
         configureGeometry(animator);
         configureGrid(animator);
+
     }
 
     private void configureAnimatorGraphicalViewer() {
@@ -1479,59 +1493,35 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
         return (getGraphicalViewer() instanceof AnimatorBrowserViewer);
     }
 
-    private class CheckPageDesigner extends TimerTask {
-        private Timer timer;
-
-        public CheckPageDesigner(Timer timer) {
-            this.timer = timer;
-        }
-
-        private boolean finishedWidgetLoading(Part part) {
-            if (part.getPosition() == null) {
-                return false;
-            }
-
-            List<Part> children = part.getChildren();
-            for (int i = 0; i < children.size(); i++) {
-                if (finishedWidgetLoading(children.get(i)) == false) {
-                    return false;
-                }
-            }
-
-            return true;
-        }
-
-        @Override
-        public void run() {
-            designer.getControl().getDisplay().syncExec(new Runnable() {
-                @Override
-                public void run() {
-                    if (AnimatorUtils.getActivePageDesigner() != null) {
-                        List<Part> pageParts = rootPart.getChildren();
-                        if (pageParts.isEmpty()) {
-                            timer.cancel();
-                            timer.purge();
-                            return;
-                        }
-
-                        if (finishedWidgetLoading(pageParts.get(0))) {
-                            timer.cancel();
-                            timer.purge();
-                            /*
-                             * Create Animator viewer
-                             */
-                            createAnimatorGraphicalViewer(tabs);
-                            editDomain.addViewer(animator);
-                            animator.zoomBrowser(designer.getZoomScale());
-                            animator.setLandscape(designer.isLandScape());
-                            animatorTabItem.setControl(animatorRuler);
-                        } else {
-                        }
-                    }
-                }
-            });
-        }
-    }
+    /*
+     * private class CheckPageDesigner extends TimerTask { private Timer timer;
+     * 
+     * public CheckPageDesigner(Timer timer) { this.timer = timer;
+     * 
+     * }
+     * 
+     * private boolean finishedWidgetLoading(Part part) { if (part.getPosition() == null) { return
+     * false; }
+     * 
+     * List<Part> children = part.getChildren(); for (int i = 0; i < children.size(); i++) { if
+     * (finishedWidgetLoading(children.get(i)) == false) { return false; } }
+     * 
+     * return true; }
+     * 
+     * @Override public void run() { designer.getControl().getDisplay().syncExec(new Runnable() {
+     * 
+     * @Override public void run() { if (AnimatorUtils.getActivePageDesigner() != null) { List<Part>
+     * pageParts = rootPart.getChildren(); if (pageParts.isEmpty()) { timer.cancel(); timer.purge();
+     * return; }
+     * 
+     * if (finishedWidgetLoading(pageParts.get(0))) { timer.cancel(); timer.purge();
+     * 
+     * Create Animator viewer
+     * 
+     * createAnimatorGraphicalViewer(tabs); editDomain.addViewer(animator);
+     * animator.zoomBrowser(designer.getZoomScale()); animator.setLandscape(designer.isLandScape());
+     * animatorTabItem.setControl(animatorRuler); } else { } } } }); } }
+     */
 
     @Override
     public void pageChanged(PageDataEvent e) {