home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2005 June / PCpro_2005_06.ISO / files / opensource / tvbrowser / TvBrowser_1.0.exe / plugins / PrintPlugin.jar / printplugin / TimePageRenderer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2004-09-19  |  3.1 KB  |  69 lines

  1. package printplugin;
  2.  
  3. import devplugin.Program;
  4. import java.awt.Font;
  5. import java.awt.print.PageFormat;
  6. import java.util.ArrayList;
  7.  
  8. public class TimePageRenderer implements PageRenderer {
  9.    private PageFormat mPageFormat;
  10.    private int mNumOfColumns;
  11.    private ProgramIconSettings mProgramIconSettings;
  12.    private static final int COLUMN_WIDTH = 180;
  13.    private static final int FOOTER_SPACE = 10;
  14.    public static final Font HEADER_FONT = new Font("Dialog", 1, 32);
  15.    public static final Font FOOTER_FONT = new Font("Dialog", 2, 6);
  16.    public static final Font COL_HEADER_FONT = new Font("Dialog", 1, 18);
  17.    public static final Font CHANNEL_FONT = new Font("Dialog", 2, 14);
  18.  
  19.    public TimePageRenderer(PageFormat pageFormat, int numOfColumns, ProgramIconSettings programIconSettings) {
  20.       this.mPageFormat = pageFormat;
  21.       this.mNumOfColumns = numOfColumns;
  22.       this.mProgramIconSettings = programIconSettings;
  23.    }
  24.  
  25.    public Page[] createPages(PageModel model) {
  26.       ArrayList pages = new ArrayList();
  27.       TimePage curPage = new TimePage(this, model.getHeader(), model.getFooter());
  28.       pages.add(curPage);
  29.  
  30.       for(int i = 0; i < model.getColumnCount(); ++i) {
  31.          ColumnModel col = model.getColumnAt(i);
  32.          if (!curPage.newColumn(col.getTitle())) {
  33.             curPage = new TimePage(this, model.getHeader(), model.getFooter());
  34.             pages.add(curPage);
  35.             curPage.newColumn(col.getTitle());
  36.          }
  37.  
  38.          for(int j = 0; j < col.getProgramCount(); ++j) {
  39.             Program prog = col.getProgramAt(j);
  40.             if (!curPage.addProgram(prog)) {
  41.                curPage = new TimePage(this, model.getHeader(), model.getFooter());
  42.                pages.add(curPage);
  43.                curPage.newColumn(col.getTitle());
  44.                curPage.addProgram(prog);
  45.             }
  46.          }
  47.       }
  48.  
  49.       Page[] result = new Page[pages.size()];
  50.       pages.toArray(result);
  51.       return result;
  52.    }
  53.  
  54.    // $FF: synthetic method
  55.    static PageFormat access$000(TimePageRenderer x0) {
  56.       return x0.mPageFormat;
  57.    }
  58.  
  59.    // $FF: synthetic method
  60.    static int access$100(TimePageRenderer x0) {
  61.       return x0.mNumOfColumns;
  62.    }
  63.  
  64.    // $FF: synthetic method
  65.    static ProgramIconSettings access$200(TimePageRenderer x0) {
  66.       return x0.mProgramIconSettings;
  67.    }
  68. }
  69.