CAknForm Class Reference

#include <mw/AknForm.h>

Link against: glxcommandhandlerbase.lib

class CAknForm : public CAknDialog
Protected Member Enumerations
enumTFlags { EDeleting, EUnsavedEdit }
Public Member Functions
CAknForm()
~CAknForm()
IMPORT_C voidConstructL(TInt)
virtual IMPORT_C voidDynInitMenuPaneL(TInt, CEikMenuPane *)
virtual IMPORT_C voidHandlePointerEventL(const TPointerEvent &)
virtual IMPORT_C voidHandleResourceChange(TInt)
virtual IMPORT_C voidProcessCommandL(TInt)
Protected Member Functions
virtual IMPORT_C voidAddItemL()
virtual IMPORT_C voidDeleteCurrentItemL()
IMPORT_C TBoolDeleting()
virtual IMPORT_C voidDoNotSaveFormDataL()
virtual IMPORT_C voidEditCurrentLabelL()
virtual IMPORT_C voidHandleControlStateChangeL(TInt)
virtual IMPORT_C TBoolOkToExitL(TInt)
virtual IMPORT_C voidPostLayoutDynInitL()
virtual IMPORT_C voidPrepareForFocusTransitionL()
virtual IMPORT_C TBoolQuerySaveChangesL()
virtual IMPORT_C TBoolSaveFormDataL()
IMPORT_C voidSetChangesPending(TBool)
IMPORT_C voidSetFormFlag(TFlags, TBool)
virtual IMPORT_C voidSetInitialCurrentLine()
IMPORT_C TBoolUnsavedEdit()
Inherited Attributes
CAknDialog::iMenuBar
CCoeControl::iCoeEnv
CCoeControl::iContext
CCoeControl::iPosition
CCoeControl::iSize
CEikBorderedControl::iBorder
Inherited Enumerations
CCoeControl:TZoomType
CEikDialog:@121
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::OfferKeyEventL(const TKeyEvent &,TEventCode)
CAknDialog::PrepareLC(TInt)
CAknDialog::RunLD()
CAknDialog::SetEmphasis(CCoeControl *,TBool)
CAknDialog::SizeChanged()
CAknDialog::~CAknDialog()
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::CCoeControlArray
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::GetHelpContext(TCoeHelpContext &)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::PreLayoutDynInitL()
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()

Detailed Description

Forms are special types of dialogs. The item layout and functionality can differ between the two states. In the view state, the fields are not editable. It looks and acts like a listbox. The listbox focus can be moved and items can be selected.

Since
Series 60 0.9

Member Enumeration Documentation

Enum TFlags

EnumeratorValueDescription
EDeleting0x1

Flag for deleting item.

EUnsavedEdit0x2

Flag for unsave editing item.

Constructor & Destructor Documentation

CAknForm ( )

IMPORT_CCAknForm()

Base class default constructor.

~CAknForm ( )

IMPORT_C~CAknForm()

Destructor.

Member Function Documentation

AddItemL ( )

IMPORT_C voidAddItemL()[protected, virtual]

This routine may be overridden. Implementation is missing in this class.

ConstructL ( TInt )

IMPORT_C voidConstructL(TIntaMenuBarId = 0)

Reimplemented from CAknDialog::ConstructL(TInt)

Perform the second phase construction of a object. If a leave occurs the framework generates a Symbian Leave code.

DeleteCurrentItemL ( )

IMPORT_C voidDeleteCurrentItemL()[protected, virtual]

This routine may be overridden. Default displays "Delete item? Yes/No" Deletes item on return from the dialog before returning. If a leave occurs the framework generates a Symbian Leave code.

Deleting ( )

IMPORT_C TBoolDeleting()const [protected]

Returns: ETrue if deleting, and EFalse if it should not.

DoNotSaveFormDataL ( )

IMPORT_C voidDoNotSaveFormDataL()[protected, virtual]

This routine should be implemented by the client for dealing with the occasion of a change from edit->view mode but the user does not wish to save the changes. A typical implementation would set the controls back to their old values. If a leave occurs the framework generates a Symbian Leave code.

