Symbian3/SDK/Source/GUID-385BB488-5C32-58A7-8401-F3F0A0707DD9.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.

<?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><ul>
<li><p><xref href="GUID-A5982338-A057-3870-8832-F503AEAC470A.dita"><apiname>CBaseMtmUi</apiname></xref></p></li>
<li><p><xref href="GUID-A4B1F874-27C0-3BB6-9D29-C35C75A5DB98.dita"><apiname>TMsvId</apiname></xref></p></li>
<li><p><xref href="GUID-AF724192-6580-3DE3-9287-3A005C0AA932.dita"><apiname>CMsvOperation</apiname></xref></p></li>
<li><p><xref href="GUID-ED81FC3E-2BDA-390D-A866-9651DF8CE51D.dita"><apiname>CEikFileSaveAsDialog </apiname></xref></p></li>
<li><p><xref href="GUID-DC21E927-18B3-3BBF-9B67-496F2D158B03.dita"><apiname>CEikDialog</apiname></xref></p></li>
</ul></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>