home *** CD-ROM | disk | FTP | other *** search
/ Oracle Video Server 3.0.3.1 / OracleVideoServerManager3.0.3.1.iso / vsmc30 / vsm.jar / oracle / help / demo / DemoMain.java < prev    next >
Encoding:
Java Source  |  1998-03-31  |  12.3 KB  |  427 lines

  1. /* Copyright (C) 1997 Oracle Corp.  All rights reserved. */
  2.  
  3. package oracle.help.demo;
  4.  
  5. import java.awt.BorderLayout;
  6. import java.awt.Color;
  7. import java.awt.Cursor;
  8. import java.awt.Image;
  9. import java.awt.Menu;
  10. import java.awt.MenuBar;
  11. import java.awt.MenuItem;
  12. import java.awt.MenuShortcut;
  13. import java.awt.event.ActionEvent;
  14. import java.awt.event.ActionListener;
  15. import java.awt.event.KeyEvent;
  16. import java.awt.event.WindowAdapter;
  17. import java.awt.event.WindowEvent;
  18. import java.net.URL;
  19.  
  20. import oracle.ewt.imageCanvas.ImageCanvas;
  21. import oracle.ewt.lwAWT.BufferedFrame;
  22. import oracle.ewt.toolBar.ToolBar;
  23. import oracle.ewt.toolBar.ToolBarActionListener;
  24. import oracle.ewt.toolBar.ToolBarButton;
  25. import oracle.ewt.toolBar.ToolBarEvent;
  26. import oracle.ewt.toolBar.ToolBarItem;
  27. import oracle.ewt.toolBar.ToolBarMouseListener;
  28. import oracle.ewt.toolBar.ToolBarSeparator;
  29. import oracle.ewt.util.WindowUtils;
  30.  
  31. import oracle.help.HelpManager;
  32. import oracle.help.Help;
  33. import oracle.help.Book;
  34.  
  35. import oracle.help.util.Canonicalizer;
  36.  
  37. public class DemoMain extends BufferedFrame
  38.   implements ToolBarActionListener, ToolBarMouseListener, ActionListener
  39. {
  40.   public static void main(String[] args)
  41.   {
  42.     DemoMain main = new DemoMain();
  43.     main.setVisible(true);
  44.   }
  45.  
  46.   public DemoMain()
  47.   {
  48.     super("Oracle Discoverer");
  49.  
  50.     try
  51.     {
  52.       String basestring = "file:";
  53.       String separator = System.getProperty("file.separator");
  54.       if (separator.equals("\\"))
  55.         basestring = "file:/";
  56.       basestring = basestring + System.getProperty("install.root");
  57.       basestring = Canonicalizer.fixPathname(basestring);
  58.       basestring = basestring.concat("demodoc/");
  59.  
  60.       // create the book and add it as the default book to HelpManager
  61.       Book book = 
  62.        Help.createBook(basestring, "discoverer", "Oracle Discoverer");
  63.       helpManager.addBook(book, true);
  64.     }
  65.     catch (Exception e)
  66.     {
  67.       System.err.println("Failed while initializing help");
  68.       e.printStackTrace();
  69.       System.exit(0);
  70.     }
  71.  
  72.     setBackground(Color.lightGray);
  73.     setLayout(new BorderLayout());
  74.     
  75.     _toolbar = new ToolBar();
  76.     _toolbar.addToolBarMouseListener(this);
  77.  
  78.     _loginImage = ImageLoader.loadImage(this, "images/login.gif");
  79.     _loginSelImage = ImageLoader.loadImage(this, "images/sel_login.gif");
  80.     _openImage = ImageLoader.loadImage(this, "images/open.gif");
  81.     _openSelImage = ImageLoader.loadImage(this, "images/sel_open.gif");
  82.     _refreshImage = ImageLoader.loadImage(this, "images/refresh.gif");
  83.     _refreshSelImage = ImageLoader.loadImage(this, "images/sel_refresh.gif");
  84.     _optionImage = ImageLoader.loadImage(this, "images/options.gif");
  85.     _optionSelImage = ImageLoader.loadImage(this, "images/sel_options.gif");
  86.     _aboutImage = ImageLoader.loadImage(this, "images/about.gif");
  87.     _aboutSelImage = ImageLoader.loadImage(this, "images/sel_about.gif");
  88.     _helpImage = ImageLoader.loadImage(this, "images/help.gif");
  89.     _helpSelImage = ImageLoader.loadImage(this, "images/sel_help.gif");
  90.  
  91.     _loginButton = new ToolBarButton(LOGINBUTTON, _loginImage);
  92.     _openButton = new ToolBarButton(OPENBUTTON, _openImage);
  93.     _refreshButton = new ToolBarButton(REFRESHBUTTON, _refreshImage);
  94.     _optionButton = new ToolBarButton(OPTIONBUTTON, _optionImage);
  95.     _helpButton = new ToolBarButton(HELPBUTTON, _helpImage);
  96.     _aboutButton = new ToolBarButton(ABOUTBUTTON, _aboutImage);
  97.  
  98.     _toolbar.addItem(_loginButton);
  99.     _toolbar.addItem(_openButton);
  100.     _toolbar.addItem(_refreshButton);
  101.     _toolbar.addItem(_optionButton);
  102.     _toolbar.addItem(_helpButton);
  103.     _toolbar.addItem(_aboutButton);
  104.  
  105.     _loginButton.addToolBarActionListener(this);
  106.     _openButton.addToolBarActionListener(this);
  107.     _refreshButton.addToolBarActionListener(this);
  108.     _optionButton.addToolBarActionListener(this);
  109.     _helpButton.addToolBarActionListener(this);
  110.     _aboutButton.addToolBarActionListener(this);
  111.  
  112.     _loginButton.setEnabled(false);
  113.     _openButton.setEnabled(false);
  114.     _refreshButton.setEnabled(false);
  115.     _optionButton.setEnabled(true);
  116.     _helpButton.setEnabled(true);
  117.     _aboutButton.setEnabled(false);
  118.  
  119.     add(_toolbar, BorderLayout.NORTH);
  120.  
  121.     Image canvasImage = ImageLoader.loadImage(this, "images/canvas.gif");
  122.     ImageCanvas canvas = new ImageCanvas(canvasImage);
  123.  
  124.     add(canvas);
  125.  
  126.     addWindowListener(
  127.       new WindowAdapter() 
  128.       {
  129.         public void windowClosing(WindowEvent e)
  130.         {
  131.           {
  132.             setVisible(false);
  133.             System.exit(0);
  134.           }
  135.         }
  136.       }
  137.     );
  138.  
  139.     MenuBar menubar = new MenuBar();
  140.  
  141.     // File menu
  142.     Menu    filemenu    =  new Menu("File");
  143.     MenuItem tempItem = new MenuItem("New", new MenuShortcut(KeyEvent.VK_N));
  144.     tempItem.setEnabled(false);
  145.     filemenu.add(tempItem);
  146.     tempItem = new MenuItem("Open", new MenuShortcut(KeyEvent.VK_O));
  147.     tempItem.setEnabled(false);
  148.     filemenu.add(tempItem);
  149.     tempItem = new MenuItem("Close");
  150.     tempItem.setEnabled(false);
  151.     filemenu.add(tempItem);
  152.     filemenu.addSeparator();
  153.     tempItem = new MenuItem("Save", new MenuShortcut(KeyEvent.VK_S));
  154.     tempItem.setEnabled(false);
  155.     filemenu.add(tempItem);    
  156.     filemenu.addSeparator();
  157.     _exitMenuItem = new MenuItem("Exit");
  158.     filemenu.add(_exitMenuItem);
  159.     _exitMenuItem.addActionListener(this);
  160.     menubar.add(filemenu);
  161.  
  162.     // Edit menu
  163.     Menu editmenu = new Menu("Edit");
  164.     MenuItem undoItem = new MenuItem("Undo", new MenuShortcut(KeyEvent.VK_Z));
  165.     undoItem.setEnabled(false);
  166.     editmenu.add(undoItem);
  167.     editmenu.addSeparator();
  168.     MenuItem cutItem = new MenuItem("Cut", new MenuShortcut(KeyEvent.VK_X));
  169.     cutItem.setEnabled(false);
  170.     editmenu.add(cutItem);
  171.     MenuItem copyItem = new MenuItem("Copy", new MenuShortcut(KeyEvent.VK_C));
  172.     copyItem.setEnabled(false);
  173.     editmenu.add(copyItem);
  174.     MenuItem pasteItem = new MenuItem("Paste",
  175.                                       new MenuShortcut(KeyEvent.VK_V));
  176.     pasteItem.setEnabled(false);
  177.     editmenu.add(pasteItem);
  178.     menubar.add(editmenu);
  179.  
  180.     // Parameters menu
  181.     Menu paramMenu = new Menu("Parameters");
  182.     _newParamMenuItem = new MenuItem("New...");
  183.     _newParamMenuItem.addActionListener(this);
  184.     paramMenu.add(_newParamMenuItem);
  185.     MenuItem editParamItem = new MenuItem("Edit...");
  186.     editParamItem.setEnabled(false);
  187.     paramMenu.add(editParamItem);
  188.     MenuItem deleteParamItem = new MenuItem("Delete");
  189.     deleteParamItem.setEnabled(false);
  190.     paramMenu.add(deleteParamItem);
  191.     menubar.add(paramMenu);
  192.  
  193.     // Sheet menu
  194.     Menu sheetMenu = new Menu("Sheet");
  195.     tempItem = new MenuItem("New Sheet...");
  196.     tempItem.setEnabled(false);
  197.     sheetMenu.add(tempItem);
  198.     tempItem = new MenuItem("Edit Sheet...");
  199.     tempItem.setEnabled(false);
  200.     sheetMenu.add(tempItem);
  201.     tempItem = new MenuItem("Duplicate as Table...");
  202.     tempItem.setEnabled(false);
  203.     sheetMenu.add(tempItem);
  204.     tempItem = new MenuItem("Duplicate as Crosstab...");
  205.     tempItem.setEnabled(false);
  206.     sheetMenu.add(tempItem);
  207.     sheetMenu.addSeparator();
  208.     tempItem = new MenuItem("Rename Sheet...");
  209.     tempItem.setEnabled(false);
  210.     sheetMenu.add(tempItem);
  211.     tempItem = new MenuItem("Delete Sheet...");
  212.     tempItem.setEnabled(false);
  213.     sheetMenu.add(tempItem);
  214.     tempItem = new MenuItem("Edit Title...");
  215.     tempItem.setEnabled(false);
  216.     sheetMenu.add(tempItem);
  217.     menubar.add(sheetMenu);
  218.  
  219.     // Format menu
  220.     Menu formatMenu = new Menu("Format");
  221.     tempItem = new MenuItem("Data...");
  222.     tempItem.setEnabled(false);
  223.     formatMenu.add(tempItem);
  224.     tempItem = new MenuItem("Headings...");
  225.     tempItem.setEnabled(false);
  226.     formatMenu.add(tempItem);
  227.     tempItem = new MenuItem("Exceptions...");
  228.     tempItem.setEnabled(false);
  229.     formatMenu.add(tempItem);
  230.     menubar.add(formatMenu);
  231.  
  232.     // Help menu
  233.     Menu helpmenu = new Menu("Help");
  234.     _contentsMenuItem = new MenuItem("Help Contents");
  235.     _contentsMenuItem.addActionListener(this);
  236.     helpmenu.add(_contentsMenuItem);
  237.     _indexMenuItem    = new MenuItem("Topic Index");
  238.     _indexMenuItem.addActionListener(this);
  239.     helpmenu.add(_indexMenuItem);
  240.     _searchMenuItem   = new MenuItem("Full Text Search");
  241.     _searchMenuItem.addActionListener(this);
  242.     helpmenu.add(_searchMenuItem);
  243.     menubar.setHelpMenu(helpmenu);
  244.  
  245.     setMenuBar(menubar);    
  246.  
  247.     pack();
  248.     pack();
  249.   }
  250.  
  251.   /**
  252.    * Returns the HelpManager of this application.
  253.    */
  254.   public static HelpManager getHelpManager()
  255.   {
  256.     return helpManager;
  257.   }
  258.  
  259.   public void toolBarItemActionPerformed(ToolBarEvent e)
  260.   {
  261.     int id = e.getItem().getID();
  262.  
  263.     switch(id)
  264.     {
  265.     case OPTIONBUTTON:
  266.       if (_paramDialog == null)
  267.       {
  268.         _paramDialog = new ParamDialog(this);
  269.         WindowUtils.centerWindow(_paramDialog, this);
  270.       }
  271.       _paramDialog.setVisible(true);
  272.       break;
  273.  
  274.     case HELPBUTTON:
  275.       helpManager.showContents();
  276.       break;
  277.     }
  278.   }
  279.  
  280.   public void toolBarItemMouseEntered(ToolBarEvent e)
  281.   {
  282.     ToolBarItem item = e.getItem();
  283.     int id = item.getID();
  284.  
  285.     if (!item.isEnabled())
  286.       return;
  287.  
  288.     switch(id)
  289.     {
  290.     case LOGINBUTTON:
  291.       _loginButton.setIcon(_loginSelImage);
  292.       break;
  293.  
  294.     case OPENBUTTON:
  295.       _openButton.setIcon(_openSelImage);
  296.       break;
  297.  
  298.     case REFRESHBUTTON:
  299.       _refreshButton.setIcon(_refreshSelImage);
  300.       break;
  301.  
  302.     case OPTIONBUTTON:
  303.       _optionButton.setIcon(_optionSelImage);
  304.       break;
  305.  
  306.     case HELPBUTTON:
  307.       _helpButton.setIcon(_helpSelImage);
  308.       break;
  309.       
  310.     case ABOUTBUTTON:
  311.       _aboutButton.setIcon(_aboutSelImage);
  312.       break;
  313.     }
  314.   }
  315.  
  316.   public void toolBarItemMouseExited(ToolBarEvent e)
  317.   {
  318.     ToolBarItem item = e.getItem();
  319.     int id = item.getID();
  320.  
  321.     if (!item.isEnabled())
  322.       return;
  323.  
  324.     switch(id)
  325.     {
  326.     case LOGINBUTTON:
  327.       _loginButton.setIcon(_loginImage);
  328.       break;
  329.  
  330.     case OPENBUTTON:
  331.       _openButton.setIcon(_openImage);
  332.       break;
  333.  
  334.     case REFRESHBUTTON:
  335.       _refreshButton.setIcon(_refreshImage);
  336.       break;
  337.  
  338.     case OPTIONBUTTON:
  339.       _optionButton.setIcon(_optionImage);
  340.       break;
  341.  
  342.     case HELPBUTTON:
  343.       _helpButton.setIcon(_helpImage);
  344.       break;
  345.       
  346.     case ABOUTBUTTON:
  347.       _aboutButton.setIcon(_aboutImage);
  348.       break;
  349.     }
  350.   }
  351.  
  352.   public void actionPerformed(ActionEvent e)
  353.   {
  354.     Object source = e.getSource();
  355.  
  356.     if (source == _exitMenuItem)
  357.       System.exit(0);
  358.  
  359.     if (source == _contentsMenuItem)
  360.     {
  361.       setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
  362.       helpManager.showContents();
  363.       setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
  364.     }
  365.     else if (source == _indexMenuItem)
  366.     {
  367.       setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
  368.       helpManager.showIndex();
  369.       setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
  370.     }
  371.     else if (source == _searchMenuItem)
  372.     { 
  373.       setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
  374.       helpManager.showSearch();
  375.       setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
  376.     }
  377.     else if (source == _newParamMenuItem)
  378.     {
  379.       if (_paramDialog == null)
  380.       {
  381.         _paramDialog = new ParamDialog(this);
  382.         WindowUtils.centerWindow(_paramDialog, this);
  383.       }
  384.       _paramDialog.setVisible(true);
  385.     }      
  386.   }
  387.     
  388.   // instance variables
  389.   public final  static HelpManager  helpManager
  390.                                         = new HelpManager(new Help());
  391.  
  392.   private final static int LOGINBUTTON = 1;
  393.   private final static int OPENBUTTON = 2;
  394.   private final static int REFRESHBUTTON = 3;
  395.   private final static int OPTIONBUTTON = 4;
  396.   private final static int HELPBUTTON = 5;
  397.   private final static int ABOUTBUTTON = 6;
  398.  
  399.   private Image _loginImage;
  400.   private Image _loginSelImage;
  401.   private Image _openImage;
  402.   private Image _openSelImage;
  403.   private Image _refreshImage;
  404.   private Image _refreshSelImage;
  405.   private Image _optionImage;
  406.   private Image _optionSelImage;
  407.   private Image _helpImage;
  408.   private Image _helpSelImage;
  409.   private Image _aboutImage;
  410.   private Image _aboutSelImage;
  411.  
  412.   private ToolBarButton _loginButton;
  413.   private ToolBarButton _openButton;
  414.   private ToolBarButton _refreshButton;
  415.   private ToolBarButton _optionButton;
  416.   private ToolBarButton _helpButton;
  417.   private ToolBarButton _aboutButton;
  418.  
  419.   private ToolBar _toolbar;
  420.  
  421.   private ParamDialog _paramDialog;
  422.  
  423.   private MenuItem _exitMenuItem;
  424.   private MenuItem _contentsMenuItem, _searchMenuItem, _indexMenuItem;
  425.   private MenuItem _newParamMenuItem;
  426.