CPbkContactEditorDlg Class Reference

class CPbkContactEditorDlg : public CAknForm

A contact editing dialog implementation. This class can be used to construct an UI editor dialog that is specifically tailored to edit contacts in a similar fashion as in the platform contacts application.

Public Member Functions
~CPbkContactEditorDlg()
IMPORT_C TContactItemIdExecuteLD()
IMPORT_C voidHideExitCommand()
IMPORT_C CPbkContactEditorDlg *NewL(CPbkContactEngine &, CPbkContactItem &, TBool, TInt, TBool)
IMPORT_C voidResetWhenDestroyed(CPbkContactEditorDlg **)
IMPORT_C voidSetExitCallback(MPbkEditorOkToExitCallback *)
IMPORT_C voidSetExitCommandId(TInt)
IMPORT_C voidSetHelpContext(TCoeHelpContext)
Protected Member Functions
CPbkContactEditorDlg(CPbkContactEngine &, CPbkContactItem &, TInt)
voidBaseConstructL(TBool, TBool)
TBool CheckForDuplicateEntryL()
voidCloseAllPopups()
voidConstructContextMenuL()
voidConstructNaviPaneL()
TBool ContactAlreadyExistsL()
TBool DuplicateNameMatchL(CContactIdArray *)
TBool IsNewContact()
voidReloadThumbnailL()
voidStoreTitlePaneTextL()
voidUpdateTitlePaneL()
voidWriteContactToDbL()
Private Member Functions
voidCmdAddItemL()
voidCmdDeleteItemL()
voidCmdDoneL()
voidCmdEditItemLabelL()
voidCmdFetchThumbnailL()
voidCmdRemoveThumbnailL()
voidCmdSaveL()
voidDynInitMenuPaneL(TInt, CEikMenuPane *)
voidGetHelpContext(TCoeHelpContext &)
voidHandleControlStateChangeL(TInt)
TKeyResponse OfferKeyEventL(const TKeyEvent &, TEventCode)
TBool OkToExitL(TInt)
voidPostLayoutDynInitL()
voidPreLayoutDynInitL()
voidProcessCommandL(TInt)
voidSetInitialCurrentLine()
Inherited Functions
CAknControl::CAknControl()
CAknControl::~CAknControl()
CAknDialog::CAknDialog()
CAknDialog::CreateMenuBarL(TInt)
CAknDialog::DisplayMenuL()
CAknDialog::Draw(const TRect &)const
CAknDialog::ExecuteLD(TInt)
CAknDialog::FocusChanged(TDrawNow)
CAknDialog::HideMenu()
CAknDialog::MenuShowing()const
CAknDialog::MopSupplyObject(TTypeUid)
CAknDialog::PrepareLC(TInt)
CAknDialog::RunLD()
CAknDialog::SetEmphasis(CCoeControl *,TBool)
CAknDialog::SizeChanged()
CAknDialog::~CAknDialog()
CAknForm::AddItemL()
CAknForm::CAknForm()
CAknForm::ConstructL(TInt)
CAknForm::DeleteCurrentItemL()
CAknForm::Deleting()const
CAknForm::DoNotSaveFormDataL()
CAknForm::EditCurrentLabelL()
CAknForm::HandlePointerEventL(const TPointerEvent &)
CAknForm::HandleResourceChange(TInt)
CAknForm::PrepareForFocusTransitionL()
CAknForm::QuerySaveChangesL()
CAknForm::SaveFormDataL()
CAknForm::SetChangesPending(TBool)
CAknForm::SetFormFlag(TFlags,TBool)
CAknForm::UnsavedEdit()const
CAknForm::~CAknForm()
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CCoeControl::AccumulatedZoom()const
CCoeControl::ActivateGc()const
CCoeControl::ActivateL()
CCoeControl::BackedUpWindow()const
CCoeControl::Background()const
CCoeControl::CCoeControl()
CCoeControl::CCoeControl(CCoeEnv *)
CCoeControl::CCoeControl(const CCoeControl &)
CCoeControl::CapturesPointer()const
CCoeControl::ClaimPointerGrab(TBool)
CCoeControl::ClaimPointerGrab(TInt,TBool)
CCoeControl::CloseWindow()
CCoeControl::ComponentArrayExists()const
CCoeControl::Components()
CCoeControl::Components()const
CCoeControl::ControlContext()const
CCoeControl::ControlEnv()const
CCoeControl::CopyControlContextFrom(const CCoeControl *)
CCoeControl::CreateBackedUpWindowL(RWindowTreeNode &)
CCoeControl::CreateBackedUpWindowL(RWindowTreeNode &,TDisplayMode)
CCoeControl::CreateWindowL()
CCoeControl::CreateWindowL(RWindowGroup *)
CCoeControl::CreateWindowL(RWindowTreeNode &)
CCoeControl::CreateWindowL(const CCoeControl *)
CCoeControl::CustomGc()const
CCoeControl::DeactivateGc()const
CCoeControl::DrawBackground(const TRect &)const
CCoeControl::DrawDeferred()const
CCoeControl::DrawForeground(const TRect &)const
CCoeControl::DrawNow()const
CCoeControl::DrawNow(const TRect &)const
CCoeControl::DrawableWindow()const
CCoeControl::EnableDragEvents()
CCoeControl::EnableReportControlStateChange(TBool)
CCoeControl::EnableWindowTransparency()
CCoeControl::FindBackground()const
CCoeControl::FindFontProvider()const
CCoeControl::GetColor(TInt,TRgb &)const
CCoeControl::GetGc()const
CCoeControl::GrabbingComponent()const
CCoeControl::GrabbingComponent(TInt)const
CCoeControl::HandleComponentControlsResourceChange(TInt)
CCoeControl::HandleControlArrayEventL(CCoeControlArray::TEvent,const CCoeControlArray *,CCoeControl *,TInt)
CCoeControl::HandlePointerBufferReadyL()
CCoeControl::HandleRedrawEvent(const TRect &)const
CCoeControl::HitTest()const
CCoeControl::IgnoreEventsUntilNextPointerUp()
CCoeControl::Index(const CCoeControl *)const
CCoeControl::InitComponentArrayL()
CCoeControl::IsActivated()const
CCoeControl::IsBackedUp()const
CCoeControl::IsBeingDestroyed()const
CCoeControl::IsBlank()const
CCoeControl::IsDimmed()const
CCoeControl::IsFocused()const
CCoeControl::IsNonFocusing()const
CCoeControl::IsReadyToDraw()const
CCoeControl::IsVisible()const
CCoeControl::LayoutManager()const
CCoeControl::MaximumWidth()const
CCoeControl::NotifyFontChange(const CCoeFontProvider *)
CCoeControl::Observer()const
CCoeControl::OverrideColorL(TInt,TRgb)
CCoeControl::OwnsWindow()const
CCoeControl::Parent()
CCoeControl::Parent()const
CCoeControl::Position()const
CCoeControl::PositionChanged()
CCoeControl::PositionRelativeToScreen()const
CCoeControl::PrepareForFocusGainL()
CCoeControl::PrepareForFocusLossL()
CCoeControl::ProcessPointerBufferReadyL()
CCoeControl::ProcessPointerEventL(const TPointerEvent &)
CCoeControl::Rect()const
CCoeControl::RecursivelyMergeInputCapabilities(TCoeInputCapabilities &)const
CCoeControl::RecursivelyMergedInputCapabilities()const
CCoeControl::RefetchPixelMappingL()
CCoeControl::RemoveFromParent()
CCoeControl::ReportEventL(MCoeControlObserver::TCoeEvent)
CCoeControl::RequestRelayout(const CCoeControl *)
CCoeControl::ResetGc()const
CCoeControl::ScreenFont(const TCoeFont &)const
CCoeControl::SetAllowStrayPointers()
CCoeControl::SetBackground(const MCoeControlBackground *)
CCoeControl::SetBlank()
CCoeControl::SetCanDrawOutsideRect()
CCoeControl::SetComponentsToInheritVisibility(TBool)
CCoeControl::SetContainerWindowL(RBackedUpWindow &)
CCoeControl::SetContainerWindowL(RWindow &)
CCoeControl::SetContainerWindowL(const CCoeControl &)
CCoeControl::SetControlContext(MCoeControlContext *)
CCoeControl::SetCornerAndSize(TGulAlignment,const TSize &)
CCoeControl::SetCustomGc(CWindowGc *)
CCoeControl::SetDimmed(TBool)
CCoeControl::SetExtent(const TPoint &,const TSize &)
CCoeControl::SetExtentToWholeScreen()
CCoeControl::SetFocus(TBool,TDrawNow)
CCoeControl::SetFocusing(TBool)
CCoeControl::SetFontProviderL(const CCoeFontProvider &)
CCoeControl::SetGc(CWindowGc *)const
CCoeControl::SetGloballyCapturing(TBool)
CCoeControl::SetHitTest(const MCoeControlHitTest *)
CCoeControl::SetLayoutManagerL(MCoeLayoutManager *)
CCoeControl::SetMaximumWidth(TInt)
CCoeControl::SetMopParent(MObjectProvider *)
CCoeControl::SetNeighbor(CCoeControl *)
CCoeControl::SetNonFocusing()
CCoeControl::SetObserver(MCoeControlObserver *)
CCoeControl::SetParent(CCoeControl *)
CCoeControl::SetPointerCapture(TBool)
CCoeControl::SetPosition(const TPoint &)
CCoeControl::SetRect(const TRect &)
CCoeControl::SetSize(const TSize &)
CCoeControl::SetSizeWithoutNotification(const TSize &)
CCoeControl::SetTextBaselineSpacing(TInt)
CCoeControl::SetUniqueHandle(TInt)
CCoeControl::SetZoomFactorL(TInt,TZoomType)
CCoeControl::Size()const
CCoeControl::SystemGc()const
CCoeControl::TextBaselineOffset(const TSize &)const
CCoeControl::TextDrawer(TInt)const
CCoeControl::UniqueHandle()const
CCoeControl::Window()const
CCoeControl::WriteInternalStateNowL(RWriteStream &)const
CCoeControl::ZoomWithType()const
CCoeControl::operator=(const CCoeControl &)
CCoeControl::~CCoeControl()
CEikBorderedControl::Border()const
CEikBorderedControl::CEikBorderedControl()
CEikBorderedControl::CEikBorderedControl(const TGulBorder &)
CEikBorderedControl::HasBorder()const
CEikBorderedControl::SetAdjacent(TInt)
CEikBorderedControl::SetBorder(TGulBorder::TBorderType)
CEikBorderedControl::SetBorder(TInt)
CEikDialog::ActivateFirstPageL()const
CEikDialog::ActivePageId()const
CEikDialog::ActivePageIndex()const
CEikDialog::AddAutoDateEditorL(const TDesC &,TInt,const TTime &,const TTime &,TBool,TTime *)
CEikDialog::AddAutoDurationEditorL(const TDesC &,TInt,const TTimeIntervalSeconds &,const TTimeIntervalSeconds &,TBool,TTimeIntervalSeconds *)
CEikDialog::AddAutoFixedPointEditorL(const TDesC &,TInt,TInt,TInt,TInt *,TInt)
CEikDialog::AddAutoFloatEditorL(const TDesC &,TInt,const TReal &,const TReal &,TReal *)
CEikDialog::AddAutoGlobalTextEditorL(const TDesC &,TInt,TInt,TInt,TInt,TInt,CGlobalText *,TInt,TInt)
CEikDialog::AddAutoNumberEditorL(const TDesC &,TInt,TInt,TInt,TInt *)
CEikDialog::AddAutoRangeEditorL(const TDesC &,TInt,TInt,TInt,HBufC *,SEikRange *)
CEikDialog::AddAutoRichTextEditorL(const TDesC &,TInt,TInt,TInt,TInt,TInt,CGlobalText *,TInt,TInt)
CEikDialog::AddAutoSecretEditorL(const TDesC &,TInt,TDes *)
CEikDialog::AddAutoTextEditorL(const TDesC &,TInt,TInt,TInt,TInt,TDes *)
CEikDialog::AddAutoTimeAndDateEditorL(const TDesC &,TInt,const TTime &,const TTime &,TBool,TBool,HBufC *,TTime *)
CEikDialog::AddAutoTimeEditorL(const TDesC &,TInt,const TTime &,const TTime &,TBool,TTime *)
CEikDialog::AddAutoTimeOffsetEditorL(const TDesC &,TInt,const TTimeIntervalSeconds &,const TTimeIntervalSeconds &,TBool,TTimeIntervalSeconds *)
CEikDialog::AdjustAllIdsOnPage(TInt,TInt)
CEikDialog::BorderStyle()
CEikDialog::ButtonCommandObserver()const
CEikDialog::ButtonGroupContainer()const
CEikDialog::CEikDialog()
CEikDialog::ComponentControl(TInt)const
CEikDialog::ConstructAutoDialogLC(TInt,TInt)
CEikDialog::ConstructSleepingAlertDialogL(TInt)
CEikDialog::ConstructSleepingDialogL(TInt)
CEikDialog::Control(TInt)const
CEikDialog::ControlCaption(TInt)const
CEikDialog::ControlOrNull(TInt)const
CEikDialog::ControlsOnPage(RArray< CEikCaptionedControl * > &,TInt)const
CEikDialog::ConvertCustomControlTypeToBaseControlType(TInt)const
CEikDialog::CountComponentControls()const
CEikDialog::CreateCustomControlL(TInt)
CEikDialog::CreateLineByTypeL(const TDesC &,TInt,TInt,TAny *)
CEikDialog::CreateLineByTypeL(const TDesC &,TInt,TInt,TInt,TAny *)
CEikDialog::CurrentLine()const
CEikDialog::DeclareAutoDateEditor(TInt,TTime *)
CEikDialog::DeclareAutoDurationEditor(TInt,TTimeIntervalSeconds *)
CEikDialog::DeclareAutoFixedPointEditor(TInt,TInt *)
CEikDialog::DeclareAutoNumberEditor(TInt,TInt *)
CEikDialog::DeclareAutoRangeEditor(TInt,SEikRange *)
CEikDialog::DeclareAutoSecretEditor(TInt,TDes *)
CEikDialog::DeclareAutoTextEditorL(TInt,TDes *)
CEikDialog::DeclareAutoTimeAndDateEditor(TInt,TTime *)
CEikDialog::DeclareAutoTimeEditor(TInt,TTime *)
CEikDialog::DeclareAutoTimeOffsetEditor(TInt,TTimeIntervalSeconds *)
CEikDialog::DeclareItemAuto(TInt,TInt,TAny *)
CEikDialog::DeleteLine(TInt,TBool)
CEikDialog::DialogFlags()
CEikDialog::DurationEditorValue(TInt)const
CEikDialog::ExitSleepingDialog()
CEikDialog::Extension()const
CEikDialog::FindLineIndex(const CCoeControl &)const
CEikDialog::FixedPointEditorDecimal(TInt)const
CEikDialog::FixedPointEditorValue(TInt)const
CEikDialog::FloatEditorValue(TInt)const
CEikDialog::FloatingPointEditorValue(TInt)const
CEikDialog::FormFlagsFromActivePage()
CEikDialog::GetAutoValuesFromPage(CEikCapCArray *)
CEikDialog::GetColorUseListL(CArrayFix< TCoeColorUse > &)const
CEikDialog::GetCustomAutoValue(TAny *,TInt,const CCoeControl *)
CEikDialog::GetEdwinText(TDes &,TInt)const
CEikDialog::GetFileName(TFileName *,TInt)const
CEikDialog::GetFirstLineOnFirstPageOrNull()
CEikDialog::GetLabelText(TDes &,TInt)const
CEikDialog::GetLineByLineAndPageIndex(TInt,TInt)const
CEikDialog::GetNumberOfLinesOnPage(TInt)const
CEikDialog::GetNumberOfPages()const
CEikDialog::GetSecretEditorText(TDes &,TInt)const
CEikDialog::GetTextEditorText(CGlobalText *&,TInt)
CEikDialog::HandleControlEventL(CCoeControl *,TCoeEvent)
CEikDialog::HandleDialogPageEventL(TInt)
CEikDialog::HandleInteractionRefused(TInt)
CEikDialog::IdOfFocusControl()const
CEikDialog::InputCapabilities()const
CEikDialog::InsertLineL(TInt,TInt,TInt)
CEikDialog::IsEditable()const
CEikDialog::Layout()
CEikDialog::Line(TInt)const
CEikDialog::LineChangedL(TInt)
CEikDialog::ListBoxCurrentItem(TInt)const
CEikDialog::MakeLineVisible(TInt,TBool)
CEikDialog::MakePanelButtonVisible(TInt,TBool)
CEikDialog::MakeVisible(TBool)
CEikDialog::MakeWholeLineVisible(TInt,TBool)
CEikDialog::MappedCommandId(TInt)
CEikDialog::NumberEditorValue(TInt)const
CEikDialog::PageChangedL(TInt)
CEikDialog::PreferredSize(const TSize &)const
CEikDialog::PrepareContext(CWindowGc &)const
CEikDialog::PublishDialogL(TInt,TUid)
CEikDialog::RangeEditorValue(TInt)const
CEikDialog::ReadResourceLC(TInt)
CEikDialog::RegisterDialgWithPageSelector()
CEikDialog::ResetLineMinimumSizes()
CEikDialog::ResetSecretEditor(TInt)
CEikDialog::RotateFocusByL(TInt)
CEikDialog::RouseSleepingDialog()
CEikDialog::SetControlCaptionL(TInt,TInt)
CEikDialog::SetControlCaptionL(TInt,const TDesC &)
CEikDialog::SetDurationEditorMinAndMax(TInt,const TTimeIntervalSeconds &,const TTimeIntervalSeconds &)
CEikDialog::SetDurationEditorValue(TInt,const TTimeIntervalSeconds &)
CEikDialog::SetEditableL(TBool)
CEikDialog::SetEdwinTextL(TInt,const TDesC *)
CEikDialog::SetFileNameL(TInt,const TDesC *)
CEikDialog::SetFixedPointEditorDecimal(TInt,TInt)
CEikDialog::SetFixedPointEditorValueL(TInt,TInt)
CEikDialog::SetFloatEditorMinAndMax(TInt,TInt,TInt)
CEikDialog::SetFloatEditorValueL(TInt,TReal)
CEikDialog::SetFloatingPointEditorValueL(TInt,const TReal *)
CEikDialog::SetLabelL(TInt,TInt)
CEikDialog::SetLabelL(TInt,const TDesC &)
CEikDialog::SetLabelReserveLengthL(TInt,TInt)
CEikDialog::SetLineDimmedNow(TInt,TBool)
CEikDialog::SetLineNonFocusing(TInt)
CEikDialog::SetListBoxCurrentItem(TInt,TInt)
CEikDialog::SetMediatorObserver(MAknDialogMediatorObserver *)
CEikDialog::SetMultilineQuery(TBool)
CEikDialog::SetNumberEditorMinAndMax(TInt,TInt,TInt)
CEikDialog::SetNumberEditorValue(TInt,TInt)
CEikDialog::SetPageDensePacking(TInt,TBool)
CEikDialog::SetPageDimmedNow(TInt,TBool)
CEikDialog::SetRangeEditorMinAndMax(TInt,TInt,TInt)
CEikDialog::SetRangeEditorValue(TInt,const SEikRange &)
CEikDialog::SetSizeAndPosition(const TSize &)
CEikDialog::SetTTimeEditorMinAndMax(TInt,const TTime &,const TTime &)
CEikDialog::SetTTimeEditorValue(TInt,const TTime &)
CEikDialog::SetTextEditorTextL(TInt,const CGlobalText *)
CEikDialog::SetTimeOffsetEditorMinAndMax(TInt,const TTimeIntervalSeconds &,const TTimeIntervalSeconds &)
CEikDialog::SetTimeOffsetEditorValue(TInt,const TTimeIntervalSeconds &)
CEikDialog::SetTitleL(TInt)
CEikDialog::SetTitleL(const TDesC &)
CEikDialog::SlideDialog()
CEikDialog::SwapButtonGroupContainer(CEikButtonGroupContainer *)
CEikDialog::SwitchLineLatency(TInt,TInt)
CEikDialog::TTimeEditorValue(TInt)const
CEikDialog::TimeOffsetEditorValue(TInt)const
CEikDialog::Title()const
CEikDialog::TryChangeFocusToL(TInt)
CEikDialog::TryExitL(TInt)
CEikDialog::UpdatePageL(TBool)
CEikDialog::WriteInternalStateL(RWriteStream &)const
CEikDialog::~CEikDialog()
Protected Member Enumerations
enumTStateFlag { EHideExit, EEscKeyReceived, EUnderDestruction }
Inherited Enumerations
CAknForm:TFlags
CCoeControl:TZoomType
CEikDialog:@117
Protected Attributes
CPbkContactItem &iContactItem
CPbkContactEditorFieldArray *iFieldManager
Private Attributes
CEikMenuBar *iContextMenuBar
CPbkContextPaneIcon *iContextPaneIcon
MPbkContactEditorStrategy *iEditorStrategy
CPbkContactEngine &iEngine
MPbkEditorOkToExitCallback *iExitCallback
TInt iExitCommandId
CExtension *iExtension
TInt iFocusIndex
TCoeHelpContext iHelpContext
CAknNavigationControlContainer *iNaviContainer
TContactItemId *iSavedContactPtr
CPbkContactEditorDlg **iSelfPtr
TBitFlags iStateFlags
HBufC *iStoredTitlePaneText
CPbkThumbnailCmd *iThumbnailCmd
CPbkThumbnailPopup *iThumbnailHandler
CAknTitlePane *iTitlePane
Inherited Attributes
CAknDialog::iMenuBar
CCoeControl::iCoeEnv
CCoeControl::iContext
CCoeControl::iPosition
CCoeControl::iSize
CEikBorderedControl::iBorder

