// // Created by selim on 10.05.2022. // #include "Entry.h" namespace gtkpp { void changedCallback(GtkEntry* widget, void* data) { auto entry = reinterpret_cast(data); entry->_signalChanged.emit(); } Entry::Entry() : Widget() { _widget = gtk_entry_new(); g_signal_connect(_widget, "changed", G_CALLBACK(changedCallback), this); } void Entry::setPlaceholder(const std::string &placeholder) { gtk_entry_set_placeholder_text(GTK_ENTRY(_widget), placeholder.c_str()); } void Entry::setPurpose(GtkInputPurpose purpose) { gtk_entry_set_input_purpose(GTK_ENTRY(_widget), purpose); } void Entry::setVisibility(bool visibility) { gtk_entry_set_visibility(GTK_ENTRY(_widget), visibility); } void Entry::onChanged(const std::function& callback) { _signalChanged.connect(callback); } }