2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.1 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef __FOLDER_PANEL_H__
18 #define __FOLDER_PANEL_H__
21 #include "homescreen-efl.h"
23 #include "dynamic_index.h"
27 Eina_List *miniatures;
28 Evas_Object *folder_scroller;
32 FOLDER_PANEL_CHECKED_NONE = 0,
33 FOLDER_PANEL_CHECKED_ANY,
34 FOLDER_PANEL_CHECKED_ALL,
38 * @brief Initializes folder module
40 void folder_panel_init_module(void);
43 * @brief Frees all data initialized before.
45 void folder_panel_deinit_module(void);
48 * @brief Creates folder panel.
49 * @param data folder parent in data model
50 * @return app_item_t pointer
52 extern app_item_t *folder_panel_create(Tree_node_t *data);
55 * @brief Ignores folder click action if ignore is true.
57 extern void folder_panel_set_click_ignore_state(bool ignore);
60 * @brief Enables or disables folder entry editing.
61 * @param state the state to put folder entry in
63 extern void folder_panel_enable_entry(bool state);
66 * @brief Attaches icon object to grid of currently opened folder.
67 * @param icon - app_item_t->layout
69 extern Elm_Object_Item *folder_panel_attach_to_grid(Evas_Object *icon,
70 folder_data_t *folder_data);
73 * @brief Shows folder panel layout on screen
74 * @param folder pointer to app_item_t object
75 * @param keypad_show imf keyboard visibility flatg
77 * @return true if no errors.
79 extern bool folder_panel_open_folder(app_item_t *folder, bool keypad_show);
82 * @brief Closes folder panel view.
84 extern void folder_panel_close_folder(void);
87 * @brief Cancels appending new items into the folder by add icon press.
89 extern void folder_panel_cancel_add_icon(void);
92 * @brief Returns folder visibility state
93 * @return true if folder is visible otherwise returns false
95 extern bool folder_panel_is_folder_visible(void);
98 * @brief Shows checkboxes on the folder icon.
100 extern folder_checked_t folder_panel_set_content_checked(Tree_node_t *node);
103 * @brief Function returns pointer to data node of the opened folder
104 * @return Tree_Node_t pointer.
106 extern Tree_node_t *folder_panel_get_opened_folder_node(void);
109 * @brief Function returns pointer to app_item of opened folder
111 extern const app_item_t *folder_panel_get_opened_folder_item(void);
114 * @brief Return number of items inserted into the folder.
116 extern int folder_panel_get_items_count(Tree_node_t *folder);
119 * @brief Removes empty folder after reposition.
121 extern void folder_panel_remove_empty_folder(Tree_node_t *folder);
124 * @brief Return folder popup geometry
131 extern void folder_panel_get_folder_geometry(int *x, int *y, int *w, int *h);
134 * @brief Function close entry input panel connected with folder name entry
137 extern void folder_panel_hide_input_panel(void);
139 #endif /* FOLDER_PANEL_H_ */