Changed the GUI of DynamicBoxViewer
authorChoi Munseok <ms47.choi@samsung.com>
Sat, 22 Jun 2013 03:25:47 +0000 (12:25 +0900)
committerChoi Munseok <ms47.choi@samsung.com>
Sat, 22 Jun 2013 03:25:47 +0000 (12:25 +0900)
Change-Id: I25ba279a937c4d333f1eacc35fc8f9015972231b
Signed-off-by: Choi Munseok <ms47.choi@samsung.com>
project/inc/AppWidgetViewerMainForm.h
project/inc/ViewForm.h
project/res/screen-size-normal/IDF_FORM.xml
project/res/screen-size-normal/IDF_VIEW_FORM.xml
project/src/AppWidgetViewerMainForm.cpp
project/src/ViewForm.cpp
screenshot.png

index 1cc771c..2cc6f66 100644 (file)
@@ -24,7 +24,6 @@
 
 class AppWidgetViewerMainForm
        : public Tizen::Ui::Controls::Form
-       , public Tizen::Ui::IActionEventListener
        , public Tizen::Ui::Controls::IFormBackEventListener
        , public Tizen::Ui::Scenes::ISceneEventListener
        , public Tizen::Ui::Controls::IListViewItemEventListener
@@ -39,7 +38,6 @@ public:
 public:
        virtual result OnInitializing(void);
        virtual result OnTerminating(void);
-       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
        virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
        virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
                                                                   const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
@@ -47,7 +45,7 @@ public:
                                                                        const Tizen::Ui::Scenes::SceneId& nextSceneId);
 
 private:
-       //ListView
+       // ListView
        virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView &listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
        virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView &listView, int index, Tizen::Ui::Controls::SweepDirection direction);
        virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView &listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state);
index 34e14bc..4067f17 100644 (file)
@@ -30,10 +30,11 @@ class IAppWidgetViewEventListener;
 class ViewForm
        : public Tizen::Ui::Controls::Form
        , public Tizen::Ui::IActionEventListener
+       , public Tizen::Ui::Controls::IFormMenuEventListener
        , public Tizen::Ui::Controls::IFormBackEventListener
        , public Tizen::Ui::Scenes::ISceneEventListener
-       , public Tizen::Shell::IAppWidgetViewEventListener
        , public Tizen::Ui::IPropagatedTouchEventListener
+       , public Tizen::Shell::IAppWidgetViewEventListener
 {
 public:
        ViewForm(void);
@@ -52,6 +53,7 @@ public:
 private:
        void CreateAppWidgetView(const Tizen::Base::String& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& userInfo);
        virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+       virtual void OnFormMenuRequested(Tizen::Ui::Controls::Form& source);
        virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
        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);
@@ -59,9 +61,8 @@ private:
 
 private:
        Tizen::Shell::AppWidgetView* __pAppWidgetView;
-       Tizen::Ui::Controls::ContextMenu* __pContextMenu;
+       Tizen::Ui::Controls::OptionMenu* __pOptionMenu;
        Tizen::Base::Collection::IList* __pSizeInfoList;
-       static const int ID_FOOTER_ITEM1 = 1001;
        static const int ID_FOOTER_BUTTON1 = 1002;
        int __prevX;
        int __prevY;
index f4a56de..8f60908 100644 (file)
@@ -7,15 +7,15 @@
     <LogicalCoordinate>720</LogicalCoordinate>
     <Form id="IDF_FORM">
         <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
-        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
-        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER" type="LAYOUT_RELATIVE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER" type="LAYOUT_RELATIVE"/>
     </Form>
     <Footer>
         <property backgroundBitmapPath="" color="" colorOpacity="0" disabledButtonColor="" disabledButtonColorOpacity="0" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="0" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="0" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="0" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="0" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="0" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="0" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="0" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="0" selectedItemTextColor="" showBackButton="true"/>
         <itemSet/>
     </Footer>
     <Header>
-        <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="0" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="0" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="0" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="0" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="0" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="0" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="0" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="0" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="0" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="0" selectedItemTextColor="" showBackButton="false" titleIconPath="" titleText="DYNAMIC BOX VIEWER" titleTextColor=""/>
+        <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="0" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="0" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="0" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="0" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="0" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="0" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="0" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="0" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="0" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="0" selectedItemTextColor="" showBackButton="false" titleIconPath="" titleText="Dynamic Box Viewer" titleTextColor=""/>
         <itemSet/>
     </Header>
 </Scene>
index 1229c49..6c1a1ed 100644 (file)
@@ -12,9 +12,6 @@
     </Form>
     <Footer>
         <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="true"/>
