Package printplugin.printer

Examples of printplugin.printer.ProgramItem


    mCurY = 0;
    mPrograms = new ArrayList<PositionedIcon>();
  }

  public boolean add(Program prog, boolean forceAdding) {
    ProgramItem item = new ProgramItem(prog, mProgramIconSettings, mWidth/mNumOfCols-10, true, true);
    item.setMaximumHeight(200);
    int spaceForDatestring = 0;
    if (!prog.getDate().equals(mCurDate)) {
      mCurDate = prog.getDate();
      spaceForDatestring = mDateFont.getSize();
    }
    boolean canAdd = false;
    if (forceAdding) {
      canAdd = true;
    }
    else if (mCurY + item.getHeight() + spaceForDatestring < mHeight) {
      canAdd = true;
    }
    else if (mCurColumnInx+1 < mNumOfCols) {
      mCurColumnInx++;
      mCurY = 0;
      canAdd = true;
    }

    if (canAdd) {
      int x = mWidth/mNumOfCols * mCurColumnInx;
      if (spaceForDatestring > 0) {
        mCurY += spaceForDatestring;
        mPrograms.add(new DateItem(new TextAreaIcon(mCurDate.getLongDateString(), mDateFont, mWidth/mNumOfCols), x, mCurY));
        mCurY += mDateFont.getSize()*1.3;
      }
      mPrograms.add(item);
      item.setPos(x, mCurY);
      mCurY = mCurY + item.getHeight() + mProgramIconSettings.getTitleFont().getSize()/3;

      return true;
    }

    return false;
View Full Code Here


   
     ProgramItem[][] items = new ProgramItem[cols.length][];
     for (int i=0;i<items.length;i++) {
       items[i] = new ProgramItem[cols[i].getProgramCount()];
       for (int j=0;j<items[i].length;j++) {
         items[i][j] = new ProgramItem(cols[i].getProgramAt(j), mProgramIconSettings, COLUMN_WIDTH, false);
       }
     }
   
     return items;
   
View Full Code Here

       }
*/

       // step 3: resolve overlaps; start from top
       for (int i=1;i<mProgramItems[col].length; i++) {
         ProgramItem curItem = mProgramItems[col][i];
         ProgramItem prevItem = mProgramItems[col][i-1];
       
         double minY = prevItem.getY() + prevItem.getHeight();
         if (minY > curItem.getY()) {
           curItem.setPos(curItem.getX(), minY);
         }
       }
     
       ProgramItem lastItem = mProgramItems[col][numberOfPrograms-1];

       // step 4: go through programs from bottom and move them up if necessary
       if (lastItem.getY() + lastItem.getHeight() > mColumnHeight/mZoom) {
         lastItem.setPos(lastItem.getX(), mColumnHeight/mZoom - lastItem.getHeight());
         for (int i=numberOfPrograms-2;i>=0;i--) {
           ProgramItem curItem = mProgramItems[col][i];
           ProgramItem nextItem = mProgramItems[col][i+1];
           if (curItem.getY()+curItem.getHeight() > nextItem.getY()) {
             curItem.setPos(curItem.getX(), nextItem.getY()-curItem.getHeight());
           }
           else {
             break;
           }
         }
       }

       // step 5: set the maximum height of each program
       for (int i=0;i<mProgramItems[col].length-1; i++) {
         ProgramItem curItem = mProgramItems[col][i];
         ProgramItem nextItem = mProgramItems[col][i+1];
     
         curItem.setMaximumHeight((int)(nextItem.getY()-curItem.getY()));
       }
       //Set the max height for the last program of the channel.
       lastItem.setMaximumHeight((int)(mColumnHeight/mZoom-lastItem.getY()));

       // step 6: Check, if the first program of the column is within the column space.
View Full Code Here

TOP

Related Classes of printplugin.printer.ProgramItem

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.