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
|
import java.util.*;
import org.kde.qt.*;
import org.kde.koala.*;
/**
* Class to text KComboBox widgets.
*
* This is a translation to java from kcomboboxtest.cpp in the tests library
* of tdeui source.
*
* Combo boxes tested
* - Editable ComboBox
* - Select Only ComboBox
* @see KComboBox
* @see KApplication
* @see KConfig
*
* @author original author unknown, java translation Kenneth J. Pouncey,
kjpou@hotmail.com
* @version 0.1
*/
public class KComboBoxTest {
static String description = "Java KComboBox test program.";
static String[][] options = { };
static String VERSION = "0.1";
public static void main(String[] cmdLineArgs) {
KAboutData aboutData = new KAboutData( "kcomboboxtest", "KComboBoxTest",
VERSION, description, KAboutData.License_GPL,
"(c) 2002, Kenneth J. Pouncey");
aboutData.addAuthor("Kenneth J. Pouncey",null, "kjpou@hotmail.com");
KCmdLineArgs.init( cmdLineArgs, aboutData );
KCmdLineArgs.addCmdLineOptions( options ); // Add our own options.
KApplication app = new KApplication();
// parse the args
KCmdLineArgs args = KCmdLineArgs.parsedArgs();
// Make a central widget to contain the other widgets
QWidget w = new QWidget();
// Insert the widget container (parent widget) into
// a layout manager (VERTICAL).
QVBoxLayout vbox = new QVBoxLayout( w, KDialog.marginHint(),
KDialog.spacingHint() );
// Resize the widget
w.resize( 500, 100 );
String[] list = {"Stone" , "Tree" , "Pebbles" , "Ocean" , "Sand" , "Chips"
, "Computer" , "Mankind"};
// Create and modify read-write widget
KComboBox rwc = new KComboBox( true, w, "rwcombobox" );
QLabel lblrw = new QLabel( rwc, "&Editable ComboBox", w, "rwcombolabel",0
);
rwc.setDuplicatesEnabled( true );
rwc.completionObject().setItems( list );
rwc.setInsertionPolicy( QComboBox.NoInsertion );
rwc.insertStringList( list );
rwc.setEditText( "KDE Java Bindings" );
// Create a read-write combobox and reproduce konqueror's code
KComboBox konqc = new KComboBox( true, w, "konqc" );
konqc.setMaxCount( 10 );
KSimpleConfig historyConfig = new KSimpleConfig("konq_history");
historyConfig.setGroup( "Location Bar" );
KCompletion s_pCompletion = new KCompletion();
s_pCompletion.setOrder( KCompletion.Weighted );
String[] rle = null;
// historyConfig.readListEntry( "ComboContents" ,rle);
s_pCompletion.setItems( rle );
s_pCompletion.setCompletionMode( KGlobalSettings.completionMode() );
konqc.setCompletionObject( s_pCompletion );
QLabel lblkonq = new QLabel( konqc, "&Konqueror's ComboBox", w );
// konqc.insertItem( KIconLoader.SmallIcon("www"),
// "http://www.kde.org" );
konqc.insertItem( app.iconLoader().loadIcon("www",0 ),
"http://www.kde.org" );
konqc.setCurrentItem( konqc.count()-1 );
// Create a read-only widget
KComboBox soc = new KComboBox( w, "socombobox" );
QLabel lblso = new QLabel( soc, "&Select-Only ComboBox", w, "socombolabel",0 );
soc.setCompletionMode( KGlobalSettings.CompletionAuto );
soc.completionObject().setItems( list );
soc.insertStringList( list );
// Create an exit button
QPushButton push = new QPushButton( "E&xit", w );
QObject.connect( push, Qt.SIGNAL("clicked()"), app, Qt.SLOT("closeAllWindows()" ) );
// Insert the widgets into the layout manager.
vbox.addWidget( lblrw );
vbox.addWidget( rwc );
vbox.addWidget( lblso );
vbox.addWidget( soc );
vbox.addWidget( lblkonq );
vbox.addWidget( konqc );
vbox.addWidget( push );
app.setMainWidget(w);
rwc.setFocus();
w.show();
app.exec();
return;
}
static {
qtjava.initialize();
kdejava.initialize();
}
}
|