Symbian3/SDK/Source/GUID-385BB488-5C32-58A7-8401-F3F0A0707DD9.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
child 2 ebc84c812384
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-385BB488-5C32-58A7-8401-F3F0A0707DD9" xml:lang="en"><title>User
Interface MTM implementation</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p> <b>Note:</b> This example is designed to work with Techview and there
is no guarantee that it will work on other interfaces </p>
<section><title>Example Code</title> <p>Click on the following link to download
the example:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-419758e4-b663-48d3-bf21-d9c4bb00da23.zip" scope="external">.TextMTM.zip</xref> </p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-419758e4-b663-48d3-bf21-d9c4bb00da23.html" scope="peer">browse</xref> to view the example code. </p> <p>The
files reproduced here are the main files contained in the examples directory.
Some extra files may be needed to run the examples, and these will be found
in the appropriate examples directory. </p> </section>
<section><title>Class summary</title><p> <xref href="GUID-A5982338-A057-3870-8832-F503AEAC470A.dita"><apiname>CBaseMtmUi</apiname></xref>  <xref href="GUID-A4B1F874-27C0-3BB6-9D29-C35C75A5DB98.dita"><apiname> TMsvId</apiname></xref>  <xref href="GUID-AF724192-6580-3DE3-9287-3A005C0AA932.dita"><apiname> CMsvOperation</apiname></xref>  <xref href="GUID-ED81FC3E-2BDA-390D-A866-9651DF8CE51D.dita"><apiname> CEikFileSaveAsDialog </apiname></xref>  <xref href="GUID-DC21E927-18B3-3BBF-9B67-496F2D158B03.dita"><apiname>CEikDialog</apiname></xref>   </p></section>
<section><title>Description</title> <p>The <filepath>txtu</filepath> project
demonstrates a User Interface MTM. The central class is <codeph>CTextMtmUi</codeph>,
derived from the User Interface MTM base class <codeph>CBaseMtmUi</codeph>. </p> <p>Note
that the <filepath>txtu</filepath> project has dependencies on some GUI components
that might not be present on all Symbian OS licensee SDKs. </p> <p> <filepath>txtu</filepath> implements
the following MTM functionality: </p> </section>
<section><title>Basic functions for messages</title> <p> <codeph>Create()</codeph>:
this creates a new local message in the <systemoutput>Draft</systemoutput> folder,
with description field set to "New Text", and then invokes edit. </p> <p> <codeph>Edit()</codeph>:
no UI for editing and viewing text messages is implemented. A simple stub
is provided that simply appends the text "Edited document" to the message
and puts up an information message. </p> <p>If an edit command is invoked
on a remote message entry (an entry under a Text service entry), the MTM offers
to copy it to the local Inbox first. This is performed by class <codeph>CEditRemoteOperation</codeph>.
and dialog resource <codeph>r_dialog_refuse_edit_remote_message</codeph>. </p> <p> <codeph>Open()</codeph> and <codeph>View()</codeph>:
these functions for a message context simply calls the edit function. </p> <p> <codeph>CopyToL()</codeph>, <codeph>MoveToL()</codeph>, <codeph>CopyFromL()</codeph>, <codeph>MoveFromL()</codeph> and <codeph>DeleteL()</codeph>: simple implementations
of these functions are provided that use the <codeph>CMsvEntry</codeph> copy,
move and delete functions. These commands are passed to the Message Server,
which then passes them on to the Server-side Text MTM. </p> <p> <codeph>ReplyL()</codeph> and <codeph>ForwardL()</codeph>:
there is no UI support for message replies and forwarding. </p> </section>
<section><title>Basic functions for services</title> <p> <codeph>Create()</codeph> and <codeph>Edit()</codeph>:
when requested to create a new Text service entry, a dialog pops up allowing
the user to specify the folder associated with the service. This is performed
by class <codeph>CTextMtmEditServiceDialog</codeph> and resource <codeph>r_dialog_service_settings</codeph>.
The service entry can then be edited later on, to change the folder. </p> <p>After
the service entry is created or changed, an automatic refresh will be triggered. </p> </section>
<section><title>MTM-specific operations</title> <p>The following MTM-specific
operations are accepted: </p> <ul>
<li id="GUID-94BF89D8-80D9-53CD-B3C3-40150B16EF6A"><p>Refresh: this command
refreshes the currently highlighted service entry. It calls the MTM-specific
operations provided by the Client-side MTM to do this. </p> </li>
<li id="GUID-65E9CE09-3968-5CA0-90E4-5421B608080C"><p>Export text to file:
exports the text contained in a text message to a file. This is performed
by <codeph>DoExportTextFromMessageL()</codeph>. </p> </li>
</ul> </section>
</conbody></concept>