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$TimePage.class (.txt) < prev    next >
Encoding:
Java Class File  |  2004-09-19  |  3.5 KB  |  100 lines

  1. package printplugin;
  2.  
  3. import devplugin.Program;
  4. import java.awt.Component;
  5. import java.awt.Graphics;
  6. import java.awt.Graphics2D;
  7. import java.util.ArrayList;
  8. import javax.swing.Icon;
  9.  
  10. class TimePageRenderer$TimePage implements Page {
  11.    private int mCurY;
  12.    private int mCurColumn;
  13.    private int mColWidth;
  14.    private ArrayList[] mItems;
  15.    private double mZoom;
  16.    private String mCurColumnTitle;
  17.    private String mHeader;
  18.    private String mFooter;
  19.    // $FF: synthetic field
  20.    private final TimePageRenderer this$0;
  21.  
  22.    public TimePageRenderer$TimePage(TimePageRenderer this$0, String header, String footer) {
  23.       this.this$0 = this$0;
  24.       this.mHeader = header;
  25.       this.mFooter = footer;
  26.       this.mZoom = TimePageRenderer.access$000(this$0).getImageableWidth() / (double)(TimePageRenderer.access$100(this$0) * 180);
  27.       this.mCurY = 0;
  28.       this.mCurColumn = 0;
  29.       this.mItems = new ArrayList[TimePageRenderer.access$100(this$0)];
  30.  
  31.       for(int i = 0; i < this.mItems.length; ++i) {
  32.          this.mItems[i] = new ArrayList();
  33.       }
  34.  
  35.    }
  36.  
  37.    public boolean newColumn(String title) {
  38.       this.mCurColumnTitle = title;
  39.       if (this.mCurY > 0) {
  40.          ++this.mCurColumn;
  41.          this.mCurY = 0;
  42.       }
  43.  
  44.       if (this.mCurColumn >= TimePageRenderer.access$100(this.this$0)) {
  45.          return false;
  46.       } else {
  47.          TimePageRenderer.HeaderItem header = new TimePageRenderer.HeaderItem(this.this$0, this.mCurColumnTitle);
  48.          this.mItems[this.mCurColumn].add(header);
  49.          header.setPos(180 * this.mCurColumn, this.mCurY);
  50.          this.mCurY += header.getIconHeight();
  51.          return true;
  52.       }
  53.    }
  54.  
  55.    public boolean addProgram(Program prog) {
  56.       if ((double)this.mCurY > TimePageRenderer.access$000(this.this$0).getImageableHeight() / this.mZoom) {
  57.          if (this.mCurColumn + 1 >= TimePageRenderer.access$100(this.this$0)) {
  58.             return false;
  59.          }
  60.  
  61.          this.newColumn(this.mCurColumnTitle);
  62.       }
  63.  
  64.       TimePageRenderer.ProgramItem item = new TimePageRenderer.ProgramItem(this.this$0, prog);
  65.       this.mItems[this.mCurColumn].add(item);
  66.       item.setPos(180 * this.mCurColumn, this.mCurY);
  67.       this.mCurY += item.getIconHeight();
  68.       return true;
  69.    }
  70.  
  71.    public void printPage(Graphics graphics) {
  72.       int x0 = (int)TimePageRenderer.access$000(this.this$0).getImageableX();
  73.       int y0 = (int)TimePageRenderer.access$000(this.this$0).getImageableY();
  74.       int w = (int)TimePageRenderer.access$000(this.this$0).getImageableWidth();
  75.       if (this.mHeader != null && this.mHeader.length() > 0) {
  76.          graphics.setFont(ChannelPageRenderer.HEADER_FONT);
  77.          graphics.drawString(this.mHeader, x0, y0 + ChannelPageRenderer.HEADER_FONT.getSize());
  78.       }
  79.  
  80.       if (this.mFooter != null && this.mFooter.length() > 0) {
  81.          graphics.setFont(ChannelPageRenderer.FOOTER_FONT);
  82.          graphics.drawString(this.mFooter, x0, y0 + (int)TimePageRenderer.access$000(this.this$0).getImageableHeight());
  83.       }
  84.  
  85.       Graphics2D g = (Graphics2D)graphics;
  86.       g.scale(this.mZoom, this.mZoom);
  87.       g.translate(TimePageRenderer.access$000(this.this$0).getImageableX() / this.mZoom, TimePageRenderer.access$000(this.this$0).getImageableY() / this.mZoom);
  88.  
  89.       for(int col = 0; col < this.mItems.length; ++col) {
  90.          for(int i = 0; i < this.mItems[col].size(); ++i) {
  91.             Icon item = (Icon)this.mItems[col].get(i);
  92.             item.paintIcon((Component)null, g, 0, 0);
  93.          }
  94.       }
  95.  
  96.       g.translate(TimePageRenderer.access$000(this.this$0).getImageableX() * this.mZoom, TimePageRenderer.access$000(this.this$0).getImageableY() * this.mZoom);
  97.       g.scale((double)1.0F / this.mZoom, (double)1.0F / this.mZoom);
  98.    }
  99. }
  100.