ede/ede-panel/applets/system-tray/Tray.h
Sanel Zukan 39ffa8406b Code cleanup.
Removing usage of EDE_PANEL_APPLET_CLASS since there is no much usage of it. Also, marked all applet widgets as EDE_PANEL_WIDGET_TYPE so panel knows it is widget.

Added license info in some code, but whole ede2 tree needs to be revised for that.
2012-05-30 10:23:27 +00:00

40 lines
720 B
C++

#ifndef __TRAY_H__
#define __TRAY_H__
#include <FL/Fl_Group.H>
#include <FL/x.H>
#include <edelib/List.h>
#include "Applet.h"
EDELIB_NS_USING(list)
struct WinInfo {
Window id;
Fl_Window *win;
};
typedef list<WinInfo> WinList;
typedef list<WinInfo>::iterator WinListIt;
class Tray : public Fl_Group {
private:
Atom opcode, message_data;
WinList win_list;
void distribute_children(void);
public:
Tray();
~Tray();
void register_notification_area(void);
Atom get_opcode(void) const { return opcode; }
void embed_window(Window id);
void unembed_window(Window id);
void configure_notify(Window id);
void add_to_tray(Fl_Widget *w);
void remove_from_tray(Fl_Widget *w);
int handle(int e);
};
#endif