Fixed Nabi Issues N_SE-56908,56903,56917,56940
[apps/osp/Internet.git] / inc / IntMainForm.h
index ad52e72..dcf7ff0 100644 (file)
@@ -2,7 +2,7 @@
 
 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
 //
-// Licensed under the Flora License, Version 1.0 (the License);
+// 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
 //
 #include "IntIAddressbarEventListener.h"
 #include "IntISettingChangeListener.h"
 #include "IntMultipleWindowPresentationModel.h"
+#include "IntNotificationPanel.h"
 #include "IntSharePopup.h"
 
+
 enum AddressBarMode
 {
        ADDRESSBAR_MODE_INVALID = -1,
@@ -47,6 +49,8 @@ enum AddressBarMode
 
 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
@@ -56,12 +60,14 @@ class MainForm
        , 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::IWebUiEventListener
+       , public Tizen::Web::Controls::IWebUiEventListenerF
        , public Tizen::Web::Controls::ITextSearchListener
+
 {
 public:
    /**
@@ -95,37 +101,53 @@ public:
 
        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&);
+       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 OnReaderClicked(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);
 
@@ -135,9 +157,11 @@ public:
 
        virtual void OnKeypadWillOpen(Tizen::Ui::Control& source);
 
-       virtual void OnKeypadOpened(Tizen::Ui::Control& source){}
+       virtual void OnKeypadOpened(Tizen::Ui::Control& source);
+
+       virtual void OnKeypadClosed(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){}
 
@@ -188,7 +212,7 @@ public:
        /**
         *Called when the item or the element is long pressed.
         */
-       virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback){};
+       virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback){AppLog("MainForm::OnListViewItemLongPressed called");};
 
 
        //IListViewItemProvider
@@ -197,15 +221,16 @@ public:
        virtual int     GetItemCount (void);
 
        //IWebUiEventListener
-       virtual void OnWebPageBlockSelected(Tizen::Web::Controls::Web& source, Tizen::Graphics::Point& startPoint, Tizen::Graphics::Point& endPoint);
+       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) {AppLog("acdaqsc");}
+       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);
@@ -216,11 +241,22 @@ public:
        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);
 
@@ -228,6 +264,7 @@ public:
        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);
@@ -235,6 +272,7 @@ public:
        void UpdateProgress(int percentage);
        int GetProgress(void);
        void UpdateProgressBitmap(void);
+       void ReaderClicked();
 
        /**
         * @brief        Sets the current addressbar Mode.
@@ -243,20 +281,28 @@ public:
 
        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 InitContextMenu(Tizen::Graphics::Point& p);
+       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);
+       void RelayoutControls(bool showAddressbar,bool relayoutFooter = true);
        void ShowFindWordPanel(bool show = true, bool isTouchPressed = false);
        void ShowMostVisitedSitesPanel(void);
        void StartWordSearch();
@@ -277,14 +323,17 @@ private:
        Tizen::Base::String     __currentSelectedStr;
        int __distanceMoved;
        int __webControlHeight;
+       float __webControlHeightF;
        float __previousZoomLevel;
        int     __maxOccurrances;
        int     __currentWordIndex;
        bool __isLoaded;
-       bool __inputEventToBeSupressed;
+       //bool __inputEventToBeSupressed;
 
        bool __isLoadingData;
        bool __isLoadingCompleted;
+       bool __isLongPressedDone;
+       bool __isKeypadOpened;
        int __progressPercentage;
 
        AddressBarMode __currentAddMode;
@@ -292,40 +341,54 @@ private:
        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*     __pFindWordPanel;
        Tizen::Ui::Controls::Panel* __pFooterPanel;
        Tizen::Web::Controls::HitElementResult* __pHitElementResult;
        Tizen::Ui::Controls::ContextMenu* __pImageMenu;
-       Tizen::Ui::Controls::ContextMenu* __pMenu;
+//     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;
-       WindowInfo*     __pWindowInfo;
+
        Tizen::Ui::Controls::ListView* __pMostVisitedListView;
 
        Tizen::Graphics::Point __touchPoint1;
        Tizen::Graphics::Point __touchPoint2;
        Tizen::Graphics::Point __webControlPosition;
+       Tizen::Graphics::FloatPoint __webControlPositionF;
 
        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;
@@ -335,6 +398,13 @@ private:
        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_
+