classicui_pub/editors_api/inc/EIKEDWIN.H
branchRCL_3
changeset 72 a5e7a4f63858
parent 64 85902f042028
equal deleted inserted replaced
64:85902f042028 72:a5e7a4f63858
   383         CAknPictographInterface* iPictographInterface;
   383         CAknPictographInterface* iPictographInterface;
   384         // For clear direction.
   384         // For clear direction.
   385         CRepository* iCenRep;                           // Owned
   385         CRepository* iCenRep;                           // Owned
   386         CCenRepNotifyHandler* iCenRepNotifyHandler;     // Owned
   386         CCenRepNotifyHandler* iCenRepNotifyHandler;     // Owned
   387         TInt iClearDirection;                           // Value of ClearDirection
   387         TInt iClearDirection;                           // Value of ClearDirection
   388         // For listening the status of qwerty key board
       
   389         CRepository* iCenRepForQwerty;                           // Owned
       
   390         CCenRepNotifyHandler* iCenRepNotifyHandlerForQwerty;     // Owned
       
   391      public:
   388      public:
   392 
   389 
   393         TInt iSkinIdForText;
   390         TInt iSkinIdForText;
   394         TAknsHighlightStyle iSkinHighlightStyle;
   391         TAknsHighlightStyle iSkinHighlightStyle;
   395         SAknRgb iEditorBackgroundColor;
   392         SAknRgb iEditorBackgroundColor;
   501 		
   498 		
   502 		/**
   499 		/**
   503 		 * Record if text view has been actually hidden.
   500 		 * Record if text view has been actually hidden.
   504 		 */
   501 		 */
   505 		TBool iTextViewHidden;
   502 		TBool iTextViewHidden;
   506         /**
       
   507          * Record the buff of "Tap To write" in current language.
       
   508          * 
       
   509          * Own.
       
   510          */
       
   511         HBufC* iT2WBuf;
       
   512         enum TT2WFlag
       
   513             {
       
   514             ESplitInputEnabled  = 0x00000001,
       
   515             EFocusOn            = 0x00000002,
       
   516             ERecordCursor       = 0x00000004,
       
   517             ECursorVisible      = 0x00000008
       
   518             };
       
   519         /**
       
   520          * Record internal status of of "tap to write".
       
   521          */
       
   522 		TInt iT2WState;
       
   523 		
       
   524         /**
       
   525          * Used to record if qwerty key board is opened.
       
   526          * 
       
   527          */
       
   528         TInt iQwertyStatus;                           
       
   529         };
   503         };
   530 
   504 
   531 public:
   505 public:
   532 
   506 
   533     /**
   507     /**
  2409     TBool ConvertSmileyForDeleteL( TInt aDocPos, TBool aBackSpace ); 
  2383     TBool ConvertSmileyForDeleteL( TInt aDocPos, TBool aBackSpace ); 
  2410     void ConvertSmileyForDeleteL( const TCursorSelection &aSelect );
  2384     void ConvertSmileyForDeleteL( const TCursorSelection &aSelect );
  2411     TBool AdjustCursorPosByMovementL( TCursorPosition::TMovementType aMovement, 
  2385     TBool AdjustCursorPosByMovementL( TCursorPosition::TMovementType aMovement, 
  2412         TBool aSelect );
  2386         TBool aSelect );
  2413     void HandleSelectionForSmiley( TCursorSelection aSelect );
  2387     void HandleSelectionForSmiley( TCursorSelection aSelect );
  2414     
  2388 
  2415     /**
  2389     /**
  2416      * 1,If the editor is read only or it is display only "tap to write" is disabled
  2390      * Get range of inline text in current document.
  2417      * 2,If iEdwinExtension->iT2WBuf is NULL, "tap to write" is disabled. 
  2391      */
  2418      * 3,If Qwerty key borad is opened, "tap to write" is disabled
  2392     TCursorSelection InlineTextRange() const;
  2419      * 4,If focus off, "tap to write" is disabled
  2393 	    
  2420      * 5,If split input is enabled, "tap to write" is disabled 
       
  2421      */    
       
  2422     TBool IsT2WEnabled() const;
       
  2423 protected:
  2394 protected:
  2424 
  2395 
  2425     /**
  2396     /**
  2426      * Specifies the end points of the editable area.
  2397      * Specifies the end points of the editable area.
  2427      */
  2398      */
  2810     TKeyResponse ScrollReadOnlyNoCursorDisplayL(TUint aKeyCode);
  2781     TKeyResponse ScrollReadOnlyNoCursorDisplayL(TUint aKeyCode);
  2811     void ReplaceParaDelimitersL( TInt aStartPos, TInt aLength );
  2782     void ReplaceParaDelimitersL( TInt aStartPos, TInt aLength );
  2812     TRect AdjustedViewRect() const;
  2783     TRect AdjustedViewRect() const;
  2813     void SetVKBStatus();
  2784     void SetVKBStatus();
  2814     void ScrollViewToCursorLineL();
  2785     void ScrollViewToCursorLineL();
  2815 
       
  2816     /**
       
  2817      * Scrolls view so that cursor is visible.
       
  2818      */
       
  2819     void MoveViewToCursorLineL();
       
  2820 
       
  2821     void PerformRecordedOperationL();
  2786     void PerformRecordedOperationL();
  2822     void ScrollIfAtTopOrBottomL();
  2787     void ScrollIfAtTopOrBottomL();
  2823     void SetSelectionVisibilityL( TBool aIsVisable );
  2788     void SetSelectionVisibilityL( TBool aIsVisable );
  2824     
  2789     
  2825     /**
  2790     /**
  2843     void EnableRateScrolling( TBool aEnable );
  2808     void EnableRateScrolling( TBool aEnable );
  2844 
  2809 
  2845 private:
  2810 private:
  2846 
  2811 
  2847 	void DrawFirstLineTextL() const;
  2812 	void DrawFirstLineTextL() const;
  2848 	
       
  2849     /**
       
  2850      * Draws "Tap to write" text to help user to navigate to virtual input
       
  2851      * This text is drawn when the text length of the editor field is zero
       
  2852      * 
       
  2853      * @param  none
       
  2854      * @return none
       
  2855      */
       
  2856     void DrawT2WTextL() const;
       
  2857     
       
  2858     /**
       
  2859      * Draws "Tap to write" text if text length is zero
       
  2860      * 
       
  2861      * @param  aClean. When aClean is set to ETrue and the codition of "tap to write" is False,
       
  2862      *     The editor will be redraw and "tap to write" will be clean.
       
  2863      * @return none
       
  2864      */
       
  2865     void TryToDrawT2W( TBool aClean = EFalse );
       
  2866     
       
  2867     /**
       
  2868      * Get the align of the first line text
       
  2869      * 
       
  2870      * @param  none
       
  2871      * @return text align for first line text
       
  2872      */
       
  2873     CGraphicsContext::TTextAlign AlignForFirstLineText( const TPtr & aReorderedTextPtr ) const;
       
  2874     
       
  2875     /**
       
  2876      * Get the rect of the first line text
       
  2877      * 
       
  2878      * @param  none
       
  2879      * @return rect of the first line
       
  2880      */
       
  2881     TRect RectForFirstLineText() const;
       
  2882     
       
  2883     CAknEdwinDrawingModifier* AknEdwinDrawingModifier();
  2813     CAknEdwinDrawingModifier* AknEdwinDrawingModifier();
  2884     TBool EditorSupportsNeutralProtection() const;
  2814     TBool EditorSupportsNeutralProtection() const;
  2885 
  2815 
  2886     /**
  2816     /**
  2887     * Main routine for neutral protection.  This routine returns a boolean stating if there is a
  2817     * Main routine for neutral protection.  This routine returns a boolean stating if there is a
  3162      *
  3092      *
  3163      * @return ETrue if editor content fits to view rect.
  3093      * @return ETrue if editor content fits to view rect.
  3164      */
  3094      */
  3165 	TBool ContentFitsToViewRect() const;
  3095 	TBool ContentFitsToViewRect() const;
  3166 
  3096 
  3167     /**
       
  3168      * Set the "Tap To Write" enable or not
       
  3169      * There are two ways to use this API. The first way is: after construct a editor you can 
       
  3170      * call EnableT2WL( ETrue ) to enable the feature, then editor will display or hide 
       
  3171      * "tap to write" by the internal status of editor. It means that "tap to write" will 
       
  3172      * display and hide automatically as internal logical of editor.
       
  3173      * Enable the feature: 
       
  3174      * CEikEdwin *editor = new (ELeave) CEikEdwin;
       
  3175      * editor->ConstructL();
       
  3176      * editor->EnableT2WL( ETrue );
       
  3177      * 
       
  3178      * The second way is application can call EnableT2WL( ETrue/EFalse )
       
  3179      * to display or hide "tap to write" immediately according to its own logic.
       
  3180      * Display:
       
  3181      * editor->EnableT2WL( ETrue );
       
  3182      * Hide:
       
  3183      * editor->EnableT2WL( EFalse );
       
  3184      * 
       
  3185      * @param ETure for enable EFalse for not disable.
       
  3186      * @return none.
       
  3187      */
       
  3188     IMPORT_C void EnableT2WL( TBool aEnable );
       
  3189 protected:
  3097 protected:
  3190 
  3098 
  3191     /**
  3099     /**
  3192      * Edwin user flags.
  3100      * Edwin user flags.
  3193      */
  3101      */