/* * $Id$ * * Desktop icons manager * Part of Equinox Desktop Environment (EDE). * Copyright (c) 2000-2006 EDE Authors. * * This program is licenced under terms of the * GNU General Public Licence version 2 or newer. * See COPYING for details. */ #ifndef edeskicon_h #define edeskicon_h #include #include #include #include #include /*#include #include #include #include #include #include #include */ #include //#include //#include #include //#include /*#include #include */ #include //#include //#include #include "../edelib2/EDE_Config.h" //#include #include //#include #include "../edelib2/NLS.h" //#include //#include #include #include #include class MovableIcon; class Icon : public fltk::Widget { public: Icon(char *icon_config); ~Icon(); virtual void draw(); virtual void layout(); virtual int handle(int e); EDE_Config *get_cfg() const { return cfg; } void update_icon(); void update_all(); fltk::Image *icon_im; int lwidth, lheight; void cb_execute_i(); static inline void cb_execute(fltk::Item *, void *d) { ((Icon*)d)->cb_execute_i(); } protected: EDE_Config *cfg; MovableIcon *micon; char* icon_file; char* icon_name; int x_position; int y_position; }; class MovableIcon : public fltk::Window { Icon *icon; public: MovableIcon(Icon *i); ~MovableIcon(); }; /////////////////////////////////////// extern int label_background; extern int label_foreground; extern int label_fontsize; extern int label_maxwidth; extern int label_gridspacing; extern bool one_click_exec; extern void read_icons_configuration(); extern void save_icon(Icon *); extern void delete_icon(fltk::Widget*, Icon *); extern int create_new_icon(); extern void update_iconeditdialog(Icon *); extern void update_property_dialog(Icon *); extern char* get_localized_string(); extern char* get_localized_name(EDE_Config &iconConfig); #endif