Constructor & Destructor Documentation

CPbkContactEditorDlg(CPbkContactEngine &, CPbkContactItem &, TInt)

CPbkContactEditorDlg(CPbkContactEngine &aEngine,
CPbkContactItem &aContactItem,
TIntaFocusIndex
)[protected]

Parameters

CPbkContactEngine & aEngine
CPbkContactItem & aContactItem
TInt aFocusIndex

~CPbkContactEditorDlg()

~CPbkContactEditorDlg()

Destructor.

Member Functions Documentation

BaseConstructL(TBool, TBool)

voidBaseConstructL(TBoolaIsNewContact,
TBoolaEdited
)[protected]

Parameters

TBool aIsNewContact
TBool aEdited

CheckForDuplicateEntryL()

TBool CheckForDuplicateEntryL()[protected]

CloseAllPopups()

voidCloseAllPopups()[protected]

CmdAddItemL()

voidCmdAddItemL()[private]

CmdDeleteItemL()

voidCmdDeleteItemL()[private]

CmdDoneL()

voidCmdDoneL()[private]

CmdEditItemLabelL()

voidCmdEditItemLabelL()[private]

CmdFetchThumbnailL()

voidCmdFetchThumbnailL()[private]

CmdRemoveThumbnailL()

voidCmdRemoveThumbnailL()[private]

