#ifndef EXAMPLEPLUGIN_H
#define EXAMPLEPLUGIN_H
#include <MLPlugin.h>
{
public:
ExamplePlugin(void *af_ptr);
void
};
extern "C"
{
#ifdef __linux
create(void *af_ptr)
{
return new ExamplePlugin(af_ptr);
}
#endif
#ifdef _WIN32
create(void *af_ptr)
{
return new ExamplePlugin(af_ptr);
}
#endif
}
#endif
The MLPlugin class.
Definition MLPlugin.h:59
MLPlugin(void *af_ptr)
MLPlugin constructor.
virtual void createWindow(Gtk::Window *parent_window)
Virtual function.
#include <ExamplePlugin.h>
#include <gtkmm-4.0/gtkmm/grid.h>
#include <gtkmm-4.0/gtkmm/label.h>
ExamplePlugin::ExamplePlugin(
void *af_ptr) :
MLPlugin(af_ptr)
{
}
void
ExamplePlugin::createWindow(Gtk::Window *parent_window)
{
Gtk::Window *window = new Gtk::Window;
window->set_application(parent_window->get_application());
window->set_title(plugin_name);
window->set_name("MLwindow");
window->set_transient_for(*parent_window);
window->set_modal(true);
Gtk::Grid *grid = Gtk::make_managed<Gtk::Grid>();
grid->set_halign(Gtk::Align::FILL);
grid->set_valign(Gtk::Align::FILL);
window->set_child(*grid);
Gtk::Label *lab = Gtk::make_managed<Gtk::Label>();
lab->set_margin(5);
lab->set_halign(Gtk::Align::START);
lab->set_name("windowLabel");
lab->set_text("Example plugin");
grid->attach(*lab, 0, 0, 1, 1);
window->signal_close_request().connect(
[window] {
std::unique_ptr<Gtk::Window> win(window);
win->set_visible(false);
return true;
},
false);
window->present();
}
Glib::ustring plugin_name
Plugin name.
Definition MLPlugin.h:111
Glib::ustring plugin_description
Plugin description.
Definition MLPlugin.h:115