mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
39ffa8406b
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.
40 lines
720 B
C++
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
|