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 * @brief Initializes folder module
34 void folder_panel_init_module(void);
37 * @brief Frees all data initialized before.
39 void folder_panel_deinit_module(void);
42 * @brief Creates folder panel.
43 * @param data folder parent in data model
44 * @return app_item_t pointer
46 extern app_item_t *folder_panel_create(Tree_node_t *data);
49 * @brief Ignores folder click action if ignore is true.
51 extern void folder_panel_set_click_ignore_state(bool ignore);
54 * @brief Enables or disables folder entry editing.
55 * @param state the state to put folder entry in
57 extern void folder_panel_enable_entry(bool state);
60 * @brief Attaches icon object to grid of currently opened folder.
61 * @param icon - app_item_t->layout
63 extern Elm_Object_Item *folder_panel_attach_to_grid(Evas_Object *icon,
64 folder_data_t *folder_data);
67 * @brief Shows folder panel layout on screen
68 * @param folder pointer to app_item_t object
69 * @param keypad_show imf keyboard visibility flatg
71 * @return true if no errors.
73 extern bool folder_panel_open_folder(app_item_t *folder, bool keypad_show);
76 * @brief Closes folder panel view.
78 extern void folder_panel_close_folder(void);
81 * @brief Cancels appending new items into the folder by add icon press.
83 extern void folder_panel_cancel_add_icon(void);
86 * @brief Returns folder visibility state
87 * @return true if folder is visible otherwise returns false
89 extern bool folder_panel_is_folder_visible(void);
92 * @brief Shows checkboxes on the folder icon.
94 extern bool folder_panel_set_content_checked(Tree_node_t *node);
97 * @brief Function returns pointer to data node of the opened folder
98 * @return Tree_Node_t pointer.
100 extern Tree_node_t *folder_panel_get_opened_folder_node(void);
103 * @brief Function returns pointer to app_item of opened folder
105 extern const app_item_t *folder_panel_get_opened_folder_item(void);
108 * @brief Return number of items inserted into the folder.
110 extern int folder_panel_get_items_count(Tree_node_t *folder);
113 * @brief Removes empty folder after reposition.
115 extern void folder_panel_remove_empty_folder(Tree_node_t *folder);
118 * @brief Return folder popup geometry
125 extern void folder_panel_get_folder_geometry(int *x, int *y, int *w, int *h);
128 * @brief Function close entry input panel connected with folder name entry
131 extern void folder_panel_hide_input_panel(void);
133 #endif /* FOLDER_PANEL_H_ */