annotate examples/mainwindows/dockwidgets/mainwindow.d @ 61:a2871e6b8b15

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