ede/eiconman/NotifyBox.h

48 lines
1010 B
C
Raw Normal View History

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>
#include <FL/Fl_Window.h>
2007-06-18 20:46:27 +04:00
class NotifyBox : public Fl_Window {
2007-06-18 20:46:27 +04:00
private:
bool is_shown;
int lwidth, lheight;
int area_w, area_h;
Fl_Box* txt_box;
2007-06-18 20:46:27 +04:00
void update_label_size(void);
void resize_all(void);
2007-06-18 20:46:27 +04:00
public:
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; }
const char* label(void);
void label(const char* l);
void copy_label(const char* l);
2007-06-18 20:46:27 +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