78 lines
1.7 KiB
C
78 lines
1.7 KiB
C
#ifndef CLOCK_H
|
|
#define CLOCK_H
|
|
|
|
#include "e.h"
|
|
#include "gadget.h"
|
|
|
|
#define _(X) (X)
|
|
#define N_(X) (X)
|
|
|
|
E_API extern E_Module_Api e_modapi;
|
|
|
|
E_API void *e_modapi_init (E_Module *m);
|
|
E_API int e_modapi_shutdown (E_Module *m);
|
|
E_API int e_modapi_save (E_Module *m);
|
|
|
|
typedef struct _Config Config;
|
|
typedef struct _Config_Item Config_Item;
|
|
typedef struct _Instance Instance;
|
|
|
|
struct _Config
|
|
{
|
|
Eina_List *items;
|
|
|
|
E_Module *module;
|
|
E_Config_Dialog *config_dialog;
|
|
};
|
|
|
|
struct _Config_Item
|
|
{
|
|
unsigned int id;
|
|
struct {
|
|
int start, len; // 0->6 0 == sun, 6 == sat, number of days
|
|
} weekend;
|
|
struct {
|
|
int start; // 0->6 0 == sun, 6 == sat
|
|
} week;
|
|
int digital_clock;
|
|
int digital_24h;
|
|
int show_seconds;
|
|
int show_date;
|
|
Eina_Bool changed;
|
|
};
|
|
|
|
|
|
struct _Instance
|
|
{
|
|
Evas_Object *o_clock, *o_table, *o_popclock, *o_cal;
|
|
Evas_Object *popup;
|
|
|
|
int madj;
|
|
|
|
char year[8];
|
|
char month[64];
|
|
const char *daynames[7];
|
|
unsigned char daynums[7][6];
|
|
Eina_Bool dayweekends[7][6];
|
|
Eina_Bool dayvalids[7][6];
|
|
Eina_Bool daytoday[7][6];
|
|
Config_Item *cfg;
|
|
};
|
|
|
|
EINTERN Evas_Object *config_clock(Evas_Object *g);
|
|
void e_int_clock_instances_redo(Eina_Bool all);
|
|
|
|
EINTERN void time_daynames_clear(Instance *inst);
|
|
EINTERN void time_string_format(Instance *inst, char *buf, int bufsz);
|
|
EINTERN void time_instance_update(Instance *inst);
|
|
EINTERN void time_init(void);
|
|
EINTERN void time_shutdown(void);
|
|
|
|
EINTERN Evas_Object *clock_create(Evas_Object *parent, unsigned int *id, Z_Gadget_Site_Orient orient);
|
|
EINTERN void clock_popup_new(Instance *inst);
|
|
|
|
extern Config *clock_config;
|
|
extern Eina_List *clock_instances;
|
|
|
|
#endif
|