annotate examples/mainwindows/dockwidgets/mainwindow.d @ 350:31520b2c0b3c

Removed dependency on parent trait and stringof
author Max Samukha <maxter@spambox.com>
date Thu, 20 May 2010 15:49:08 +0300
parents 7a3c43424dca
children
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
350
31520b2c0b3c Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents: 323
diff changeset
59 import std.string : split;
1
e78566595089 initial import
mandel
parents:
diff changeset
60
e78566595089 initial import
mandel
parents:
diff changeset
61 class MainWindow : public QMainWindow
e78566595089 initial import
mandel
parents:
diff changeset
62 {
e78566595089 initial import
mandel
parents:
diff changeset
63 // Q_OBJECT
e78566595089 initial import
mandel
parents:
diff changeset
64
e78566595089 initial import
mandel
parents:
diff changeset
65 public:
e78566595089 initial import
mandel
parents:
diff changeset
66 this()
e78566595089 initial import
mandel
parents:
diff changeset
67 {
e78566595089 initial import
mandel
parents:
diff changeset
68 textEdit = new QTextEdit;
e78566595089 initial import
mandel
parents:
diff changeset
69 setCentralWidget(textEdit);
e78566595089 initial import
mandel
parents:
diff changeset
70
e78566595089 initial import
mandel
parents:
diff changeset
71 createActions();
e78566595089 initial import
mandel
parents:
diff changeset
72 createMenus();
e78566595089 initial import
mandel
parents:
diff changeset
73 createToolBars();
e78566595089 initial import
mandel
parents:
diff changeset
74 createStatusBar();
e78566595089 initial import
mandel
parents:
diff changeset
75 createDockWindows();
e78566595089 initial import
mandel
parents:
diff changeset
76
e78566595089 initial import
mandel
parents:
diff changeset
77 setWindowTitle(tr("Dock Widgets"));
e78566595089 initial import
mandel
parents:
diff changeset
78 newLetter();
e78566595089 initial import
mandel
parents:
diff changeset
79 }
e78566595089 initial import
mandel
parents:
diff changeset
80
e78566595089 initial import
mandel
parents:
diff changeset
81 private : //slots:
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
82 void slot_newLetter()
1
e78566595089 initial import
mandel
parents:
diff changeset
83 {
e78566595089 initial import
mandel
parents:
diff changeset
84 textEdit.clear();
e78566595089 initial import
mandel
parents:
diff changeset
85
e78566595089 initial import
mandel
parents:
diff changeset
86 scope cursor = textEdit.textCursor;
e78566595089 initial import
mandel
parents:
diff changeset
87 cursor.movePosition(QTextCursor.Start);
e78566595089 initial import
mandel
parents:
diff changeset
88 QTextFrame topFrame = cursor.currentFrame();
e78566595089 initial import
mandel
parents:
diff changeset
89 QTextFrameFormat topFrameFormat = topFrame.frameFormat();
e78566595089 initial import
mandel
parents:
diff changeset
90 topFrameFormat.setPadding(16);
e78566595089 initial import
mandel
parents:
diff changeset
91 topFrame.setFrameFormat(topFrameFormat);
e78566595089 initial import
mandel
parents:
diff changeset
92
e78566595089 initial import
mandel
parents:
diff changeset
93 scope textFormat = new QTextCharFormat;
e78566595089 initial import
mandel
parents:
diff changeset
94 scope boldFormat = new QTextCharFormat;
e78566595089 initial import
mandel
parents:
diff changeset
95 scope italicFormat = new QTextCharFormat;
e78566595089 initial import
mandel
parents:
diff changeset
96 boldFormat.setFontWeight(QFont.Bold);
e78566595089 initial import
mandel
parents:
diff changeset
97 italicFormat.setFontItalic(true);
e78566595089 initial import
mandel
parents:
diff changeset
98
e78566595089 initial import
mandel
parents:
diff changeset
99 scope tableFormat = new QTextTableFormat;
e78566595089 initial import
mandel
parents:
diff changeset
100 tableFormat.setBorder(1);
e78566595089 initial import
mandel
parents:
diff changeset
101 tableFormat.setCellPadding(16);
e78566595089 initial import
mandel
parents:
diff changeset
102 tableFormat.setAlignment(Qt.AlignRight);
e78566595089 initial import
mandel
parents:
diff changeset
103 cursor.insertTable(1, 1, tableFormat);
e78566595089 initial import
mandel
parents:
diff changeset
104 cursor.insertText("The Firm", boldFormat);
e78566595089 initial import
mandel
parents:
diff changeset
105 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
106 cursor.insertText("321 City Street", textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
107 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
108 cursor.insertText("Industry Park");
e78566595089 initial import
mandel
parents:
diff changeset
109 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
110 cursor.insertText("Some Country");
e78566595089 initial import
mandel
parents:
diff changeset
111 cursor.setPosition(topFrame.lastPosition());
e78566595089 initial import
mandel
parents:
diff changeset
112 cursor.insertText(QDate.currentDate.toString("d MMMM yyyy"), textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
113 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
114 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
115 cursor.insertText("Dear ", textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
116 cursor.insertText("NAME", italicFormat);
e78566595089 initial import
mandel
parents:
diff changeset
117 cursor.insertText(",", textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
118 for (int i = 0; i < 3; ++i)
e78566595089 initial import
mandel
parents:
diff changeset
119 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
120 cursor.insertText(tr("Yours sincerely,"), 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("The Boss", textFormat);
e78566595089 initial import
mandel
parents:
diff changeset
124 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
125 cursor.insertText("ADDRESS", italicFormat);
e78566595089 initial import
mandel
parents:
diff changeset
126 }
e78566595089 initial import
mandel
parents:
diff changeset
127 /*
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
128 void slot_save()
1
e78566595089 initial import
mandel
parents:
diff changeset
129 {
e78566595089 initial import
mandel
parents:
diff changeset
130 char[] fileName = QFileDialog.getSaveFileName(this,
e78566595089 initial import
mandel
parents:
diff changeset
131 tr("Choose a file name"), ".",
e78566595089 initial import
mandel
parents:
diff changeset
132 tr("HTML (*.html *.htm)"));
e78566595089 initial import
mandel
parents:
diff changeset
133 if (fileName.isEmpty())
e78566595089 initial import
mandel
parents:
diff changeset
134 return;
e78566595089 initial import
mandel
parents:
diff changeset
135 scope file = new QFile(fileName);
e78566595089 initial import
mandel
parents:
diff changeset
136 if (!file.open(QFile.WriteOnly | QFile.Text)) {
e78566595089 initial import
mandel
parents:
diff changeset
137 QMessageBox.warning(this, tr("Dock Widgets"),
e78566595089 initial import
mandel
parents:
diff changeset
138 tr(layout("Cannot write file %1:\n%2.", fileName, file.errorString))
e78566595089 initial import
mandel
parents:
diff changeset
139 return;
e78566595089 initial import
mandel
parents:
diff changeset
140 }
e78566595089 initial import
mandel
parents:
diff changeset
141
e78566595089 initial import
mandel
parents:
diff changeset
142 scope outStream = new QTextStream(file);
e78566595089 initial import
mandel
parents:
diff changeset
143 QApplication.setOverrideCursor(Qt.WaitCursor);
e78566595089 initial import
mandel
parents:
diff changeset
144 outStream << textEdit.toHtml();
e78566595089 initial import
mandel
parents:
diff changeset
145 QApplication.restoreOverrideCursor();
e78566595089 initial import
mandel
parents:
diff changeset
146
e78566595089 initial import
mandel
parents:
diff changeset
147 statusBar.showMessage(layout("Saved '%1'", fileName), 2000);
e78566595089 initial import
mandel
parents:
diff changeset
148 }*/
e78566595089 initial import
mandel
parents:
diff changeset
149
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
150 void slot_print() { }
1
e78566595089 initial import
mandel
parents:
diff changeset
151
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
152 void slot_undo() {
1
e78566595089 initial import
mandel
parents:
diff changeset
153 auto document = textEdit.document();
e78566595089 initial import
mandel
parents:
diff changeset
154 document.undo();
e78566595089 initial import
mandel
parents:
diff changeset
155 }
e78566595089 initial import
mandel
parents:
diff changeset
156
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
157 void slot_insertCustomer(string customer)
1
e78566595089 initial import
mandel
parents:
diff changeset
158 {
e78566595089 initial import
mandel
parents:
diff changeset
159 if (customer == "")
e78566595089 initial import
mandel
parents:
diff changeset
160 return;
350
31520b2c0b3c Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents: 323
diff changeset
161
191
a212c97edcd2 one more example
eldar
parents: 61
diff changeset
162 string[] customerList = customer.split(", ");
1
e78566595089 initial import
mandel
parents:
diff changeset
163 auto document = textEdit.document();
e78566595089 initial import
mandel
parents:
diff changeset
164 QTextCursor cursor = document.find("NAME");
e78566595089 initial import
mandel
parents:
diff changeset
165 if (!cursor.isNull) {
e78566595089 initial import
mandel
parents:
diff changeset
166 cursor.beginEditBlock();
e78566595089 initial import
mandel
parents:
diff changeset
167 cursor.insertText(customerList[0]);
e78566595089 initial import
mandel
parents:
diff changeset
168 scope oldcursor = new QTextCursor(cursor);
e78566595089 initial import
mandel
parents:
diff changeset
169 cursor = document.find("ADDRESS");
e78566595089 initial import
mandel
parents:
diff changeset
170 if (!cursor.isNull) {
e78566595089 initial import
mandel
parents:
diff changeset
171 for (int i = 1; i < customerList.length; ++i) {
e78566595089 initial import
mandel
parents:
diff changeset
172 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
173 cursor.insertText(customerList[i]);
e78566595089 initial import
mandel
parents:
diff changeset
174 }
e78566595089 initial import
mandel
parents:
diff changeset
175 cursor.endEditBlock();
e78566595089 initial import
mandel
parents:
diff changeset
176 }
e78566595089 initial import
mandel
parents:
diff changeset
177 else
e78566595089 initial import
mandel
parents:
diff changeset
178 oldcursor.endEditBlock();
e78566595089 initial import
mandel
parents:
diff changeset
179 }
e78566595089 initial import
mandel
parents:
diff changeset
180 }
e78566595089 initial import
mandel
parents:
diff changeset
181
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
182 void slot_addParagraph(string paragraph)
1
e78566595089 initial import
mandel
parents:
diff changeset
183 {
e78566595089 initial import
mandel
parents:
diff changeset
184 if (paragraph == "")
e78566595089 initial import
mandel
parents:
diff changeset
185 return;
e78566595089 initial import
mandel
parents:
diff changeset
186 auto document = textEdit.document();
e78566595089 initial import
mandel
parents:
diff changeset
187 scope cursor = document.find(tr("Yours sincerely,"));
e78566595089 initial import
mandel
parents:
diff changeset
188 if (cursor.isNull)
e78566595089 initial import
mandel
parents:
diff changeset
189 return;
e78566595089 initial import
mandel
parents:
diff changeset
190 cursor.beginEditBlock();
e78566595089 initial import
mandel
parents:
diff changeset
191 cursor.movePosition(QTextCursor.PreviousBlock, QTextCursor.MoveAnchor, 2);
e78566595089 initial import
mandel
parents:
diff changeset
192 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
193 cursor.insertText(paragraph);
e78566595089 initial import
mandel
parents:
diff changeset
194 cursor.insertBlock();
e78566595089 initial import
mandel
parents:
diff changeset
195 cursor.endEditBlock();
e78566595089 initial import
mandel
parents:
diff changeset
196
e78566595089 initial import
mandel
parents:
diff changeset
197 }
e78566595089 initial import
mandel
parents:
diff changeset
198
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
199 void slot_about()
1
e78566595089 initial import
mandel
parents:
diff changeset
200 {
e78566595089 initial import
mandel
parents:
diff changeset
201 QMessageBox.about(this, "About Dock Widgets",
e78566595089 initial import
mandel
parents:
diff changeset
202 "The <b>Dock Widgets</b> example demonstrates how to "
e78566595089 initial import
mandel
parents:
diff changeset
203 "use Qt's dock widgets. You can enter your own text, "
e78566595089 initial import
mandel
parents:
diff changeset
204 "click a customer to add a customer name and "
e78566595089 initial import
mandel
parents:
diff changeset
205 "address, and click standard paragraphs to add them.");
e78566595089 initial import
mandel
parents:
diff changeset
206 }
e78566595089 initial import
mandel
parents:
diff changeset
207
e78566595089 initial import
mandel
parents:
diff changeset
208 private:
e78566595089 initial import
mandel
parents:
diff changeset
209 void createActions()
e78566595089 initial import
mandel
parents:
diff changeset
210 {
61
a2871e6b8b15 drcc: automatic initialization of resources with program start (disabled with option -no-static-initialize)
SokoL_SD
parents: 1
diff changeset
211 newLetterAct = new QAction(new QIcon(":images/new.png"), tr("&New Letter"), this);
1
e78566595089 initial import
mandel
parents:
diff changeset
212 newLetterAct.setShortcut(tr("Ctrl+N"));
e78566595089 initial import
mandel
parents:
diff changeset
213 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
214 connect(newLetterAct, "triggered", this, "newLetter");
1
e78566595089 initial import
mandel
parents:
diff changeset
215
61
a2871e6b8b15 drcc: automatic initialization of resources with program start (disabled with option -no-static-initialize)
SokoL_SD
parents: 1
diff changeset
216 saveAct = new QAction(new QIcon(":images/save.png"), tr("&Save..."), this);
1
e78566595089 initial import
mandel
parents:
diff changeset
217 saveAct.setShortcut(tr("Ctrl+S"));
e78566595089 initial import
mandel
parents:
diff changeset
218 saveAct.setStatusTip(tr("Save the current form letter"));
e78566595089 initial import
mandel
parents:
diff changeset
219 // saveAct.triggered.connect(&save);
e78566595089 initial import
mandel
parents:
diff changeset
220
61
a2871e6b8b15 drcc: automatic initialization of resources with program start (disabled with option -no-static-initialize)
SokoL_SD
parents: 1
diff changeset
221 printAct = new QAction(new QIcon(":images/print.png"), tr("&Print..."), this);
1
e78566595089 initial import
mandel
parents:
diff changeset
222 printAct.setShortcut(tr("Ctrl+P"));
e78566595089 initial import
mandel
parents:
diff changeset
223 printAct.setStatusTip(tr("Print the current form letter"));
e78566595089 initial import
mandel
parents:
diff changeset
224 // printAct.triggered.connect(&print);
e78566595089 initial import
mandel
parents:
diff changeset
225
61
a2871e6b8b15 drcc: automatic initialization of resources with program start (disabled with option -no-static-initialize)
SokoL_SD
parents: 1
diff changeset
226 undoAct = new QAction(new QIcon(":images/undo.png"), tr("&Undo"), this);
1
e78566595089 initial import
mandel
parents:
diff changeset
227 undoAct.setShortcut(tr("Ctrl+Z"));
e78566595089 initial import
mandel
parents:
diff changeset
228 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
229 connect(undoAct, "triggered", this, "undo");
1
e78566595089 initial import
mandel
parents:
diff changeset
230
e78566595089 initial import
mandel
parents:
diff changeset
231 quitAct = new QAction(tr("&Quit"), this);
e78566595089 initial import
mandel
parents:
diff changeset
232 quitAct.setShortcut(tr("Ctrl+Q"));
e78566595089 initial import
mandel
parents:
diff changeset
233 quitAct.setStatusTip(tr("Quit the application"));
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
234 connect(quitAct, "triggered", this, "close");
1
e78566595089 initial import
mandel
parents:
diff changeset
235
e78566595089 initial import
mandel
parents:
diff changeset
236 aboutAct = new QAction(tr("&About"), this);
e78566595089 initial import
mandel
parents:
diff changeset
237 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
238 connect(aboutAct, "triggered", this, "about");
1
e78566595089 initial import
mandel
parents:
diff changeset
239
e78566595089 initial import
mandel
parents:
diff changeset
240 aboutQtAct = new QAction(tr("About &Qt"), this);
e78566595089 initial import
mandel
parents:
diff changeset
241 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
242 connect(aboutQtAct, "triggered", qApp, "aboutQt");
1
e78566595089 initial import
mandel
parents:
diff changeset
243 }
e78566595089 initial import
mandel
parents:
diff changeset
244
e78566595089 initial import
mandel
parents:
diff changeset
245 void createMenus()
e78566595089 initial import
mandel
parents:
diff changeset
246 {
e78566595089 initial import
mandel
parents:
diff changeset
247 fileMenu = menuBar.addMenu(tr("&File"));
e78566595089 initial import
mandel
parents:
diff changeset
248 fileMenu.addAction(newLetterAct);
e78566595089 initial import
mandel
parents:
diff changeset
249 fileMenu.addAction(saveAct);
e78566595089 initial import
mandel
parents:
diff changeset
250 fileMenu.addAction(printAct);
e78566595089 initial import
mandel
parents:
diff changeset
251 fileMenu.addSeparator();
e78566595089 initial import
mandel
parents:
diff changeset
252 fileMenu.addAction(quitAct);
e78566595089 initial import
mandel
parents:
diff changeset
253
e78566595089 initial import
mandel
parents:
diff changeset
254 editMenu = menuBar.addMenu(tr("&Edit"));
e78566595089 initial import
mandel
parents:
diff changeset
255 editMenu.addAction(undoAct);
e78566595089 initial import
mandel
parents:
diff changeset
256
e78566595089 initial import
mandel
parents:
diff changeset
257 viewMenu = menuBar.addMenu(tr("&View"));
e78566595089 initial import
mandel
parents:
diff changeset
258
e78566595089 initial import
mandel
parents:
diff changeset
259 menuBar().addSeparator();
e78566595089 initial import
mandel
parents:
diff changeset
260
e78566595089 initial import
mandel
parents:
diff changeset
261 helpMenu = menuBar.addMenu(tr("&Help"));
e78566595089 initial import
mandel
parents:
diff changeset
262 helpMenu.addAction(aboutAct);
e78566595089 initial import
mandel
parents:
diff changeset
263 helpMenu.addAction(aboutQtAct);
e78566595089 initial import
mandel
parents:
diff changeset
264 }
e78566595089 initial import
mandel
parents:
diff changeset
265
e78566595089 initial import
mandel
parents:
diff changeset
266 void createToolBars()
e78566595089 initial import
mandel
parents:
diff changeset
267 {
e78566595089 initial import
mandel
parents:
diff changeset
268 fileToolBar = addToolBar(tr("File"));
e78566595089 initial import
mandel
parents:
diff changeset
269 fileToolBar.addAction(newLetterAct);
e78566595089 initial import
mandel
parents:
diff changeset
270 fileToolBar.addAction(saveAct);
e78566595089 initial import
mandel
parents:
diff changeset
271 fileToolBar.addAction(printAct);
e78566595089 initial import
mandel
parents:
diff changeset
272
e78566595089 initial import
mandel
parents:
diff changeset
273 editToolBar = addToolBar(tr("Edit"));
e78566595089 initial import
mandel
parents:
diff changeset
274 editToolBar.addAction(undoAct);
e78566595089 initial import
mandel
parents:
diff changeset
275 }
e78566595089 initial import
mandel
parents:
diff changeset
276
e78566595089 initial import
mandel
parents:
diff changeset
277 void createStatusBar()
e78566595089 initial import
mandel
parents:
diff changeset
278 {
e78566595089 initial import
mandel
parents:
diff changeset
279 statusBar.showMessage(tr("Ready"));
e78566595089 initial import
mandel
parents:
diff changeset
280 }
e78566595089 initial import
mandel
parents:
diff changeset
281
e78566595089 initial import
mandel
parents:
diff changeset
282 void createDockWindows()
e78566595089 initial import
mandel
parents:
diff changeset
283 {
e78566595089 initial import
mandel
parents:
diff changeset
284 QDockWidget dock = new QDockWidget(tr("Customers"), this);
e78566595089 initial import
mandel
parents:
diff changeset
285 dock.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea);
e78566595089 initial import
mandel
parents:
diff changeset
286 customerList = new QListWidget(dock);
e78566595089 initial import
mandel
parents:
diff changeset
287 customerList.addItems([
e78566595089 initial import
mandel
parents:
diff changeset
288 "John Doe, Harmony Enterprises, 12 Lakeside, Ambleton",
e78566595089 initial import
mandel
parents:
diff changeset
289 "Jane Doe, Memorabilia, 23 Watersedge, Beaton",
e78566595089 initial import
mandel
parents:
diff changeset
290 "Tammy Shea, Tiblanka, 38 Sea Views, Carlton",
e78566595089 initial import
mandel
parents:
diff changeset
291 "Tim Sheen, Caraba Gifts, 48 Ocean Way, Deal",
e78566595089 initial import
mandel
parents:
diff changeset
292 "Sol Harvey, Chicos Coffee, 53 New Springs, Eccleston",
e78566595089 initial import
mandel
parents:
diff changeset
293 "Sally Hobart, Tiroli Tea, 67 Long River, Fedula"]);
e78566595089 initial import
mandel
parents:
diff changeset
294 dock.setWidget(customerList);
e78566595089 initial import
mandel
parents:
diff changeset
295 addDockWidget(Qt.RightDockWidgetArea, dock);
e78566595089 initial import
mandel
parents:
diff changeset
296 viewMenu.addAction(dock.toggleViewAction());
e78566595089 initial import
mandel
parents:
diff changeset
297
e78566595089 initial import
mandel
parents:
diff changeset
298 dock = new QDockWidget(tr("Paragraphs"), this);
e78566595089 initial import
mandel
parents:
diff changeset
299 paragraphsList = new QListWidget(dock);
e78566595089 initial import
mandel
parents:
diff changeset
300 paragraphsList.addItems([
e78566595089 initial import
mandel
parents:
diff changeset
301 "Thank you for your payment which we have received today.",
e78566595089 initial import
mandel
parents:
diff changeset
302 "Your order has been dispatched and should be with you "
e78566595089 initial import
mandel
parents:
diff changeset
303 "within 28 days.",
e78566595089 initial import
mandel
parents:
diff changeset
304
e78566595089 initial import
mandel
parents:
diff changeset
305 "We have dispatched those items that were in stock. The "
e78566595089 initial import
mandel
parents:
diff changeset
306 "rest of your order will be dispatched once all the "
e78566595089 initial import
mandel
parents:
diff changeset
307 "remaining items have arrived at our warehouse. No "
e78566595089 initial import
mandel
parents:
diff changeset
308 "additional shipping charges will be made.",
e78566595089 initial import
mandel
parents:
diff changeset
309
e78566595089 initial import
mandel
parents:
diff changeset
310 "You made a small overpayment (less than $5) which we "
e78566595089 initial import
mandel
parents:
diff changeset
311 "will keep on account for you, or return at your request.",
e78566595089 initial import
mandel
parents:
diff changeset
312
e78566595089 initial import
mandel
parents:
diff changeset
313 "You made a small underpayment (less than $1), but we have "
e78566595089 initial import
mandel
parents:
diff changeset
314 "sent your order anyway. We'll add this underpayment to "
e78566595089 initial import
mandel
parents:
diff changeset
315 "your next bill.",
e78566595089 initial import
mandel
parents:
diff changeset
316
e78566595089 initial import
mandel
parents:
diff changeset
317 "Unfortunately you did not send enough money. Please remit "
e78566595089 initial import
mandel
parents:
diff changeset
318 "an additional $. Your order will be dispatched as soon as "
e78566595089 initial import
mandel
parents:
diff changeset
319 "the complete amount has been received.",
e78566595089 initial import
mandel
parents:
diff changeset
320
e78566595089 initial import
mandel
parents:
diff changeset
321 "You made an overpayment (more than $5). Do you wish to "
e78566595089 initial import
mandel
parents:
diff changeset
322 "buy more items, or should we return the excess to you?"]);
e78566595089 initial import
mandel
parents:
diff changeset
323 dock.setWidget(paragraphsList);
e78566595089 initial import
mandel
parents:
diff changeset
324 addDockWidget(Qt.RightDockWidgetArea, dock);
e78566595089 initial import
mandel
parents:
diff changeset
325 viewMenu.addAction(dock.toggleViewAction());
e78566595089 initial import
mandel
parents:
diff changeset
326
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
327 connect(customerList, "currentTextChanged", this, "insertCustomer");
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
328 connect(paragraphsList, "currentTextChanged", this, "addParagraph");
1
e78566595089 initial import
mandel
parents:
diff changeset
329 }
e78566595089 initial import
mandel
parents:
diff changeset
330
e78566595089 initial import
mandel
parents:
diff changeset
331 QTextEdit textEdit;
e78566595089 initial import
mandel
parents:
diff changeset
332 QListWidget customerList;
e78566595089 initial import
mandel
parents:
diff changeset
333 QListWidget paragraphsList;
e78566595089 initial import
mandel
parents:
diff changeset
334
e78566595089 initial import
mandel
parents:
diff changeset
335 QMenu fileMenu;
e78566595089 initial import
mandel
parents:
diff changeset
336 QMenu editMenu;
e78566595089 initial import
mandel
parents:
diff changeset
337 QMenu viewMenu;
e78566595089 initial import
mandel
parents:
diff changeset
338 QMenu helpMenu;
e78566595089 initial import
mandel
parents:
diff changeset
339 QToolBar fileToolBar;
e78566595089 initial import
mandel
parents:
diff changeset
340 QToolBar editToolBar;
e78566595089 initial import
mandel
parents:
diff changeset
341 QAction newLetterAct;
e78566595089 initial import
mandel
parents:
diff changeset
342 QAction saveAct;
e78566595089 initial import
mandel
parents:
diff changeset
343 QAction printAct;
e78566595089 initial import
mandel
parents:
diff changeset
344 QAction undoAct;
e78566595089 initial import
mandel
parents:
diff changeset
345 QAction aboutAct;
e78566595089 initial import
mandel
parents:
diff changeset
346 QAction aboutQtAct;
e78566595089 initial import
mandel
parents:
diff changeset
347 QAction quitAct;
350
31520b2c0b3c Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents: 323
diff changeset
348
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
349 mixin Q_OBJECT;
1
e78566595089 initial import
mandel
parents:
diff changeset
350 }