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
|
/***************************************************************************
** xLineEdit.cpp $Revision: 1.10 $ - $Name: V2-18 $
** xFrame w/ xEdit and QLabel widgets
**
** Copyright (C) 1996 Joseph Croft <jcroft@unicomp.net>
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Library General Public
** License as published by the Free Software Foundation; either
** version 2 of the License, or (at your option) any later version.
**
** This library is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
** Library General Public License for more details.
**
** You should have received a copy of the GNU Library General Public
** License along with this library; if not, write to the Free
** Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**
***************************************************************************/
#include <stdio.h>
#include <ctype.h>
#include "xLineEdit.h"
static int dbg = 0;
static const char *pInitialResources[] =
{
"*Label.Font.Weight: Bold",
NULL
};
xLineEdit::xLineEdit(xWidgetResInfo *pPRes, QWidget *pParent,
const char *pName, int alignLabel) :
xFrame((wdtRes = new xWidgetResInfo(pPRes, QString(""),
QString(""))),
pParent, pName)
{
if (dbg) fprintf(stdout, "xLineEdit::xLineEdit():Enter\n\r");
wdtResPrv = new xWidgetResInfo(pPRes);
Resources->setWidgetInit(pInitialResources);
setDefPallet(this, wdtRes);
setDefFont(this, wdtRes);
eWidth = 9;
setResizeMode(xSPACE_Resize);
setAlignment(alignLabel);
setAcceptFocus(TRUE);
// setFont(QFont("helvetica", 10, QFont::Bold));
pEdit = new xEdit(wdtResPrv, this, pName);
pEdit->setWidth(eWidth);
if (dbg) fprintf(stdout, "xLineEdit::xLineEdit():Edit Width = %d, height = %d\n",
pEdit->width(), pEdit->height());
pLabel = new QLabel(pName, this);
setDefFont(pLabel, wdtRes);
// pLabel->setFont(font());
addWidget(pLabel);
addWidget(pEdit);
setWidgetSpacing((alignLabel == xALIGN_Vert) ? 0 : 3);
setMargins(5, 5);
fitFrame();
if (dbg) fprintf(stdout, "xLineEdit::xLineEdit():After fitting- Edit Width = %d, height = %d\n",
pEdit->width(), pEdit->height());
connect(pEdit, SIGNAL(returnPressed()), this, SLOT(gotReturn()));
connect(pEdit, SIGNAL(escapePressed()), this, SLOT(gotEscape()));
if (dbg) fprintf(stdout, "xLineEdit::xLineEdit():Exit\n\r");
}
xLineEdit::~xLineEdit()
{
if (pEdit)
delete pEdit;
if (pLabel)
delete pLabel;
}
void xLineEdit::setLabel(const char *pText)
{
if (dbg) fprintf(stdout, "xLineEdit::setLabel():Enter\n\r");
pLabel->setText(pText);
pLabel->adjustSize();
if (dbg) fprintf(stdout, "xLineEdit::setLabel():size w=%d X h=%d\n\r",
pLabel->size().width(), pLabel->size().height());
if (dbg) fprintf(stdout, "xLineEdit::setLabel():Exit\n\r");
}
void xLineEdit::fitFrame(QSize *frameSize)
{
xFrame::fitFrame(frameSize);
}
void xLineEdit::setEnabled(bool f)
{
xFrame::setEnabled(f);
pEdit->setEnabled(f);
pLabel->setEnabled(f);
}
void xLineEdit::setEditWidth(int width)
{
eWidth = width;
pEdit->setWidth(width);
fitFrame();
}
int xLineEdit::editWidth()
{
return(eWidth);
}
/*
void xLineEdit::keyPressEvent(QKeyEvent *pEvt)
{
if (pEvt->ascii() == '\t')
emit tabPressed();
else
xEdit::keyPressEvent(pEvt);
}
*/
#include "xLineEdit.moc"
|