Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
   *
   * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
   * Other names may be trademarks of their respective owners.
   *
   * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common
  * Development and Distribution License("CDDL") (collectively, the
  * "License"). You may not use this file except in compliance with the
  * License. You can obtain a copy of the License at
  * http://www.netbeans.org/cddl-gplv2.html
  * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  * specific language governing permissions and limitations under the
  * License.  When distributing the software, include this License Header
  * Notice in each file and include the License file at
  * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
  * particular file as subject to the "Classpath" exception as provided
  * by Oracle in the GPL Version 2 section of the License file that
  * accompanied this code. If applicable, add the following below the
  * License Header, with the fields enclosed by brackets [] replaced by
  * your own identifying information:
  * "Portions Copyrighted [year] [name of copyright owner]"
  *
  * Contributor(s):
  *
  * The Original Software is NetBeans. The Initial Developer of the Original
  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
  * Microsystems, Inc. All Rights Reserved.
  *
  * If you wish your version of this file to be governed by only the CDDL
  * or only the GPL Version 2, indicate your decision by adding
  * "[Contributor] elects to include this software in this distribution
  * under the [CDDL or GPL Version 2] license." If you do not indicate a
  * single choice of license, a recipient has the option to distribute
  * your version of this file under either the CDDL, the GPL Version 2 or
  * to extend the choice of license to its licensees as provided above.
  * However, if you add GPL Version 2 code and therefore, elected the GPL
  * Version 2 license, then the option applies only if the new code is
  * made subject to such option by the copyright holder.
  */
 
 package org.netbeans.modules.websvc.design.view.widget;
 
 import java.awt.Color;
 import java.awt.Font;
 import java.awt.Image;
 import java.awt.Paint;
 import java.awt.Shape;

Author(s):
Ajit Bhate
anjeleevich
 
 public class ImageLabelWidget extends Widget {
     
     private ImageWidget imageWidget;
     private LabelWidget labelWidget;
     private LabelWidget commentWidget;
     private TextFieldInplaceEditor editor = null;
     
     public ImageLabelWidget(Scene sceneImage imageString text) {
         this(sceneimagetextnull);
     }
     
     
     public ImageLabelWidget(Scene sceneImage imageString text,
             int hgap) {
         this(sceneimagetextnullhgap);
     }
     
     
     public ImageLabelWidget(Scene sceneImage image,
             String textString comment) {
         this(sceneimagetextcomment);
     }
     
     
     public ImageLabelWidget(Scene sceneImage image,
             String label,
             String commentint hgap) {
         super(scene);
         
        
        setImage(image);
        setLabel(label);
        setComment(comment);
    }
    
    public final void setLabel(String label) {
        if(==null) {
             = new LabelWidget(getScene(),label);
            .setUseGlyphVector(true);
            addChild(==null||getChildren().isEmpty()?0:1,,1);
        } else {
            .setLabel(label);
        }
        .setVisible(label!=null);
    }
    
    public final void setImage(Image image) {
        if(==null) {
             = new ImageWidget(getScene(),image);
            addChild(0,,1);
        } else {
            .setImage(image);
            .removeChildren();
        }
        .setVisible(image!=null);
    }
    
    public final void setImage(Widget widget) {
        if(==null) {
             = new ImageWidget(getScene(),null);
            addChild(0,,1);
        } else {
            .setImage(null);
            .removeChildren();
        }
        if(widget!=null) {
            .addChild(widget);
        }
        .setVisible(widget!=null);
    }
    
    public final void setComment(String comment) {
        if(==null) {
             = new LabelWidget(getScene(),comment);
            addChild(,1);
            .setPaintAsDisabled(true);
        } else {
            .setLabel(comment);
        }
        .setVisible(comment!=null);
    }
    
    public final String getLabel() {
        return ==null?null:.getLabel();
    }
    
    public final Image getImage() {
        return ==null?null:.getImage();
    }
    
    protected final Widget getImageWidget() {
        return ==null||.getChildren().isEmpty()?null:
            .getChildren().get(0);
    }
    
    public final String getComment() {
        return ==null?null:.getLabel();
    }
    
    public final boolean isPaintAsDisabled() {
        if(!=null) {
            return .isPaintAsDisabled();
        }
        if(!=null) {
            return .isPaintAsDisabled();
        }
        if(!=null) {
            return .isPaintAsDisabled();
        }
        return false;
    }
    
    public final void setPaintAsDisabled(boolean flag) {
        if(!=null) {
            .setPaintAsDisabled(flag);
        }
        if(!=null) {
            .setPaintAsDisabled(flag);
        }
        if(!=null) {
            .setPaintAsDisabled(flag);
        }
    }
    
    public final void setLabelForeground(Color forground) {
        if(!=null) {
            .setForeground(forground);
        }
        if(!=null) {
            .setForeground(forground);
        }
    }
    
    public final void setLabelFont(Font font) {
        .setFont(font);
    }
    
    public final void setLabelEditor(TextFieldInplaceEditor editor) {
        if (this.!=null) {
            throw new IllegalStateException("An editor is already specified.");
        }
        this. = editor;
        getActions().addAction(ActionFactory.createInplaceEditorAction(editor));
    }
    
    public final boolean isEditable() {
        return !=null && .isEnabled(this);
    }
    protected final LabelWidget getLabelWidget() {
        return ;
    }
    
    @Override
    protected void notifyStateChanged(ObjectState previousStateObjectState state) {
        if (previousState.isFocused() != state.isFocused()) {
            .setBorder(state.isFocused()?BorderFactory.createDashedBorder
                    (getForeground(), 2, 2, true):BorderFactory.createEmptyBorder());
            revalidate(true);
        }
    }
    public static final int DEFAULT_GAP = 4;
    
    public static abstract class PaintableImageWidget extends Widget {
        
        private static final Stroke STROKE = new BasicStroke(1.0F, ..);
        private Shape shape;
        public PaintableImageWidget(Scene sceneColor color
                int preferredWidthint preferredHeight) {
            super(scene);
            setPreferredSize(new Dimension(preferredWidth,preferredHeight));
            setForeground(color);
        }
        protected abstract Shape createImage(int widthint height);
        @org.netbeans.api.annotations.common.SuppressWarnings(" NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE")
        protected final Shape getImage() {
            if (==null) {
                 = createImage(getBounds().getBounds().);
            }
            return ;
        }
        protected Stroke getImageStroke() {
            return ;
        }
        protected void paintWidget() {
            Graphics2D gr = getGraphics();
            Stroke previousStroke = gr.getStroke();
            Paint oldPaint = gr.getPaint();
            gr.setStroke(getImageStroke());
            gr.setPaint(getForeground());
            gr.draw(getImage());
            gr.setStroke(previousStroke);
            gr.setPaint(oldPaint);
        }
    }
New to GrepCode? Check out our FAQ X