All Downloads are FREE. Search and download functionalities are using the official Maven repository.

echopointng.tree.TreeCellRenderer Maven / Gradle / Ivy

Go to download

Echo2 bundled with Echo2_Extras, Echo2_FileTransfer and echopointing and various improvements/bugfixes

There is a newer version: 2.0.4
Show newest version
package echopointng.tree;

/* 
 * This file is part of the Echo Point Project.  This project is a collection
 * of Components that have extended the Echo Web Application Framework.
 *
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * Alternatively, the contents of this file may be used under the terms of
 * either the GNU General Public License Version 2 or later (the "GPL"), or
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the MPL, the GPL or the LGPL.
 */
/*
 * The design paradigm and class name used within have been taken directly from
 * the java.swing package has been retro-fitted to work with the NextApp Echo web framework.
 *
 * This file was made part of the EchoPoint project on the 25/07/2002.
 *
 */

import nextapp.echo2.app.Component;
import nextapp.echo2.app.Label;
import echopointng.Tree;
import echopointng.xhtml.XhtmlFragment;

/**
 * The TreeCellRender is responsible for returning Components
 * used to render a Tree node. In the most general form the
 * getTreeCellRendererText method will be called to return a
 * LabelEx component that contains the tree node's :
 * 
    *
  • text
  • *
  • icon
  • *
  • vertical text alignment
  • *
  • background
  • *
  • foreground
  • *
  • font
  • *
*

* A more specific case is when a Component is to be returned as the Tree cell. * In this case the getTreeCellRendererComponent method will be * called to provide the component for the Tree cell. * */ public interface TreeCellRenderer { /** * Returns a Component that will be rendered as a Tree cell. *

* If selected is true, the cell will be drawn as if * selected. If expanded is true the node is currently * expanded and if leaf is true the node represets a leaf * tree is the Tree the receiver is being configured for. *

* This method is called second by the tree rendering code, and only after * the getTreeCellRendererText method has returned null. *

* The returned Component MUST be a unqiue Component since it will be * rendered as the Tree cell. *

* * @return Component that is used to draw the value. */ public Component getTreeCellRendererComponent(Tree tree, Object value, boolean selected, boolean expanded, boolean leaf); /** * Returns a LabelEx that will be used to render a Tree cell. The following * attributes are used to render the Tree cell. *

    *
  • text
  • *
  • icon
  • *
  • vertical text alignment
  • *
  • background
  • *
  • foreground
  • *
  • font
  • *
*

* If selected is true, the cell will be drawn as if * selected. If expanded is true the node is currently * expanded and if leaf is true the node represets a leaf * tree is the Tree the receiver is being configured for. *

* This method is called first by the tree rendering code. If this returns * null, then the getTreeCellRendererComponent method is then invoked. *

* The returned LabelEx does NOT have to be a unique Component * since only the public values of the LabelEx are used by the the Tree * rendering code. Therefore it does NOT have to be a Component in the Echo * hierarchy nor does it have to be a unique LabelEx object. *

* You could return the same LabelEx object back each time this method is * called, only changing the background, forground, font and icon as * appropriate. *

* Returns the LabelEx that is used to draw the Tree cell. * * @return LabelEx that is used to draw the Tree cell. */ public Label getTreeCellRendererText(Tree tree, Object value, boolean selected, boolean expanded, boolean leaf); /** * Returns a XhtmlFragment that will be rendered as a Tree * cell. *

* If selected is true, the cell will be drawn as if * selected. If expanded is true the node is currently * expanded and if leaf is true the node represets a leaf * tree is the Tree the receiver is being * configured for. *

* This method is called third by the Tree rendering code, and only after * the getTreeCellRendererText and getTreeCellRendererComponent method have * returned null. *

* * @return the XhtmlFragment that is used to draw the cell value. */ public XhtmlFragment getTreeCellRendererXhtml(Tree tree, Object value, boolean selected, boolean expanded, boolean leaf); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy