diff options
Diffstat (limited to 'main/src/view/ivug-main-view.h')
-rwxr-xr-x | main/src/view/ivug-main-view.h | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/main/src/view/ivug-main-view.h b/main/src/view/ivug-main-view.h new file mode 100755 index 0000000..7d1a648 --- /dev/null +++ b/main/src/view/ivug-main-view.h @@ -0,0 +1,133 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.tizenopensource.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. + */ + + +#ifndef __IVUG_MAIN_VIEWER_H__ +#define __IVUG_MAIN_VIEWER_H__ + +#include "ivug-common.h" +#include "ivug-details-view.h" +#include "ivug-setas-view.h" + +#define MAX_CTRL_ITEM_CNT 5 +#define MAX_NAVI_ITEM_CNT 3 + +//navigation bar type +typedef enum NAVI_BAR_TYPE { + NAVI_BAR_TYPE_NONE = 0x00, + NAVI_BAR_TYPE_EMPTY, // no control bar + NAVI_BAR_TYPE_IMAGE, // no control bar + NAVI_BAR_TYPE_VIDEO, // no control bar + NAVI_BAR_TYPE_SELECT, // [Ok, Cancel] from take photo +} _navi_bar_type; + +//control bar type +typedef enum CTRL_BAR_TYPE{ + CTRL_BAR_TYPE_NONE = 0x00, + CTRL_BAR_TYPE_EMPTY, // not exist ctrl bar + CTRL_BAR_TYPE_FILE, // [Delete,Info] file manager, video at gallery + CTRL_BAR_TYPE_CAMERA_IMAGE, // [Delete,Info] camera image file + CTRL_BAR_TYPE_CAMERA_VIDEO, // [Delete,Info] camera video file + CTRL_BAR_TYPE_IMAGE, // [Delete,Slide show, Info] from gallery + CTRL_BAR_TYPE_VIDEO, // [Delete,Slide show, Info] from gallery +} _ctrl_bar_type; + + +typedef struct { + Evas_Object *parent; + + Evas_Object *layout; /*Layout widget based on EDJ*/ + + Evas_Object *navi_bar; + Elm_Object_Item *navi_it; + Evas_Object* empty_layout; //navigation bar contents layout + Evas_Object* slider; //image viewer slider + Evas_Object* event_blocker; + + Evas_Object* selectioninfo; + + Evas_Object *back_btn; + +/* + |-------------------| + |naviframe(tool_bar)| + |-------------------| + | | + | | + | | + | | + |-------------------| + | ctrl_bar | + |-------------------| +*/ + +// Tool Bar + enum NAVI_BAR_TYPE tool_bar_type; + Evas_Object* tool_bar_item[MAX_NAVI_ITEM_CNT]; // Control bar item in navigation header. ex) SetAs, Info + +// Control Bar + Evas_Object *ctrl_bar; + enum CTRL_BAR_TYPE ctrl_bar_type; + Elm_Object_Item *ctrl_bar_item[MAX_CTRL_ITEM_CNT]; // Bottom control bar item. ex) Delete, etc... + + Evas_Object* popup; //popup + Evas_Object* copy_popup; //copy popup + Eina_List* popup_list; + + Ivug_SetAsView *pSetAsView; + + Ivug_DetailsView *pDetailsView; + + Evas_Object *btn_detail; + Evas_Object *btn_detail_data; + +//flag + bool bShowMenu; + + ivug_mode mode; + ivug_view_by view_by; + + struct ui_gadget *ext_ug; + + struct ui_gadget *ugHandle; + + Ecore_Event_Handler *keydown_handler; + + Ecore_Timer *exit_timer; + + Eina_Bool option_show; +} Ivug_MainView; + + +/* + Create MainView layout +*/ +Ivug_MainView * +ivug_main_view_create(Evas_Object* parent, ivug_mode mode, ivug_view_by view_by); + +Evas_Object * +ivug_main_view_object_get(Ivug_MainView *pMainView); + +/* + Load media list from parameter. +*/ +bool ivug_main_view_load_list(Ivug_MainView *pMainView, ivug_parameter* ivug_param); + +void ivug_main_view_update(Ivug_MainView *pMainView); + +void ivug_main_view_destroy(Ivug_MainView *pMainView); + +#endif //__IVUG_MAIN_VIEWER_H__ |