Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
popover-bin.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef INKSCAPE_UI_WIDGET_POPOVER_BIN_H
3#define INKSCAPE_UI_WIDGET_POPOVER_BIN_H
4
5#include <gtkmm/popover.h>
6
7namespace Inkscape::UI::Widget {
8
18class PopoverBin : public Gtk::Widget
19{
20public:
21 PopoverBin();
22
23 void setChild(Gtk::Widget *child) { _replace(_child, child); }
24 void setPopover(Gtk::Popover *popover) { _replace(_popover, popover); }
25
26private:
27 void _replace(Gtk::Widget *&holder, Gtk::Widget *widget);
28
29 Gtk::Widget *_child = nullptr;
30 Gtk::Widget *_popover = nullptr;
31};
32
33} // namespace Inkscape::UI::Widget
34
35#endif // INKSCAPE_UI_WIDGET_POPOVER_BIN_H
Holds a single child widget while allowing a single popover to be displayed over it.
Definition popover-bin.h:19
void _replace(Gtk::Widget *&holder, Gtk::Widget *widget)
void setPopover(Gtk::Popover *popover)
Definition popover-bin.h:24
void setChild(Gtk::Widget *child)
Definition popover-bin.h:23
Custom widgets.
Definition desktop.h:126
Ocnode * child[8]
Definition quantize.cpp:33