-rw-r--r-- | docs/qcop.doc | 2 | ||||
-rw-r--r-- | docs/start.doc | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/docs/qcop.doc b/docs/qcop.doc index 6fe4c71..e62f91d 100644 --- a/docs/qcop.doc +++ b/docs/qcop.doc | |||
@@ -1,179 +1,179 @@ | |||
1 | /*! | 1 | /*! |
2 | 2 | ||
3 | \page qcop.html | 3 | \page qcop.html |
4 | 4 | ||
5 | \title QCop Messages | 5 | \title QCop Messages |
6 | 6 | ||
7 | QCop messages allow applications to communicate with each other. | 7 | QCop messages allow applications to communicate with each other. |
8 | These messages are send using QCopEnvelope, and received by connecting | 8 | These messages are send using QCopEnvelope, and received by connecting |
9 | to a QCopChannel. | 9 | to a QCopChannel. |
10 | 10 | ||
11 | The <tt>channelname</tt> of channels within Qtopia all start with "QPE/". | 11 | The <tt>channelname</tt> of channels within Qtopia all start with "QPE/". |
12 | The <tt>messagename</tt> is a function identifier followed by a list of types | 12 | The <tt>messagename</tt> is a function identifier followed by a list of types |
13 | in parentheses. There are no spaces in the message name. | 13 | in parentheses. There are no spaces in the message name. |
14 | 14 | ||
15 | The variable names shown in this documentation are purely for information | 15 | The variable names shown in this documentation are purely for information |
16 | purposes. A message shown as | 16 | purposes. A message shown as |
17 | "messageName(Type1 varname1, Type2 varname2, Type2 varname3)" would be | 17 | "messageName(Type1 varname1, Type2 varname2, Type2 varname3)" would be |
18 | used in program code as: | 18 | used in program code as: |
19 | 19 | ||
20 | \code | 20 | \code |
21 | QCopEnvelope e(channelname, "messageName(Type1,Type2,Type2)"); | 21 | QCopEnvelope e(channelname, "messageName(Type1,Type2,Type2)"); |
22 | e << parameter1 << parameter2 << parameter3; | 22 | e << parameter1 << parameter2 << parameter3; |
23 | \endcode | 23 | \endcode |
24 | 24 | ||
25 | 25 | ||
26 | The system-wide channels and messages. | 26 | The system-wide channels and messages. |
27 | 27 | ||
28 | <dl> | 28 | <dl> |
29 | <dt><b>QPE/System</b> | 29 | <dt><b>QPE/System</b> |
30 | <dd> | 30 | <dd> |
31 | <ul> | 31 | <ul> |
32 | <li>busy() | 32 | <li>busy() |
33 | <br> Causes a wait indicator to be shown to the user. | 33 | <br> Causes a wait indicator to be shown to the user. |
34 | <li>notBusy() | 34 | <li>notBusy() |
35 | <br> Cancels the wait indicator. | 35 | <br> Cancels the wait indicator. |
36 | <li>linkChanged(QString) | 36 | <li>linkChanged(QString) |
37 | <br> Sent whenever a link is changed. | 37 | <br> Sent whenever a link is changed. |
38 | It is sent by FileManager::saveFile() and others, and | 38 | It is sent by FileManager::saveFile() and others, and |
39 | received by the Launcher. | 39 | received by the Launcher. |
40 | <li>applyStyle() | 40 | <li>applyStyle() |
41 | <br> Sent when user changes style. | 41 | <br> Sent when user changes style. |
42 | It is received by QPEApplication and the application | 42 | It is received by QPEApplication and the application |
43 | will redraw accordingly. | 43 | will redraw accordingly. |
44 | <li>quit() | 44 | <li>quit() |
45 | <br> Terminates the Qtopia environment. | 45 | <br> Terminates the Qtopia environment. |
46 | <li>shutdown() | 46 | <li>shutdown() |
47 | <br> Terminates the system. | 47 | <br> Terminates the system. |
48 | <li>restart() | 48 | <li>restart() |
49 | <br> Restarts the Qtopia environment. | 49 | <br> Restarts the Qtopia environment. |
50 | <li>execute(QString) | 50 | <li>execute(QString) |
51 | <br> Executes or raises the given application. | 51 | <br> Executes or raises the given application. |
52 | <li>execute(QString,QString) | 52 | <li>execute(QString,QString) |
53 | <br> Executes or raises the given application, passing an argument. | 53 | <br> Executes or raises the given application, passing an argument. |
54 | Note that you should consider using the | 54 | Note that you should consider using the |
55 | <b>QPE/Application/<i>appname</i></b> channels described below. | 55 | <b>QPE/Application/<i>appname</i></b> channels described below. |
56 | <li>addAlarm(QDateTime,QCString,QCString,int) | 56 | <li>addAlarm(QDateTime,QCString,QCString,int) |
57 | <br> Internal. See AlarmServer::addAlarm() | 57 | <br> Internal. See AlarmServer::addAlarm() |
58 | <li>deleteAlarm(QDateTime,QCString,QCString,int) | 58 | <li>deleteAlarm(QDateTime,QCString,QCString,int) |
59 | <br> Internal. See AlarmServer::deleteAlarm() | 59 | <br> Internal. See AlarmServer::deleteAlarm() |
60 | <li>setDefaultRotation(int) | 60 | <li>setDefaultRotation(int) |
61 | <br> Internal. | 61 | <br> Internal. |
62 | <li>grabKeyboard(QString) | 62 | <li>grabKeyboard(QString) |
63 | <br> Internal. | 63 | <br> Internal. |
64 | <li>timeChange(QString) | 64 | <li>timeChange(QString) |
65 | <br> Internal. | 65 | <br> Internal. |
66 | <li>clockChange(bool) | 66 | <li>clockChange(bool) |
67 | <br> Internal. | 67 | <br> Internal. |
68 | <li>setScreenSaverInterval(int) | 68 | <li>setScreenSaverInterval(int) |
69 | <br> Internal. | 69 | <br> Internal. |
70 | <li>language(QString) | 70 | <li>language(QString) |
71 | <br> Internal. | 71 | <br> Internal. |
72 | </ul> | 72 | </ul> |
73 | 73 | ||
74 | <dt><b>QPE/Sync</b> | 74 | <dt><b>QPE/Sync</b> |
75 | <ul> | 75 | <ul> |
76 | <li>flush() | 76 | <li>flush() |
77 | <br> Sent at the start of synchronization. Synchable applications | 77 | <br> Sent at the start of synchronization. Synchable applications |
78 | should save any synchable data to disk. | 78 | should save any synchable data to disk. |
79 | <i>Note: this message is currently asynchronous. Stay tuned | 79 | <i>Note: this message is currently asynchronous. Stay tuned |
80 | to discussions regarding synchronization, as this message | 80 | to discussions regarding synchronization, as this message |
81 | may become synchronous, requiring slight midification to | 81 | may become synchronous, requiring slight midification to |
82 | your code. For now, just respond in a timely fashion, | 82 | your code. For now, just respond in a timely fashion, |
83 | since the sync server merely waits a small time.</i> | 83 | since the sync server merely waits a small time.</i> |
84 | <li>reload() | 84 | <li>reload() |
85 | <br> Sent at the end of synchronization. Synchable applications | 85 | <br> Sent at the end of synchronization. Synchable applications |
86 | should reload any synchable data from disk. | 86 | should reload any synchable data from disk. |
87 | </ul> | 87 | </ul> |
88 | 88 | ||
89 | <dt><b>QPE/TaskBar</b> | 89 | <dt><b>QPE/TaskBar</b> |
90 | <ul> | 90 | <ul> |
91 | <li>message(QString) | 91 | <li>message(QString) |
92 | <br> Internal. See Global::statusMessage() | 92 | <br> Internal. See Global::statusMessage() |
93 | <li>showInputMethod() | 93 | <li>showInputMethod() |
94 | <br> Internal. | 94 | <br> Internal. |
95 | <li>hideInputMethod() | 95 | <li>hideInputMethod() |
96 | <br> Internal. | 96 | <br> Internal. |
97 | <li>reloadInputMethods() | 97 | <li>reloadInputMethods() |
98 | <br> Internal. | 98 | <br> Internal. |
99 | <li>reloadApplets() | 99 | <li>reloadApplets() |
100 | <br> Internal. | 100 | <br> Internal. |
101 | </ul> | 101 | </ul> |
102 | 102 | ||
103 | <dt><b>QPE/Card</b> | 103 | <dt><b>QPE/Card</b> |
104 | <ul> | 104 | <ul> |
105 | <li>stabChanged() | 105 | <li>stabChanged() |
106 | <br> Sent when <tt>/var/run/stab</tt>, <tt>/var/state/pcmcia/stab</tt>, | 106 | <br> Sent when <tt>/var/run/stab</tt>, <tt>/var/state/pcmcia/stab</tt>, |
107 | or <tt>/var/lib/pcmcia/stab</tt> may have changed. | 107 | or <tt>/var/lib/pcmcia/stab</tt> may have changed. |
108 | <li>netUp() | 108 | <li>netUp() |
109 | <br> Sent when a network connection is running. | 109 | <br> Sent when a network connection is running. |
110 | <li>netDown() | 110 | <li>netDown() |
111 | <br> Sent when a network connection is available, but not running. | 111 | <br> Sent when a network connection is available, but not running. |
112 | <li>netUnavailable() | 112 | <li>netUnavailable() |
113 | <br> Sent when a network connection is not available. | 113 | <br> Sent when a network connection is not available. |
114 | </ul> | 114 | </ul> |
115 | 115 | ||
116 | <dt><b>Qt/Tray</b> | 116 | <dt><b>Qt/Tray</b> |
117 | This channel allows Qt applications (not just Qtopia applications) | 117 | This channel allows Qt applications (not just Qtopia applications) |
118 | to show system-tray status in a cross-platform manner, | 118 | to show system-tray status in a cross-platform manner, |
119 | but it is not currently supported. See TaskbarAppletInterface for | 119 | but it is not currently supported. See TaskbarAppletInterface for |
120 | a more powerful alternative for system tray applications. | 120 | a more powerful alternative for system tray applications. |
121 | <ul> | 121 | <ul> |
122 | <li>popup(int,QPoint) | 122 | <li>popup(int,QPoint) |
123 | <li>remove(int) | 123 | <li>remove(int) |
124 | <li>setIcon(int,QPixmap) | 124 | <li>setIcon(int,QPixmap) |
125 | <li>setToolTip(int,QString) | 125 | <li>setToolTip(int,QString) |
126 | <li>doubleClicked(int,QPoint) | 126 | <li>doubleClicked(int,QPoint) |
127 | <li>clicked(int,QPoint) | 127 | <li>clicked(int,QPoint) |
128 | </ul> | 128 | </ul> |
129 | </dl> | 129 | </dl> |
130 | 130 | ||
131 | Each application listens on a channel called | 131 | Each application listens on a channel called |
132 | <b>QPE/Application/<i>appname</i></b>, where <b><i>appname</i></b> is | 132 | <b>QPE/Application/<i>appname</i></b>, where <b><i>appname</i></b> is |
133 | the executable name (the application identifier). Standard messages on | 133 | the executable name (the application identifier). Standard messages on |
134 | this channel are: | 134 | this channel are: |
135 | 135 | ||
136 | <dl> | 136 | <dl> |
137 | <dt><b>QPE/Application/<i>appname</i></b> | 137 | <dt><b>QPE/Application/<i>appname</i></b> |
138 | <ul> | 138 | <ul> |
139 | <li>setDocument(QString) | 139 | <li>setDocument(QString) |
140 | <br>Internal. Causes the setDocument(const QString&) slot | 140 | <br>Internal. Causes the setDocument(const QString&) slot |
141 | of <a href=docwidget.html>the main document widget</a> | 141 | of <a href=docwidget.html>the main document widget</a> |
142 | to be called. | 142 | to be called. |
143 | <li>nextView() | 143 | <li>nextView() |
144 | <br>Applications connected to hardware buttons will receive | 144 | <br>Applications connected to hardware buttons will receive |
145 | this message if they are already visible. | 145 | this message if they are already visible. |
146 | <li>raise() | 146 | <li>raise() |
147 | <br>Internal. Causes the the main document widget and the | 147 | <br>Internal. Causes the the main document widget and the |
148 | current modal widget to be raised. | 148 | current modal widget to be raised. |
149 | <li>quit() | 149 | <li>quit() |
150 | <br>Internal. Terminates the application. | 150 | <br>Internal. Terminates the application. |
151 | <li>quitIfInvisible() | 151 | <li>quitIfInvisible() |
152 | <br>Internal. Terminates the application if it is not shown. | 152 | <br>Internal. Terminates the application if it is not shown. |
153 | </ul> | 153 | </ul> |
154 | </dl> | 154 | </dl> |
155 | 155 | ||
156 | The QPE/Application/<i>appname</i> channel has a special property: when | 156 | The QPE/Application/<i>appname</i> channel has a special property: when |
157 | messages are sent to these channels vie QCopEnvelope, the message is | 157 | messages are sent to these channels vie QCopEnvelope, the message is |
158 | delivered even if the application is not yet running (the application | 158 | delivered even if the application is not yet running (the application |
159 | is run and the message is then sent). | 159 | is run and the message is then sent). |
160 | 160 | ||
161 | Applications also respond to messages specific to the application. | 161 | Applications also respond to messages specific to the application. |
162 | Such messages in the base Qtopia applications are: | 162 | Such messages in the base Qtopia applications are: |
163 | 163 | ||
164 | <dl> | 164 | <dl> |
165 | <dt><b>QPE/Application/helpbrowser</b> | 165 | <dt><b>QPE/Application/helpbrowser</b> |
166 | <ul> | 166 | <ul> |
167 | <li>showFile(QString <i>file</i>) | 167 | <li>showFile(QString <i>file</i>) |
168 | <br>Send this message to have the Help Browser show a file. | 168 | <br>Send this message to have the Help Browser show a file. |
169 | The <i>file</i> may be an absolute filename or relative | 169 | The <i>file</i> may be an absolute filename or relative |
170 | to the system HTML documentation directory ($QPEDIR/help/html). | 170 | to the system HTML documentation directory ($OPIEDIR/help/html). |
171 | </ul> | 171 | </ul> |
172 | <dt><b>QPE/Application/datebook</b> | 172 | <dt><b>QPE/Application/datebook</b> |
173 | <ul> | 173 | <ul> |
174 | <li>alarm(QDateTime,int) | 174 | <li>alarm(QDateTime,int) |
175 | <br>Internal. Causes the Calendar application to sound alarms. | 175 | <br>Internal. Causes the Calendar application to sound alarms. |
176 | </ul> | 176 | </ul> |
177 | </dl> | 177 | </dl> |
178 | 178 | ||
179 | */ | 179 | */ |
diff --git a/docs/start.doc b/docs/start.doc index 9745d9a..01b6ab1 100644 --- a/docs/start.doc +++ b/docs/start.doc | |||
@@ -1,191 +1,191 @@ | |||
1 | /*! | 1 | /*! |
2 | 2 | ||
3 | \page start.html | 3 | \page start.html |
4 | 4 | ||
5 | \title Getting Started | 5 | \title Getting Started |
6 | 6 | ||
7 | <html> | 7 | <html> |
8 | <title>Qtopia - The Qt palmtop environment</title> | 8 | <title>Qtopia - The Qt palmtop environment</title> |
9 | 9 | ||
10 | <body> | 10 | <body> |
11 | <h1><i>Qtopia</i> - The Qt palmtop environment</h1> | 11 | <h1><i>Qtopia</i> - The Qt palmtop environment</h1> |
12 | 12 | ||
13 | <p> | 13 | <p> |
14 | <i>Qtopia</i> is a windowing system for handheld devices. It offers | 14 | <i>Qtopia</i> is a windowing system for handheld devices. It offers |
15 | developers the powerful Qt API, and provides users with fast and | 15 | developers the powerful Qt API, and provides users with fast and |
16 | intuitive interaction. | 16 | intuitive interaction. |
17 | 17 | ||
18 | <h2>Developing for <i>Qtopia</i></h2> | 18 | <h2>Developing for <i>Qtopia</i></h2> |
19 | 19 | ||
20 | <p> | 20 | <p> |
21 | The Qt API includes rich GUI functionality, and is suitable for | 21 | The Qt API includes rich GUI functionality, and is suitable for |
22 | both large and small applications. | 22 | both large and small applications. |
23 | 23 | ||
24 | <p> | 24 | <p> |
25 | Since <i>Qtopia</i> offers the complete Qt API, you can do much of | 25 | Since <i>Qtopia</i> offers the complete Qt API, you can do much of |
26 | your development on any of the other platforms for which Qt is | 26 | your development on any of the other platforms for which Qt is |
27 | available - Windows, Unix/X11, or Mac OS X. However, for optimal | 27 | available - Windows, Unix/X11, or Mac OS X. However, for optimal |
28 | tailoring of your application to the smaller screen and other | 28 | tailoring of your application to the smaller screen and other |
29 | demands of a handheld environment, you should use the <i>Qtopia | 29 | demands of a handheld environment, you should use the <i>Qtopia |
30 | SDK</i>. | 30 | SDK</i>. |
31 | 31 | ||
32 | <p> | 32 | <p> |
33 | The <i>Qtopia SDK</i> allows you to develop <i>Qtopia</i> | 33 | The <i>Qtopia SDK</i> allows you to develop <i>Qtopia</i> |
34 | applications under the Linux desktop environment using the Qt Virtual | 34 | applications under the Linux desktop environment using the Qt Virtual |
35 | Framebuffer, which completely emulates the handheld <i>Qtopia</i> | 35 | Framebuffer, which completely emulates the handheld <i>Qtopia</i> |
36 | environment. It also includes cross-compiler software so that you can | 36 | environment. It also includes cross-compiler software so that you can |
37 | compile your application to run on the target handheld device. | 37 | compile your application to run on the target handheld device. |
38 | If you do not already have the Qtopia SDK (this document is normally | 38 | If you do not already have the Qtopia SDK (this document is normally |
39 | part of the SDK), contact info@trolltech.com, or see the | 39 | part of the SDK), contact info@trolltech.com, or see the |
40 | <a href=http://www.trolltech.com>Trolltech</a> web site. | 40 | <a href=http://www.trolltech.com>Trolltech</a> web site. |
41 | 41 | ||
42 | <p>To build applications for the SHARP SL5000 or similar StrongARM-based devices, | 42 | <p>To build applications for the SHARP SL5000 or similar StrongARM-based devices, |
43 | you will also need a StrongARM cross compiler. Entrants in the programming | 43 | you will also need a StrongARM cross compiler. Entrants in the programming |
44 | contest for this device will have received both the SDK and a cross-compiler. | 44 | contest for this device will have received both the SDK and a cross-compiler. |
45 | 45 | ||
46 | <p> | 46 | <p> |
47 | The SDK includes an example program. We recommend that you compile and | 47 | The SDK includes an example program. We recommend that you compile and |
48 | run this example to learn how things work, before tackling your own | 48 | run this example to learn how things work, before tackling your own |
49 | projects. | 49 | projects. |
50 | 50 | ||
51 | <p> | 51 | <p> |
52 | To compile the example program for running on the Linux desktop: | 52 | To compile the example program for running on the Linux desktop: |
53 | 53 | ||
54 | <ol> | 54 | <ol> |
55 | <li> | 55 | <li> |
56 | <p> | 56 | <p> |
57 | Check the environment is correct: | 57 | Check the environment is correct: |
58 | 58 | ||
59 | <p> | 59 | <p> |
60 | <pre> | 60 | <pre> |
61 | export QPEDIR=/opt/Qtopia | 61 | export OPIEDIR=/opt/Qtopia |
62 | export QTDIR=/opt/Qtopia | 62 | export QTDIR=/opt/Qtopia |
63 | export PATH=$QTDIR/bin:$PATH | 63 | export PATH=$QTDIR/bin:$PATH |
64 | export TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-generic-g++ | 64 | export TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-generic-g++ |
65 | export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH | 65 | export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH |
66 | </pre> | 66 | </pre> |
67 | 67 | ||
68 | <li> Take a copy of the example: | 68 | <li> Take a copy of the example: |
69 | 69 | ||
70 | <pre> | 70 | <pre> |
71 | cd somewhere | 71 | cd somewhere |
72 | cp -r $QPEDIR/example . | 72 | cp -r $OPIEDIR/example . |
73 | cd example | 73 | cd example |
74 | </pre> | 74 | </pre> |
75 | 75 | ||
76 | <li> Generate a Makefile: | 76 | <li> Generate a Makefile: |
77 | 77 | ||
78 | <pre> | 78 | <pre> |
79 | tmake -o Makefile example.pro | 79 | tmake -o Makefile example.pro |
80 | </pre> | 80 | </pre> |
81 | 81 | ||
82 | <li> Build the example: | 82 | <li> Build the example: |
83 | 83 | ||
84 | <pre> | 84 | <pre> |
85 | make | 85 | make |
86 | </pre> | 86 | </pre> |
87 | 87 | ||
88 | <li> Install it: | 88 | <li> Install it: |
89 | 89 | ||
90 | <pre> | 90 | <pre> |
91 | su # root privileges required to install | 91 | su # root privileges required to install |
92 | cp example.desktop $QPEDIR/apps/Applications | 92 | cp example.desktop $OPIEDIR/apps/Applications |
93 | cp Example.png $QPEDIR/pics | 93 | cp Example.png $OPIEDIR/pics |
94 | cp example $QPEDIR/bin | 94 | cp example $OPIEDIR/bin |
95 | exit # no need to be root anymore | 95 | exit # no need to be root anymore |
96 | </pre> | 96 | </pre> |
97 | 97 | ||
98 | <li> To run it, first run the Qt Virtual Framebuffer: | 98 | <li> To run it, first run the Qt Virtual Framebuffer: |
99 | 99 | ||
100 | <pre> | 100 | <pre> |
101 | qvfb & | 101 | qvfb & |
102 | </pre> | 102 | </pre> |
103 | 103 | ||
104 | <li> Then run the <i>Qtopia</i> environment: | 104 | <li> Then run the <i>Qtopia</i> environment: |
105 | 105 | ||
106 | <pre> | 106 | <pre> |
107 | qpe | 107 | qpe |
108 | </pre> | 108 | </pre> |
109 | 109 | ||
110 | <p> | 110 | <p> |
111 | Your application should be available in the Applications tab visible | 111 | Your application should be available in the Applications tab visible |
112 | inside the Qt Virtual Framebuffer window. | 112 | inside the Qt Virtual Framebuffer window. |
113 | </p> | 113 | </p> |
114 | 114 | ||
115 | <li> If you want to distribute your applications to others, build an RPM package, e.g.: | 115 | <li> If you want to distribute your applications to others, build an RPM package, e.g.: |
116 | <pre> | 116 | <pre> |
117 | mkipks -rpm -arch i386 example.control | 117 | mkipks -rpm -arch i386 example.control |
118 | </pre> | 118 | </pre> |
119 | </ol> | 119 | </ol> |
120 | 120 | ||
121 | <p> | 121 | <p> |
122 | To make your own application, use the example program as a model. Make sure that | 122 | To make your own application, use the example program as a model. Make sure that |
123 | when you add files to your project, you also add them | 123 | when you add files to your project, you also add them |
124 | to your project file (e.g. <tt>example.pro</tt>) and rerun the | 124 | to your project file (e.g. <tt>example.pro</tt>) and rerun the |
125 | <tt>tmake</tt> command to update the <tt>Makefile</tt>. | 125 | <tt>tmake</tt> command to update the <tt>Makefile</tt>. |
126 | 126 | ||
127 | <p> | 127 | <p> |
128 | To build you application for the SHARP SL5000 rather than just running | 128 | To build you application for the SHARP SL5000 rather than just running |
129 | on the desktop, the process is similar: | 129 | on the desktop, the process is similar: |
130 | 130 | ||
131 | <ol> | 131 | <ol> |
132 | <li> | 132 | <li> |
133 | <p> | 133 | <p> |
134 | Check the environment is correctly set for the SHARP SL5000: | 134 | Check the environment is correctly set for the SHARP SL5000: |
135 | 135 | ||
136 | <p> | 136 | <p> |
137 | <pre> | 137 | <pre> |
138 | export QPEDIR=/opt/Qtopia/sharp | 138 | export OPIEDIR=/opt/Qtopia/sharp |
139 | export QTDIR=/opt/Qtopia/sharp | 139 | export QTDIR=/opt/Qtopia/sharp |
140 | export PATH=$QTDIR/bin:/usr/local/arm/bin:$PATH | 140 | export PATH=$QTDIR/bin:/usr/local/arm/bin:$PATH |
141 | export TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-sharp-g++ | 141 | export TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-sharp-g++ |
142 | </pre> | 142 | </pre> |
143 | 143 | ||
144 | <li> Build and install exactly the same as you did for the desktop | 144 | <li> Build and install exactly the same as you did for the desktop |
145 | (note that the generated Makefile is different): | 145 | (note that the generated Makefile is different): |
146 | <pre> | 146 | <pre> |
147 | make clean | 147 | make clean |
148 | tmake -o Makefile example.pro | 148 | tmake -o Makefile example.pro |
149 | ... <i>etc.</i> | 149 | ... <i>etc.</i> |
150 | </pre> | 150 | </pre> |
151 | 151 | ||
152 | <li> To install it on a device, build an ipk package file (you should be root | 152 | <li> To install it on a device, build an ipk package file (you should be root |
153 | to do this, since then it will strip the executable for you): | 153 | to do this, since then it will strip the executable for you): |
154 | <pre> | 154 | <pre> |
155 | mkipks example.control | 155 | mkipks example.control |
156 | </pre> | 156 | </pre> |
157 | 157 | ||
158 | <p> | 158 | <p> |
159 | The resulting <tt>example-1.0.0.ipk</tt> can be installed on the | 159 | The resulting <tt>example-1.0.0.ipk</tt> can be installed on the |
160 | SL5000 by using <i>Qtopia Desktop</i>. | 160 | SL5000 by using <i>Qtopia Desktop</i>. |
161 | </p> | 161 | </p> |
162 | 162 | ||
163 | </ol> | 163 | </ol> |
164 | 164 | ||
165 | <h3>Building Your Own Applications</h3> | 165 | <h3>Building Your Own Applications</h3> |
166 | 166 | ||
167 | Once you have built the example, you can proceed with writing | 167 | Once you have built the example, you can proceed with writing |
168 | your own applicatons. If you are not familiar with Qt, you should | 168 | your own applicatons. If you are not familiar with Qt, you should |
169 | consult the Qt documentation by pointing your web browser at | 169 | consult the Qt documentation by pointing your web browser at |
170 | <a href=file:/opt/Qtopia/doc/html/index.html><tt>/opt/Qtopia/doc/html/index.html</tt></a> | 170 | <a href=file:/opt/Qtopia/doc/html/index.html><tt>/opt/Qtopia/doc/html/index.html</tt></a> |
171 | when you have installed the SDK, or use the online | 171 | when you have installed the SDK, or use the online |
172 | <a href=http://doc.trolltech.com/>Trolltech Documentation Site</a>. | 172 | <a href=http://doc.trolltech.com/>Trolltech Documentation Site</a>. |
173 | The <a href="http://www.trolltech.com/products/qt/whitepaper.html">Qt | 173 | The <a href="http://www.trolltech.com/products/qt/whitepaper.html">Qt |
174 | Whitepaper</a> provides a good overview of, and introduction to, the | 174 | Whitepaper</a> provides a good overview of, and introduction to, the |
175 | Qt API. | 175 | Qt API. |
176 | 176 | ||
177 | <p> | 177 | <p> |
178 | When you add more files to your application, just edit the project | 178 | When you add more files to your application, just edit the project |
179 | file (e.g. <tt>example.pro</tt>) and rerun the <tt>tmake</tt> | 179 | file (e.g. <tt>example.pro</tt>) and rerun the <tt>tmake</tt> |
180 | command. | 180 | command. |
181 | 181 | ||
182 | <p> | 182 | <p> |
183 | The <tt>.ui</tt> files are <i>Qt Designer</i> user interface files. | 183 | The <tt>.ui</tt> files are <i>Qt Designer</i> user interface files. |
184 | You can create and edit these using <i>Qt Designer</i>: | 184 | You can create and edit these using <i>Qt Designer</i>: |
185 | <pre> | 185 | <pre> |
186 | designer example.ui | 186 | designer example.ui |
187 | </pre> | 187 | </pre> |
188 | <i>Qt Designer</i>'s online documentation includes a complete | 188 | <i>Qt Designer</i>'s online documentation includes a complete |
189 | tutorial. | 189 | tutorial. |
190 | 190 | ||
191 | */ | 191 | */ |