Classes | |
class | ExpandableGroup |
A group with applied layout on childs. More... | |
class | File |
A system file io stream. More... | |
class | FontInfo |
Base structure for storing font information; used by FontCache. More... | |
class | FontCache |
Allow readable font names and cache their access. More... | |
class | IconLoader |
Loads icons with IconTheme. More... | |
class | IconTheme |
Finds named icon according to the given theme. More... | |
class | list |
Linked list class. More... | |
class | MenuBar |
Menu bar. More... | |
class | MenuBase |
Menu base class. More... | |
class | MenuButton |
Button with attached menu. More... | |
class | MenuItem |
The item in menu list. More... | |
class | MessageBox |
Standard dialog. More... | |
class | MimeType |
Mime handling class. More... | |
class | PTY |
emulate pty api More... | |
class | PtyProcess |
Synchronous communication with tty programs. More... | |
class | RegexMatch |
RegexMatch class. More... | |
class | Regex |
Regex class. More... | |
class | Resource |
Resource loader and saver. More... | |
class | SchemeEditor |
Editing component for Scheme language. More... | |
class | SevenSeg |
Digital number widget. More... | |
class | SipcServer |
Simple IPC server. More... | |
class | SipcClient |
Simple IPC client. More... | |
class | String |
A (relatively simple) string implementation. More... | |
class | TableBase |
A base class for table widgets. More... | |
class | TempFile |
Temporary file class. More... | |
class | Theme |
Theming engine for widgets. More... | |
class | ThemeLoader |
Themes loader. More... | |
class | Window |
Window class. More... | |
class | XSettingsClient |
Client part of XSETTINGS protocol. More... | |
class | XSettingsColor |
Color data for XSETTINGS. More... | |
class | XSettingsSetting |
Structure for tracking XSETTINGS values. More... | |
class | XSettingsList |
List internaly used by XSETTINGS classes. More... | |
class | XSettingsData |
Main data shared between client and manager. More... | |
class | XSettingsManager |
Manager part of XSETTINGS protocol. More... | |
Typedefs | |
typedef void(* | NetwmCallback )(int action, Window xid, void *data) |
typedef void(* | SipcCallback )(const char *, void *) |
Enumerations | |
enum | FileErrors { FILE_SUCCESS = 0, FILE_EACCESS, FILE_ENOENT, FILE_EMFILE, FILE_ENSPC, FILE_FLAG } |
Error codes returned by File class. More... | |
enum | FileIOMode { FIO_READ = (1<<1), FIO_WRITE = (1<<2), FIO_APPEND = (1<<3), FIO_BINARY = (1<<4), FIO_TRUNC = (1<<5) } |
Open and write flags for File class. More... | |
enum | FileTestFlags { FILE_TEST_IS_REGULAR = 1 << 0, FILE_TEST_IS_DIR = 1 << 1, FILE_TEST_IS_SYMLINK = 1 << 2, FILE_TEST_IS_CHAR = 1 << 3, FILE_TEST_IS_BLOCK = 1 << 4, FILE_TEST_IS_FIFO = 1 << 5, FILE_TEST_IS_SOCKET = 1 << 6, FILE_TEST_IS_READABLE = 1 << 7, FILE_TEST_IS_WRITEABLE = 1 << 8, FILE_TEST_IS_EXECUTABLE = 1 << 9, FILE_TEST_EXISTS = 1 << 10 } |
Available flags for file_test(). More... | |
enum | IconLoaderOptions { ICON_LOADER_OPTION_NO_ABSOLUTE_PATH = (1 << 1), ICON_LOADER_OPTION_NO_WIDGET_REDRAW = (1 << 2), ICON_LOADER_OPTION_NO_ICON_SCALE = (1 << 3) } |
Settable options for IconLoader functions. More... | |
enum | IconSizes { ICON_SIZE_TINY = 16, ICON_SIZE_SMALL = 22, ICON_SIZE_MEDIUM = 32, ICON_SIZE_LARGE = 48, ICON_SIZE_HUGE = 64, ICON_SIZE_ENORMOUS = 128 } |
Icon sizes to look for. More... | |
enum | IconContext { ICON_CONTEXT_ANY = 0, ICON_CONTEXT_ACTION, ICON_CONTEXT_APPLICATION, ICON_CONTEXT_DEVICE, ICON_CONTEXT_FILESYSTEM, ICON_CONTEXT_MIMETYPE, ICON_CONTEXT_STOCK, ICON_CONTEXT_EMBLEM, ICON_CONTEXT_MISC } |
Icon types to look for. More... | |
enum | { LISTENER_READ = 1, LISTENER_WRITE = 4, LISTENER_EXCEPT = 8 } |
enum | MessageBoxType { MSGBOX_PLAIN = 0, MSGBOX_INPUT, MSGBOX_INPUT_SECRET } |
Type of MessageBox dialog. More... | |
enum | MessageBoxButtonType { MSGBOX_BUTTON_PLAIN = 0, MSGBOX_BUTTON_RETURN } |
Type of added button to MessageBox class. More... | |
enum | MessageBoxIconType { MSGBOX_ICON_TYPE_INFO = 0, MSGBOX_ICON_TYPE_ALERT, MSGBOX_ICON_TYPE_QUESTION, MSGBOX_ICON_TYPE_INPUT, MSGBOX_ICON_TYPE_PASSWORD } |
Type of the icon in message box. More... | |
enum | { NETWM_CHANGED_WORKSPACE_COUNT, NETWM_CHANGED_WORKSPACE_NAMES, NETWM_CHANGED_CURRENT_WORKSPACE, NETWM_CHANGED_CURRENT_WORKAREA, NETWM_CHANGED_ACTIVE_WINDOW, NETWM_CHANGED_WINDOW_NAME, NETWM_CHANGED_WINDOW_VISIBLE_NAME, NETWM_CHANGED_WINDOW_DESKTOP, NETWM_CHANGED_WINDOW_ICON, NETWM_CHANGED_WINDOW_LIST } |
enum | { NETWM_WINDOW_TYPE_NORMAL, NETWM_WINDOW_TYPE_DESKTOP, NETWM_WINDOW_TYPE_DOCK, NETWM_WINDOW_TYPE_TOOLBAR, NETWM_WINDOW_TYPE_MENU, NETWM_WINDOW_TYPE_UTILITY, NETWM_WINDOW_TYPE_SPLASH, NETWM_WINDOW_TYPE_DIALOG, NETWM_WINDOW_TYPE_DROPDOWN_MENU, NETWM_WINDOW_TYPE_POPUP_MENU, NETWM_WINDOW_TYPE_TOOLTIP, NETWM_WINDOW_TYPE_NOTIFICATION, NETWM_WINDOW_TYPE_COMBO, NETWM_WINDOW_TYPE_DND } |
enum | WmStateValue { WM_WINDOW_STATE_NONE = -1, WM_WINDOW_STATE_WITHDRAW = 0, WM_WINDOW_STATE_NORMAL = 1, WM_WINDOW_STATE_ICONIC = 3 } |
enum | NetwmStateValue { NETWM_STATE_NONE = -1, NETWM_STATE_MODAL, NETWM_STATE_STICKY, NETWM_STATE_MAXIMIZED_VERT, NETWM_STATE_MAXIMIZED_HORZ, NETWM_STATE_MAXIMIZED, NETWM_STATE_SHADED, NETWM_STATE_SKIP_TASKBAR, NETWM_STATE_SKIP_PAGER, NETWM_STATE_HIDDEN, NETWM_STATE_FULLSCREEN, NETWM_STATE_ABOVE, NETWM_STATE_BELOW, NETWM_STATE_DEMANDS_ATTENTION } |
enum | NetwmStateAction { NETWM_STATE_ACTION_REMOVE, NETWM_STATE_ACTION_ADD, NETWM_STATE_ACTION_TOGGLE } |
enum | RegexMode { RX_EXTENDED = (1 << 1), RX_CASELESS = (1 << 2), RX_DOLLAR_ENDONLY = (1 << 3), RX_DOTALL = (1 << 4), RX_MULTILINE = (1 << 5), RX_UNGREEDY = (1 << 6) } |
Flags used for compile(). More... | |
enum | RegexMatchMode { RX_MATCH_ANCHORED = (1 << 1), RX_MATCH_NOTBOL = (1 << 2), RX_MATCH_NOTEOL = (1 << 3), RX_MATCH_NOTEMPTY = (1 << 4) } |
Flags used for match(). More... | |
enum | ResourceType { RES_SYS_FIRST, RES_USER_FIRST, RES_SYS_ONLY, RES_USER_ONLY } |
Flags showing what resource to load first or to load it only. More... | |
enum | { RUN_NOT_FOUND = 65535, RUN_EMPTY = 65534, RUN_NOT_EXEC = 65533, RUN_FORK_FAILED = 65532, RUN_WAITPID_FAILED = 65531, RUN_EXECVE_FAILED = 65530, RUN_PIPE_FAILED = 65529, RUN_NO_ACCESS = 65528 } |
enum | WindowComponents { WIN_INIT_NONE = (1 << 1), WIN_INIT_ICON_THEME = (1 << 2), WIN_INIT_IMAGES = (1 << 3), WIN_INIT_ALL = (WIN_INIT_ICON_THEME | WIN_INIT_IMAGES) } |
Components used to be loaded with the window. More... | |
enum | XSettingsAction { XSETTINGS_ACTION_NEW = 0, XSETTINGS_ACTION_CHANGED, XSETTINGS_ACTION_DELETED } |
Flags telling what was done with setting. More... | |
enum | XSettingsType { XSETTINGS_TYPE_INT = 0, XSETTINGS_TYPE_STRING, XSETTINGS_TYPE_COLOR } |
Types used for XSETTINGS. More... | |
Functions | |
bool | file_test (const char *path, unsigned int flags) |
bool | font_cache_find (const char *face, Fl_Font &f, int &s, Fl_Font df=FL_HELVETICA, int ds=12) |
int | font_chooser (const char *name, const char *family, int &retsize, const char *default_name=0, int default_size=0) |
void | foreign_callback_add (Fl_Window *win, const char *id, void(*cb)(Fl_Window *, void *), void *data=0) |
void | foreign_callback_remove (void(*cb)(Fl_Window *, void *)) |
void | foreign_callback_call (const char *id) |
template<typename T , typename F > | |
unsigned int | filter (const F &func, const T &container, T &ret) |
template<typename T , typename F > | |
void | map (F &func, const T &container, T &ret) |
template<typename T , typename R , typename F > | |
void | reduce (F &func, const T &container, R &ret) |
template<typename T , typename F > | |
void | for_each (const F &func, const T &container) |
template<typename T , typename F > | |
void | for_each (const F &func, const T &container, void *p) |
String | icon_chooser (const char *dir) |
String | icon_chooser (IconSizes sz, IconContext ctx=ICON_CONTEXT_ANY) |
void | listener_add_fd (int fd, int when, void(*cb)(int, void *), void *arg=0) |
void | listener_add_fd (int fd, void(*cb)(int, void *), void *arg=0) |
void | listener_remove_fd (int fd, int when) |
void | listener_remove_fd (int fd) |
double | listener_wait (double t) |
int | listener_wait (void) |
void | clear_dialog_icons (void) |
void | netwm_callback_add (NetwmCallback cb, void *data=0) |
void | netwm_callback_remove (NetwmCallback cb) |
bool | netwm_workarea_get_size (int &x, int &y, int &w, int &h) |
int | netwm_workspace_get_count (void) |
void | netwm_workspace_change (int n) |
int | netwm_workspace_get_current (void) |
int | netwm_workspace_get_names (char **&names) |
void | netwm_workspace_free_names (char **names) |
void | netwm_window_set_type (Window win, int t) |
int | netwm_window_get_type (Window win) |
void | netwm_window_set_strut (Window win, int left, int right, int top, int bottom) |
void | netwm_window_remove_strut (Window win) |
int | netwm_window_get_all_mapped (Window **windows) |
int | netwm_window_get_workspace (Window win) |
int | netwm_window_is_manageable (Window win) |
char * | netwm_window_get_title (Window win) |
Fl_RGB_Image * | netwm_window_get_icon (Window win) |
Window | netwm_window_get_active (void) |
void | netwm_window_set_active (Window win) |
void | netwm_window_maximize (Window win) |
void | netwm_window_close (Window win) |
void | wm_window_ede_restore (Window win) |
void | netwm_window_set_state (Window win, NetwmStateValue val, NetwmStateAction action) |
WmStateValue | wm_window_get_state (Window win) |
void | wm_window_set_state (Window win, WmStateValue state) |
char * | nls_locale_to_c (void) |
void | nls_locale_from_c (char *old) |
void | nls_support_init (const char *appname, const char *dir) |
int | run_program (const char *cmd, bool wait=true) |
int | run_program_fmt (bool wait, const char *fmt,...) |
int | run_sync (const char *fmt,...) |
int | run_async (const char *fmt,...) |
char * | str_trimleft (char *str) |
char * | str_trimright (char *str) |
char * | str_trim (char *str) |
unsigned char * | str_tolower (unsigned char *str) |
unsigned char * | str_toupper (unsigned char *str) |
bool | str_ends (const char *str, const char *test) |
template<typename Container > | |
void | stringtok (Container &c, const String &str, const char *ws=" \t\n") |
String | user_config_dir (void) |
String | user_data_dir (void) |
String | user_cache_dir (void) |
int | system_config_dirs (list< String > &lst) |
int | system_data_dirs (list< String > &lst) |
String | build_filename (const char *p1, const char *p2=((void *) 0), const char *p3=((void *) 0)) |
void | window_xid_create (Fl_Window *win, void(*before_map_func)(Fl_Window *)=((void *) 0), int background_pixel=-1) |
void | window_center_on_screen (Fl_Window *win) |
bool | xsettings_list_add (XSettingsList **list, XSettingsSetting *setting) |
bool | xsettings_list_remove (XSettingsList **list, const char *name) |
XSettingsSetting * | xsettings_list_find (XSettingsList *list, const char *name) |
void | xsettings_list_free (XSettingsList *list) |
XSettingsSetting * | xsettings_setting_copy (XSettingsSetting *setting) |
void | xsettings_setting_free (XSettingsSetting *setting) |
bool | xsettings_setting_equal (XSettingsSetting *s1, XSettingsSetting *s2) |
int | xsettings_setting_len (const XSettingsSetting *setting) |
char | xsettings_byte_order (void) |
XSettingsList * | xsettings_decode (unsigned char *data, int len, unsigned long *serial) |
void | xsettings_encode (const XSettingsSetting *setting, XSettingsBuffer *buffer) |
This is a main namespace where all edelib components laid. Also namespace usage can be optional, and disabled during compilation phase.
typedef void(* SipcCallback)(const char *, void *) |
A callback type for SipcServer message callbacks
anonymous enum |
anonymous enum |
enum FileErrors |
Error codes returned by File class.
enum FileIOMode |
Open and write flags for File class.
enum FileTestFlags |
Available flags for file_test().
enum IconContext |
Icon types to look for.
enum IconLoaderOptions |
Settable options for IconLoader functions.
enum IconSizes |
enum RegexMatchMode |
enum RegexMode |
enum ResourceType |
enum XSettingsAction |
enum XSettingsType |
String edelib::build_filename | ( | const char * | p1, | |
const char * | p2 = ((void *) 0) , |
|||
const char * | p3 = ((void *) 0) | |||
) |
This function will construct a path, separating each item with E_DIR_SEPARATOR separator. Each parameter will be separated with the one separator, except the case when one of the parameters contains multiple path elements separated with multiple separators.
Also, the number of leading separators in the first parameter and the number of trailing separators in the last parameter will be preserved.
For example:
build_filename("home", "foo", "baz") == "home/foo/baz"; build_filename("myplace/dir", "myfile") == "myplace/dir/myfile"; // keep heading separators build_filename("/home", "foo", "baz") == "/home/foo/baz"; build_filename("///home", "foo", "baz") == "///home/foo/baz"; // keep trailing separators build_filename("/home/foo", "foofile", "baz/") == "/home/foo/foofile/baz/"; build_filename("/home/foo", "foofile", "baz///") == "/home/foo/foofile/baz///"; // first parameter have multiple elements, it will be preserved as is build_filename("/home///foo", "//foofile///", "/baz") == "/home///foo/foofile/baz"; // correct trailing data, since does not match to separator build_filename("///home////foo", "//foofile///", "/baz//") == "/home/foo/foofile/baz"; // if given only one parameter, heading and trailing number of separator will be preserved build_filename("///home///") == "///home///";
p1 | first parameter | |
p2 | optional second; if is NULL (default), it is ignored | |
p3 | optional third; if is NULL (default), it is ignored |
bool edelib::file_test | ( | const char * | path, | |
unsigned int | flags | |||
) |
file_test() is generic checker for target file type on the system, where file type could be directory, regular file socket and etc. This function, besides deducing type, can also check for file's existance and it's access flags.
flags should be set to specify what to test. These values can be OR-ed, so if you wan't to see if target object is file and is executable, you will use FILE_TEST_IS_REGULAR | FILE_TEST_IS_EXECUTABLE.
Care must be taken when combine certain flags. For example, since file can be readable, writeable and executable, combination like FILE_TEST_IS_READABLE | FILE_TEST_IS_WRITEABLE | FILE_TEST_IS_EXECUTABLE | FILE_TEST_IS_REGULAR is perfectly valid. On other hand, FILE_TEST_IS_DIR | FILE_TEST_IS_REGULAR makes no sense, so only first bits will be considered (FILE_TEST_IS_DIR only), and these flags will yield false from file_test().
void edelib::listener_add_fd | ( | int | fd, | |
void(*)(int, void *) | cb, | |||
void * | arg = 0 | |||
) | [inline] |
listener_add_fd() function with LISTENER_READ bit set.
References listener_add_fd(), and LISTENER_READ.
void edelib::listener_add_fd | ( | int | fd, | |
int | when, | |||
void(*)(int, void *) | cb, | |||
void * | arg = 0 | |||
) |
listener_xxx are set of functions with ability to monitor file descriptors (files, sockets, etc.). They are doing much the same work as FLTK's Fl::add_fd() and Fl::remove_fd() with the Fl::wait() loop.
They are mainly created to avoid linking with FLTK libraries when is not needed, eg. console applications.
listener_add_fd() will add file descriptor to listen to. Whem descriptor becomes ready, a cb callback will be called.
fd | is descriptor to be monitored | |
when | is bitfield (LISTENER_READ, LISTENER_WRITE and LISTENER_EXCEPT) to indicate when callback should be done | |
cb | is callback to be called | |
arg | is optional parameter passed to the callback |
Referenced by listener_add_fd().
void edelib::listener_remove_fd | ( | int | fd | ) | [inline] |
listener_remove_fd() function with LISTENER_READ bit set.
References LISTENER_READ, and listener_remove_fd().
void edelib::listener_remove_fd | ( | int | fd, | |
int | when | |||
) |
Removes added descriptor.
fd | is descriptor to be removed | |
when | are bits to be removed from fd. |
Referenced by listener_remove_fd().
int edelib::listener_wait | ( | void | ) | [inline] |
The same as for listener_wait(time), except it will run forever, until something happens and will return
References listener_wait().
double edelib::listener_wait | ( | double | t | ) |
This function corresponds (in some parts) to the FLTK's Fl::wait(). In this case, it will wait until some changes happens on monitored descriptors and will return. It will also call given callbacks (via listener_add_fd()).
listener_wait(), on other hand, is not replacement for Fl::wait(). It will not handle all things Fl::wait() does (like refreshing windows, calling idle callbacks, etc.) and in case listener_xxx be used with FLTK elements, listener_wait() must be called too.
t | is time to wait maximum seconds. It can return much sooner if something happens |
Referenced by listener_wait().
void edelib::nls_locale_from_c | ( | char * | old | ) |
Restore locale set with nls_locale_to_c().
old | is previous locale retrieved with nls_locale_to_c() |
char* edelib::nls_locale_to_c | ( | void | ) |
Forces current locale to be set to "C".
The main intent for this function is to provide uniform data representation for some functions across locales. For example, strtod or printf family depends on current locale and if you want predictable behaviour or reading/writing across locales, the best way is to set "C" locale, call this functions and restore previous locale.
nls_locale_to_c() will return information of current locale, which is allocated c-string. You should not free it, use nls_locale_from_c(ret_value) instead, like:
char* loc = nls_locale_to_c(); strtod(...) nls_locale_from_c(loc);
void edelib::nls_support_init | ( | const char * | appname, | |
const char * | dir | |||
) |
A shorthand for textdomain() and bindtextdomain()
This function can be called before application starts, like:
int main() { // LOCALEDIR should be set somewhere // and advice is to use autoconf for that nls_support_init("my_killer_app", LOCALEDIR); // app init, starting and etc. }
appname | is a set of translatable messages, coresponding to the target application's executable | |
dir | the base directory for appname |
int edelib::run_async | ( | const char * | fmt, | |
... | ||||
) |
Same as run_sync(), except it will run command without blocking
int edelib::run_program | ( | const char * | cmd, | |
bool | wait = true | |||
) |
Executes given program. Path for the program can be specified or not, but for case when is not specified, environment PATH should contain a path where is executable placed.
If parameter wait is set to true (default), this function will wait untill started program is not exited; in that case will return code from started program. On other hand, will just run program (will not check if program can be run or not) and return 0, which is default value for succesfull execution.
cmd | is commad to be executed with optional full path and parameters | |
wait | if is true (default) function will not exit until program exists |
int edelib::run_program_fmt | ( | bool | wait, | |
const char * | fmt, | |||
... | ||||
) |
Same as run_program(), but run printf-like constructed command
int edelib::run_sync | ( | const char * | fmt, | |
... | ||||
) |
Executes the given program. If full path to the executable was given, it will be directly called; if not, PATH environment variable should contain a path where executable is placed.
This function will run a command and wait until it finishes.
fmt | is printf-like formated string |
bool edelib::str_ends | ( | const char * | str, | |
const char * | test | |||
) |
Check if string ends with given test string.
str | is where to search | |
test | is what to search |
unsigned char* edelib::str_tolower | ( | unsigned char * | str | ) |
Makes all characters lower. Operates directly on buffer.
unsigned char* edelib::str_toupper | ( | unsigned char * | str | ) |
Makes all characters upper. Operates directly on buffer.
char* edelib::str_trim | ( | char * | str | ) |
Same as str_trimleft(str_trimright(str)).
char* edelib::str_trimleft | ( | char * | str | ) |
Removes leading space. Operates directly on buffer.
char* edelib::str_trimright | ( | char * | str | ) |
Removes leading space. Operates directly on buffer.
void edelib::stringtok | ( | Container & | c, | |
const String & | str, | |||
const char * | ws = " \t\n" | |||
) | [inline] |
A generic String tokenizer (or spliter), similar to stringtok, but works on given container (container that have push_back()).
If delimiter is not found * in container will be put whole string parameter (or container will be size 1). If given string is empty, in container will not be put anything.
This tokenizer is found in libstdc++ documentation. Author is unknown.
c | is container where will be tokenized data placed | |
str | is string which should be tokenized | |
ws | is delimiter by which we do splitting |
References String::length(), stringtok(), and String::substr().
Referenced by stringtok().
int edelib::system_config_dirs | ( | list< String > & | lst | ) |
int edelib::system_data_dirs | ( | list< String > & | lst | ) |
String edelib::user_cache_dir | ( | void | ) |
String edelib::user_config_dir | ( | void | ) |
String edelib::user_data_dir | ( | void | ) |
char edelib::xsettings_byte_order | ( | void | ) |
Returns byte order (MSBFirst/LSBFirst) used on client side.
XSettingsList* edelib::xsettings_decode | ( | unsigned char * | data, | |
int | len, | |||
unsigned long * | serial | |||
) |
Decode settings from given buffer. Returns NULL if failed or buffer was empty; otherwise returns list of recognised ones.
void edelib::xsettings_encode | ( | const XSettingsSetting * | setting, | |
XSettingsBuffer * | buffer | |||
) |
Encode settings from list into buffer.
bool edelib::xsettings_list_add | ( | XSettingsList ** | list, | |
XSettingsSetting * | setting | |||
) |
XSettingsSetting* edelib::xsettings_list_find | ( | XSettingsList * | list, | |
const char * | name | |||
) |
Find setting with given name. Returns NULL if nothing was found.
void edelib::xsettings_list_free | ( | XSettingsList * | list | ) |
Clears settings list.
bool edelib::xsettings_list_remove | ( | XSettingsList ** | list, | |
const char * | name | |||
) |
Remove setting with given name. If not found, it will do nothing.
XSettingsSetting* edelib::xsettings_setting_copy | ( | XSettingsSetting * | setting | ) |
Copy given setting. Copy will be allocated, and should be freed with xsettings_setting_free().
bool edelib::xsettings_setting_equal | ( | XSettingsSetting * | s1, | |
XSettingsSetting * | s2 | |||
) |
Returns true if given two settings are equal or false if not.
void edelib::xsettings_setting_free | ( | XSettingsSetting * | setting | ) |
Free data allocated by given setting.
int edelib::xsettings_setting_len | ( | const XSettingsSetting * | setting | ) |
Returns setting lenght.