CmdSaveL()

voidCmdSaveL()[private]

ConstructContextMenuL()

voidConstructContextMenuL()[protected]

ConstructNaviPaneL()

voidConstructNaviPaneL()[protected]

ContactAlreadyExistsL()

TBool ContactAlreadyExistsL()[protected]

DuplicateNameMatchL(CContactIdArray *)

TBool DuplicateNameMatchL(CContactIdArray *aIdArray)[protected]

Parameters

CContactIdArray * aIdArray

DynInitMenuPaneL(TInt, CEikMenuPane *)

voidDynInitMenuPaneL(TIntaResourceId,
CEikMenuPane *aMenuPane
)[private, virtual]

Function from MEikMenuObserver. The framework calls this function. It removes the unused default form options. If a leave occurs the framework generates a Symbian Leave code.

Parameters

TInt aResourceIdThe ID of the menu pane.
CEikMenuPane * aMenuPaneThe menu pane itself.

ExecuteLD()

IMPORT_C TContactItemIdExecuteLD()

Runs the dialog. This object is destroyed when this function returns or leaves. NOTE: Current status pane layout is replaced with the Phonebook one. Restoring the original pane is left to be the responsibility of the caller.

GetHelpContext(TCoeHelpContext &)

voidGetHelpContext(TCoeHelpContext &aContext)const [private, virtual]

