2001-07-30 09:59:37 -07:00
|
|
|
#ifndef E_VIEW_H
|
|
|
|
#define E_VIEW_H
|
|
|
|
|
|
|
|
#include "e.h"
|
2001-07-30 18:12:02 -07:00
|
|
|
#include "background.h"
|
|
|
|
#include "fs.h"
|
|
|
|
|
|
|
|
typedef struct _E_View E_View;
|
|
|
|
typedef struct _E_Icon E_Icon;
|
2001-07-30 09:59:37 -07:00
|
|
|
|
|
|
|
struct _E_View
|
|
|
|
{
|
|
|
|
OBJ_PROPERTIES;
|
|
|
|
|
|
|
|
char *dir;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
Evas_Render_Method render_method;
|
|
|
|
int back_pixmap;
|
|
|
|
} options;
|
|
|
|
|
|
|
|
Evas evas;
|
|
|
|
struct {
|
|
|
|
Window base;
|
|
|
|
Window main;
|
|
|
|
} win;
|
|
|
|
Pixmap pmap;
|
|
|
|
struct {
|
|
|
|
int w, h;
|
|
|
|
} size;
|
2001-07-31 21:45:14 -07:00
|
|
|
struct {
|
|
|
|
int x, y;
|
|
|
|
} scroll;
|
2001-07-30 09:59:37 -07:00
|
|
|
struct {
|
|
|
|
int x, y;
|
|
|
|
} location;
|
2001-07-31 21:45:14 -07:00
|
|
|
struct {
|
|
|
|
EfsdCmdId x, y, w, h;
|
|
|
|
int busy;
|
|
|
|
} geom_get;
|
2001-07-30 09:59:37 -07:00
|
|
|
struct {
|
|
|
|
/* +-----------------+
|
|
|
|
* | Wt |
|
|
|
|
* | +-----------+ |
|
|
|
|
* |Wl| |Wr|
|
|
|
|
* | | [I] Is | |
|
|
|
|
* | | Ig | |
|
|
|
|
* | | [txt] | |
|
|
|
|
* | | Ib | |
|
|
|
|
* | +-----------+ |
|
|
|
|
* | Wb |
|
|
|
|
* +-----------------+
|
|
|
|
*/
|
|
|
|
struct {
|
|
|
|
int l, r, t, b;
|
|
|
|
} window;
|
|
|
|
struct {
|
|
|
|
int s, g, b;
|
|
|
|
} icon;
|
|
|
|
} spacing;
|
|
|
|
struct {
|
|
|
|
int on;
|
|
|
|
int x, y, w, h;
|
|
|
|
struct {
|
|
|
|
int x, y;
|
|
|
|
} down;
|
|
|
|
struct {
|
|
|
|
struct {
|
|
|
|
int r, g, b, a;
|
|
|
|
}
|
|
|
|
edge_l, edge_r, edge_t, edge_b,
|
|
|
|
middle,
|
|
|
|
grad_l, grad_r, grad_t, grad_b;
|
|
|
|
struct {
|
|
|
|
int l, r, t, b;
|
|
|
|
} grad_size;
|
|
|
|
} config;
|
|
|
|
struct {
|
|
|
|
Evas_Object clip;
|
|
|
|
Evas_Object edge_l;
|
|
|
|
Evas_Object edge_r;
|
|
|
|
Evas_Object edge_t;
|
|
|
|
Evas_Object edge_b;
|
|
|
|
Evas_Object middle;
|
|
|
|
Evas_Object grad_l;
|
|
|
|
Evas_Object grad_r;
|
|
|
|
Evas_Object grad_t;
|
|
|
|
Evas_Object grad_b;
|
|
|
|
} obj;
|
|
|
|
} select;
|
|
|
|
struct {
|
|
|
|
int started;
|
|
|
|
Window win;
|
|
|
|
int x, y;
|
|
|
|
struct {
|
|
|
|
int x, y;
|
|
|
|
} offset;
|
|
|
|
int update;
|
|
|
|
} drag;
|
|
|
|
|
|
|
|
Evas_Object obj_bg;
|
|
|
|
|
|
|
|
E_Background *bg;
|
|
|
|
|
|
|
|
int is_listing;
|
|
|
|
int monitor_id;
|
|
|
|
|
|
|
|
E_FS_Restarter *restarter;
|
|
|
|
|
|
|
|
Evas_List icons;
|
|
|
|
|
|
|
|
int is_desktop;
|
|
|
|
int have_resort_queued;
|
|
|
|
int sel_count;
|
|
|
|
|
|
|
|
int changed;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct _E_Icon
|
|
|
|
{
|
|
|
|
OBJ_PROPERTIES;
|
|
|
|
|
|
|
|
char *file;
|
|
|
|
|
|
|
|
E_View *view;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
char *icon;
|
|
|
|
char *custom_icon;
|
|
|
|
char *link;
|
|
|
|
struct {
|
|
|
|
char *base;
|
|
|
|
char *type;
|
|
|
|
} mime;
|
|
|
|
} info;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
Evas_Object icon;
|
|
|
|
Evas_Object text;
|
|
|
|
Evas_Object event1;
|
|
|
|
Evas_Object event2;
|
|
|
|
struct {
|
|
|
|
struct {
|
|
|
|
Ebits_Object icon;
|
|
|
|
Ebits_Object text;
|
|
|
|
} over, under;
|
|
|
|
} sel;
|
|
|
|
} obj;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
int hilited;
|
|
|
|
int clicked;
|
|
|
|
int selected;
|
|
|
|
int running;
|
|
|
|
int disabled;
|
|
|
|
int visible;
|
|
|
|
int just_selected;
|
|
|
|
int just_executed;
|
|
|
|
} state;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
int x, y, w, h;
|
|
|
|
struct {
|
|
|
|
int w, h;
|
|
|
|
} icon;
|
|
|
|
struct {
|
|
|
|
int w, h;
|
|
|
|
} text;
|
|
|
|
} geom;
|
|
|
|
|
|
|
|
int changed;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
void e_view_selection_update(E_View *v);
|
|
|
|
void e_view_deselect_all(void);
|
|
|
|
void e_view_deselect_all_except(E_Icon *not_ic);
|
|
|
|
Eevent *e_view_get_current_event(void);
|
|
|
|
int e_view_filter_file(E_View *v, char *file);
|
2001-07-31 21:45:14 -07:00
|
|
|
void e_view_icons_get_extents(E_View *v, int *min_x, int *min_y, int *max_x, int *max_y);
|
|
|
|
void e_view_icons_apply_xy(E_View *v);
|
|
|
|
void e_view_scroll_to(E_View *v, int sx, int sy);
|
|
|
|
void e_view_scroll_by(E_View *v, int sx, int sy);
|
2001-07-30 09:59:37 -07:00
|
|
|
void e_view_icon_update_state(E_Icon *ic);
|
|
|
|
void e_view_icon_invert_selection(E_Icon *ic);
|
|
|
|
void e_view_icon_select(E_Icon *ic);
|
|
|
|
void e_view_icon_deselect(E_Icon *ic);
|
|
|
|
void e_view_icon_exec(E_Icon *ic);
|
|
|
|
void e_view_icon_free(E_Icon *ic);
|
|
|
|
void e_view_icon_initial_show(E_Icon *ic);
|
|
|
|
void e_view_icon_set_mime(E_Icon *ic, char *base, char *mime);
|
|
|
|
void e_view_icon_set_link(E_Icon *ic, char *link);
|
|
|
|
E_Icon *e_view_icon_new(void);
|
|
|
|
E_Icon *e_view_find_icon_by_file(E_View *view, char *file);
|
|
|
|
void e_view_icon_show(E_Icon *ic);
|
|
|
|
void e_view_icon_hide(E_Icon *ic);
|
|
|
|
void e_view_icon_apply_xy(E_Icon *ic);
|
|
|
|
void e_view_resort_alphabetical(E_View *v);
|
|
|
|
void e_view_arrange(E_View *v);
|
|
|
|
void e_view_resort(E_View *v);
|
|
|
|
void e_view_queue_resort(E_View *v);
|
|
|
|
void e_view_file_added(int id, char *file);
|
|
|
|
void e_view_file_deleted(int id, char *file);
|
|
|
|
void e_view_file_changed(int id, char *file);
|
|
|
|
void e_view_file_moved(int id, char *file);
|
|
|
|
E_View *e_view_find_by_monitor_id(int id);
|
|
|
|
void e_view_free(E_View *v);
|
|
|
|
E_View *e_view_new(void);
|
|
|
|
void e_view_set_background(E_View *v);
|
|
|
|
void e_view_set_dir(E_View *v, char *dir);
|
|
|
|
void e_view_realize(E_View *v);
|
|
|
|
void e_view_update(E_View *v);
|
|
|
|
void e_view_init(void);
|
|
|
|
|
|
|
|
#endif
|