41 lines
863 B
C++
41 lines
863 B
C++
//
|
|
// Created by selim on 10.05.2022.
|
|
//
|
|
|
|
#ifndef AUTOCAT_GNOME_WIDGET_H
|
|
#define AUTOCAT_GNOME_WIDGET_H
|
|
|
|
#include <gtk/gtk.h>
|
|
#include <sigc++/sigc++.h>
|
|
|
|
namespace gtkpp {
|
|
|
|
class Widget {
|
|
protected:
|
|
GtkWidget* _widget;
|
|
|
|
private:
|
|
sigc::signal<void()> _signalClicked;
|
|
|
|
private:
|
|
friend void clickedCallback(GtkButton*, void* data);
|
|
|
|
public:
|
|
void onClick(const std::function<void()>& callback);
|
|
|
|
public:
|
|
Widget();
|
|
Widget(GtkBuilder* builder, const char* id);
|
|
[[nodiscard]] GtkWidget* gobj() const;
|
|
void setMargins(int margin);
|
|
void setVerticalMargins(int margin);
|
|
void setHorizontalMargins(int margin);
|
|
void setVAlign(GtkAlign align);
|
|
void setVExpand(bool expand);
|
|
void setEnabled(bool enabled);
|
|
};
|
|
|
|
}
|
|
|
|
#endif //AUTOCAT_GNOME_WIDGET_H
|