Parameters

TCoeHelpContext & aContext

HandleControlStateChangeL(TInt)

voidHandleControlStateChangeL(TIntaControlId)[private, virtual]

Overridden, so that the form can tell if a line's state has changed. This is used to decide when to save changes. If a leave occurs the framework generates a Symbian Leave code.

Parameters

TInt aControlId

HideExitCommand()

IMPORT_C voidHideExitCommand()

Hides the 'Exit' command from the options menu. This must be called before calling ExecuteLD.

IsNewContact()

TBool IsNewContact()const [protected]

NewL(CPbkContactEngine &, CPbkContactItem &, TBool, TInt, TBool)

IMPORT_C CPbkContactEditorDlg *NewL(CPbkContactEngine &aEngine,
CPbkContactItem &aContactItem,
TBoolaIsNewContact,
TIntaFocusIndex = -1,
TBoolaEdited = EFalse
)[static]

Creates an instance of an editor dialog for an aContactItem.

Parameters

CPbkContactEngine & aEnginePhonebook engine
CPbkContactItem & aContactItemContact item to edit
TBool aIsNewContactSet to ETrue if aContactItem is a new contact (not yet in the database)
TInt aFocusIndex = -1Optional index of field to focus initially, default behaviour is to focus the topmost field.
TBool aEdited = EFalseIf ETrue sets the contact initially to the edited state. Use when some data is added to aContactItem that needs to be saved even if user edits nothing. Default behaviour is to set the contact to non-edited state.

OfferKeyEventL(const TKeyEvent &, TEventCode)

TKeyResponse OfferKeyEventL(const TKeyEvent &aKeyEvent,
TEventCodeaType
)[private, virtual]

From CCoeControl.

Handles key events.

If a control wishes to process key events, it should implement this function. The implementation must ensure that the function returns EKeyWasNotConsumed if it does not do anything in response to a key event, otherwise, other controls or dialogs may be prevented from receiving the key event. If it is able to process the event it should return EKeyWasConsumed.

When a key event occurs, the control framework calls this function for each control on the control stack, until one of them can process the key event (and returns EKeyWasConsumed).

Each keyboard key press results in three separate events: EEventKeyDown, EEventKey, and EEventKeyUp, in that order.

To receive key events, which can be processed by this function, the application should call CCoeAppUi::AddToStackL() to add the control to the stack. This only applies, however, to controls which are not components of a compound control. Compound controls should pass key events to their components as necessary: the components themselves do not go on the stack.

Parameters

const TKeyEvent & aKeyEventThe key event.
TEventCode aTypeThe type of key event: EEventKey, EEventKeyUp or EEventKeyDown.

OkToExitL(TInt)

TBool OkToExitL(TIntaButtonId)[private, virtual]

Function from CEikDialog. Called by framework when the softkey is pressed. Use this to pop up the options menu or close the dialog. Will call c@ SaveFormDataL() before closing if data has been edited. Will NOT permit exit if attempt to save data fails. If a leave occurs the framework generates a Symbian Leave code.

