1
#include "active_label.h"
3
//--------------------------------------------------------------------------------
4
ActiveLabel::ActiveLabel(const Glib::ustring& text, const sigc::slot<void> &close_callback)
5
: _close_callback(close_callback)
6
, _label("\342\234\225")
10
_evbox.signal_event().connect(sigc::mem_fun(this, &ActiveLabel::handle_event));
12
_text_label_eventbox.add(_text_label);
14
pack_start(_text_label_eventbox);
21
signal_button_press_event().connect(sigc::mem_fun(this, &ActiveLabel::button_press_slot));
23
#if GTK_VERSION_GE(2,20)
28
//--------------------------------------------------------------------------------
29
bool ActiveLabel::handle_event(GdkEvent* e)
33
case GDK_BUTTON_RELEASE:
35
GdkEventButton *evb = (GdkEventButton*)e;
47
//--------------------------------------------------------------------------------
48
void ActiveLabel::set_text(const std::string& lbl)
50
_text_label.set_text(lbl);
53
//--------------------------------------------------------------------------------
54
bool ActiveLabel::button_press_slot(GdkEventButton* evb)
56
if (evb->button == 3 && !_menu.empty())
57
_menu.popup_at(0, evb->x, evb->y);
61
//--------------------------------------------------------------------------------
62
void ActiveLabel::start_busy()
64
#if GTK_VERSION_GE(2,20)
73
//--------------------------------------------------------------------------------
74
void ActiveLabel::stop_busy()
76
#if GTK_VERSION_GE(2,20)