2007-06-18 20:46:27 +04:00
|
|
|
/*
|
|
|
|
* $Id$
|
|
|
|
*
|
|
|
|
* Eiconman, desktop and icon manager
|
|
|
|
* Part of Equinox Desktop Environment (EDE).
|
|
|
|
* Copyright (c) 2000-2007 EDE Authors.
|
|
|
|
*
|
|
|
|
* This program is licensed under terms of the
|
|
|
|
* GNU General Public License version 2 or newer.
|
|
|
|
* See COPYING for details.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __NOTIFYBOX_H__
|
|
|
|
#define __NOTIFYBOX_H__
|
|
|
|
|
|
|
|
#include <FL/Fl_Box.h>
|
2007-06-28 15:21:24 +04:00
|
|
|
#include <FL/Fl_Window.h>
|
2007-06-18 20:46:27 +04:00
|
|
|
|
2007-06-28 15:21:24 +04:00
|
|
|
class NotifyBox : public Fl_Window {
|
2007-06-18 20:46:27 +04:00
|
|
|
private:
|
|
|
|
bool is_shown;
|
|
|
|
int lwidth, lheight;
|
2007-06-19 13:59:15 +04:00
|
|
|
int area_w, area_h;
|
2007-06-28 15:21:24 +04:00
|
|
|
Fl_Box* txt_box;
|
2007-06-18 20:46:27 +04:00
|
|
|
void update_label_size(void);
|
2007-06-28 15:21:24 +04:00
|
|
|
void resize_all(void);
|
2007-06-18 20:46:27 +04:00
|
|
|
|
|
|
|
public:
|
2007-06-19 13:59:15 +04:00
|
|
|
NotifyBox(int aw, int ah);
|
2007-06-18 20:46:27 +04:00
|
|
|
~NotifyBox();
|
|
|
|
|
|
|
|
virtual void show(void);
|
|
|
|
virtual void hide(void);
|
|
|
|
bool shown(void) { return is_shown; }
|
|
|
|
|
2007-06-19 13:59:15 +04:00
|
|
|
const char* label(void);
|
|
|
|
void label(const char* l);
|
|
|
|
void copy_label(const char* l);
|
2007-06-18 20:46:27 +04:00
|
|
|
|
2007-06-19 13:59:15 +04:00
|
|
|
static void animate_cb(void* b) { ((NotifyBox*)b)->animate(); }
|
|
|
|
void animate(void);
|
2007-06-18 20:46:27 +04:00
|
|
|
|
|
|
|
static void visible_timeout_cb(void* b) { ((NotifyBox*)b)->visible_timeout(); }
|
|
|
|
void visible_timeout(void);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|