Coverage Report - palmed.edit.scrollbar.HorizontalScrollbar

Classes in this Package Line Coverage Branch Coverage Complexity
HorizontalScrollbar
0% 
0% 
1,188

 1  
 /**
 2  
  * Redistribution  and use  in source  and binary  forms, with  or without
 3  
  * modification, are permitted provided  that the following conditions are
 4  
  * met :
 5  
  *
 6  
  * . Redistributions  of  source  code  must  retain  the  above copyright
 7  
  *   notice, this list of conditions and the following disclaimer.
 8  
  *
 9  
  * . Redistributions in  binary form  must reproduce  the above  copyright
 10  
  *   notice, this list of conditions  and the following disclaimer in  the
 11  
  *   documentation and/or other materials provided with the distribution.
 12  
  *
 13  
  * . The name of the author may not be used to endorse or promote products
 14  
  *   derived from this software without specific prior written permission.
 15  
  *
 16  
  * THIS SOFTWARE IS  PROVIDED BY THE  AUTHOR ``AS IS''  AND ANY EXPRESS  OR
 17  
  * IMPLIED  WARRANTIES,  INCLUDING,  BUT   NOT  LIMITED  TO,  THE   IMPLIED
 18  
  * WARRANTIES OF MERCHANTABILITY AND  FITNESS FOR A PARTICULAR  PURPOSE ARE
 19  
  * DISCLAIMED.  IN NO  EVENT SHALL  THE AUTHOR  BE LIABLE  FOR ANY  DIRECT,
 20  
  * INDIRECT,  INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL  DAMAGES
 21  
  * (INCLUDING,  BUT  NOT LIMITED  TO,  PROCUREMENT OF  SUBSTITUTE  GOODS OR
 22  
  * SERVICES;  LOSS  OF USE,  DATA,  OR PROFITS;  OR  BUSINESS INTERRUPTION)
 23  
  * HOWEVER CAUSED  AND ON  ANY THEORY  OF LIABILITY,  WHETHER IN  CONTRACT,
 24  
  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 25  
  * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE, EVEN  IF  ADVISED OF  THE
 26  
  * POSSIBILITY OF SUCH DAMAGE.
 27  
  *
 28  
  * $Id$
 29  
  */
 30  
 
 31  
 package palmed.edit.scrollbar;
 32  
 
 33  
 import javax.microedition.lcdui.Graphics;
 34  
 import javax.microedition.lcdui.Item;
 35  
 import palmed.edit.util.Coordinate;
 36  
 import palmed.edit.view.IScrollView;
 37  
 import palmed.edit.view.IViewport;
 38  
 import palmed.ui.IComponent;
 39  
 
 40  
 /**
 41  
  * This class provides an horizontal scrollbar.
 42  
  *
 43  
  * @author Mathieu Champlon
 44  
  * @version $Revision$ $Date$
 45  
  */
 46  
 public final class HorizontalScrollbar implements IScrollbar, IScrollable, IDrawer, IScrollView, IComponent
 47  
 {
 48  
     /**
 49  
      * The scrollbar internals.
 50  
      */
 51  
     private final Scrollbar scrollbar_;
 52  
     /**
 53  
      * The viewport.
 54  
      */
 55  
     private final IViewport viewport_;
 56  
 
 57  
     /**
 58  
      * Create an horizontal scrollbar.
 59  
      *
 60  
      * @param viewport the viewport to manage
 61  
      */
 62  
     public HorizontalScrollbar( final IViewport viewport )
 63  0
     {
 64  0
         if( viewport == null )
 65  0
             throw new IllegalArgumentException( "parameter 'viewport' is null" );
 66  0
         scrollbar_ = new Scrollbar( this, this );
 67  0
         viewport_ = viewport;
 68  0
         viewport_.register( this );
 69  0
     }
 70  
 
 71  
     /**
 72  
      * {@inheritDoc}
 73  
      */
 74  
     public void paint( final Graphics g )
 75  
     {
 76  0
         scrollbar_.paint( g );
 77  0
     }
 78  
 
 79  
     /**
 80  
      * {@inheritDoc}
 81  
      */
 82  
     public void update( final int visible, final int max )
 83  
     {
 84  0
         scrollbar_.update( visible, max );
 85  0
     }
 86  
 
 87  
     /**
 88  
      * {@inheritDoc}
 89  
      */
 90  
     public void resize( final int width, final int height )
 91  
     {
 92  0
         scrollbar_.resize( width );
 93  0
     }
 94  
 
 95  
     /**
 96  
      * {@inheritDoc}
 97  
      */
 98  
     public boolean click( final int x, final int y )
 99  
     {
 100  0
         scrollbar_.click( x );
 101  0
         return true;
 102  
     }
 103  
 
 104  
     /**
 105  
      * {@inheritDoc}
 106  
      */
 107  
     public void drag( final int x, final int y )
 108  
     {
 109  0
         scrollbar_.drag( x );
 110  0
     }
 111  
 
 112  
     /**
 113  
      * {@inheritDoc}
 114  
      */
 115  
     public void unclick( final int x, final int y )
 116  
     {
 117  0
         scrollbar_.unclick();
 118  0
     }
 119  
 
 120  
     /**
 121  
      * {@inheritDoc}
 122  
      */
 123  
     public void scrolled( final Coordinate position )
 124  
     {
 125  0
         scrollbar_.scroll( position.x_ );
 126  0
     }
 127  
 
 128  
     /**
 129  
      * {@inheritDoc}
 130  
      */
 131  
     public void scroll( final int steps )
 132  
     {
 133  0
         viewport_.scroll( steps, 0 );
 134  0
     }
 135  
 
 136  
     /**
 137  
      * {@inheritDoc}
 138  
      */
 139  
     public void drawArrow( final Graphics g, final int end, final int from, final int to )
 140  
     {
 141  0
         g.fillTriangle( from, 0, to, end / 2, from, end );
 142  0
     }
 143  
 
 144  
     /**
 145  
      * {@inheritDoc}
 146  
      */
 147  
     public void drawBody( final Graphics g, final int start, final int end, final int from, final int to )
 148  
     {
 149  0
         g.setStrokeStyle( Graphics.DOTTED );
 150  0
         for( int position = start; position <= end; ++position )
 151  0
             g.drawLine( from, position, to, position );
 152  0
     }
 153  
 
 154  
     /**
 155  
      * {@inheritDoc}
 156  
      */
 157  
     public void drawCursor( final Graphics g, final int start, final int width, final int from, final int length )
 158  
     {
 159  0
         g.fillRect( from, start, length, width );
 160  0
     }
 161  
 
 162  
     /**
 163  
      * {@inheritDoc}
 164  
      */
 165  
     public void drawBackground( final Graphics g, final int size, final int width )
 166  
     {
 167  0
         g.fillRect( 0, 0, size, width );
 168  0
     }
 169  
 
 170  
     /**
 171  
      * {@inheritDoc}
 172  
      */
 173  
     public int getLayout()
 174  
     {
 175  0
         return Item.LAYOUT_EXPAND;
 176  
     }
 177  
 
 178  
     /**
 179  
      * {@inheritDoc}
 180  
      */
 181  
     public int getWidth()
 182  
     {
 183  0
         return scrollbar_.getSize();
 184  
     }
 185  
 
 186  
     /**
 187  
      * {@inheritDoc}
 188  
      */
 189  
     public int getHeight()
 190  
     {
 191  0
         return scrollbar_.getWidth();
 192  
     }
 193  
 }