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.Font;
 import java.awt.Image;
 import java.awt.Paint;
 import java.util.List;
 
 

Author(s):
Ajit
 
 public class DescriptionWidget extends FlushableWidget implements TabWidget {
     
     private static RequestProcessor REQUEST_PROCESSOR;
     
     private MethodModel method;
     private transient JavadocModel model;
     
     private transient Widget buttons;
     private transient ImageLabelWidget headerLabelWidget;
     private transient Widget tabComponent;
     private transient DescriptionListener listener;
    
    
Creates a new instance of Description

Parameters:
scene
method
 
     public DescriptionWidget(ObjectScene sceneMethodModel method) {
         super(scene,0,,1,);
         this. = method;
          = method.getJavadoc();
          = new DescriptionListener();
         createContent();
     }
     
     /* (non-Javadoc)
      * @see org.netbeans.modules.websvc.design.view.widget.Flushable#flushContent()
      */
    @Override
    public void flushContent() {
        if ( SwingUtilities.isEventDispatchThread() ){
            doFlush();
        }
        else {
            SwingUtilities.invokeLaternew Runnable() {
                @Override
                public void run() {
                    doFlush();
                }
            });
        }
    }
    
    protected Paint getTitlePaint(Rectangle bounds) {
        return ;
    }
    
    private void doFlush(){
        if (.isDirty()) {
            .setDirty(false);
            setJavaDoc.getContent());
             = .getJavadoc();
        }
    }
    
    private void createContent() {
         = new ImageLabelWidget(getScene(), getIcon(), getTitle());
        getHeaderWidget().addChild(new Widget(getScene()),5);
        getHeaderWidget().addChild(new Widget(getScene()),4);
        
         = new Widget(getScene());
        .setLayout(LayoutFactory.createHorizontalFlowLayout(
                .., 8));
        getHeaderWidget().addChild();
    }
    
    private void populateContentWidget(Widget parentWidget) {
        EditorPaneWidget descPaneWidget = new EditorPaneWidget(getScene(),.getText(),"text/java");
        descPaneWidget.setBorder(BorderFactory.createEmptyBorder(1));
        descPaneWidget.setEditable(true);
        descPaneWidget.addDocumentListener();
        parentWidget.addChild(descPaneWidget);
    }
    
    public Object hashKey() {
        return ;
    }
    
    public String getTitle() {
        return NbBundle.getMessage(DescriptionWidget.class"LBL_Description");
    }
    
    public Image getIcon() {
        return null;
    }
    
    public Widget getComponentWidget() {
        if(==null) {
             = createContentWidget();
            populateContentWidget();
        }
        return ;
    }
    
    private void setJavaDoc(final String text) {
        if ( SwingUtilities.isEventDispatchThread() ){
            if (  == null ){
                 = new RequestProcessorDescriptionWidget.class);
            }
            .post(new Runnable() {
                @Override
                public void run() {
                    setJavaDoc(text);
                }
            });
        }
        else {
            .setJavadoc(text);
        }
    }
    
    static class DescriptionListener implements DocumentListener{
            
        /* (non-Javadoc)
         * @see javax.swing.event.DocumentListener#changedUpdate(javax.swing.event.DocumentEvent)
         */
        @Override
        public void changedUpdateDocumentEvent e ) {  
            setContent(e);
            setDirtytrue );
        }
    
        /* (non-Javadoc)
         * @see javax.swing.event.DocumentListener#insertUpdate(javax.swing.event.DocumentEvent)
         */
        @Override
        public void insertUpdateDocumentEvent e ) {
            setContent(e);
            setDirtytrue );            
        }
    
        /* (non-Javadoc)
         * @see javax.swing.event.DocumentListener#removeUpdate(javax.swing.event.DocumentEvent)
         */
        @Override
        public void removeUpdateDocumentEvent e ) {
            setContent(e);
            setDirtytrue );            
        }
        
        private void setContentDocumentEvent e ){
            try {
                 = e.getDocument().getText( 0, e.getDocument().getLength());
            } catch (BadLocationException ex) {
                /*
                 * This should never happens because Document is not accessed 
                 * in any other place except this one
                 */
                assert false;
            }
        }
        
        private String getContent(){
            return ;
        }
        
        private void setDirtyboolean dirty ){
             = dirty;
        }
        
        private boolean isDirty(){
            return ;
        }
        
        private boolean isDirty;
        private String content;
    }
New to GrepCode? Check out our FAQ X