Parameters

TInt aButtonIdTranslates the button presses into commands ID.

PostLayoutDynInitL()

voidPostLayoutDynInitL()[private, virtual]

Function from CEikdialog. This function is called by the EIKON dialog framework just before the dialog is activated, after it has called PreLayoutDynInitL() and the dialog has been sized. If a leave occurs the framework generates a Symbian Leave code.

PreLayoutDynInitL()

voidPreLayoutDynInitL()[private, virtual]

Initializes the dialog's controls before the dialog is sized and layed out. Empty by default.

ProcessCommandL(TInt)

voidProcessCommandL(TIntaCommandId)[private, virtual]

Function from MEikCommandObserver. Handle user menu commands. If a leave occurs the framework generates a Symbian Leave code.

Parameters

TInt aCommandIdThe command identifier to process.

ReloadThumbnailL()

voidReloadThumbnailL()[protected]

ResetWhenDestroyed(CPbkContactEditorDlg **)

IMPORT_C voidResetWhenDestroyed(CPbkContactEditorDlg **aSelfPtr)

Sets aSelfPtr to NULL when this dialog is destroyed. Precondition: !aSelfPtr || *aSelfPtr==this

Parameters

CPbkContactEditorDlg ** aSelfPtr

SetExitCallback(MPbkEditorOkToExitCallback *)

