add patch
[framework/osp/web.git] / src / controls / FWebCtrl_SelectBox.h
old mode 100644 (file)
new mode 100755 (executable)
index 807e979..1b2f59c
 #include <Evas.h>
 #include <FBaseColIList.h>
 #include <FBaseString.h>
-#include <FUiCtrlPopup.h>
 #include <FUiCtrlIListViewItemEventListener.h>
 #include <FUiCtrlIListViewItemProvider.h>
+#include <FUiIPropagatedKeyEventListener.h>
 #include <FUi_ControlManager.h>
+#include "FWebCtrl_WebPopup.h"
 
 namespace Tizen { namespace Graphics
 {
@@ -59,12 +60,11 @@ enum _ButtonFormat
        ID_BUTTON_CANCEL
 };
 
-
 class _SelectBox
-       : public Tizen::Ui::Controls::Popup
+       : public _WebPopup
        , public Tizen::Ui::Controls::IListViewItemEventListener
        , public Tizen::Ui::Controls::IListViewItemProvider
-       , public Tizen::Ui::IActionEventListener
+       , public Tizen::Ui::IPropagatedKeyEventListener
 {
 public:
        /**
@@ -77,7 +77,7 @@ public:
         */
        virtual ~_SelectBox(void);
 
-       result Construct(bool isMultiSelect, const Tizen::Base::String& title, int listItemCnt, Evas_Object* pWebView = null);
+       result Construct(bool isMultiSelect, const Tizen::Base::String& title, int listItemCnt, Evas_Object* pWebView = null, const Tizen::Base::String& url = L"");
        Tizen::Base::Collection::IList* GetSelectedListN(void) const;
 
        //IListViewItemProvider
@@ -92,8 +92,13 @@ public:
 
        virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
 
+       virtual bool  OnKeyPressed (Tizen::Ui::Control &source, const Tizen::Ui::KeyEventInfo &keyEventInfo);
+       virtual bool  OnKeyReleased (Tizen::Ui::Control &source, const Tizen::Ui::KeyEventInfo &keyEventInfo);
+       virtual bool  OnPreviewKeyPressed (Tizen::Ui::Control &source, const Tizen::Ui::KeyEventInfo &keyEventInfo);
+       virtual bool  OnPreviewKeyReleased (Tizen::Ui::Control &source, const Tizen::Ui::KeyEventInfo &keyEventInfo);
+       virtual bool  TranslateKeyEventInfo (Tizen::Ui::Control &source, Tizen::Ui::KeyEventInfo &keyEventInfo);
+
        result AddListItem(const Tizen::Base::String& itemText, int itemType,bool slected);
-       result ShowAndWait(int &selectedIndex);
        result UpdateList(Eina_List* pItems, int prevIndex, bool clearPrevList, bool isGroupdList);
 
 private:
@@ -110,7 +115,6 @@ private:
        bool IsMultiSelectable(void) const { return __multiSelection; }
        void UpdateSelectionIndex(int index);
        result CreateButtons(int btnHeight, int buttonGap);
-       result EndModal(void);
 
 public:
        static const int ID_FORMAT_STRING = 300;
@@ -122,11 +126,12 @@ private:
        Tizen::Base::Collection::ArrayList __listElementArray;
        Tizen::Ui::Controls::ListView* __pListView;
        bool __multiSelection;
-       int __modal;
        int __SelectedIndex;
        int __prevIndex;
        Tizen::Ui::_ControlOrientation __orientation;
        Evas_Object* __pWebView;
+       Eina_Inarray* __pToggledArray;
+       Tizen::Base::String __url;
 }; // _SelectBox
 
 }}} //Tizen::Web::Controls