summaryrefslogtreecommitdiffstats
path: root/examples/tutorials/gettingStarted/gsQt/part5/main.cpp
blob: a97bab82284ff60eff21c94ca0ecd765c7e618a6 (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
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

#include <QtGui>

class Notepad : public QMainWindow
{
    Q_OBJECT

public:
    Notepad();

private slots:
    void newDocument();
    void load();
    void save();

    void documentChanged(int index);

private:
    QTextEdit *textEdit;

    QAction *newDocumentAction;
    QAction *loadAction;
    QAction *saveAction;
    QAction *exitAction;

    QMenu *fileMenu;

    QDockWidget *dockWidget;
    QListWidget *listWidget;

    QStringList documents;
    int documentCount;
};

Notepad::Notepad()
{

    newDocumentAction = new QAction(tr("&New"), this);
    loadAction = new QAction(tr("&Load"), this);
    saveAction = new QAction(tr("&Save"), this);
    exitAction = new QAction(tr("E&xit"), this);

    connect(newDocumentAction, SIGNAL(triggered()), this, SLOT(newDocument()));
    connect(loadAction, SIGNAL(triggered()), this, SLOT(load()));
    connect(saveAction, SIGNAL(triggered()), this, SLOT(save()));
    connect(exitAction, SIGNAL(triggered()), qApp, SLOT(quit()));

    fileMenu = menuBar()->addMenu(tr("&File"));
    fileMenu->addAction(newDocumentAction);
    fileMenu->addAction(loadAction);
    fileMenu->addAction(saveAction);
    fileMenu->addSeparator();
    fileMenu->addAction(exitAction);

    textEdit = new QTextEdit;
    setCentralWidget(textEdit);

    listWidget = new QListWidget;

    connect(listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(documentChanged(int)));

    dockWidget = new QDockWidget;
    dockWidget->setWidget(listWidget);

    addDockWidget(Qt::LeftDockWidgetArea, dockWidget);

    documentCount = 0;
    newDocument();

    setWindowTitle(tr("Notepad"));
}

void Notepad::documentChanged(int index)
{

}

void Notepad::newDocument()
{
    listWidget->addItem(tr("Document %1").arg(documentCount++));
    documents.append("");
}

void Notepad::load()
{

}

void Notepad::save()
{

}

int main(int argv, char **args)
{
    QApplication app(argv, args);

    Notepad notepad;
    notepad.show();

    return app.exec();
};

#include "main.moc"