annotate examples/mainwindows/dockwidgets/mainwindow.d @ 323:7a3c43424dca signals

make all examples compile with new signals/slots
author eldar_ins@eldar-laptop
date Mon, 28 Dec 2009 16:28:55 +0500
parents 256ab6cb8e85
children 31520b2c0b3c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e78566595089 initial import
mandel
parents:
diff changeset
1 /****************************************************************************
e78566595089 initial import
mandel
parents:
diff changeset
2 **
e78566595089 initial import
mandel
parents:
diff changeset
3 ** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
e78566595089 initial import
mandel
parents:
diff changeset
4 ** Contact: Qt Software Information (qt-info@nokia.com)
e78566595089 initial import
mandel
parents:
diff changeset
5 **
e78566595089 initial import
mandel
parents:
diff changeset
6 ** This file is part of the example classes of the Qt Toolkit.
e78566595089 initial import
mandel
parents:
diff changeset
7 **
e78566595089 initial import
mandel
parents:
diff changeset
8 ** Commercial Usage
e78566595089 initial import
mandel
parents:
diff changeset
9 ** Licensees holding valid Qt Commercial licenses may use this file in
e78566595089 initial import
mandel
parents:
diff changeset
10 ** accordance with the Qt Commercial License Agreement provided with the
e78566595089 initial import
mandel
parents:
diff changeset
11 ** Software or, alternatively, in accordance with the terms contained in
e78566595089 initial import
mandel
parents:
diff changeset
12 ** a written agreement between you and Nokia.
e78566595089 initial import
mandel
parents:
diff changeset
13 **
e78566595089 initial import
mandel
parents:
diff changeset
14 **
e78566595089 initial import
mandel
parents:
diff changeset
15 ** GNU General Public License Usage
e78566595089 initial import
mandel
parents:
diff changeset
16 ** Alternatively, this file may be used under the terms of the GNU
e78566595089 initial import
mandel
parents:
diff changeset
17 ** General Public License versions 2.0 or 3.0 as published by the Free
e78566595089 initial import
mandel
parents:
diff changeset
18 ** Software Foundation and appearing in the file LICENSE.GPL included in
e78566595089 initial import
mandel
parents:
diff changeset
19 ** the packaging of this file. Please review the following information
e78566595089 initial import
mandel
parents:
diff changeset
20 ** to ensure GNU General Public Licensing requirements will be met:
e78566595089 initial import
mandel
parents:
diff changeset
21 ** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
e78566595089 initial import
mandel
parents:
diff changeset
22 ** http://www.gnu.org/copyleft/gpl.html. In addition, as a special
e78566595089 initial import
mandel
parents:
diff changeset
23 ** exception, Nokia gives you certain additional rights. These rights
e78566595089 initial import
mandel
parents:
diff changeset
24 ** are described in the Nokia Qt GPL Exception version 1.3, included in
e78566595089 initial import
mandel
parents:
diff changeset
25 ** the file GPL_EXCEPTION.txt in this package.
e78566595089 initial import
mandel
parents:
diff changeset
26 **
e78566595089 initial import
mandel
parents:
diff changeset
27 ** Qt for Windows(R) Licensees
e78566595089 initial import
mandel
parents:
diff changeset
28 ** As a special exception, Nokia, as the sole copyright holder for Qt
e78566595089 initial import
mandel
parents:
diff changeset
29 ** Designer, grants users of the Qt/Eclipse Integration plug-in the
e78566595089 initial import
mandel
parents:
diff changeset
30 ** right for the Qt/Eclipse Integration to link to functionality
e78566595089 initial import
mandel
parents:
diff changeset
31 ** provided by Qt Designer and its related libraries.
e78566595089 initial import
mandel
parents:
diff changeset
32 **
e78566595089 initial import
mandel
parents:
diff changeset
33 ** If you are unsure which license is appropriate for your use, please
e78566595089 initial import
mandel
parents:
diff changeset
34 ** contact the sales department at qt-sales@nokia.com.
e78566595089 initial import
mandel
parents:
diff changeset
35 **
e78566595089 initial import
mandel
parents:
diff changeset
36 ****************************************************************************/
e78566595089 initial import
mandel
parents:
diff changeset
37
e78566595089 initial import
mandel
parents:
diff changeset
38
e78566595089 initial import
mandel
parents:
diff changeset
39 import qt.gui.QMainWindow;
e78566595089 initial import
mandel
parents:
diff changeset
40
e78566595089 initial import
mandel
parents:
diff changeset
41 import qt.gui.QListWidget;
e78566595089 initial import
mandel
parents:
diff changeset
42 import qt.gui.QMenu;
e78566595089 initial import
mandel
parents:
diff changeset
43 import qt.gui.QToolBar;
e78566595089 initial import
mandel
parents:
diff changeset
44 import qt.gui.QDockWidget;
e78566595089 initial import
mandel
parents:
diff changeset
45 import qt.gui.QListWidget;
e78566595089 initial import
mandel
parents:
diff changeset
46 import qt.gui.QMessageBox;
e78566595089 initial import
mandel
parents:
diff changeset
47 import qt.gui.QTextEdit;
e78566595089 initial import
mandel
parents:
diff changeset
48 import qt.gui.QTextCursor;
e78566595089 initial import
mandel
parents:
diff changeset
49 import qt.gui.QTextFrame;
e78566595089 initial import
mandel
parents:
diff changeset
50 import qt.gui.QTextFrameFormat;
e78566595089 initial import
mandel
parents:
diff changeset
51 import qt.gui.QTextCharFormat;
e78566595089 initial import
mandel
parents:
diff changeset
52 import qt.gui.QTextTableFormat;
e78566595089 initial import
mandel
parents:
diff changeset
53 import qt.gui.QAction;
e78566595089 initial import
mandel
parents:
diff changeset
54 import qt.gui.QStatusBar;
e78566595089 initial import
mandel
parents:
diff changeset
55 import qt.gui.QFont;
e78566595089 initial import
mandel
parents:
diff changeset
56 import qt.gui.QIcon;
215
8aaa84d48451 Improve examples.
SokoL_SD
parents: 191
diff changeset
57 import qt.core.QDate;
1
e78566595089 initial import
mandel
parents:
diff changeset
58
191
a212c97edcd2 one more example
eldar
parents: 61
diff changeset
59 version(Tango)
a212c97edcd2 one more example
eldar
parents: 61
diff changeset
60 import tango.text.Util;
a212c97edcd2 one more example
eldar
parents: 61
diff changeset
61 else
a212c97edcd2 one more example
eldar
parents: 61
diff changeset
62 import std.string;
1
e78566595089 initial import
mandel
parents:
diff changeset
63
e78566595089 initial import
mandel
parents:
diff changeset
64 class MainWindow : public QMainWindow
e78566595089 initial import
mandel
parents:
diff changeset
65 {
e78566595089 initial import
mandel
parents:
diff changeset
66 // Q_OBJECT
e78566595089 initial import
mandel
parents:
diff changeset
67
e78566595089 initial import
mandel
parents:
diff changeset
68 public:
e78566595089 initial import
mandel
parents:
diff changeset
69 this()
e78566595089 initial import
mandel
parents:
diff changeset
70 {
e78566595089 initial import
mandel
parents:
diff changeset
71 textEdit = new QTextEdit;
e78566595089 initial import
mandel
parents:
diff changeset
72 setCentralWidget(textEdit);
e78566595089 initial import
mandel
parents:
diff changeset
73
e78566595089 initial import
mandel
parents:
diff changeset
74 createActions();
e78566595089 initial import
mandel
parents:
diff changeset
75 createMenus();
e78566595089 initial import
mandel
parents:
diff changeset
76 createToolBars();
e78566595089 initial import
mandel
parents:
diff changeset
77 createStatusBar();
e78566595089 initial import
mandel
parents:
diff changeset
78 createDockWindows();
e78566595089 initial import
mandel
parents:
diff changeset
79
e78566595089 initial import
mandel
parents:
diff changeset
80 setWindowTitle(tr("Dock Widgets"));
e78566595089 initial import
mandel
parents:
diff changeset
81 newLetter();
e78566595089 initial import
mandel
parents:
diff changeset
82 }
e78566595089 initial import
mandel
parents:
diff changeset
83
e78566595089 initial import
mandel
parents:
diff changeset
84 private : //slots:
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
85 void slot_newLetter()
1
e78566595089 initial import
mandel
parents:
diff changeset
86 {
e78566595089 initial import
mandel
parents:
diff changeset
87 textEdit.clear();
e78566595089 initial import
mandel
parents:
diff changeset
88
e78566595089 initial import
mandel
parents:
diff changeset
89 scope cursor = textEdit.textCursor;
e78566595089 initial import
mandel
parents:
diff changeset
90 cursor.movePosition(QTextCursor.Start);
e78566595089 initial import
mandel
parents:
diff changeset
91 QTextFrame topFrame = cursor.currentFrame();
e78566595089 initial import
mandel
parents:
diff changeset
92 QTextFrameFormat topFrameFormat = topFrame.frameFormat();
e78566595089 initial import
mandel
parents:
diff changeset
93 topFrameFormat.setPadding(16);
e78566595089 initial import
mandel
parents:
diff changeset
94 topFrame.setFrameFormat(topFrameFormat);
e78566595089 initial import
mandel
parents:
diff changeset
95
e78566595089 initial import
mandel
parents:
diff changeset
96 scope textFormat = new QTextCharFormat;
e78566595089 initial import
mandel
parents:
diff changeset
97 scope boldFormat = new QTextCharFormat;
e78566595089 initial import
mandel
parents:
diff changeset
98 scope italicFormat = new QTextCharFormat;
e78566595089 initial import
mandel
parents:
diff changeset
99 boldFormat.setFontWeight(QFont.Bold);
e78566595089 initial import
mandel
parents:
diff changeset
100 italicFormat.setFontItalic(true);
e78566595089 initial import
mandel
parents:
diff changeset
101
e78566595089 initial import
mandel
parents:
diff changeset
102 scope tableFormat = new QTextTableFormat;
e78566595089 initial import
mandel
parents:
diff changeset
103 tableFormat.setBorder(1);
e78566595089 initial import
mandel
parents:
diff changeset
104 tableFormat.setCellPadding(16);
e78566595089 initial import
mandel
parents:
diff changeset
105 tableFormat.setAlignment(Qt.AlignRight);
e78566595089 initial import
mandel
parents:
diff changeset
106 cursor.insertTable(1, 1, tableFormat);
e78566595089 initial import
mandel
parents:
diff changeset
107 cursor.insertText("The Firm", boldFormat);
e78566595089 initial import
mandel
parents:
diff changeset
108 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
109 cursor.insertText("321 City Street", textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
110 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
111 cursor.insertText("Industry Park");
e78566595089 initial import
mandel
parents:
diff changeset
112 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
113 cursor.insertText("Some Country");
e78566595089 initial import
mandel
parents:
diff changeset
114 cursor.setPosition(topFrame.lastPosition());
e78566595089 initial import
mandel
parents:
diff changeset
115 cursor.insertText(QDate.currentDate.toString("d MMMM yyyy"), textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
116 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
117 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
118 cursor.insertText("Dear ", textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
119 cursor.insertText("NAME", italicFormat);
e78566595089 initial import
mandel
parents:
diff changeset
120 cursor.insertText(",", textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
121 for (int i = 0; i < 3; ++i)
e78566595089 initial import
mandel
parents:
diff changeset
122 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
123 cursor.insertText(tr("Yours sincerely,"), textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
124 for (int i = 0; i < 3; ++i)
e78566595089 initial import
mandel
parents:
diff changeset
125 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
126 cursor.insertText("The Boss", textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
127 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
128 cursor.insertText("ADDRESS", italicFormat);
e78566595089 initial import
mandel
parents:
diff changeset
129 }
e78566595089 initial import
mandel
parents:
diff changeset
130 /*
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
131 void slot_save()
1
e78566595089 initial import
mandel
parents:
diff changeset
132 {
e78566595089 initial import
mandel
parents:
diff changeset
133 char[] fileName = QFileDialog.getSaveFileName(this,
e78566595089 initial import
mandel
parents:
diff changeset
134 tr("Choose a file name"), ".",
e78566595089 initial import
mandel
parents:
diff changeset
135 tr("HTML (*.html *.htm)"));
e78566595089 initial import
mandel
parents:
diff changeset
136 if (fileName.isEmpty())
e78566595089 initial import
mandel
parents:
diff changeset
137 return;
e78566595089 initial import
mandel
parents:
diff changeset
138 scope file = new QFile(fileName);
e78566595089 initial import
mandel
parents:
diff changeset
139 if (!file.open(QFile.WriteOnly | QFile.Text)) {
e78566595089 initial import
mandel
parents:
diff changeset
140 QMessageBox.warning(this, tr("Dock Widgets"),
e78566595089 initial import
mandel
parents:
diff changeset
141 tr(layout("Cannot write file %1:\n%2.", fileName, file.errorString))
e78566595089 initial import
mandel
parents:
diff changeset
142 return;
e78566595089 initial import
mandel
parents:
diff changeset
143 }
e78566595089 initial import
mandel
parents:
diff changeset
144
e78566595089 initial import
mandel
parents:
diff changeset
145 scope outStream = new QTextStream(file);
e78566595089 initial import
mandel
parents:
diff changeset
146 QApplication.setOverrideCursor(Qt.WaitCursor);
e78566595089 initial import
mandel
parents:
diff changeset
147 outStream << textEdit.toHtml();
e78566595089 initial import
mandel
parents:
diff changeset
148 QApplication.restoreOverrideCursor();
e78566595089 initial import
mandel
parents:
diff changeset
149
e78566595089 initial import
mandel
parents:
diff changeset
150 statusBar.showMessage(layout("Saved '%1'", fileName), 2000);
e78566595089 initial import
mandel
parents:
diff changeset
151 }*/
e78566595089 initial import
mandel
parents:
diff changeset
152
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
153 void slot_print() { }
1
e78566595089 initial import
mandel
parents:
diff changeset
154
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
155 void slot_undo() {
1
e78566595089 initial import
mandel
parents:
diff changeset
156 auto document = textEdit.document();
e78566595089 initial import
mandel
parents:
diff changeset
157 document.undo();
e78566595089 initial import
mandel
parents:
diff changeset
158 }
e78566595089 initial import
mandel
parents:
diff changeset
159
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
160 void slot_insertCustomer(string customer)
1
e78566595089 initial import
mandel
parents:
diff changeset
161 {
e78566595089 initial import
mandel
parents:
diff changeset
162 if (customer == "")
e78566595089 initial import
mandel
parents:
diff changeset
163 return;
191
a212c97edcd2 one more example
eldar
parents: 61
diff changeset
164
a212c97edcd2 one more example
eldar
parents: 61
diff changeset
165 string[] customerList = customer.split(", ");
1
e78566595089 initial import
mandel
parents:
diff changeset
166 auto document = textEdit.document();
e78566595089 initial import
mandel
parents:
diff changeset
167 QTextCursor cursor = document.find("NAME");
e78566595089 initial import
mandel
parents:
diff changeset
168 if (!cursor.isNull) {
e78566595089 initial import
mandel
parents:
diff changeset
169 cursor.beginEditBlock();
e78566595089 initial import
mandel
parents:
diff changeset
170 cursor.insertText(customerList[0]);
e78566595089 initial import
mandel
parents:
diff changeset
171 scope oldcursor = new QTextCursor(cursor);
e78566595089 initial import
mandel
parents:
diff changeset
172 cursor = document.find("ADDRESS");
e78566595089 initial import
mandel
parents:
diff changeset
173 if (!cursor.isNull) {
e78566595089 initial import
mandel
parents:
diff changeset
174 for (int i = 1; i < customerList.length; ++i) {
e78566595089 initial import
mandel
parents:
diff changeset
175 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
176 cursor.insertText(customerList[i]);
e78566595089 initial import
mandel
parents:
diff changeset
177 }
e78566595089 initial import
mandel
parents:
diff changeset
178 cursor.endEditBlock();
e78566595089 initial import
mandel
parents:
diff changeset
179 }
e78566595089 initial import
mandel
parents:
diff changeset
180 else
e78566595089 initial import
mandel
parents:
diff changeset
181 oldcursor.endEditBlock();
e78566595089 initial import
mandel
parents:
diff changeset
182 }
e78566595089 initial import
mandel
parents:
diff changeset
183 }
e78566595089 initial import
mandel
parents:
diff changeset
184
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
185 void slot_addParagraph(string paragraph)
1
e78566595089 initial import
mandel
parents:
diff changeset
186 {
e78566595089 initial import
mandel
parents:
diff changeset
187 if (paragraph == "")
e78566595089 initial import
mandel
parents:
diff changeset
188 return;
e78566595089 initial import
mandel
parents:
diff changeset
189 auto document = textEdit.document();
e78566595089 initial import
mandel
parents:
diff changeset
190 scope cursor = document.find(tr("Yours sincerely,"));
e78566595089 initial import
mandel
parents:
diff changeset
191 if (cursor.isNull)
e78566595089 initial import
mandel
parents:
diff changeset
192 return;
e78566595089 initial import
mandel
parents:
diff changeset
193 cursor.beginEditBlock();
e78566595089 initial import
mandel
parents:
diff changeset
194 cursor.movePosition(QTextCursor.PreviousBlock, QTextCursor.MoveAnchor, 2);
e78566595089 initial import
mandel
parents:
diff changeset
195 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
196 cursor.insertText(paragraph);
e78566595089 initial import
mandel
parents:
diff changeset
197 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
198 cursor.endEditBlock();
e78566595089 initial import
mandel
parents:
diff changeset
199
e78566595089 initial import
mandel
parents:
diff changeset
200 }
e78566595089 initial import
mandel
parents:
diff changeset
201
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
202 void slot_about()
1
e78566595089 initial import
mandel
parents:
diff changeset
203 {
e78566595089 initial import
mandel
parents:
diff changeset
204 QMessageBox.about(this, "About Dock Widgets",
e78566595089 initial import
mandel
parents:
diff changeset
205 "The <b>Dock Widgets</b> example demonstrates how to "
e78566595089 initial import
mandel
parents:
diff changeset
206 "use Qt's dock widgets. You can enter your own text, "
e78566595089 initial import
mandel
parents:
diff changeset
207 "click a customer to add a customer name and "
e78566595089 initial import
mandel
parents:
diff changeset
208 "address, and click standard paragraphs to add them.");
e78566595089 initial import
mandel
parents:
diff changeset
209 }
e78566595089 initial import
mandel
parents:
diff changeset
210
e78566595089 initial import
mandel
parents:
diff changeset
211 private:
e78566595089 initial import
mandel
parents:
diff changeset
212 void createActions()
e78566595089 initial import
mandel
parents:
diff changeset
213 {
61
a2871e6b8b15 drcc: automatic initialization of resources with program start (disabled with option -no-static-initialize)
SokoL_SD
parents: 1
diff changeset
214 newLetterAct = new QAction(new QIcon(":images/new.png"), tr("&New Letter"), this);
1
e78566595089 initial import
mandel
parents:
diff changeset
215 newLetterAct.setShortcut(tr("Ctrl+N"));
e78566595089 initial import
mandel
parents:
diff changeset
216 newLetterAct.setStatusTip(tr("Create a new form letter"));
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
217 connect(newLetterAct, "triggered", this, "newLetter");
1
e78566595089 initial import
mandel
parents:
diff changeset
218
61
a2871e6b8b15 drcc: automatic initialization of resources with program start (disabled with option -no-static-initialize)
SokoL_SD
parents: 1
diff changeset
219 saveAct = new QAction(new QIcon(":images/save.png"), tr("&Save..."), this);
1
e78566595089 initial import
mandel
parents:
diff changeset
220 saveAct.setShortcut(tr("Ctrl+S"));
e78566595089 initial import
mandel
parents:
diff changeset
221 saveAct.setStatusTip(tr("Save the current form letter"));
e78566595089 initial import
mandel
parents:
diff changeset
222 // saveAct.triggered.connect(&save);
e78566595089 initial import
mandel
parents:
diff changeset
223
61
a2871e6b8b15 drcc: automatic initialization of resources with program start (disabled with option -no-static-initialize)
SokoL_SD
parents: 1
diff changeset
224 printAct = new QAction(new QIcon(":images/print.png"), tr("&Print..."), this);
1
e78566595089 initial import
mandel
parents:
diff changeset
225 printAct.setShortcut(tr("Ctrl+P"));
e78566595089 initial import
mandel
parents:
diff changeset
226 printAct.setStatusTip(tr("Print the current form letter"));
e78566595089 initial import
mandel
parents:
diff changeset
227 // printAct.triggered.connect(&print);
e78566595089 initial import
mandel
parents:
diff changeset
228
61
a2871e6b8b15 drcc: automatic initialization of resources with program start (disabled with option -no-static-initialize)
SokoL_SD
parents: 1
diff changeset
229 undoAct = new QAction(new QIcon(":images/undo.png"), tr("&Undo"), this);
1
e78566595089 initial import
mandel
parents:
diff changeset
230 undoAct.setShortcut(tr("Ctrl+Z"));
e78566595089 initial import
mandel
parents:
diff changeset
231 undoAct.setStatusTip(tr("Undo the last editing action"));
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
232 connect(undoAct, "triggered", this, "undo");
1
e78566595089 initial import
mandel
parents:
diff changeset
233
e78566595089 initial import
mandel
parents:
diff changeset
234 quitAct = new QAction(tr("&Quit"), this);
e78566595089 initial import
mandel
parents:
diff changeset
235 quitAct.setShortcut(tr("Ctrl+Q"));
e78566595089 initial import
mandel
parents:
diff changeset
236 quitAct.setStatusTip(tr("Quit the application"));
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
237 connect(quitAct, "triggered", this, "close");
1
e78566595089 initial import
mandel
parents:
diff changeset
238
e78566595089 initial import
mandel
parents:
diff changeset
239 aboutAct = new QAction(tr("&About"), this);
e78566595089 initial import
mandel
parents:
diff changeset
240 aboutAct.setStatusTip(tr("Show the application's About box"));
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
241 connect(aboutAct, "triggered", this, "about");
1
e78566595089 initial import
mandel
parents:
diff changeset
242
e78566595089 initial import
mandel
parents:
diff changeset
243 aboutQtAct = new QAction(tr("About &Qt"), this);
e78566595089 initial import
mandel
parents:
diff changeset
244 aboutQtAct.setStatusTip(tr("Show the Qt library's About box"));
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
245 connect(aboutQtAct, "triggered", qApp, "aboutQt");
1
e78566595089 initial import
mandel
parents:
diff changeset
246 }
e78566595089 initial import
mandel
parents:
diff changeset
247
e78566595089 initial import
mandel
parents:
diff changeset
248 void createMenus()
e78566595089 initial import
mandel
parents:
diff changeset
249 {
e78566595089 initial import
mandel
parents:
diff changeset
250 fileMenu = menuBar.addMenu(tr("&File"));
e78566595089 initial import
mandel
parents:
diff changeset
251 fileMenu.addAction(newLetterAct);
e78566595089 initial import
mandel
parents:
diff changeset
252 fileMenu.addAction(saveAct);
e78566595089 initial import
mandel
parents:
diff changeset
253 fileMenu.addAction(printAct);
e78566595089 initial import
mandel
parents:
diff changeset
254 fileMenu.addSeparator();
e78566595089 initial import
mandel
parents:
diff changeset
255 fileMenu.addAction(quitAct);
e78566595089 initial import
mandel
parents:
diff changeset
256
e78566595089 initial import
mandel
parents:
diff changeset
257 editMenu = menuBar.addMenu(tr("&Edit"));
e78566595089 initial import
mandel
parents:
diff changeset
258 editMenu.addAction(undoAct);
e78566595089 initial import
mandel
parents:
diff changeset
259
e78566595089 initial import
mandel
parents:
diff changeset
260 viewMenu = menuBar.addMenu(tr("&View"));
e78566595089 initial import
mandel
parents:
diff changeset
261
e78566595089 initial import
mandel
parents:
diff changeset
262 menuBar().addSeparator();
e78566595089 initial import
mandel
parents:
diff changeset
263
e78566595089 initial import
mandel
parents:
diff changeset
264 helpMenu = menuBar.addMenu(tr("&Help"));
e78566595089 initial import
mandel
parents:
diff changeset
265 helpMenu.addAction(aboutAct);
e78566595089 initial import
mandel
parents:
diff changeset
266 helpMenu.addAction(aboutQtAct);
e78566595089 initial import
mandel
parents:
diff changeset
267 }
e78566595089 initial import
mandel
parents:
diff changeset
268
e78566595089 initial import
mandel
parents:
diff changeset
269 void createToolBars()
e78566595089 initial import
mandel
parents:
diff changeset
270 {
e78566595089 initial import
mandel
parents:
diff changeset
271 fileToolBar = addToolBar(tr("File"));
e78566595089 initial import
mandel
parents:
diff changeset
272 fileToolBar.addAction(newLetterAct);
e78566595089 initial import
mandel
parents:
diff changeset
273 fileToolBar.addAction(saveAct);
e78566595089 initial import
mandel
parents:
diff changeset
274 fileToolBar.addAction(printAct);
e78566595089 initial import
mandel
parents:
diff changeset
275
e78566595089 initial import
mandel
parents:
diff changeset
276 editToolBar = addToolBar(tr("Edit"));
e78566595089 initial import
mandel
parents:
diff changeset
277 editToolBar.addAction(undoAct);
e78566595089 initial import
mandel
parents:
diff changeset
278 }
e78566595089 initial import
mandel
parents:
diff changeset
279
e78566595089 initial import
mandel
parents:
diff changeset
280 void createStatusBar()
e78566595089 initial import
mandel
parents:
diff changeset
281 {
e78566595089 initial import
mandel
parents:
diff changeset
282 statusBar.showMessage(tr("Ready"));
e78566595089 initial import
mandel
parents:
diff changeset
283 }
e78566595089 initial import
mandel
parents:
diff changeset
284
e78566595089 initial import
mandel
parents:
diff changeset
285 void createDockWindows()
e78566595089 initial import
mandel
parents:
diff changeset
286 {
e78566595089 initial import
mandel
parents:
diff changeset
287 QDockWidget dock = new QDockWidget(tr("Customers"), this);
e78566595089 initial import
mandel
parents:
diff changeset
288 dock.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea);
e78566595089 initial import
mandel
parents:
diff changeset
289 customerList = new QListWidget(dock);
e78566595089 initial import
mandel
parents:
diff changeset
290 customerList.addItems([
e78566595089 initial import
mandel
parents:
diff changeset
291 "John Doe, Harmony Enterprises, 12 Lakeside, Ambleton",
e78566595089 initial import
mandel
parents:
diff changeset
292 "Jane Doe, Memorabilia, 23 Watersedge, Beaton",
e78566595089 initial import
mandel
parents:
diff changeset
293 "Tammy Shea, Tiblanka, 38 Sea Views, Carlton",
e78566595089 initial import
mandel
parents:
diff changeset
294 "Tim Sheen, Caraba Gifts, 48 Ocean Way, Deal",
e78566595089 initial import
mandel
parents:
diff changeset
295 "Sol Harvey, Chicos Coffee, 53 New Springs, Eccleston",
e78566595089 initial import
mandel
parents:
diff changeset
296 "Sally Hobart, Tiroli Tea, 67 Long River, Fedula"]);
e78566595089 initial import
mandel
parents:
diff changeset
297 dock.setWidget(customerList);
e78566595089 initial import
mandel
parents:
diff changeset
298 addDockWidget(Qt.RightDockWidgetArea, dock);
e78566595089 initial import
mandel
parents:
diff changeset
299 viewMenu.addAction(dock.toggleViewAction());
e78566595089 initial import
mandel
parents:
diff changeset
300
e78566595089 initial import
mandel
parents:
diff changeset
301 dock = new QDockWidget(tr("Paragraphs"), this);
e78566595089 initial import
mandel
parents:
diff changeset
302 paragraphsList = new QListWidget(dock);
e78566595089 initial import
mandel
parents:
diff changeset
303 paragraphsList.addItems([
e78566595089 initial import
mandel
parents:
diff changeset
304 "Thank you for your payment which we have received today.",
e78566595089 initial import
mandel
parents:
diff changeset
305 "Your order has been dispatched and should be with you "
e78566595089 initial import
mandel
parents:
diff changeset
306 "within 28 days.",
e78566595089 initial import
mandel
parents:
diff changeset
307
e78566595089 initial import
mandel
parents:
diff changeset
308 "We have dispatched those items that were in stock. The "
e78566595089 initial import
mandel
parents:
diff changeset
309 "rest of your order will be dispatched once all the "
e78566595089 initial import
mandel
parents:
diff changeset
310 "remaining items have arrived at our warehouse. No "
e78566595089 initial import
mandel
parents:
diff changeset
311 "additional shipping charges will be made.",
e78566595089 initial import
mandel
parents:
diff changeset
312
e78566595089 initial import
mandel
parents:
diff changeset
313 "You made a small overpayment (less than $5) which we "
e78566595089 initial import
mandel
parents:
diff changeset
314 "will keep on account for you, or return at your request.",
e78566595089 initial import
mandel
parents:
diff changeset
315
e78566595089 initial import
mandel
parents:
diff changeset
316 "You made a small underpayment (less than $1), but we have "
e78566595089 initial import
mandel
parents:
diff changeset
317 "sent your order anyway. We'll add this underpayment to "
e78566595089 initial import
mandel
parents:
diff changeset
318 "your next bill.",
e78566595089 initial import
mandel
parents:
diff changeset
319
e78566595089 initial import
mandel
parents:
diff changeset
320 "Unfortunately you did not send enough money. Please remit "
e78566595089 initial import
mandel
parents:
diff changeset
321 "an additional $. Your order will be dispatched as soon as "
e78566595089 initial import
mandel
parents:
diff changeset
322 "the complete amount has been received.",
e78566595089 initial import
mandel
parents:
diff changeset
323
e78566595089 initial import
mandel
parents:
diff changeset
324 "You made an overpayment (more than $5). Do you wish to "
e78566595089 initial import
mandel
parents:
diff changeset
325 "buy more items, or should we return the excess to you?"]);
e78566595089 initial import
mandel
parents:
diff changeset
326 dock.setWidget(paragraphsList);
e78566595089 initial import
mandel
parents:
diff changeset
327 addDockWidget(Qt.RightDockWidgetArea, dock);
e78566595089 initial import
mandel
parents:
diff changeset
328 viewMenu.addAction(dock.toggleViewAction());
e78566595089 initial import
mandel
parents:
diff changeset
329
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
330 connect(customerList, "currentTextChanged", this, "insertCustomer");
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
331 connect(paragraphsList, "currentTextChanged", this, "addParagraph");
1
e78566595089 initial import
mandel
parents:
diff changeset
332 }
e78566595089 initial import
mandel
parents:
diff changeset
333
e78566595089 initial import
mandel
parents:
diff changeset
334 QTextEdit textEdit;
e78566595089 initial import
mandel
parents:
diff changeset
335 QListWidget customerList;
e78566595089 initial import
mandel
parents:
diff changeset
336 QListWidget paragraphsList;
e78566595089 initial import
mandel
parents:
diff changeset
337
e78566595089 initial import
mandel
parents:
diff changeset
338 QMenu fileMenu;
e78566595089 initial import
mandel
parents:
diff changeset
339 QMenu editMenu;
e78566595089 initial import
mandel
parents:
diff changeset
340 QMenu viewMenu;
e78566595089 initial import
mandel
parents:
diff changeset
341 QMenu helpMenu;
e78566595089 initial import
mandel
parents:
diff changeset
342 QToolBar fileToolBar;
e78566595089 initial import
mandel
parents:
diff changeset
343 QToolBar editToolBar;
e78566595089 initial import
mandel
parents:
diff changeset
344 QAction newLetterAct;
e78566595089 initial import
mandel
parents:
diff changeset
345 QAction saveAct;
e78566595089 initial import
mandel
parents:
diff changeset
346 QAction printAct;
e78566595089 initial import
mandel
parents:
diff changeset
347 QAction undoAct;
e78566595089 initial import
mandel
parents:
diff changeset
348 QAction aboutAct;
e78566595089 initial import
mandel
parents:
diff changeset
349 QAction aboutQtAct;
e78566595089 initial import
mandel
parents:
diff changeset
350 QAction quitAct;
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
351
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
352 mixin Q_OBJECT;
1
e78566595089 initial import
mandel
parents:
diff changeset
353 }