PROP : Fix null pointer exception. 40/18640/1
authornakyoung2.choi <nakyoung2.choi@samsung.com>
Thu, 27 Mar 2014 09:15:15 +0000 (18:15 +0900)
committernakyoung2.choi <nakyoung2.choi@samsung.com>
Thu, 27 Mar 2014 09:15:15 +0000 (18:15 +0900)
Fix null pointer exception.

Change-Id: I398f7d69ff6305163c79d021286a69a7ca1ed05e
Signed-off-by: nakyoung2.choi <nakyoung2.choi@samsung.com>
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/CategoryComposite.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/style/CssStyleTab.java

index bb6b536..82b160c 100644 (file)
@@ -172,7 +172,9 @@ public class CategoryComposite extends Composite {
         }
         
         briefLabel = createBriefLabel();
-        briefLabel.setText(msg);
+        if (briefLabel != null) {
+               briefLabel.setText(msg);        
+        }
         expandableComposite.layout();
 
         Logger logger = LoggerFactory.getLogger(CategoryComposite.class);
@@ -230,7 +232,10 @@ public class CategoryComposite extends Composite {
             briefLabel = null;
         }
         briefLabel = createBriefLabel();
-        briefLabel.setText(msg);
+        if (briefLabel != null) {
+               briefLabel.setText(msg);        
+        }
+        
         expandableComposite.layout();
     }
 
index 7e2537f..8c208bf 100644 (file)
@@ -32,12 +32,17 @@ import org.eclipse.gef.commands.Command;
 import org.eclipse.gef.commands.CommandStack;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
+import org.eclipse.swt.events.MouseTrackListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.TableItem;
 import org.eclipse.ui.forms.events.ExpansionAdapter;
 import org.eclipse.ui.forms.events.ExpansionEvent;
@@ -78,6 +83,7 @@ import org.tizen.webuibuilder.ui.views.properties.method.MetricsMethod;
 import org.tizen.webuibuilder.ui.views.properties.method.MultiSelectMethod;
 import org.tizen.webuibuilder.ui.views.properties.method.NoContentMethod;
 import org.tizen.webuibuilder.ui.views.properties.method.TextStyleMethod;
+import org.tizen.webuibuilder.utility.ResourceManager;
 
 
 /**
@@ -164,6 +170,71 @@ public class CssStyleTab extends PropertiesTabItem implements IPageDataListener
         createDesignerContents();
         includeComposite(noContent);
     }
+    
+//    @Override
+//    protected Control createExtendControl(Composite parent) {
+//        final Label label = new Label(parent, SWT.NONE);
+//        label.setImage(ResourceManager.getImage(BuilderConstants.ICON_DIR,
+//                "animator_toolbar_repeat_hover.png"));
+//        label.setToolTipText("Reset");
+//        label.addMouseListener(new MouseListener() {
+//            
+//            @Override
+//            public void mouseUp(MouseEvent e) {
+//                label.setImage(ResourceManager.getImage(BuilderConstants.ICON_DIR,
+//                        "animator_toolbar_repeat_hover.png"));
+//                resetCurrentSelector();
+//                
+//            }
+//            
+//            @Override
+//            public void mouseDown(MouseEvent e) {
+//                label.setImage(ResourceManager.getImage(BuilderConstants.ICON_DIR,
+//                        "animator_toolbar_repeat_selected_normal.png"));
+//                
+//            }
+//            
+//            @Override
+//            public void mouseDoubleClick(MouseEvent e) {
+//                // TODO Auto-generated method stub
+//                
+//            }
+//        });
+//        
+//        label.addMouseTrackListener(new MouseTrackListener() {
+//            
+//            @Override
+//            public void mouseHover(MouseEvent e) {
+//                // TODO Auto-generated method stub
+//                
+//            }
+//            
+//            @Override
+//            public void mouseExit(MouseEvent e) {
+//                label.setImage(ResourceManager.getImage(BuilderConstants.ICON_DIR,
+//                        "animator_toolbar_repeat_hover.png"));
+//                
+//            }
+//            
+//            @Override
+//            public void mouseEnter(MouseEvent e) {
+//                // TODO Auto-generated method stub
+//                
+//            }
+//        });
+//        return label;
+//    }
+//    
+//    private void resetCurrentSelector() {
+//        // reset style
+//        if (currentSelector == null) {
+//            return;
+//        }
+//        String selectorName = currentSelector.getSelectorName();
+//        cssDelegater.removeCssSelector(currentSelector);
+//        
+//        setSelector(selectorName);
+//    }
 
     private void createNoContent() {
         if (noContent == null || noContent.isDisposed()) {
@@ -381,14 +452,12 @@ public class CssStyleTab extends PropertiesTabItem implements IPageDataListener
 
         String selectorName = model.getDefaultSelectorName();
         if (selectorName != null) {
-            setSelector(selectorName);
-            
             /* Set css selector to CssCategory.
              * PropertiesMode.DESIGN, only */
             if (cssCategory != null && !cssCategory.isDisposed()) {
                 cssCategory.setDeafultSelector(selectorName, model.getIdPropertyValue());    
             }
-                
+            setSelector(selectorName);
         }
         
     }
@@ -413,6 +482,10 @@ public class CssStyleTab extends PropertiesTabItem implements IPageDataListener
         }
         
         setInfoText(selectorName);
+        
+//        if (cssCategory != null && !cssCategory.isDisposed()) {
+//            cssCategory.setSelector(selectorName);    
+//        }
     }
 
     /**
@@ -563,10 +636,19 @@ public class CssStyleTab extends PropertiesTabItem implements IPageDataListener
      *            whether the {@link CustomCSSMethod} is refresh
      */
     public void refreshManagedMethods(String key, String value, boolean refreshCustomCss) {
-        metrics.refreshValue(key, value);
-        clip.refreshValue(key, value);
-        textStyle.refreshValue(key, value);
-        if (refreshCustomCss) {
+       if (metrics != null) {
+               metrics.refreshValue(key, value);       
+       }
+        
+       if (clip != null) {
+               clip.refreshValue(key, value);  
+       }
+        
+       if (textStyle != null) {
+               textStyle.refreshValue(key, value);     
+       }
+        
+        if (refreshCustomCss && customCss != null) {
             customCss.refreshValue(key, value);
         }
     }