File: xLineEdit.cpp

package info (click to toggle)
xirc 2.0-3
  • links: PTS
  • area: contrib
  • in suites: hamm, slink
  • size: 2,624 kB
  • ctags: 2,093
  • sloc: cpp: 21,094; makefile: 1,033
file content (126 lines) | stat: -rw-r--r-- 3,742 bytes parent folder | download
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"