ekg2
 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje Grupay Strony
Struktury danych | Definicje | Wyliczenia | Funkcje
Dokumentacja pliku themes.h
#include "strings.h"
#include "gettext.h"
#include "dynstuff.h"
#include "sessions.h"

Idź do kodu źródłowego tego pliku.

Struktury danych

struct  fstring_t

Definicje

#define _(a)   gettext(a)
#define N_(a)   gettext_noop(a)
#define print(x...)   print_window_w(NULL, EKG_WINACT_JUNK, x)
#define print_status(x...)   print_window_w(window_status, EKG_WINACT_JUNK, x)
#define format_ok(format_find_result)   (format_find_result[0])
#define format_exists(format)   (format_ok(format_find(format)))
#define isalpha_pl_PL(x)   ((x >= 'a' && x <= 'z') || (x >= 'A' && x <= 'Z') || x == 'ą' || x == 'ć' || x == 'ę' || x == 'ł' || x == 'ń' || x == 'ó' || x == 'ś' || x == 'ż' || x == 'ź' || x == 'Ą' || x == 'Ć' || x == 'Ę' || x == 'Ł' || x == 'Ń' || x == 'Ó' || x == 'Ś' || x == 'Ż' || x == 'Ź')

Wyliczenia

enum  fstr_t {
  FSTR_FOREA = 1, FSTR_FOREB = 2, FSTR_FOREC = 4, FSTR_FOREMASK = (FSTR_FOREA|FSTR_FOREB|FSTR_FOREC),
  FSTR_BACKA = 8, FSTR_BACKB = 16, FSTR_BACKC = 32, FSTR_BACKMASK = (FSTR_BACKA|FSTR_BACKB|FSTR_BACKC),
  FSTR_BOLD = 64, FSTR_NORMAL = 128, FSTR_BLINK = 256, FSTR_UNDERLINE = 512,
  FSTR_REVERSE = 1024, FSTR_ALTCHARSET = 2048, FSTR_FOREA = 1, FSTR_FOREB = 2,
  FSTR_FOREC = 4, FSTR_FOREMASK = (FSTR_FOREA|FSTR_FOREB|FSTR_FOREC), FSTR_BACKA = 8, FSTR_BACKB = 16,
  FSTR_BACKC = 32, FSTR_BACKMASK = (FSTR_BACKA|FSTR_BACKB|FSTR_BACKC), FSTR_BOLD = 64, FSTR_NORMAL = 128,
  FSTR_BLINK = 256, FSTR_UNDERLINE = 512, FSTR_REVERSE = 1024, FSTR_ALTCHARSET = 2048
}

Funkcje

void print_window (const char *target, session_t *session, int activity, int separate, const char *theme,...)
void print_info (const char *target, session_t *session, const char *theme,...)
void print_warning (const char *target, session_t *session, const char *theme,...)
void format_add (const char *name, const char *value, int replace)
const char * format_find (const char *name)
char * format_string (const char *format,...)
void theme_init ()
void theme_plugins_init ()
void theme_enumerate (int(*enumerator)(const char *theme, const char *value))
int theme_read (const char *filename, int replace)
int theme_write (const char *filename)
void theme_cache_reset ()
void theme_free ()
fstring_tfstring_new (const char *str)
fstring_tfstring_new_format (const char *format,...)
void fstring_free (fstring_t *str)

Dokumentacja definicji

#define _ (   a)    gettext(a)
#define format_exists (   format)    (format_ok(format_find(format)))
#define format_ok (   format_find_result)    (format_find_result[0])
#define isalpha_pl_PL (   x)    ((x >= 'a' && x <= 'z') || (x >= 'A' && x <= 'Z') || x == 'ą' || x == 'ć' || x == 'ę' || x == 'ł' || x == 'ń' || x == 'ó' || x == 'ś' || x == 'ż' || x == 'ź' || x == 'Ą' || x == 'Ć' || x == 'Ę' || x == 'Ł' || x == 'Ń' || x == 'Ó' || x == 'Ś' || x == 'Ż' || x == 'Ź')
#define N_ (   a)    gettext_noop(a)
#define print (   x...)    print_window_w(NULL, EKG_WINACT_JUNK, x)
#define print_status (   x...)    print_window_w(window_status, EKG_WINACT_JUNK, x)