IMPORT_C voidSetExitCallback(MPbkEditorOkToExitCallback *aCallback)

Sets exit callback. The callback is called before exit happens. If the callback returns EFalse, the exit process is cancelled.

Parameters

MPbkEditorOkToExitCallback * aCallbackExit callback

SetExitCommandId(TInt)

IMPORT_C voidSetExitCommandId(TIntaCommandId)

Sets the exit command in the options menu to forward aCommandId to the application framework. Allows clients to process and capture the exit command in the application exit situation.

Parameters

TInt aCommandIdCommand id to send to the framework when the exit occurs.

SetHelpContext(TCoeHelpContext)

IMPORT_C voidSetHelpContext(TCoeHelpContextaContext)

Sets help context. There are many applications using contact editor and they may have an own help topic to be shown, when editor's help is launched. With this command it's possible to define the used help content. If not called after, uses Phonebook's own help context as default.

Parameters

TCoeHelpContext aContextHelp context to use

SetInitialCurrentLine()

voidSetInitialCurrentLine()[private, virtual]

This is added, so that anyone adding lines either in PreLayoutDynInit() or SetInitialCurrentLine() should have the lines in a consistent state.

StoreTitlePaneTextL()

voidStoreTitlePaneTextL()[protected]

UpdateTitlePaneL()

