annotate examples/mainwindows/dockwidgets/mainwindow.d @ 191:a212c97edcd2

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