summaryrefslogtreecommitdiffstats
path: root/kdejava/koala/test/khelpers/KHelpers.java
blob: fbc3fb54259142c01b572b3973707805a343aafc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import org.kde.qt.*;
import org.kde.koala.*;

/**
 *  Class KHelpers is the main application window.
 *
 *  Taken from KDE 2.0 Development book
 *
 *  ToolTips, What's This?, and More
 *
 *
 *
 * @see KMainWindow
 * @see KApplication
 *
 * @author java translation Kenneth J. Pouncey, kjpou@hotmail.com
 * @version 0.1
 */

public class KHelpers extends KMainWindow {

   // File menu item id's
   protected int idfilenew;
   protected int idfileopen;
   protected int idfilesave;
   protected int idfiletquit;

   // reference to the application
   KApplication kapp;

   // time to display the message in the status bar
   int HelpMessageTime = 200;

   public KHelpers () {

      // get a reference to the application
      kapp = KApplication.kApplication();

      TQPopupMenu file = new TQPopupMenu(this);

      idfilenew = file.insertItem("&New");
      idfileopen = file.insertItem("&Open...");
      idfilesave = file.insertItem("&Save");
      idfiletquit = file.insertItem("&Quit", kapp, SLOT("closeAllWindows()"));

      connect ( file, SIGNAL( "highlighted(int)"), this, SLOT( "slotMenuEntryHelp (int)"));

      menuBar().insertItem("&File",file);

      TQPopupMenu help = helpMenu("KHelpers\n" +
                                    "Copyright (C) 2000 By Joe Developer\n\n" +
                                    "KHelpers demonstates a few of the ways " +
                                    "that your application can provide help to a user");

      help.insertSeparator();
      help.insertItem("Help on a special topic", this, SLOT("slotSpecialHelp()"));

      menuBar().insertItem("&Help",help);

      // Create the statusbar
      statusBar();

      TQLabel clientarea = new TQLabel(this);
      clientarea.setBackgroundColor(Qt.white());

      TQToolTip.add(clientarea, "Functionless client area");
      TQWhatsThis.add(clientarea,"This client area doesn't do anything.");

      setCentralWidget(clientarea);

      clientarea.setFocus();
   }

   public void slotMenuEntryHelp (int id) {

      if (id == idfilenew) {
         statusBar().message("Create a new document.",HelpMessageTime);
      }
      else if (id == idfileopen) {

         statusBar().message("Open a file.",HelpMessageTime);

      }
      else if (id == idfilesave) {

         statusBar().message("Save the current document.",HelpMessageTime);

      }
      else if (id == idfiletquit) {

         statusBar().message("Quit the application.",HelpMessageTime);

      }
   }

   public void slotSpecialHelp() {

      String helpfilename = kapp.name();
      helpfilename += "/specialhelp.html";
      kapp.invokeHelp(helpfilename,"");
   }

}