DynInitMenuPaneL ( TInt, CEikMenuPane * )

IMPORT_C voidDynInitMenuPaneL(TIntaResourceId,
CEikMenuPane *aMenuPane
)[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.

ParameterDescription
aResourceIdThe ID of the menu pane.
aMenuPaneThe menu pane itself.

EditCurrentLabelL ( )

IMPORT_C voidEditCurrentLabelL()[protected, virtual]

This routine may be overridden. Default displays old label as caption and editor for new one. Uses customised dialog.If a leave occurs the framework generates a Symbian Leave code.

HandleControlStateChangeL ( TInt )

IMPORT_C voidHandleControlStateChangeL(TIntaControlId)[protected, 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.

HandlePointerEventL ( const TPointerEvent & )

IMPORT_C voidHandlePointerEventL(const TPointerEvent &aPointerEvent)[virtual]

From CCoeControl. Handles pointer events

ParameterDescription
aPointerEventThe pointer event.

HandleResourceChange ( TInt )

IMPORT_C voidHandleResourceChange(TIntaType)[virtual]
Function from CCoeControl handles a change to the control's resources of type aType which are shared across the environment, e.g. colors or fonts.
Since
Series 60 2.0

OkToExitL ( TInt )

IMPORT_C TBoolOkToExitL(TIntaButtonId)[protected, virtual]

Reimplemented from CAknDialog::OkToExitL(TInt)

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.

ParameterDescription
aButtonIdTranslates the button presses into commands ID.

Returns: ETrue if the dialog should exit, and EFalse if it should not.

PostLayoutDynInitL ( )

IMPORT_C voidPostLayoutDynInitL()[protected, 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.

PrepareForFocusTransitionL ( )

IMPORT_C voidPrepareForFocusTransitionL()[protected, virtual]

Function from CEikDialog and thence from c@ MEikDialogPageObserver. This funtion should be implemented to prepare for focus transition from the current line. If deleting then this routine must not do anything (the default tries to access the control which has just been deleted). If a leave occurs the framework generates a Symbian Leave code.

ProcessCommandL ( TInt )

IMPORT_C voidProcessCommandL(TIntaCommandId)[virtual]

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

ParameterDescription
aCommandIdThe command identifier to process.

QuerySaveChangesL ( )

IMPORT_C TBoolQuerySaveChangesL()[protected, virtual]

This routine may be overridden. Default displays 'Save Changes Dialog Yes/No'. Data validation may occur here as an alternative to overriding OkToExit(). Re-implementation may put data validation here (as an alternative to over-riding OkToExit() - which is a more complicated method). Note that this routine does not perform the changes itself. If the leave occurs the framework generates a Symbian Leave code.

Returns: ETrue if changes are requested to be saved and then are successfully saved. Save of data is not performed here but in SaveFormDataL().

SaveFormDataL ( )

IMPORT_C TBoolSaveFormDataL()[protected, virtual]

This routine should be re-implemented by the client to save the contents of the form. The re-implementation can call this function to display the 'Saved' dialog CAknForm::SaveFormDataL().

Returns: ETrue if the editable state can be left. The return value should reflect whether or not the form is to leave the editable state. A real system problem saving should generate a Symbian Leave code.

SetChangesPending ( TBool )

IMPORT_C voidSetChangesPending(TBoolaChangesPending)[protected]

Sets changes pending.

ParameterDescription
aChangesPendingETrue if changes are pending. Else .

SetFormFlag ( TFlags, TBool )

IMPORT_C voidSetFormFlag(TFlagsaFlagPattern,
TBoolaSetTheFlag
)[protected]

Set the form flag indicated.

ParameterDescription
aFlagPatternPattern of bits to set or clear.
aSetTheFlagIf ETrue, sets the pattern; if EFalse, clear the pattern.

SetInitialCurrentLine ( )

IMPORT_C voidSetInitialCurrentLine()[protected, virtual]

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

UnsavedEdit ( )

IMPORT_C TBoolUnsavedEdit()const [protected]

Required by OkToExit().

Returns: ETrue if unsave editing, and EFalse if it should not.