// 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,
+ 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 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:
/**
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 OnAddressBarModeChanged(const Addressbar&);
+ void OnAddressBarKeypadBoundsChanged(const Addressbar& addBar);
- void OnBackClicked(const Addressbar&);
+ void OnAddressBarModeChanged(/*const Addressbar&*/);
- void OnForwardClicked(const Addressbar&);
+ virtual void OnClipboardClosed(const Addressbar&);
- void OnReaderClicked(const Addressbar&);
+ void OnBackClicked(/*const Addressbar&*/);
+
+ void OnForwardClicked(/*const Addressbar&*/);
void OnRefreshClicked(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 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){}
/**
*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
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);
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 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 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();
+ AddressBarMode GetAddressbarMode(void);
+ Tizen::Base::String RemoveHttpTextFromDisplayURL(void);
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;
+ 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* __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;
+// 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;
+ 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_
+