Symbian3/PDK/Source/GUID-385BB488-5C32-58A7-8401-F3F0A0707DD9.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 11:56:28 +0100
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 9 59758314f811
permissions -rw-r--r--
Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"

<?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 id="GUID-F60E6B58-C75C-4C28-954B-770EE756E397"><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 id="GUID-EC764B46-F419-46B4-B99B-96EA0935277F"><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 id="GUID-5FB87906-A38C-4BAB-92B3-75FF497E9E24"><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 SDKs. </p> <p> <filepath>txtu</filepath> implements
the following MTM functionality: </p> </section>
<section id="GUID-8F7FD0AC-86BE-486B-B999-43EC6914A457"><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 id="GUID-F1566C1D-A866-46F1-AE7B-34280C7A6FBB"><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 id="GUID-1084490D-DA56-4F06-BCA2-BD4698CE633E"><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>