Dokumentacja typów wyliczanych

enum fstr_t
Wartości wyliczeń:
FSTR_FOREA 
FSTR_FOREB 
FSTR_FOREC 
FSTR_FOREMASK 
FSTR_BACKA 
FSTR_BACKB 
FSTR_BACKC 
FSTR_BACKMASK 
FSTR_BOLD 
FSTR_NORMAL 
FSTR_BLINK 
FSTR_UNDERLINE 
FSTR_REVERSE 
FSTR_ALTCHARSET 
FSTR_FOREA 
FSTR_FOREB 
FSTR_FOREC 
FSTR_FOREMASK 
FSTR_BACKA 
FSTR_BACKB 
FSTR_BACKC 
FSTR_BACKMASK 
FSTR_BOLD 
FSTR_NORMAL 
FSTR_BLINK 
FSTR_UNDERLINE 
FSTR_REVERSE 
FSTR_ALTCHARSET 

Dokumentacja funkcji

void format_add ( const char *  name,
const char *  value,
int  replace 
)

format_add()

Add format with name and value.
If replace set to 1, than if format with the same name exists. than format value will be replaced.

Do zrobienia:
What about creating global variable: formats_unique_here.. and if set to 1, don't search if this format already exists? It should speedup theme_init() a little.
Parametry:
name- name of format
value- value of format
replace- if this format exists and is set to 1 than format value will be replaced with new one. else do nothing.
const char* format_find ( const char *  name)
char* format_string ( const char *  format,
  ... 
)
void fstring_free ( fstring_t str)

fstring_free()

Free memory allocated by str

Do zrobienia:
XXX Think about freeing str->priv_data
Parametry:
str- fstring_t * to free.
fstring_t* fstring_new ( const char *  str)

fstring_new()

Change formatted ansi string (str) to Nowy-i-Lepszy (tm) [New-and-Better].

Parametry:
str- string
Zobacz również:
format_string() - Function to format strings.
fstring_free() - Function to free fstring_t.
Zwraca:
Allocated fstring_t.
fstring_t* fstring_new_format ( const char *  format,
  ... 
)

fstring_new_format()

 char *tmp = format_string("format", .....);
 fstr = fstring_new(tmp);
 xfree(tmp);
void print_info ( const char *  target,
session_t session,
const char *  theme,
  ... 
)
void print_warning ( const char *  target,
session_t session,
const char *  theme,
  ... 
)
void print_window ( const char *  target,
session_t session,
int  activity,
int  separate,
const char *  theme,
  ... 
)

print_window()

Print given text in given window [target+ session]

Do zrobienia:
We have no policy for displaying messages by e.g. jabber resources.
For now we do: [only jabber]
  • If target has '/' inside. We put there NUL char.
  • After it we search for window with stripped '/'
  • If founded, than done.
    If not, we look for user in userlist.. And if not found, than we'll create new window with stripped '/' [only jabber]
Parametry:
target- target to look for.
session- session to look for.
activity- how important is text?
separate- if essence of text is important to create new window
theme- Name of format to format_string() with ... Text will be be built.
...
void theme_cache_reset ( )

theme_cache_reset()

Remove cached: prompt_cache, prompt2_cache, error_cache and timestamp_cache
These values are used by va_format_string() to don't call format_find() on:
["prompt" "%>", "prompt2" "%)", "errror" "%!", "timestamp" "%#"]

void theme_enumerate ( int(*)(const char *theme, const char *value)  enumerator)
void theme_free ( )
void theme_init ( )
void theme_plugins_init ( )
int theme_read ( const char *  filename,
int  replace 
)
int theme_write ( const char *  filename)