summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/canvas-notice.h
blob: 88c7bede5320471c8a042a9a86ef34bdacc9b773 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// SPDX-License-Identifier: GPL-2.0-or-later


#ifndef INKSCAPE_UI_WIDGET_CANVAS_NOTICE_H
#define INKSCAPE_UI_WIDGET_CANVAS_NOTICE_H

#include <glibmm/refptr.h>
#include <gtkmm/builder.h>

#include <gtkmm/revealer.h>
#include <gtkmm/image.h>
#include <gtkmm/label.h>
#include <gtkmm/button.h>

#include "helper/auto-connection.h"

namespace Inkscape {
namespace UI {
namespace Widget {

class CanvasNotice : public Gtk::Revealer {
public:
    static CanvasNotice *create();

    CanvasNotice(BaseObjectType *cobject, Glib::RefPtr<Gtk::Builder> refGlade);
    void show(Glib::ustring const &msg, unsigned timeout = 0);
    void hide();
private:
    Glib::RefPtr<Gtk::Builder> _builder;

    Gtk::Image& _icon;
    Gtk::Label& _label;

    Inkscape::auto_connection _timeout;
};

}}} // namespaces

#endif // INKSCAPE_UI_WIDGET_CANVAS_NOTICE_H