Code for Line Edits Example
/****************************************************************************
**
** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
**
** This file is part of Qt Jambi.
**
** ** This file may be used under the terms of the GNU General Public
** License version 2.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of
** this file. Please review the following information to ensure GNU
** General Public Licensing requirements will be met:
** http://www.trolltech.com/products/qt/opensource.html
**
** If you are unsure which license is appropriate for your use, please
** review the following information:
** http://www.trolltech.com/products/qt/licensing.html or contact the
** sales department at sales@trolltech.com.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/
package com.trolltech.examples;
import com.trolltech.qt.core.*;
import com.trolltech.qt.gui.*;
@QtJambiExample(name = "Line Edits")
public class LineEdits extends QWidget {
private QLineEdit echoLineEdit;
private QLineEdit validatorLineEdit;
private QLineEdit alignmentLineEdit;
private QLineEdit inputMaskLineEdit;
private QLineEdit accessLineEdit;
public static void main(String args[]) {
QApplication.initialize(args);
LineEdits lineedits = new LineEdits();
lineedits.show();
QApplication.exec();
}
public LineEdits() {
this(null);
}
public LineEdits(QWidget parent) {
super(parent);
QGroupBox echoGroup = new QGroupBox(tr("Echo"));
QLabel echoLabel = new QLabel(tr("Mode:"));
QComboBox echoComboBox = new QComboBox();
echoComboBox.addItem(tr("Normal"));
echoComboBox.addItem(tr("Password"));
echoComboBox.addItem(tr("No Echo"));
setWindowIcon(new QIcon("classpath:com/trolltech/images/qt-logo.png"));
echoLineEdit = new QLineEdit();
echoLineEdit.setFocus();
QGroupBox validatorGroup = new QGroupBox(tr("Validator"));
QLabel validatorLabel = new QLabel(tr("Type:"));
QComboBox validatorComboBox = new QComboBox();
validatorComboBox.addItem(tr("No validator"));
validatorComboBox.addItem(tr("Integer validator"));
validatorComboBox.addItem(tr("Double validator"));
validatorLineEdit = new QLineEdit();
QGroupBox alignmentGroup = new QGroupBox(tr("Alignment"));
QLabel alignmentLabel = new QLabel(tr("Type:"));
QComboBox alignmentComboBox = new QComboBox();
alignmentComboBox.addItem(tr("Left"));
alignmentComboBox.addItem(tr("Centered"));
alignmentComboBox.addItem(tr("Right"));
alignmentLineEdit = new QLineEdit();
QGroupBox inputMaskGroup = new QGroupBox(tr("Input mask"));
QLabel inputMaskLabel = new QLabel(tr("Type:"));
QComboBox inputMaskComboBox = new QComboBox();
inputMaskComboBox.addItem(tr("No mask"));
inputMaskComboBox.addItem(tr("Phone number"));
inputMaskComboBox.addItem(tr("ISO date"));
inputMaskComboBox.addItem(tr("License key"));
inputMaskLineEdit = new QLineEdit();
QGroupBox accessGroup = new QGroupBox(tr("Access"));
QLabel accessLabel = new QLabel(tr("Read-only:"));
QComboBox accessComboBox = new QComboBox();
accessComboBox.addItem(tr("False"));
accessComboBox.addItem(tr("True"));
accessLineEdit = new QLineEdit();
echoComboBox.activatedIndex.connect(this, "echoChanged(int)");
validatorComboBox.activatedIndex.connect(this, "validatorChanged(int)");
alignmentComboBox.activatedIndex.connect(this, "alignmentChanged(int)");
inputMaskComboBox.activatedIndex.connect(this, "inputMaskChanged(int)");
accessComboBox.activatedIndex.connect(this, "accessChanged(int)");
QGridLayout echoLayout = new QGridLayout();
echoLayout.addWidget(echoLabel, 0, 0);
echoLayout.addWidget(echoComboBox, 0, 1);
echoLayout.addWidget(echoLineEdit, 1, 0, 1, 2);
echoGroup.setLayout(echoLayout);
QGridLayout validatorLayout = new QGridLayout();
validatorLayout.addWidget(validatorLabel, 0, 0);
validatorLayout.addWidget(validatorComboBox, 0, 1);
validatorLayout.addWidget(validatorLineEdit, 1, 0, 1, 2);
validatorGroup.setLayout(validatorLayout);
QGridLayout alignmentLayout = new QGridLayout();
alignmentLayout.addWidget(alignmentLabel, 0, 0);
alignmentLayout.addWidget(alignmentComboBox, 0, 1);
alignmentLayout.addWidget(alignmentLineEdit, 1, 0, 1, 2);
alignmentGroup.setLayout(alignmentLayout);
QGridLayout inputMaskLayout = new QGridLayout();
inputMaskLayout.addWidget(inputMaskLabel, 0, 0);
inputMaskLayout.addWidget(inputMaskComboBox, 0, 1);
inputMaskLayout.addWidget(inputMaskLineEdit, 1, 0, 1, 2);
inputMaskGroup.setLayout(inputMaskLayout);
QGridLayout accessLayout = new QGridLayout();
accessLayout.addWidget(accessLabel, 0, 0);
accessLayout.addWidget(accessComboBox, 0, 1);
accessLayout.addWidget(accessLineEdit, 1, 0, 1, 2);
accessGroup.setLayout(accessLayout);
QGridLayout layout = new QGridLayout();
layout.addWidget(echoGroup, 0, 0);
layout.addWidget(validatorGroup, 1, 0);
layout.addWidget(alignmentGroup, 2, 0);
layout.addWidget(inputMaskGroup, 0, 1);
layout.addWidget(accessGroup, 1, 1);
setLayout(layout);
setWindowTitle(tr("Line Edits"));
}
public void echoChanged(int index) {
switch (index) {
case 0:
echoLineEdit.setEchoMode(QLineEdit.EchoMode.Normal);
break;
case 1:
echoLineEdit.setEchoMode(QLineEdit.EchoMode.Password);
break;
case 2:
echoLineEdit.setEchoMode(QLineEdit.EchoMode.NoEcho);
}
}
public void validatorChanged(int index) {
switch (index) {
case 0:
validatorLineEdit.setValidator(null);
break;
case 1:
validatorLineEdit.setValidator(new QIntValidator(validatorLineEdit));
break;
case 2:
validatorLineEdit.setValidator(new QDoubleValidator(-999.0, 999.0, 2, validatorLineEdit));
}
validatorLineEdit.setText("");
}
public void alignmentChanged(int index) {
switch (index) {
case 0:
alignmentLineEdit.setAlignment(new Qt.Alignment(Qt.AlignmentFlag.AlignLeft));
break;
case 1:
alignmentLineEdit.setAlignment(new Qt.Alignment(Qt.AlignmentFlag.AlignCenter));
break;
case 2:
alignmentLineEdit.setAlignment(new Qt.Alignment(Qt.AlignmentFlag.AlignRight));
}
}
public void inputMaskChanged(int index) {
switch (index) {
case 0:
inputMaskLineEdit.setInputMask("");
break;
case 1:
inputMaskLineEdit.setInputMask("+99 99 99 99 99;_");
break;
case 2:
inputMaskLineEdit.setInputMask("0000-00-00");
inputMaskLineEdit.setText("00000000");
inputMaskLineEdit.setCursorPosition(0);
break;
case 3:
inputMaskLineEdit.setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#");
}
}
public void accessChanged(int index) {
switch (index) {
case 0:
accessLineEdit.setReadOnly(false);
break;
case 1:
accessLineEdit.setReadOnly(true);
}
}
}