home *** CD-ROM | disk | FTP | other *** search
- package com.ibm.ivb.sguides.cb;
-
- import com.ibm.ivb.sguides.SmartGuidePage;
- import com.ibm.ivb.sguides.basic.BasicSmartGuideNotebookUI;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.LayoutManager;
- import java.awt.MediaTracker;
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.Toolkit;
- import java.awt.image.ImageObserver;
- import java.awt.image.MemoryImageSource;
- import javax.swing.Icon;
- import javax.swing.JComponent;
- import javax.swing.SwingUtilities;
- import javax.swing.UIManager;
- import javax.swing.border.Border;
- import javax.swing.plaf.ComponentUI;
-
- public class CBSmartGuideNotebookUI extends BasicSmartGuideNotebookUI implements LayoutManager {
- private static final String kCBIBMCopyright = "(c) Copyright IBM Corporation 1998";
- protected static Font tfont;
- protected static Color tcolor = new Color(0, 0, 128);
- protected static Icon navIcon = new NavButtonIcon();
- protected static Border navBorder = new NavButtonBorder();
- protected int thgap = 4;
- protected NavButton navButton;
- protected Color nscolor = (Color)UIManager.get("Panel.foreground");
- protected int firstPage;
- protected int lastPage = -1;
- Image dimage;
- // $FF: renamed from: c java.awt.Component
- static Component field_0 = new 1();
- // $FF: renamed from: mt java.awt.MediaTracker
- MediaTracker field_1;
-
- public CBSmartGuideNotebookUI() {
- this.field_1 = new MediaTracker(field_0);
- super.titleEnabled = true;
- super.descEnabled = true;
- }
-
- protected Dimension calculateSize() {
- int var1 = 0;
- int var2 = 0;
-
- for(int var3 = 0; var3 < super.sgbook.getPageCount(); ++var3) {
- SmartGuidePage var4 = super.sgbook.getPageAt(var3);
- Component var5 = var4.getClient();
- Dimension var6 = new Dimension(0, 0);
- Dimension var7 = new Dimension(0, 0);
- if (var5 != null) {
- var6 = var5.getPreferredSize();
- }
-
- Icon var8 = var4.getIcon();
- if (var8 != null && var4.getIconMode()) {
- var7 = new Dimension(var8.getIconWidth(), var8.getIconHeight());
- }
-
- int var9 = BasicSmartGuideNotebookUI.cinsets.left + var6.width + BasicSmartGuideNotebookUI.cinsets.right;
- int var10 = BasicSmartGuideNotebookUI.cinsets.top + var6.height + BasicSmartGuideNotebookUI.cinsets.bottom;
- int var11 = 3;
- var11 += super.title.getPreferredSize().height + this.thgap + this.thgap;
- int var12 = 0;
- super.desc.setSize(var6.width, 0);
- var12 = super.desc.getPreferredHeight(var6.width, var4.getDescription());
- var12 += BasicSmartGuideNotebookUI.cinsets.top;
- int var13 = 0;
- if (var7.width > 0) {
- var13 = BasicSmartGuideNotebookUI.imageInsets.left + var7.width + BasicSmartGuideNotebookUI.imageInsets.right;
- }
-
- var1 = Math.max(var9 + var13, var1);
- var2 = Math.max(var10 + var11 + var12, var2);
- }
-
- var1 = Math.max(var1, 600);
- var2 = Math.max(var2, 400);
- return new Dimension(var1, var2);
- }
-
- public static ComponentUI createUI(JComponent var0) {
- return new CBSmartGuideNotebookUI();
- }
-
- protected Font getTitleFont() {
- if (tfont == null) {
- tfont = new Font("SansSerif", 0, 14);
- }
-
- return tfont;
- }
-
- private int getTitleWidth() {
- FontMetrics var1 = field_0.getFontMetrics(tfont);
- int var2 = 0;
-
- for(int var3 = 0; var3 < super.sgbook.getPageCount(); ++var3) {
- SmartGuidePage var4 = super.sgbook.getPageAt(var3);
- String var5 = var4.getTitle();
- int var6 = var1.stringWidth(var5);
- var2 = Math.max(var6, var2);
- }
-
- return var2;
- }
-
- public void installUI(JComponent var1) {
- super.installUI(var1);
- this.navButton = new NavButton(this, super.sgbook);
- this.navButton.setHorizontalAlignment(2);
- ((Container)var1).add(this.navButton);
- var1.setBorder((Border)null);
- BasicSmartGuideNotebookUI.cinsets.top = 10;
- BasicSmartGuideNotebookUI.cinsets.left = 10;
- BasicSmartGuideNotebookUI.cinsets.bottom = 10;
- BasicSmartGuideNotebookUI.cinsets.right = 10;
- super.title.setForeground(tcolor);
- }
-
- public void layoutContainer(Container var1) {
- Dimension var2 = ((Component)var1).getSize();
- Rectangle var3 = new Rectangle(var2);
- Icon var4 = (Icon)super.sgbook.getSmartGuide().getClientProperty("CommonIcon");
- int var5 = var4 != null ? var4.getIconWidth() : 20;
- if (super.icon == null) {
- var5 = 0;
- }
-
- boolean var6 = false;
- int var7 = 0;
- if (super.icon != null) {
- var7 = BasicSmartGuideNotebookUI.imageInsets.left + super.icon.getIconWidth() + BasicSmartGuideNotebookUI.imageInsets.right;
- }
-
- int var8 = var3.width - var7;
- Component var9 = super.prevPage != null ? super.prevPage.getClient() : null;
- Component var10 = super.currPage != null ? super.currPage.getClient() : null;
- if (var9 != null && var9.getParent() == null && var10 != null && SwingUtilities.findFocusOwner(var9) != null) {
- var6 = true;
- }
-
- int var11 = var8 - BasicSmartGuideNotebookUI.cinsets.left - BasicSmartGuideNotebookUI.cinsets.right;
- int var12 = var3.width - BasicSmartGuideNotebookUI.cinsets.left - BasicSmartGuideNotebookUI.cinsets.right - var5;
- int var13 = 1;
- int var14 = super.title.getPreferredSize().height + this.thgap + this.thgap;
- int var15 = BasicSmartGuideNotebookUI.cinsets.left;
- if (super.currPage != null && super.currPage.isNavigationButtonVisible()) {
- int var16 = this.navButton.getPreferredSize().width;
- this.navButton.setVisible(true);
- int var17 = this.getTitleWidth() + var16 + 5 + 5;
- this.navButton.setSize(var17, var14 - 2);
- this.navButton.setLocation(var15, var13 + var14 / 2 - this.navButton.getHeight() / 2);
- var15 += var16 + 5;
- this.navButton.setPopupLocation(new Point(BasicSmartGuideNotebookUI.cinsets.left, var13 + var14 + 2));
- super.title.setForeground(tcolor);
- } else {
- this.navButton.setVisible(false);
- super.title.setForeground(this.nscolor);
- }
-
- super.title.setSize(var11, super.title.getPreferredSize().height);
- super.title.setLocation(var15, var13 + this.thgap);
- var13 += super.title.getHeight() + this.thgap + this.thgap + 2;
- super.desc.setSize(var12, super.desc.getPreferredHeight(var12));
- var13 += BasicSmartGuideNotebookUI.cinsets.top;
- super.desc.setLocation(BasicSmartGuideNotebookUI.cinsets.left + var3.x, var13);
- var13 += super.desc.getSize().height + BasicSmartGuideNotebookUI.cinsets.top;
- if (var10 != null) {
- var10.setLocation(var3.x + BasicSmartGuideNotebookUI.cinsets.left, var13 + BasicSmartGuideNotebookUI.cinsets.top);
- var10.setSize(var3.width - var7 - BasicSmartGuideNotebookUI.cinsets.left - BasicSmartGuideNotebookUI.cinsets.right, var3.height - (var13 - var3.y) - BasicSmartGuideNotebookUI.cinsets.top - BasicSmartGuideNotebookUI.cinsets.bottom);
- var10.setVisible(true);
- var10.validate();
- if (var6) {
- ((BasicSmartGuideNotebookUI)this).transferFocusTo(var10);
- }
- }
-
- }
-
- protected Image makeDitherImage(String var1, int var2, int var3) {
- if (this.dimage != null && this.dimage.getWidth((ImageObserver)null) == var2 && this.dimage.getHeight((ImageObserver)null) == var3) {
- return this.dimage;
- } else {
- int[] var4 = new int[var2 * var3];
- int var5 = 0;
- Color var6 = super.sgbook.getBackground();
- int var7 = var6.getRed() + 1;
- int var8 = var6.getGreen() + 1;
- int var9 = var6.getBlue() + 1;
- byte var10 = 20;
- byte var11 = 44;
- byte var12 = 120;
- boolean var13 = true;
- int var14 = var10 - var7;
- int var15 = var11 - var8;
- int var16 = var12 - var9;
- double var17 = (double)(var2 * var2);
-
- for(int var19 = 0; var19 < var3; ++var19) {
- for(int var20 = 0; var20 < var2; ++var20) {
- double var24 = (double)(var20 * var20);
- byte var26 = 5;
- double var27 = var24 / var17;
- int var21 = (int)(var27 * (double)var14) + var7;
- int var22 = (int)(var27 * (double)var15) + var8;
- int var23 = (int)(var27 * (double)var16) + var9;
- int var29 = var26 + var26;
- var21 += (int)((double)var29 * Math.random() - (double)var26);
- var22 += (int)((double)var29 * Math.random() - (double)var26);
- var23 += (int)((double)var29 * Math.random() - (double)var26);
- var21 = Math.min(Math.max(0, var21), 255);
- var22 = Math.min(Math.max(0, var22), 255);
- var23 = Math.min(Math.max(0, var23), 255);
- var4[var5++] = -16777216 | var21 << 16 | var22 << 8 | var23;
- }
- }
-
- Image var31 = Toolkit.getDefaultToolkit().createImage(new MemoryImageSource(var2, var3, var4, 0, var2));
- this.field_1.addImage(var31, 0);
-
- try {
- this.field_1.waitForID(0);
- } catch (InterruptedException var30) {
- return null;
- }
-
- this.field_1.removeImage(var31);
- this.dimage = var31;
- return var31;
- }
- }
-
- public void paint(Graphics var1, JComponent var2) {
- Dimension var3 = ((Component)var2).getSize();
- Rectangle var4 = new Rectangle(var3);
- int var5 = BasicSmartGuideNotebookUI.imageInsets.left + BasicSmartGuideNotebookUI.imageInsets.right;
- if (super.icon != null) {
- var5 += super.icon.getIconWidth();
- }
-
- int var6 = var4.x + var4.width - var5;
- int var7 = super.title.getY() + super.title.getHeight() + this.thgap;
- int var8 = super.desc.getY() + super.desc.getHeight() + BasicSmartGuideNotebookUI.cinsets.top;
- SmartGuidePage var9 = super.sgbook.getCurrentPage();
- Color var10 = ((Component)var2).getBackground();
- Icon var11 = (Icon)super.sgbook.getSmartGuide().getClientProperty("CommonIcon");
- int var12 = this.thgap + super.title.getHeight() + this.thgap;
- int var13 = var4.width;
- int var14 = var13 / 5;
- var13 -= var14 + 1;
- Image var15 = this.makeDitherImage(var9.toString(), var13, var12);
- if (var15 != null) {
- var1.drawImage(var15, var14, 1, (ImageObserver)null);
- }
-
- var1.setColor(var10.darker());
- var1.drawLine(1, var7, var3.width - 2, var7);
- var1.setColor(var10.brighter());
- var1.drawLine(1, 0, var3.width - 2, 0);
- var1.drawLine(1, var7 + 1, var3.width - 2, var7 + 1);
- if (var11 != null) {
- byte var16 = 2;
- int var17 = var3.width - var16 - var11.getIconWidth();
- byte var18 = 1;
- var11.paintIcon(var2, var1, var17, var18);
- }
-
- if (super.icon != null) {
- int var20 = var4.height - var8;
- super.icon.paintIcon(var2, var1, var6 + BasicSmartGuideNotebookUI.imageInsets.left, var8 + var20 / 2 - super.icon.getIconHeight() / 2);
- }
-
- }
-
- public void uninstallUI(JComponent var1) {
- super.uninstallUI(var1);
- }
- }
-