home *** CD-ROM | disk | FTP | other *** search
- package com.ibm.ivb.sguides;
-
- import java.awt.Component;
- import java.awt.Container;
- import java.util.Vector;
- import javax.swing.JComponent;
- import javax.swing.SwingUtilities;
- import javax.swing.UIManager;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- import javax.swing.event.EventListenerList;
-
- public class SmartGuideNotebook extends JComponent {
- private static final String kCBIBMCopyright = "(c) Copyright IBM Corporation 1998";
- protected EventListenerList listenerList = new EventListenerList();
- protected transient ChangeEvent changeEvent;
- private int currentPage = -1;
- private Vector pages = new Vector();
- private boolean navVisible = true;
- SmartGuide guide;
- // $FF: synthetic field
- static Class class$javax$swing$event$ChangeListener;
- // $FF: synthetic field
- static Class class$com$ibm$ivb$sguides$MultiLineListener;
-
- public SmartGuideNotebook(SmartGuide var1) {
- this.guide = var1;
- this.updateUI();
- }
-
- public void addChangeListener(ChangeListener var1) {
- this.listenerList.add(class$javax$swing$event$ChangeListener != null ? class$javax$swing$event$ChangeListener : (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")), var1);
- }
-
- public void addHyperlinkListener(MultiLineListener var1) {
- this.listenerList.add(class$com$ibm$ivb$sguides$MultiLineListener != null ? class$com$ibm$ivb$sguides$MultiLineListener : (class$com$ibm$ivb$sguides$MultiLineListener = class$("com.ibm.ivb.sguides.MultiLineListener")), var1);
- }
-
- public void addLastPage(SmartGuidePage var1) {
- this.addPage(var1);
- }
-
- public void addPage(SmartGuidePage var1) {
- this.pages.addElement(var1);
- this.pageAdded(var1);
- }
-
- public void addPageAfter(SmartGuidePage var1, SmartGuidePage var2) {
- int var3 = this.pages.indexOf(var2);
- if (var3 != -1) {
- this.pages.insertElementAt(var1, var3 + 1);
- } else {
- this.pages.addElement(var1);
- }
-
- this.pageAdded(var1);
- }
-
- public void addPageBefore(SmartGuidePage var1, SmartGuidePage var2) {
- int var3 = this.pages.indexOf(var2);
- if (var3 != -1) {
- this.pages.insertElementAt(var1, var3);
- } else {
- this.pages.addElement(var1);
- }
-
- this.pageAdded(var1);
- }
-
- private void conserveFocus(SmartGuidePage var1) {
- if (var1 != null) {
- Component var2 = var1.getClient();
- if (var2 != null && var2.getParent() != null) {
- Component var3 = SwingUtilities.findFocusOwner(var2);
- if (var3 != null) {
- var1.setFocusComponent(var3);
- }
-
- }
- }
- }
-
- public void fireHyperlinkChanged(MultiLineEvent var1) {
- Object[] var2 = this.listenerList.getListenerList();
-
- for(int var3 = var2.length - 2; var3 >= 0; var3 -= 2) {
- if (var2[var3] == (class$com$ibm$ivb$sguides$MultiLineListener != null ? class$com$ibm$ivb$sguides$MultiLineListener : (class$com$ibm$ivb$sguides$MultiLineListener = class$("com.ibm.ivb.sguides.MultiLineListener")))) {
- ((MultiLineListener)var2[var3 + 1]).linkStateChanged(var1);
- }
- }
-
- }
-
- protected void fireStateChanged() {
- Object[] var1 = this.listenerList.getListenerList();
-
- for(int var2 = var1.length - 2; var2 >= 0; var2 -= 2) {
- if (var1[var2] == (class$javax$swing$event$ChangeListener != null ? class$javax$swing$event$ChangeListener : (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")))) {
- if (this.changeEvent == null) {
- this.changeEvent = new ChangeEvent(this);
- }
-
- ((ChangeListener)var1[var2 + 1]).stateChanged(this.changeEvent);
- }
- }
-
- }
-
- public SmartGuidePage getCurrentPage() {
- if (this.pages.size() == 0) {
- return null;
- } else {
- return this.currentPage > -1 ? (SmartGuidePage)this.pages.elementAt(this.currentPage) : null;
- }
- }
-
- public int getCurrentPageNumber() {
- return this.currentPage;
- }
-
- SmartGuidePage getNextPage(SmartGuidePage var1) {
- int var2 = this.getPageIndex(var1);
- if (var2 == -1) {
- return null;
- } else {
- return var2 == this.getPageCount() - 1 ? null : this.getPageAt(var2 + 1);
- }
- }
-
- public SmartGuidePage getPageAt(int var1) {
- return (SmartGuidePage)this.pages.elementAt(var1);
- }
-
- public int getPageCount() {
- return this.pages.size();
- }
-
- public int getPageIndex(SmartGuidePage var1) {
- return this.pages == null ? -1 : this.pages.indexOf(var1);
- }
-
- SmartGuidePage getPreviousPage(SmartGuidePage var1) {
- int var2 = this.getPageIndex(var1);
- return var2 < 1 ? null : this.getPageAt(var2 - 1);
- }
-
- public SmartGuide getSmartGuide() {
- return this.guide;
- }
-
- public String getUIClassID() {
- return "SmartGuideNotebookUI";
- }
-
- public boolean isNavigationButtonVisible() {
- return this.navVisible;
- }
-
- void pageAdded(SmartGuidePage var1) {
- var1.setSmartGuide(this.guide);
- var1.setAdded(true);
- var1.setNavigationButtonVisible(this.navVisible);
- ((SmartGuideNotebookUI)super.ui).pageAdded(this, var1);
- if (this.getPageCount() == 0) {
- this.turnToPage(var1);
- }
-
- }
-
- void pageRemoved(SmartGuidePage var1) {
- var1.setAdded(false);
- ((SmartGuideNotebookUI)super.ui).pageRemoved(this, var1);
- }
-
- public void removeChangeListener(ChangeListener var1) {
- this.listenerList.remove(class$javax$swing$event$ChangeListener != null ? class$javax$swing$event$ChangeListener : (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")), var1);
- }
-
- public void removeHyperlinkListener(MultiLineListener var1) {
- this.listenerList.remove(class$com$ibm$ivb$sguides$MultiLineListener != null ? class$com$ibm$ivb$sguides$MultiLineListener : (class$com$ibm$ivb$sguides$MultiLineListener = class$("com.ibm.ivb.sguides.MultiLineListener")), var1);
- }
-
- public void removePage(SmartGuidePage var1) {
- SmartGuidePage var2 = this.getCurrentPage();
- if (var2 == var1) {
- System.out.println("Removing the current page!!!");
- SmartGuidePage var3 = var1.getPreviousPage();
- if (var3 == null) {
- var3 = var1.getNextPage();
- }
-
- if (var3 == null) {
- this.currentPage = -1;
- this.fireStateChanged();
- var2 = null;
- } else {
- this.turnToPage(var3);
- var2 = var3;
- }
- }
-
- this.pages.removeElement(var1);
-
- for(int var4 = 0; var4 < this.getPageCount(); ++var4) {
- if (this.getPageAt(var4) == var2) {
- this.currentPage = var4;
- break;
- }
- }
-
- this.pageRemoved(var1);
- }
-
- public void setNavigationButtonVisible(boolean var1) {
- this.navVisible = var1;
-
- for(int var2 = 0; var2 < this.pages.size(); ++var2) {
- SmartGuidePage var3 = (SmartGuidePage)this.pages.elementAt(var2);
- var3.setNavigationButtonVisible(var1);
- }
-
- }
-
- public void turnToPage(SmartGuidePage var1) {
- this.turnToPage(var1.toString());
- }
-
- public void turnToPage(String var1) {
- if (this.getPageCount() >= 1) {
- SmartGuidePage var2 = null;
- boolean var3 = false;
- this.conserveFocus(this.getCurrentPage());
- int var4 = -1;
-
- for(var4 = 0; var4 < this.pages.size(); ++var4) {
- var2 = (SmartGuidePage)this.pages.elementAt(var4);
- if (var1.equals(var2.toString())) {
- var3 = true;
- break;
- }
-
- if (!this.guide.verifyPage(var2)) {
- return;
- }
- }
-
- if (var3) {
- this.currentPage = var4;
- var2.setSelected();
- this.fireStateChanged();
- var2.updateFocusComponent();
- if (var2.getFocusComponent() != null) {
- var2.getFocusComponent().requestFocus();
- }
-
- }
- }
- }
-
- public void updateUI() {
- ((JComponent)this).setUI(UIManager.getUI(this));
- ((Container)this).invalidate();
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
- }
-