diff -r e5618cc85d74 -r 6c158198356e javauis/eswt_akn/org.eclipse.ercp.swt.s60/native/inc/swtshell.h --- a/javauis/eswt_akn/org.eclipse.ercp.swt.s60/native/inc/swtshell.h Thu Jul 15 18:31:06 2010 +0300 +++ b/javauis/eswt_akn/org.eclipse.ercp.swt.s60/native/inc/swtshell.h Thu Aug 19 09:48:13 2010 +0300 @@ -36,8 +36,8 @@ void ConstructL(); MSwtShell& GetTopShell() const; void RemoveAndRememberFocus(); - - // Relocating an editor's Shell must be delegated to UiUtils + + // Relocating an editor's Shell must be delegated to UiUtils // while split editing is on (@see SetSplitInputShellPos) // CCoeControl::SetRect must not be called directly. void DoSetRect(const TRect& aRect); @@ -138,9 +138,7 @@ const MSwtCommand* DefaultCommand() const; void SetFullScreen(TBool aFullScreen); void SetControlGoingToStack(MSwtControl* aControl); - MSwtControl* ControlGoingToStack() const; void SetControlGainingFocus(MSwtControl* aControl); - MSwtControl* ControlGainingFocus() const; MSwtShell::TSwtStatusPaneStyle StatusPaneStyle() const { return MSwtShell::EStyleLargeStatusPane; @@ -157,6 +155,8 @@ void SetTaskTip(); TBool IsTaskTip() const; void DoSetLocation(const TPoint& aPoint); + void UpdateHighlight(TBool aDrawNow = EFalse); + void ControlDisposing(const MSwtControl& aControl); // From MEikStatusPaneObserver public: @@ -164,6 +164,8 @@ private: void FinishRedraw() const; + void DoSetFocusControl(MSwtControl* aControl); + void DoSetHighlight(MSwtControl& aControl, TBool aEnabled); // Data private: @@ -174,6 +176,15 @@ MSwtControl* iFocusControl; /** + * Keep track of last known focused control for the purpose + * of switching off its highlight when new controls gets focused. + * Not intended to be used for any athoer purpose (set to NULL + * after the highlight is cleared). + * Not own. + */ + MSwtControl* iPrevFocusControl; + + /** * This Shell's focus control before it got deactivated, may be NULL. * Not own. */