voidUpdateTitlePaneL()[protected]

WriteContactToDbL()

voidWriteContactToDbL()[protected]

Member Enumerations Documentation

Enum TStateFlag

Enumerators

EHideExit
EEscKeyReceived
EUnderDestruction

Member Data Documentation

CPbkContactItem & iContactItem

CPbkContactItem &iContactItem[protected]

CEikMenuBar * iContextMenuBar

CEikMenuBar *iContextMenuBar[private]

CPbkContextPaneIcon * iContextPaneIcon

CPbkContextPaneIcon *iContextPaneIcon[private]

MPbkContactEditorStrategy * iEditorStrategy

MPbkContactEditorStrategy *iEditorStrategy[private]

CPbkContactEngine & iEngine

CPbkContactEngine &iEngine[private]

MPbkEditorOkToExitCallback * iExitCallback

MPbkEditorOkToExitCallback *iExitCallback[private]

TInt iExitCommandId

TInt iExitCommandId[private]

CExtension * iExtension

CExtension *iExtension[private]

CPbkContactEditorFieldArray * iFieldManager

CPbkContactEditorFieldArray *iFieldManager[protected]

TInt iFocusIndex

TInt iFocusIndex[private]

TCoeHelpContext iHelpContext

TCoeHelpContext iHelpContext[private]

CAknNavigationControlContainer * iNaviContainer

CAknNavigationControlContainer *iNaviContainer[private]

TContactItemId * iSavedContactPtr

TContactItemId *iSavedContactPtr[private]

CPbkContactEditorDlg ** iSelfPtr

CPbkContactEditorDlg **iSelfPtr[private]

Ref: self pointer for easier leave handling !iSelfPtr || *iSelfPtr==this

TBitFlags iStateFlags

TBitFlags iStateFlags[private]

HBufC * iStoredTitlePaneText

HBufC *iStoredTitlePaneText[private]

CPbkThumbnailCmd * iThumbnailCmd

CPbkThumbnailCmd *iThumbnailCmd[private]

CPbkThumbnailPopup * iThumbnailHandler

CPbkThumbnailPopup *iThumbnailHandler[private]

CAknTitlePane * iTitlePane

CAknTitlePane *iTitlePane[private]