-        <itemSet>
-            <footerItem actionId="1001" disabledIconPath="" highlightedIconPath="" normalIconPath="" pressedIconPath="" selectedIconPath="" text="Size list"/>
-        </itemSet>
     </Footer>
     <Header>
         <property backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="DYNAMIC BOX VIEWER" titleTextColor=""/>
index 0230f6c..2a8da76 100644 (file)
@@ -18,7 +18,6 @@
 #include <FApp.h>
 #include <FMedia.h>
 #include <FShell.h>
-
 #include "AppWidgetViewerMainForm.h"
 #include "AppWidgetViewerFormFactory.h"
 
@@ -37,14 +36,10 @@ const int LIST_ITEM_HEIGHT = 112;
 const int LIST_ITEM_MARGIN_LEFT = 26;
 const int LIST_ITEM_MARGIN_TOP = 32;
 const int LIST_ITEM_TEXT_HEIGHT = 50;
-
 const wchar_t OPERATION_APPWIDGET_CONFIG[]     = L"http://tizen.org/appcontrol/operation/appwidget/configuration";
 const wchar_t EXTRA_KEY_USER_INFO[] = L"http://tizen.org/appcontrol/data/user_info";
 const wchar_t EXTRA_KEY_PROVIDER_NAME[] = L"http://tizen.org/appcontrol/data/provider_name";
 
-
-
-
 AppWidgetViewerMainForm::AppWidgetViewerMainForm(void)
        : __pList(null)
        , __pAppWidgetProviderList(null)
@@ -134,19 +129,6 @@ AppWidgetViewerMainForm::OnTerminating(void)
 }
 
 void
-AppWidgetViewerMainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
-{
-       SceneManager* pSceneManager = SceneManager::GetInstance();
-       AppAssert(pSceneManager);
-
-       switch(actionId)
-       {
-       default:
-               break;
-       }
-}
-
-void
 AppWidgetViewerMainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
 {
        UiApp* pApp = UiApp::GetInstance();
@@ -288,7 +270,6 @@ AppWidgetViewerMainForm::DeleteItem(int index, Tizen::Ui::Controls::ListItemBase
        return true;
 }
 
-
 void
 AppWidgetViewerMainForm::OnAppControlCompleteResponseReceived(const AppId& appId, const Tizen::Base::String& operationId, AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData)
 {
index 1afa7da..0072753 100644 (file)
@@ -42,11 +42,11 @@ const float VIEW_HEIGHT = 175.0f;
 
 ViewForm::ViewForm(void)
        : __pAppWidgetView(null)
-       , __pContextMenu(null)
+       , __pOptionMenu(null)
        , __pSizeInfoList(null)
        , __prevX(0)
        , __prevY(0)
-       , __FooterItemIndex(1)
+       , __FooterItemIndex(0)
        , __isMoveMode(false)
        , __pFooterItem(null)
 {
@@ -70,7 +70,9 @@ ViewForm::OnInitializing(void)
        result r = E_SUCCESS;
 
        // TODO: Add your initialization code here
+       SetFormMenuEventListener(this);
        SetFormBackEventListener(this);
+
        Footer* pFooter = GetFooter();
        pFooter->AddActionEventListener(*this);
        SetPropagatedTouchEventListener(this);
@@ -79,6 +81,7 @@ ViewForm::OnInitializing(void)
        __pFooterItem->Construct(ID_FOOTER_BUTTON1);
        __pFooterItem->SetText(L"Move");
        pFooter->AddItem(*__pFooterItem);
+
        return r;
 }
 
@@ -88,7 +91,8 @@ ViewForm::OnTerminating(void)
        result r = E_SUCCESS;
 
        // TODO: Add your termination code here
-       delete __pContextMenu;
+       delete __pOptionMenu;
+
        if (__pSizeInfoList)
        {
                __pSizeInfoList->RemoveAll(true);
@@ -111,11 +115,10 @@ ViewForm::CreateAppWidgetView(const Tizen::Base::String& appId, const Tizen::Bas
        }
 
        __pAppWidgetView = pAppWidgetView.release();
-
        __pAppWidgetView->AddAppWidgetViewEventListener(*this);
 
-       __pContextMenu = new (std::nothrow) ContextMenu();
-       __pContextMenu->Construct(Point(CONTEXT_MENU_X, CONTEXT_MENU_Y), CONTEXT_MENU_STYLE_LIST);
+       __pOptionMenu = new (std::nothrow) OptionMenu();
+       __pOptionMenu->Construct();
 
        unique_ptr<AppWidgetProviderInfo> pProviderInfo(AppWidgetManager::GetInstance()->GetAppWidgetProviderInfoN(appId, providerName ));
        TryReturnVoid(pProviderInfo.get(), "pProviderInfo is null!!");
@@ -139,30 +142,20 @@ ViewForm::CreateAppWidgetView(const Tizen::Base::String& appId, const Tizen::Bas
                        result r = image.Construct();
                        TryReturnVoid(r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
 
-//                     Bitmap* pBmp = image.DecodeN(L"/opt/apps/yPpyL2WVNQ/shared/res/screen-density-xhigh/2x2.png", BITMAP_PIXEL_FORMAT_ARGB8888);
+                       //Bitmap* pBmp = image.DecodeN(L"/opt/apps/yPpyL2WVNQ/shared/res/screen-density-xhigh/2x2.png", BITMAP_PIXEL_FORMAT_ARGB8888);
                        Bitmap* pBmp = image.DecodeN(pSizeInfo->GetPreviewImagePath(), BITMAP_PIXEL_FORMAT_ARGB8888);
-
-
                        if( pBmp)
                        {
-//                             __pContextMenu->AddItem(size, i, *pBmp );
-                               __pContextMenu->AddItem(size, i, *pBmp );
+                               __pOptionMenu->AddItem(size, i, *pBmp);
                        }
                        else
                        {
-                               __pContextMenu->AddItem(size, i);
+                               __pOptionMenu->AddItem(size, i);
                        }
                }
        }
 
-       Rectangle formBounds = GetBounds();
-       Footer* pFooter = GetFooter();
-       Rectangle footerBounds = pFooter->GetBounds();
-
-       Point anchor(formBounds.width / 3, formBounds.height - footerBounds.height);
-
-       __pContextMenu->SetAnchorPosition(anchor);
-       __pContextMenu->AddActionEventListener(*this);
+       __pOptionMenu->AddActionEventListener(*this);
 }
 
 void
@@ -173,10 +166,12 @@ ViewForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
        {
                Footer* pFooter = GetFooter();
                String str = L"";
+
                if (pFooter && __pFooterItem)
                {
-                       pFooter->RemoveItemAt(__FooterItemIndex);
+                       pFooter->RemoveAllItems();
                }
+
                if (__isMoveMode == false)
                {
                        str = L"Done";
@@ -187,21 +182,14 @@ ViewForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                        str = L"Move";
                        __isMoveMode = false;
                }
-               __pFooterItem = new FooterItem();
-               __pFooterItem->Construct(ID_FOOTER_BUTTON1);
+               
                __pFooterItem->SetText(str);
                pFooter->AddItem(*__pFooterItem);
+
                Invalidate(true);
+
                return;
        }
-       if (actionId == ID_FOOTER_ITEM1)
-       {
-               if (__pContextMenu && (__pContextMenu->GetItemCount() > 0))
-               {
-                       __pContextMenu->SetShowState(true);
-                       __pContextMenu->Show();
-               }
-       }
        else
        {
                AppWidgetSizeInfo* pSizeInfo = null;
@@ -218,21 +206,33 @@ ViewForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                        Rectangle ClientRect = GetClientAreaBounds();
                        int newX = Rect.x;
                        int newY = Rect.y;
+                       
                        if(Rect.x + dim.width > ClientRect.width)
                        {
                                newX = ClientRect.width - dim.width;
                        }
+                       
                        if(Rect.y +  dim.height > ClientRect.height)
                        {
                                newY = ClientRect.height - dim.height;
                        }
 
-                       __pAppWidgetView->SetBounds(Rectangle(newX,newY,dim.width,dim.height));
+                       __pAppWidgetView->SetBounds(Rectangle(newX, newY, dim.width, dim.height));
                }
        }
 }
 
 void
+ViewForm::OnFormMenuRequested(Tizen::Ui::Controls::Form& source)
+{
+       if (__pOptionMenu && (__pOptionMenu->GetItemCount() > 0))
+       {
+               __pOptionMenu->SetShowState(true);
+               __pOptionMenu->Show();
+       }
+}
+
+void
 ViewForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
 {
        SceneManager* pSceneManager = SceneManager::GetInstance();
@@ -274,7 +274,6 @@ ViewForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, c
        }
 }
 
-
 void
 ViewForm::OnAppWidgetProviderRemoved(Tizen::Shell::AppWidgetView &appWidgetView)
 {
@@ -330,7 +329,7 @@ ViewForm::OnPreviewTouchPressed(Control& source, const TouchEventInfo& touchEven
        }
 
        return false;
-       }
+}
 
 bool
 ViewForm::OnPreviewTouchReleased(Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
index f015730..3f4005f 100644 (file)
Binary files a/screenshot.png and b/screenshot.png differ