36 lines
911 B
C++
36 lines
911 B
C++
//
|
|
// Created by selim on 10.05.2022.
|
|
//
|
|
|
|
#include "Entry.h"
|
|
|
|
namespace gtkpp {
|
|
|
|
void changedCallback(GtkEntry* widget, void* data) {
|
|
auto entry = reinterpret_cast<Entry*>(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<void()>& callback) {
|
|
_signalChanged.connect(callback);
|
|
}
|
|
|
|
}
|