girara
types.h
Go to the documentation of this file.
00001 /* See LICENSE file for license and copyright information */
00002 
00003 #ifndef GIRARA_TYPES_H
00004 #define GIRARA_TYPES_H
00005 
00006 #include "version.h"
00007 #include <stdbool.h>
00008 
00009 typedef struct girara_tree_node_s girara_tree_node_t;
00010 typedef struct girara_list_s girara_list_t;
00011 typedef struct girara_list_iterator_s girara_list_iterator_t;
00012 typedef struct girara_setting_s girara_setting_t;
00013 typedef struct girara_session_s girara_session_t;
00014 typedef struct girara_command_s girara_command_t;
00015 typedef struct girara_mouse_event_s girara_mouse_event_t;
00016 typedef struct girara_config_handle_s girara_config_handle_t;
00017 typedef struct girara_mode_string_s girara_mode_string_t;
00018 typedef struct girara_tab_s girara_tab_t;
00019 typedef struct girara_statusbar_item_s girara_statusbar_item_t;
00020 typedef struct girara_argument_s girara_argument_t;
00021 typedef struct girara_shortcut_mapping_s girara_shortcut_mapping_t;
00022 typedef struct girara_argument_mapping_s girara_argument_mapping_t;
00023 typedef struct girara_completion_element_s girara_completion_element_t;
00024 typedef struct girara_completion_s girara_completion_t;
00025 typedef struct girara_completion_group_s girara_completion_group_t;
00026 typedef struct girara_shortcut_s girara_shortcut_t;
00027 typedef struct girara_inputbar_shortcut_s girara_inputbar_shortcut_t;
00028 typedef struct girara_special_command_s girara_special_command_t;
00029 typedef struct girara_event_s girara_event_t;
00030 
00034 enum
00035 {
00036   GIRARA_HIDE = 1, 
00037   GIRARA_NEXT, 
00038   GIRARA_PREVIOUS, 
00039   GIRARA_NEXT_GROUP, 
00040   GIRARA_PREVIOUS_GROUP, 
00041   GIRARA_HIGHLIGHT, 
00042   GIRARA_NORMAL, 
00043   GIRARA_DELETE_LAST_WORD, 
00044   GIRARA_DELETE_LAST_CHAR, 
00045   GIRARA_NEXT_CHAR, 
00046   GIRARA_PREVIOUS_CHAR, 
00047   GIRARA_DELETE_TO_LINE_START, 
00048   GIRARA_DELETE_TO_LINE_END, 
00049   GIRARA_DELETE_CURR_CHAR, 
00050   GIRARA_GOTO_START, 
00051   GIRARA_GOTO_END 
00052 };
00053 
00057 typedef enum girara_debug_level_e
00058 {
00059   GIRARA_INFO, 
00060   GIRARA_WARNING, 
00061   GIRARA_DEBUG, 
00062   GIRARA_ERROR 
00063 } girara_debug_level_t;
00064 
00068 typedef int girara_mode_t;
00069 
00077 typedef girara_completion_t* (*girara_completion_function_t)(
00078     girara_session_t* session, const char* input);
00079 
00089 typedef bool (*girara_inputbar_special_function_t)(girara_session_t* session,
00090     const char* input, girara_argument_t* argument);
00091 
00099 typedef bool (*girara_command_function_t)(girara_session_t* session,
00100     girara_list_t* argument_list);
00101 
00109 typedef bool (*girara_shortcut_function_t)(girara_session_t*,
00110     girara_argument_t*, girara_event_t*, unsigned int);
00111 
00117 typedef void (*girara_free_function_t)(void* data);
00118 
00125 typedef void (*girara_list_callback_t)(void* data, void* userdata);
00126 
00133 typedef int (*girara_compare_function_t)(const void* data1, const void* data2);
00134 
00138 typedef enum girara_setting_type_e
00139 {
00140   BOOLEAN, 
00141   FLOAT, 
00142   INT, 
00143   STRING, 
00144   UNKNOWN = 0xFFFF 
00145 } girara_setting_type_t;
00146 
00156 typedef void (*girara_setting_callback_t)(girara_session_t* session,
00157     const char* name, girara_setting_type_t type, void* value, void* data);
00158 
00162 struct girara_argument_s
00163 {
00164   int   n; 
00165   void *data; 
00166 };
00167 
00171 typedef enum girara_mouse_button_e
00172 {
00173   GIRARA_MOUSE_BUTTON1 = 1, 
00174   GIRARA_MOUSE_BUTTON2 = 2, 
00175   GIRARA_MOUSE_BUTTON3 = 3, 
00176   GIRARA_MOUSE_BUTTON4 = 4, 
00177   GIRARA_MOUSE_BUTTON5 = 5, 
00178   GIRARA_MOUSE_BUTTON6 = 6, 
00179   GIRARA_MOUSE_BUTTON7 = 7, 
00180   GIRARA_MOUSE_BUTTON8 = 8, 
00181   GIRARA_MOUSE_BUTTON9 = 9  
00182 } girara_mouse_button_t;
00183 
00187 typedef enum girara_event_type_e
00188 {
00189   GIRARA_EVENT_BUTTON_PRESS, 
00190   GIRARA_EVENT_2BUTTON_PRESS, 
00191   GIRARA_EVENT_3BUTTON_PRESS, 
00192   GIRARA_EVENT_BUTTON_RELEASE, 
00193   GIRARA_EVENT_MOTION_NOTIFY, 
00194   GIRARA_EVENT_SCROLL_UP, 
00195   GIRARA_EVENT_SCROLL_DOWN, 
00196   GIRARA_EVENT_SCROLL_LEFT, 
00197   GIRARA_EVENT_SCROLL_RIGHT, 
00198   GIRARA_EVENT_OTHER 
00199 } girara_event_type_t;
00200 
00204 struct girara_event_s
00205 {
00206   girara_event_type_t type; 
00208   double x; 
00209   double y; 
00210 };
00211 
00212 #endif
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines