1 #ifndef ELM_CODE_H_
2 # define ELM_CODE_H_
3 
4 #ifdef EFL_BETA_API_SUPPORT
5 
6 #include "elm_code_common.h"
7 #include "elm_code_line.h"
8 #include "elm_code_text.h"
9 #include "elm_code_indent.h"
10 #include "elm_code_file.h"
11 #include "elm_code_parse.h"
12 #include "elm_code_syntax.h"
13 #include "elm_code_widget.eo.h"
14 #include "elm_code_widget_legacy.h"
15 #include "elm_code_widget_selection.h"
16 #include "elm_code_diff_widget.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 /**
23  * @file
24  * @brief These routines are used for loading Elm Code widgets.
25  */
26 
27 /**
28  * @brief Init / shutdown functions.
29  * @defgroup Init  Init / Shutdown
30  *
31  * @{
32  *
33  * Functions of obligatory usage, handling proper initialization
34  * and shutdown routines.
35  *
36  * Before the usage of any other function, Elm Code should be properly
37  * initialized with @ref elm_code_init() and the last call to Elm Code's
38  * functions should be @ref elm_code_shutdown(), so everything will
39  * be correctly freed.
40  *
41  * Elm Code logs everything with Eina Log, using the "elm_code" log domain.
42  *
43  */
44 
45 /**
46  * Create a new Elm Code instance
47  *
48  * This method creates a new Elm Code instance using an in-memory file for backing changes.
49  * A regular file can be set after creation if required.
50  * Once an Elm Code has been created you can create widgets that render the content.
51  *
52  * @return an allocated Elm_Code that references the given file
53  * @see elm_code_file_open()
54  */
55 EAPI Elm_Code *elm_code_create(void);
56 
57 /**
58  * Free an Elm Code instance
59  *
60  * Releases the resources retained by the code instance and any files it references.
61  */
62 EAPI void elm_code_free(Elm_Code *code);
63 
64 /**
65  * @}
66  *
67  * @brief Callbacks and message passing.
68  * @defgroup Callbacks  Managing the information flow between Elm_Code objects and Evas_Object widgets
69  *
70  * @{
71  *
72  * Managing the callbacks and other behaviours that cross the backend - frontend divide.
73  */
74 
75 
76 EAPI void elm_code_callback_fire(Elm_Code *code, const Efl_Event_Description *signal, void *data);
77 
78 
79 /**
80  * @}
81  */
82 
83 #ifdef __cplusplus
84 }
85 #endif
86 
87 #endif /* EFL_BETA_API_SUPPORT */
88 
89 #endif /* ELM_CODE_H_ */
90