summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader/CAnnoEdit.h
blob: f320061dbfd6e36f70f8a0dcd358d60630103c18 (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
#ifndef __CANNOEDIT_H
#define __CANNOEDIT_H
#include <qlabel.h>
#include <qlayout.h>
#include <qpushbutton.h>
#include <qlineedit.h>
#include <qmultilineedit.h>

class CAnnoEdit : public QWidget
{
    Q_OBJECT

    QLineEdit* m_name;
    QMultiLineEdit* m_anno;
    size_t m_posn;
 public:
    void setPosn(size_t p) { m_posn = p; }
    size_t getPosn() { return m_posn; }
    void setName(const QString& name)
	{
	    m_name->setText(name);
	}
    void setAnno(const QString& name)
	{
	    m_anno->setText(name);
	    m_anno->setEdited(false);
	}
    bool edited() { return m_anno->edited(); }
    CAnnoEdit(QWidget *parent=0, const char *name=0, WFlags f = 0) :
	QWidget(parent, name, f)
	{
	    QVBoxLayout* grid = new QVBoxLayout(this);
	    m_name = new QLineEdit(this, "Name");
	    m_anno = new QMultiLineEdit(this, "Annotation");
	    m_anno->setWordWrap(QMultiLineEdit::WidgetWidth);
	    QPushButton* exitButton = new QPushButton("Okay", this);
	    connect(exitButton, SIGNAL( released() ), this, SLOT( slotOkay() ) );
	    QPushButton* cancelButton = new QPushButton("Cancel", this);
	    connect(cancelButton, SIGNAL( released() ), this, SLOT( slotCancel() ) );
	    QLabel *l = new QLabel("Text",this);
	    grid->addWidget(l);
	    grid->addWidget(m_name);
	    l = new QLabel("Annotation",this);
	    grid->addWidget(l);
	    grid->addWidget(m_anno,1);
	    QHBoxLayout* hgrid = new QHBoxLayout(grid);
	    hgrid->addWidget(cancelButton);
	    hgrid->addWidget(exitButton);
	}
    private slots:
	void slotOkay() { emit finished(m_name->text(), m_anno->text()); }
	void slotCancel() { emit cancelled(); }
 public:
 signals:
    void finished(const QString&, const QString&);
    void cancelled();
};

#endif