summaryrefslogtreecommitdiffstats
path: root/kdejava/koala/test/kmenu/KdeMenuSample.java
blob: b78321184d862493119e1b5e823e219d91476ca0 (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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/*
 * KdeMenuSample.java
 *
 * Created on 8. Marz 2002, 20:31
 */

//package com.werpu.sample3;

//import com.werpu.common.*;
import org.kde.koala.kdejava;
import org.kde.qt.qtjava;

import org.kde.koala.KMainWindow;
import org.kde.koala.KCmdLineArgs;
import org.kde.qt.QPopupMenu;
import org.kde.qt.QTextView;
import org.kde.koala.KMenuBar;
import org.kde.koala.KApplication;
import org.kde.koala.KURL;
import org.kde.koala.KFileDialog;
import org.kde.koala.KMessageBox;
import org.kde.qt.QColor;
import org.kde.qt.QButton;
import org.kde.koala.KPushButton;



/**
 * @author  Werner Punz werpu@gmx.at
 * To Java translated KDE Menu Example from
 * The kde.org KDE Tutorial from Antonio Larrosa Jimenez 
 * http://person.wanadoo.es/antlarr/tutorial
 */
public class KdeMenuSample extends KMainWindow {
    
   static {
      qtjava.initialize();
      kdejava.initialize();
	}
    
    KApplication kApp = null;

    /** Creates a new instance of KdeMenuSample */
    public KdeMenuSample(KApplication kApp) {
        super(null,"Menu Sample",1);
        this.kApp = kApp;
        setCaption("KDE3 Tutorial");
        createMenu();
        QTextView centralWidget = createTextView();
        
        this.setCentralWidget(centralWidget);
    }
    
    
    /**
     * creates the file menu
     */
    private QPopupMenu createFileMenu() {
        QPopupMenu fileMenu = new QPopupMenu(this);
        fileMenu.insertItem("&Open",this,this.SLOT("fileOpen()"));
        fileMenu.insertItem("&Save",this,this.SLOT("fileSave()"));
        fileMenu.insertItem("&Quit",kApp,kApp.SLOT("quit()"));
        return fileMenu;
    }
    
    /**
     * creates the about menu
     */
    private QPopupMenu createAboutMenu() {
        StringBuffer aboutText = new StringBuffer();
        
        aboutText.append("Menu Example: \n ");
        aboutText.append("Originally written by Antonio Larrosa Jimenez larossa@kde.org \n");
        aboutText.append("Translated to Java by Werner Punz werpu@gmx.at \n");
        aboutText.append("Simple KDE Tutorial\n");
        aboutText.append("This tutorial comes with ABSOLUTELY NO WARRANTY\n");
        aboutText.append("This is free software, and you are welcome to redistribute it\n");
        aboutText.append("under certain conditions\n");
        
        QPopupMenu aboutMenu = helpMenu(aboutText.toString(),true);
        
        return aboutMenu;
    }
    
    /**
     * creates the menu
     */
    private void createMenu() {
       KMenuBar mainMenu = kmenuBar();
       mainMenu.insertItem("&File",createFileMenu());
       mainMenu.insertSeparator();
       mainMenu.insertItem("&About",createAboutMenu());
    }
       
    /**
     * creates the textview of the window
     */
    private QTextView createTextView() {
        StringBuffer textBuf = new StringBuffer();
        textBuf.append("<H2>Hello World !</H2><BR>This is a simple");
        textBuf.append(" window with <I><font size=5><B>R<font color=red");
        textBuf.append(" size=5>ich </font><font color=blue size=5>Text");
        textBuf.append("</font></B></I> capabilities<BR>Try to resize");
        textBuf.append(" this window, all this is automatic !</H2>");
        
        QTextView mainTextView = new QTextView(this,"");
        mainTextView.setText(textBuf.toString());
        
        
        return mainTextView;
    }
    
    //--------------------------------------------------------------
    //Slots
    //--------------------------------------------------------------
    public void fileOpen() {
         //System.out.println("File Open");
         KURL filename = KFileDialog.getOpenURL("", "*", this,"Open File" );
         String msg = "Now this app should open the url " + filename.url();
         KMessageBox.information(this , msg, "Information" , "fileOpenInformationDialog" );
    }
    
    public void fileSave() {
        KURL filename = KFileDialog.getSaveURL( "" , "*", this, "Save File" );
    }
    
    //----------------------------------------------------------------
    // main method
    //----------------------------------------------------------------
    public static void main(String [] argv) {
	KCmdLineArgs.init(argv, "menuapp", "MenuApp",
                         "A simple menu example", "0.1");
        KApplication menuApp = new KApplication();
        KdeMenuSample mainWnd = new KdeMenuSample(menuApp);
        
        mainWnd.resize(100,300);
        menuApp.setMainWidget(mainWnd);
        
        mainWnd.show();
        menuApp.exec();
    }
}