Fixed Nabi Issues N_SE-52525,52761,52458,52443,52423,52179,52389 and third party...
[apps/osp/Internet.git] / inc / IntMainForm.h
index 4715d1e..4aacad0 100644 (file)
-//\r
-\r
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
-//\r
-// Licensed under the Flora License, Version 1.0 (the License);\r
-// you may not use this file except in compliance with the License.\r
-// You may obtain a copy of the License at\r
-//\r
-//     http://floralicense.org/license/\r
-//\r
-// Unless required by applicable law or agreed to in writing, software\r
-// distributed under the License is distributed on an AS IS BASIS,\r
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-// See the License for the specific language governing permissions and\r
-// limitations under the License.\r
-//\r
-\r
-//!Internet MainForm class\r
-/*@file:        MainForm.h\r
- *@brief:       The %MainForm provides the common functionalities for the Main View of the Browser including the addressbar,\r
- *                      loading,handling events etc.\r
- */\r
-\r
-#ifndef _INT_MAIN_FORM_H_\r
-#define _INT_MAIN_FORM_H_\r
-\r
-#include <FBase.h>\r
-#include <FUi.h>\r
-#include <FWeb.h>\r
-\r
-#include "IntAddressbar.h"\r
-#include "IntHistoryData.h"\r
-#include "IntHistoryPresentationModel.h"\r
-#include "IntIAddressbarEventListener.h"\r
-#include "IntISettingChangeListener.h"\r
-#include "IntMultipleWindowPresentationModel.h"\r
-#include "IntSharePopup.h"\r
-\r
-class MainForm\r
-       : public Tizen::Ui::Controls::Form\r
-       , public Tizen::Ui::Controls::IListViewItemEventListener\r
-       , public Tizen::Ui::Controls::IListViewItemProvider\r
-       , public Tizen::Ui::IActionEventListener\r
-       , public IAddressbarEventListener\r
-       , public Tizen::Ui::Controls::IFormBackEventListener\r
-       , public Tizen::Ui::IKeypadEventListener\r
-       , public Tizen::Web::Controls::ILoadingListener\r
-       , public Tizen::Ui::IOrientationEventListener\r
-       , public Tizen::Ui::ITextEventListener\r
-       , public Tizen::Ui::ITouchEventListener\r
-       , public Tizen::Ui::Scenes::ISceneEventListener\r
-       , public ISettingChangeEventListener\r
-       , public Tizen::Web::Controls::IWebKeypadEventListener\r
-       , public Tizen::Web::Controls::IWebUiEventListener\r
-       , public Tizen::Web::Controls::ITextSearchListener\r
-{\r
-public:\r
-   /**\r
-       *@brief                 Default constructor\r
-       */\r
-       MainForm(void);\r
-\r
-   /**\r
-       *@brief                 Default destructor\r
-       */\r
-       virtual ~MainForm(void);\r
-\r
-       /**\r
-        * @brief               The method initializes the screen variables and controls to be used by the user.\r
-        *\r
-        */\r
-       bool Initialize(void);\r
-\r
-       /**\r
-        * @brief               Initializes this instance of %MainForm.\r
-        *\r
-        */\r
-       result InitWebControl();\r
-\r
-       /**\r
-        * @brief               Initializes this instance of Reader Panel.\r
-        */\r
-       result CreateReaderPanel(void);\r
-\r
-       Tizen::Base::String GetImagePath(void);\r
-\r
-       void LoadUrl(Tizen::Base::String& url);\r
-\r
-       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);\r
-\r
-       virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);\r
-\r
-       //IAddressbarEventListener\r
-       void OnAddressCancelledClicked(const Addressbar&);\r
-\r
-       void OnAddressBarKeypadClosed(const Addressbar&);\r
-\r
-       void OnAddressBarKeypadOpened(const Addressbar&);\r
-\r
-       void OnAddressBarKeypadWillOpen(const Addressbar&);\r
-\r
-       void OnAddressBarModeChanged(const Addressbar&);\r
-\r
-       void OnBackClicked(const Addressbar&);\r
-\r
-       void OnForwardClicked(const Addressbar&);\r
-\r
-       void OnReaderClicked(const Addressbar&);\r
-\r
-       void OnRefreshClicked(const Addressbar&){}\r
-\r
-       void OnSearchClicked(const Addressbar&){}\r
-\r
-       void OnStopClicked(Addressbar&);\r
-\r
-       void OnUrlSubmitted(Addressbar&);\r
-\r
-       //ILoadingeventListener\r
-       virtual void OnEstimatedProgress(int progress);\r
-\r
-       virtual bool OnHttpAuthenticationRequestedN(const Tizen::Base::String& host, const Tizen::Base::String& realm, const Tizen::Web::Controls::AuthenticationChallenge& authentication);\r
-\r
-       virtual void OnHttpAuthenticationCanceled(void);\r
-\r
-       virtual result OnInitializing(void);\r
-\r
-       virtual void OnKeypadWillOpen(Tizen::Ui::Control& source);\r
-\r
-       virtual void OnKeypadOpened(Tizen::Ui::Control& source){}\r
-\r
-       virtual void OnKeypadClosed(Tizen::Ui::Control& source);;\r
-\r
-       virtual void OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction){}\r
-\r
-       void OnLoadingErrorOccurred(Tizen::Web::Controls::LoadingErrorType error, const Tizen::Base::String& reason);\r
-\r
-       virtual void OnLoadingStarted(void);\r
-\r
-       virtual void OnLoadingCanceled(void);\r
-\r
-       virtual void OnLoadingCompleted(void);\r
-\r
-       bool OnLoadingRequested(const Tizen::Base::String& url, Tizen::Web::Controls::WebNavigationType type);\r
-\r
-       virtual void OnPageTitleReceived(const Tizen::Base::String& title);\r
-\r
-       virtual Tizen::Web::Controls::DecisionPolicy OnWebDataReceived(const Tizen::Base::String& mime, const Tizen::Net::Http::HttpHeader& httpHeader);\r
-\r
-       //IOrientationEventListener\r
-       virtual void OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);\r
-\r
-       //ISceenEventListener\r
-       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);\r
-\r
-       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);\r
-\r
-       virtual result OnTerminating(void);\r
-\r
-       void SetImageLoadEnabled(void);\r
-\r
-       void SetJavascriptEnabled(void);\r
-\r
-       // IListViewItemEventListener\r
-       /**\r
-        *Called when the state of an element in the ListContextItem is changed.\r
-        */\r
-       virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state);\r
-\r
-       /**\r
-        *Called when the state of an element in the ListViewItem in the ListView or GroupedListView is changed.\r
-        */\r
-       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);\r
-\r
-       /**\r
-        *Called when the ListItem is swept.\r
-        */\r
-       virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);\r
-\r
-       /**\r
-        *Called when the item or the element is long pressed.\r
-        */\r
-       virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback){};\r
-\r
-\r
-       //IListViewItemProvider\r
-       virtual Tizen::Ui::Controls::ListItemBase *     CreateItem (int index, int itemWidth);\r
-       virtual bool    DeleteItem (int index, Tizen::Ui::Controls::ListItemBase *pItem, int itemWidth);\r
-       virtual int     GetItemCount (void);\r
-\r
-       //IWebUiEventListener\r
-       virtual void OnWebPageBlockSelected(Tizen::Web::Controls::Web& source, Tizen::Graphics::Point& startPoint, Tizen::Graphics::Point& endPoint);\r
-       virtual void OnWebPageShowRequested(Tizen::Web::Controls::Web& source);\r
-       virtual Tizen::Web::Controls::Web* OnWebWindowCreateRequested(void);\r
-       virtual void OnWebWindowCloseRequested(Tizen::Web::Controls::Web& source) {AppLog("acdaqsc");}\r
-\r
-       //IWebKeypadEventListener\r
-       virtual void OnWebKeypadClosed(Tizen::Web::Controls::Web& source);\r
-       virtual void OnWebKeypadOpened(Tizen::Web::Controls::Web& source);\r
-       virtual void OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source);\r
-\r
-       //ITouchEventListener\r
-       virtual void OnTouchDoublePressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);\r
-       virtual void OnTouchFocusIn(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo){}\r
-       virtual void OnTouchFocusOut(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo){}\r
-       virtual void OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);\r
-       virtual void OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);\r
-       virtual void OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);\r
-       virtual void OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);\r
-\r
-       virtual void OnTextFound(int totalCount, int currentOrdinal);\r
-\r
-       //ISettingsChangeListener\r
-       void OnClearCache(void);\r
-       void OnClearCookie(void);\r
-       void OnSettingsChange(int settingvalue);\r
-       void OnSettingsReset(void);\r
-\r
-       virtual void  OnTextValueChangeCanceled (const Tizen::Ui::Control &source){}\r
-       virtual void  OnTextValueChanged (const Tizen::Ui::Control &source);\r
-\r
-       void UpdateImageContent(Tizen::Base::ByteBuffer* aBuffer, Tizen::Base::String imageName);\r
-private:\r
-       double findDistance(int x1,int y1,int x2, int y2);\r
-       void FindNextWord(bool next = true);\r
-       result InitAddressbar(void);\r
-       result InitFooter(void);\r
-       result InitContextMenu(Tizen::Graphics::Point& p);\r
-       result InitFindWordPanel(void);\r
-       result InitImageContextMenu(Tizen::Graphics::Point p);\r
-       result InitSelectTextContextMenu(Tizen::Graphics::Point p, bool pasteOption, bool onlyPasteOption);\r
-       result InitMostVisitedSitesPanel(Tizen::Ui::OrientationStatus orientationStatus);\r
-       result InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatus);\r
-       void MoveUiControls(void);\r
-       void UpdateFavicon(void);\r
-       void RelayoutControls(bool showAddressbar);\r
-       void ShowFindWordPanel(bool show = true, bool isTouchPressed = false);\r
-       void ShowMostVisitedSitesPanel(void);\r
-       void StartWordSearch();\r
-\r
-private:\r
-\r
-       static const int IDA_FORMAT_BITMAP;\r
-       static const int IDA_FORMAT_DELETE_BITMAP;\r
-       static const int IDA_FORMAT_TITLE_STRING;\r
-       static const int IDA_FORMAT_URL_STRING;\r
-       static const int IDA_CONTEXT_ITEM_DELETE;\r
-\r
-       Tizen::Graphics::Point __adressPanelPosition;\r
-       AddressBarMode __curAddressBarMode;\r
-       Tizen::Base::String     __currentSearchStr;\r
-       Tizen::Base::String     __currentSelectedStr;\r
-       int __distanceMoved;\r
-       int __webControlHeight;\r
-       float __previousZoomLevel;\r
-       int     __maxOccurrances;\r
-       int     __currentWordIndex;\r
-       bool __isLoaded;\r
-       bool __inputEventToBeSupressed;\r
-       Addressbar* __pAddressbar;\r
-       Tizen::Graphics::Point __contextMenuPosition;\r
-       Tizen::Ui::Controls::Label* __pArticleReaderLabel;\r
-       Tizen::Ui::Controls::Panel* __pArticleReaderPanel;\r
-       Tizen::Ui::Controls::Panel* __pBlankPanel;\r
-       Tizen::Ui::Controls::Label *    __pFindWordBgLabel;\r
-       Tizen::Ui::Controls::Button*    __pFindWordClear;\r
-       Tizen::Ui::Controls::Label*     __pFindWordCountLabel;\r
-       Tizen::Ui::Controls::Panel*     __pFindWordControl;\r
-       Tizen::Ui::Controls::EditField* __pFindWordEditField;\r
-       Tizen::Ui::Controls::Button*    __pFindWordNext;\r
-       Tizen::Ui::Controls::Button*    __pFindWordPrev;\r
-       Tizen::Ui::Controls::Panel*     __pFindWordPanel;\r
-       Tizen::Ui::Controls::Panel* __pFooterPanel;\r
-       Tizen::Web::Controls::HitElementResult* __pHitElementResult;\r
-       Tizen::Ui::Controls::ContextMenu* __pImageMenu;\r
-       Tizen::Ui::Controls::ContextMenu* __pMenu;\r
-       Tizen::Ui::Controls::Button* __pMoreButton;\r
-       Tizen::Ui::Controls::Button* __pMultiWindowButton;\r
-       Tizen::Ui::Controls::Button* __pNewWindowButton;\r
-       SharePopup*     __pPopUp;\r
-       AddressBarMode __prevAddressBarMode;\r
-       Tizen::Ui::Controls::Button* __pReaderCloseBtn;\r
-       Tizen::Base::String*    __pReaderData;\r
-       Tizen::Media::Image* __pSaveImage;\r
-       Tizen::Web::Controls::Web* __pWebReader;\r
-       Tizen::Web::Controls::Web* __pWebViewer;\r
-       WindowInfo*     __pWindowInfo;\r
-       Tizen::Ui::Controls::ListView* __pMostVisitedListView;\r
-\r
-       Tizen::Graphics::Point __touchPoint1;\r
-       Tizen::Graphics::Point __touchPoint2;\r
-       Tizen::Graphics::Point __webControlPosition;\r
-\r
-       Tizen::Ui::Controls::ListContextItem* __pItemContext;\r
-       Tizen::Base::Collection::ArrayList* __pMostVisitedSites;\r
-};\r
-\r
-#endif  //_INT_MAIN_FORM_H_\r
+//
+
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+//!Internet MainForm class
+/*@file:        MainForm.h
+ *@brief:       The %MainForm provides the common functionalities for the Main View of the Browser including the addressbar,
+ *                      loading,handling events etc.
+ */
+
+#ifndef _INT_MAIN_FORM_H_
+#define _INT_MAIN_FORM_H_
+
+#include <FBase.h>
+#include <FUi.h>
+#include <FWeb.h>
+
+#include "IntAddressbar.h"
+#include "IntHistoryData.h"
+#include "IntHistoryPresentationModel.h"
+#include "IntIAddressbarEventListener.h"
+#include "IntISettingChangeListener.h"
+#include "IntMultipleWindowPresentationModel.h"
+#include "IntNotificationPanel.h"
+#include "IntSharePopup.h"
+
+
+enum AddressBarMode
+{
+       ADDRESSBAR_MODE_INVALID = -1,
+       ADDRESSBAR_MODE_READER = 0,
+       ADDRESSBAR_MODE_LOADING,
+       ADDRESSBAR_MODE_LOADING_COMPLETE,
+       ADDRESSBAR_MODE_EDIT,
+};
+
+class MainForm
+       : public Tizen::Ui::Controls::Form
+       , public Tizen::Ui::IFocusEventListener
+       , public Tizen::Ui::Controls::IFormMenuEventListener
+       , public Tizen::Ui::Controls::IListViewItemEventListener
+       , public Tizen::Ui::Controls::IListViewItemProvider
+       , public Tizen::Ui::IActionEventListener
+       , public IAddressbarEventListener
+       , public Tizen::Ui::Controls::IFormBackEventListener
+       , public Tizen::Ui::IKeypadEventListener
+       , public Tizen::Web::Controls::ILoadingListener
+       , public Tizen::Ui::IOrientationEventListener
+       , public Tizen::Ui::ITextEventListener
+       , public Tizen::Ui::IPropagatedTouchEventListener
+       , public Tizen::Ui::ITouchEventListener
+       , public Tizen::Ui::Scenes::ISceneEventListener
+       , public ISettingChangeEventListener
+       , public Tizen::Web::Controls::IWebKeypadEventListener
+       , public Tizen::Web::Controls::IWebUiEventListenerF
+       , public Tizen::Web::Controls::ITextSearchListener
+
+{
+public:
+   /**
+       *@brief                 Default constructor
+       */
+       MainForm(void);
+
+   /**
+       *@brief                 Default destructor
+       */
+       virtual ~MainForm(void);
+
+       /**
+        * @brief               The method initializes the screen variables and controls to be used by the user.
+        *
+        */
+       bool Initialize(void);
+
+       /**
+        * @brief               Initializes this instance of %MainForm.
+        *
+        */
+       result InitWebControl();
+
+       /**
+        * @brief               Initializes this instance of Reader Panel.
+        */
+       result CreateReaderPanel(void);
+
+       Tizen::Base::String GetImagePath(void);
+
+       void LoadUrl(Tizen::Base::String& url);
+
+       //IFocusEventListener
+       void OnFocusGained(const Tizen::Ui::Control& source);
+       void OnFocusLost(const Tizen::Ui::Control& source);
+
+       //IFormMenuEventListener
+       virtual void    OnFormMenuRequested (Tizen::Ui::Controls::Form &source);
+
+       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+       //IAddressbarEventListener
+       void OnAddressBarFocusGained(const Addressbar& addBar);
+
+       void OnAddressBarFocusLost(const Addressbar& addBar, bool addressbarKeyPadState);
+
+       void OnAddressCancelledClicked(const Addressbar&);
+
+       void OnAddressBarKeypadClosed(const Addressbar&, bool footerState = true);
+
+       void OnAddressBarKeypadOpened(const Addressbar&);
+
+       void OnAddressBarKeypadWillOpen(const Addressbar&);
+
+       void OnAddressBarKeypadBoundsChanged(const Addressbar& addBar);
+
+       void OnAddressBarModeChanged(/*const Addressbar&*/);
+
+       virtual void OnClipboardClosed(const Addressbar&);
+
+       void OnBackClicked(/*const Addressbar&*/);
+
+       void OnForwardClicked(/*const Addressbar&*/);
+
+       void OnRefreshClicked(const Addressbar&){}
+
+       void OnSearchClicked(const Addressbar&){}
+
+       void OnStopClicked(Addressbar&);
+
+       void OnUrlValueChanged(Addressbar&);
+
+       void OnUrlSubmitted(Addressbar&);
+
+       //ILoadingeventListener
+       virtual void OnEstimatedProgress(int progress);
+       virtual void OnFaviconReceived(const Tizen::Graphics::Bitmap& favicon);
+
+       virtual bool OnHttpAuthenticationRequestedN(const Tizen::Base::String& host, const Tizen::Base::String& realm, const Tizen::Web::Controls::AuthenticationChallenge& authentication);
+
+       virtual void OnHttpAuthenticationCanceled(void);
+
+       virtual result OnInitializing(void);
+
+       virtual void OnKeypadWillOpen(Tizen::Ui::Control& source);
+
+       virtual void OnKeypadOpened(Tizen::Ui::Control& source);
+
+       virtual void OnKeypadClosed(Tizen::Ui::Control& source);
+
+       virtual void OnKeypadBoundsChanged (Tizen::Ui::Control &source);
+
+       virtual void OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction){}
+
+       void OnLoadingErrorOccurred(Tizen::Web::Controls::LoadingErrorType error, const Tizen::Base::String& reason);
+
+       virtual void OnLoadingStarted(void);
+
+       virtual void OnLoadingCanceled(void);
+
+       virtual void OnLoadingCompleted(void);
+
+       bool OnLoadingRequested(const Tizen::Base::String& url, Tizen::Web::Controls::WebNavigationType type);
+
+       virtual void OnPageTitleReceived(const Tizen::Base::String& title);
+
+       virtual Tizen::Web::Controls::DecisionPolicy OnWebDataReceived(const Tizen::Base::String& mime, const Tizen::Net::Http::HttpHeader& httpHeader);
+
+       //IOrientationEventListener
+       virtual void OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
+
+       //ISceenEventListener
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       virtual result OnTerminating(void);
+
+       void SetImageLoadEnabled(void);
+
+       void SetJavascriptEnabled(void);
+
+       // IListViewItemEventListener
+       /**
+        *Called when the state of an element in the ListContextItem is changed.
+        */
+       virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state);
+
+       /**
+        *Called when the state of an element in the ListViewItem in the ListView or GroupedListView is changed.
+        */
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+
+       /**
+        *Called when the ListItem is swept.
+        */
+       virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
+
+       /**
+        *Called when the item or the element is long pressed.
+        */
+       virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback){AppLog("MainForm::OnListViewItemLongPressed called");};
+
+
+       //IListViewItemProvider
+       virtual Tizen::Ui::Controls::ListItemBase *     CreateItem (int index, int itemWidth);
+       virtual bool    DeleteItem (int index, Tizen::Ui::Controls::ListItemBase *pItem, int itemWidth);
+       virtual int     GetItemCount (void);
+
+       //IWebUiEventListener
+       virtual void OnWebPageBlockSelected(Tizen::Web::Controls::Web& source, Tizen::Graphics::FloatPoint& startPoint, Tizen::Graphics::FloatPoint& endPoint);
+       virtual void OnWebPageShowRequested(Tizen::Web::Controls::Web& source);
+       virtual Tizen::Web::Controls::Web* OnWebWindowCreateRequested(void);
+       virtual void OnWebWindowCloseRequested(Tizen::Web::Controls::Web& source);
+
+       //IWebKeypadEventListener
+       virtual void OnWebKeypadClosed(Tizen::Web::Controls::Web& source);
+       virtual void OnWebKeypadOpened(Tizen::Web::Controls::Web& source);
+       virtual void OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source);
+       virtual void OnWebKeypadBoundsChanged(Tizen::Web::Controls::Web& source);
+
+       //ITouchEventListener
+       virtual void OnTouchDoublePressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+       virtual void OnTouchFocusIn(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo){}
+       virtual void OnTouchFocusOut(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo){}
+       virtual void OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+       virtual void OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+       virtual void OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+       virtual void OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+
+       //IPropagatedTouchEventListener
+       virtual bool OnTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnTouchCanceled(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnPreviewTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnPreviewTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnPreviewTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+
+       virtual void OnTextFound(int totalCount, int currentOrdinal);
+
+       //ISettingsChangeListener
+       void OnClearCache(void);
+       void OnClearCookie(void);
+       void OnClearFormData(void);
+       void OnClearPasswords(void);
+       void OnSettingsChange(int settingvalue);
+       void OnSettingsReset(void);
+
+       virtual void  OnTextValueChangeCanceled (const Tizen::Ui::Control &source){}
+       virtual void  OnTextValueChanged (const Tizen::Ui::Control &source);
+
+       void UpdateImageContent(Tizen::Base::ByteBuffer* aBuffer, Tizen::Base::String imageName);
+       void ShowIndicatorNotification(const Tizen::Base::String& messageText, const Tizen::Base::String& contentPath);
+
+       void SetForwardButtonEnabled(bool isEnabled);
+       void SetBackButtonEnabled(bool isEnabled);
+
+       void UpdateProgress(int percentage);
+       int GetProgress(void);
+       void UpdateProgressBitmap(void);
+       void ReaderClicked();
+
+       /**
+        * @brief        Sets the current addressbar Mode.
+        */
+       void SetAddressbarMode(AddressBarMode addMode);
+
+       void SetUrl(const Tizen::Base::String& url);
+
+       void OnSharePopupControlStarted(void);
+
+       virtual void OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs);
+
+       void AddressBarCancelledClicked(const Addressbar& addBar);
+private:
+       double findDistance(int x1,int y1,int x2, int y2);
+       void FindNextWord(bool next = true);
+       result InitAddressbar(void);
+       result InitFooter(void);
+       result InitOptionMenu(void);
+       result InitFindWordPanel(void);
+       result InitImageContextMenu(Tizen::Graphics::Point p);
+       result InitImageLinkContextMenu(Tizen::Graphics::Point p);
+       result InitSelectTextContextMenu(Tizen::Graphics::Point p, bool pasteOption, bool onlyPasteOption);
+       result InitSelectTextContextMenuF(Tizen::Graphics::FloatPoint p, bool pasteOption, bool onlyPasteOption);
+       result InitMostVisitedSitesPanel(Tizen::Ui::OrientationStatus orientationStatus);
+       result InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatus);
+       void MoveUiControls(void);
+       void UpdateFavicon(void);
+       void RelayoutControls(bool showAddressbar,bool relayoutFooter = true);
+       void ShowFindWordPanel(bool show = true, bool isTouchPressed = false);
+       void ShowMostVisitedSitesPanel(void);
+       void StartWordSearch();
+       AddressBarMode GetAddressbarMode(void);
+       Tizen::Base::String RemoveHttpTextFromDisplayURL(void);
+
+private:
+
+       static const int IDA_FORMAT_BITMAP;
+       static const int IDA_FORMAT_DELETE_BITMAP;
+       static const int IDA_FORMAT_TITLE_STRING;
+       static const int IDA_FORMAT_URL_STRING;
+       static const int IDA_CONTEXT_ITEM_DELETE;
+
+       Tizen::Graphics::Point __adressPanelPosition;
+       AddressBarMode __curAddressBarMode;
+       Tizen::Base::String     __currentSearchStr;
+       Tizen::Base::String     __currentSelectedStr;
+       int __distanceMoved;
+       int __webControlHeight;
+       float __previousZoomLevel;
+       int     __maxOccurrances;
+       int     __currentWordIndex;
+       bool __isLoaded;
+       //bool __inputEventToBeSupressed;
+
+       bool __isLoadingData;
+       bool __isLoadingCompleted;
+       bool __isLongPressedDone;
+       bool __isKeypadOpened;
+       int __progressPercentage;
+
+       AddressBarMode __currentAddMode;
+       Tizen::Base::String __displayUrl;
+       Tizen::Base::String __editTextUrl;
+
+       Addressbar* __pAddressbar;
+       History* __pHistory;
+       Tizen::Graphics::Point __contextMenuPosition;
+       Tizen::Ui::Controls::Label* __pArticleReaderLabel;
+       Tizen::Ui::Controls::Panel* __pArticleReaderPanel;
+       Tizen::Ui::Controls::Panel* __pBlankPanel;
+       Tizen::Ui::Controls::Label *    __pFindWordBgLabel;
+       Tizen::Ui::Controls::Label *    __pFindWordBgLabelRightToLeft;
+       Tizen::Ui::Controls::Button*    __pFindWordClear;
+       Tizen::Ui::Controls::Button*    __pFindWordClearRightToLeft;
+       Tizen::Ui::Controls::Label*     __pFindWordCountLabel;
+       Tizen::Ui::Controls::Label*     __pFindWordCountLabelRightToLeft;
+       Tizen::Ui::Controls::Panel*     __pFindWordControl;
+
+       Tizen::Ui::Controls::Panel*     __pFindWordPanelLeftToRight;
+       Tizen::Ui::Controls::Panel*     __pFindWordPanelRightToLeft;
+
+       Tizen::Ui::Controls::EditField* __pFindWordEditField;
+       Tizen::Ui::Controls::EditField* __pFindWordEditFieldRightToLeft;
+       Tizen::Ui::Controls::Button*    __pFindWordNext;
+       Tizen::Ui::Controls::Button*    __pFindWordPrev;
+//     Tizen::Ui::Controls::Panel*     __pFindWordPanel;
+       Tizen::Ui::Controls::Panel* __pFooterPanel;
+       Tizen::Web::Controls::HitElementResult* __pHitElementResult;
+       Tizen::Ui::Controls::ContextMenu* __pImageMenu;
+//     Tizen::Ui::Controls::ContextMenu* __pMenu;
+
+       Tizen::Ui::Controls::OptionMenu* __pOptionMenu;
+       Tizen::Ui::Controls::Button* __pMoreButton;
+       Tizen::Ui::Controls::Button* __pMultiWindowButton;
+//     Tizen::Ui::Controls::Button* __pNewWindowButton;
+       SharePopup*     __pPopUp;
+       Tizen::Ui::Controls::Label* __pCheckLabel;
+       AddressBarMode __prevAddressBarMode;
+       Tizen::Ui::Controls::Button* __pReaderCloseBtn;
+       Tizen::Base::String*    __pReaderData;
+       Tizen::Media::Image* __pSaveImage;
+       Tizen::Web::Controls::Web* __pWebReader;
+       Tizen::Web::Controls::Web* __pWebViewer;
+
+       Tizen::Ui::Controls::ListView* __pMostVisitedListView;
+
+       Tizen::Graphics::Point __touchPoint1;
+       Tizen::Graphics::Point __touchPoint2;
+       Tizen::Graphics::Point __webControlPosition;
+
+       Tizen::Ui::Controls::ListContextItem* __pItemContext;
+       Tizen::Ui::Controls::ListContextItem* __pItemContextLandscape;
+       Tizen::Base::Collection::ArrayList* __pMostVisitedSites;
+       Tizen::Ui::Controls::EditField* __pFooterUrlField;
+       Tizen::Ui::Controls::Button* __pGoBackBtn;
+       Tizen::Ui::Controls::Button* __pGoForwardBtn;
+       Tizen::Ui::Controls::Button* __pRefreshBtn;
+       Tizen::Ui::Controls::Label* __pProgressbarLabel;
+       Tizen::Ui::Controls::Label* __pFooterLabel;
+       Tizen::Ui::Controls::Button* __pStopBtn;
+       Tizen::Ui::Controls::Button* __pClearBtn;
+       Tizen::Ui::Controls::Button* __pReaderBtn;
+       Tizen::Graphics::Point __longPressPoint;
+       NotificationPanel* __pNotification;
+       int __fontSize;
+       WindowInfo*     __pWindowInfo;
+//     bool __isHwKeySupported;
+};
+
+#endif  //_INT_MAIN_FORM_H_
+