mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-06 15:13:57 +02:00
Get rid of GTK cast templates
This commit is contained in:
parent
007218cc13
commit
00a0b2c8b6
2 changed files with 35 additions and 77 deletions
|
@ -225,7 +225,7 @@ QGtkDialog::QGtkDialog(GtkWidget *gtkWidget) : gtkWidget(gtkWidget) {
|
||||||
if (PreviewSupported()) {
|
if (PreviewSupported()) {
|
||||||
_preview = gtk_image_new();
|
_preview = gtk_image_new();
|
||||||
g_signal_connect_swapped(G_OBJECT(gtkWidget), "update-preview", G_CALLBACK(onUpdatePreview), this);
|
g_signal_connect_swapped(G_OBJECT(gtkWidget), "update-preview", G_CALLBACK(onUpdatePreview), this);
|
||||||
gtk_file_chooser_set_preview_widget(gtk_file_chooser_cast(gtkWidget), _preview);
|
gtk_file_chooser_set_preview_widget(GTK_FILE_CHOOSER(gtkWidget), _preview);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ QGtkDialog::~QGtkDialog() {
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkDialog *QGtkDialog::gtkDialog() const {
|
GtkDialog *QGtkDialog::gtkDialog() const {
|
||||||
return gtk_dialog_cast(gtkWidget);
|
return GTK_DIALOG(gtkWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QGtkDialog::exec() {
|
void QGtkDialog::exec() {
|
||||||
|
@ -305,9 +305,9 @@ void QGtkDialog::onResponse(QGtkDialog *dialog, int response) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void QGtkDialog::onUpdatePreview(QGtkDialog* dialog) {
|
void QGtkDialog::onUpdatePreview(QGtkDialog* dialog) {
|
||||||
auto filename = gtk_file_chooser_get_preview_filename(gtk_file_chooser_cast(dialog->gtkWidget));
|
auto filename = gtk_file_chooser_get_preview_filename(GTK_FILE_CHOOSER(dialog->gtkWidget));
|
||||||
if (!filename) {
|
if (!filename) {
|
||||||
gtk_file_chooser_set_preview_widget_active(gtk_file_chooser_cast(dialog->gtkWidget), false);
|
gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(dialog->gtkWidget), false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -316,7 +316,7 @@ void QGtkDialog::onUpdatePreview(QGtkDialog* dialog) {
|
||||||
struct stat stat_buf;
|
struct stat stat_buf;
|
||||||
if (stat(filename, &stat_buf) != 0 || !S_ISREG(stat_buf.st_mode)) {
|
if (stat(filename, &stat_buf) != 0 || !S_ISREG(stat_buf.st_mode)) {
|
||||||
g_free(filename);
|
g_free(filename);
|
||||||
gtk_file_chooser_set_preview_widget_active(gtk_file_chooser_cast(dialog->gtkWidget), false);
|
gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(dialog->gtkWidget), false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -324,10 +324,10 @@ void QGtkDialog::onUpdatePreview(QGtkDialog* dialog) {
|
||||||
auto pixbuf = gdk_pixbuf_new_from_file_at_size(filename, kPreviewWidth, kPreviewHeight, nullptr);
|
auto pixbuf = gdk_pixbuf_new_from_file_at_size(filename, kPreviewWidth, kPreviewHeight, nullptr);
|
||||||
g_free(filename);
|
g_free(filename);
|
||||||
if (pixbuf) {
|
if (pixbuf) {
|
||||||
gtk_image_set_from_pixbuf(gtk_image_cast(dialog->_preview), pixbuf);
|
gtk_image_set_from_pixbuf(GTK_IMAGE(dialog->_preview), pixbuf);
|
||||||
g_object_unref(pixbuf);
|
g_object_unref(pixbuf);
|
||||||
}
|
}
|
||||||
gtk_file_chooser_set_preview_widget_active(gtk_file_chooser_cast(dialog->gtkWidget), pixbuf ? true : false);
|
gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(dialog->gtkWidget), pixbuf ? true : false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QGtkDialog::onParentWindowDestroyed() {
|
void QGtkDialog::onParentWindowDestroyed() {
|
||||||
|
@ -360,8 +360,8 @@ GtkFileDialog::GtkFileDialog(QWidget *parent, const QString &caption, const QStr
|
||||||
onRejected();
|
onRejected();
|
||||||
}, _lifetime);
|
}, _lifetime);
|
||||||
|
|
||||||
g_signal_connect(gtk_file_chooser_cast(d->gtkDialog()), "selection-changed", G_CALLBACK(onSelectionChanged), this);
|
g_signal_connect(GTK_FILE_CHOOSER(d->gtkDialog()), "selection-changed", G_CALLBACK(onSelectionChanged), this);
|
||||||
g_signal_connect_swapped(gtk_file_chooser_cast(d->gtkDialog()), "current-folder-changed", G_CALLBACK(onCurrentFolderChanged), this);
|
g_signal_connect_swapped(GTK_FILE_CHOOSER(d->gtkDialog()), "current-folder-changed", G_CALLBACK(onCurrentFolderChanged), this);
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkFileDialog::~GtkFileDialog() {
|
GtkFileDialog::~GtkFileDialog() {
|
||||||
|
@ -435,7 +435,7 @@ bool GtkFileDialog::defaultNameFilterDisables() const {
|
||||||
|
|
||||||
void GtkFileDialog::setDirectory(const QString &directory) {
|
void GtkFileDialog::setDirectory(const QString &directory) {
|
||||||
GtkDialog *gtkDialog = d->gtkDialog();
|
GtkDialog *gtkDialog = d->gtkDialog();
|
||||||
gtk_file_chooser_set_current_folder(gtk_file_chooser_cast(gtkDialog), directory.toUtf8().constData());
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(gtkDialog), directory.toUtf8().constData());
|
||||||
}
|
}
|
||||||
|
|
||||||
QDir GtkFileDialog::directory() const {
|
QDir GtkFileDialog::directory() const {
|
||||||
|
@ -446,7 +446,7 @@ QDir GtkFileDialog::directory() const {
|
||||||
|
|
||||||
QString ret;
|
QString ret;
|
||||||
GtkDialog *gtkDialog = d->gtkDialog();
|
GtkDialog *gtkDialog = d->gtkDialog();
|
||||||
gchar *folder = gtk_file_chooser_get_current_folder(gtk_file_chooser_cast(gtkDialog));
|
gchar *folder = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(gtkDialog));
|
||||||
if (folder) {
|
if (folder) {
|
||||||
ret = QString::fromUtf8(folder);
|
ret = QString::fromUtf8(folder);
|
||||||
g_free(folder);
|
g_free(folder);
|
||||||
|
@ -467,7 +467,7 @@ QStringList GtkFileDialog::selectedFiles() const {
|
||||||
|
|
||||||
QStringList selection;
|
QStringList selection;
|
||||||
GtkDialog *gtkDialog = d->gtkDialog();
|
GtkDialog *gtkDialog = d->gtkDialog();
|
||||||
GSList *filenames = gtk_file_chooser_get_filenames(gtk_file_chooser_cast(gtkDialog));
|
GSList *filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(gtkDialog));
|
||||||
for (GSList *it = filenames; it; it = it->next)
|
for (GSList *it = filenames; it; it = it->next)
|
||||||
selection += QString::fromUtf8((const char*)it->data);
|
selection += QString::fromUtf8((const char*)it->data);
|
||||||
g_slist_free(filenames);
|
g_slist_free(filenames);
|
||||||
|
@ -482,13 +482,13 @@ void GtkFileDialog::selectNameFilter(const QString &filter) {
|
||||||
GtkFileFilter *gtkFilter = _filters.value(filter);
|
GtkFileFilter *gtkFilter = _filters.value(filter);
|
||||||
if (gtkFilter) {
|
if (gtkFilter) {
|
||||||
GtkDialog *gtkDialog = d->gtkDialog();
|
GtkDialog *gtkDialog = d->gtkDialog();
|
||||||
gtk_file_chooser_set_filter(gtk_file_chooser_cast(gtkDialog), gtkFilter);
|
gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(gtkDialog), gtkFilter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString GtkFileDialog::selectedNameFilter() const {
|
QString GtkFileDialog::selectedNameFilter() const {
|
||||||
GtkDialog *gtkDialog = d->gtkDialog();
|
GtkDialog *gtkDialog = d->gtkDialog();
|
||||||
GtkFileFilter *gtkFilter = gtk_file_chooser_get_filter(gtk_file_chooser_cast(gtkDialog));
|
GtkFileFilter *gtkFilter = gtk_file_chooser_get_filter(GTK_FILE_CHOOSER(gtkDialog));
|
||||||
return _filterNames.value(gtkFilter);
|
return _filterNames.value(gtkFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -546,17 +546,17 @@ GtkFileChooserAction gtkFileChooserAction(QFileDialog::FileMode fileMode, QFileD
|
||||||
void GtkFileDialog::applyOptions() {
|
void GtkFileDialog::applyOptions() {
|
||||||
GtkDialog *gtkDialog = d->gtkDialog();
|
GtkDialog *gtkDialog = d->gtkDialog();
|
||||||
|
|
||||||
gtk_window_set_title(gtk_window_cast(gtkDialog), _windowTitle.toUtf8().constData());
|
gtk_window_set_title(GTK_WINDOW(gtkDialog), _windowTitle.toUtf8().constData());
|
||||||
gtk_file_chooser_set_local_only(gtk_file_chooser_cast(gtkDialog), true);
|
gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(gtkDialog), true);
|
||||||
|
|
||||||
const GtkFileChooserAction action = gtkFileChooserAction(_fileMode, _acceptMode);
|
const GtkFileChooserAction action = gtkFileChooserAction(_fileMode, _acceptMode);
|
||||||
gtk_file_chooser_set_action(gtk_file_chooser_cast(gtkDialog), action);
|
gtk_file_chooser_set_action(GTK_FILE_CHOOSER(gtkDialog), action);
|
||||||
|
|
||||||
const bool selectMultiple = (_fileMode == QFileDialog::ExistingFiles);
|
const bool selectMultiple = (_fileMode == QFileDialog::ExistingFiles);
|
||||||
gtk_file_chooser_set_select_multiple(gtk_file_chooser_cast(gtkDialog), selectMultiple);
|
gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(gtkDialog), selectMultiple);
|
||||||
|
|
||||||
const bool confirmOverwrite = !_options.testFlag(QFileDialog::DontConfirmOverwrite);
|
const bool confirmOverwrite = !_options.testFlag(QFileDialog::DontConfirmOverwrite);
|
||||||
gtk_file_chooser_set_do_overwrite_confirmation(gtk_file_chooser_cast(gtkDialog), confirmOverwrite);
|
gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(gtkDialog), confirmOverwrite);
|
||||||
|
|
||||||
if (!_nameFilters.isEmpty())
|
if (!_nameFilters.isEmpty())
|
||||||
setNameFilters(_nameFilters);
|
setNameFilters(_nameFilters);
|
||||||
|
@ -567,12 +567,12 @@ void GtkFileDialog::applyOptions() {
|
||||||
for_const (const auto &filename, _initialFiles) {
|
for_const (const auto &filename, _initialFiles) {
|
||||||
if (_acceptMode == QFileDialog::AcceptSave) {
|
if (_acceptMode == QFileDialog::AcceptSave) {
|
||||||
QFileInfo fi(filename);
|
QFileInfo fi(filename);
|
||||||
gtk_file_chooser_set_current_folder(gtk_file_chooser_cast(gtkDialog), fi.path().toUtf8().constData());
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(gtkDialog), fi.path().toUtf8().constData());
|
||||||
gtk_file_chooser_set_current_name(gtk_file_chooser_cast(gtkDialog), fi.fileName().toUtf8().constData());
|
gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(gtkDialog), fi.fileName().toUtf8().constData());
|
||||||
} else if (filename.endsWith('/')) {
|
} else if (filename.endsWith('/')) {
|
||||||
gtk_file_chooser_set_current_folder(gtk_file_chooser_cast(gtkDialog), filename.toUtf8().constData());
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(gtkDialog), filename.toUtf8().constData());
|
||||||
} else {
|
} else {
|
||||||
gtk_file_chooser_select_filename(gtk_file_chooser_cast(gtkDialog), filename.toUtf8().constData());
|
gtk_file_chooser_select_filename(GTK_FILE_CHOOSER(gtkDialog), filename.toUtf8().constData());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -584,19 +584,19 @@ void GtkFileDialog::applyOptions() {
|
||||||
GtkWidget *acceptButton = gtk_dialog_get_widget_for_response(gtkDialog, GTK_RESPONSE_OK);
|
GtkWidget *acceptButton = gtk_dialog_get_widget_for_response(gtkDialog, GTK_RESPONSE_OK);
|
||||||
if (acceptButton) {
|
if (acceptButton) {
|
||||||
/*if (opts->isLabelExplicitlySet(QFileDialogOptions::Accept))
|
/*if (opts->isLabelExplicitlySet(QFileDialogOptions::Accept))
|
||||||
gtk_button_set_label(gtk_button_cast(acceptButton), opts->labelText(QFileDialogOptions::Accept).toUtf8().constData());
|
gtk_button_set_label(GTK_BUTTON(acceptButton), opts->labelText(QFileDialogOptions::Accept).toUtf8().constData());
|
||||||
else*/ if (_acceptMode == QFileDialog::AcceptOpen)
|
else*/ if (_acceptMode == QFileDialog::AcceptOpen)
|
||||||
gtk_button_set_label(gtk_button_cast(acceptButton), tr::lng_open_link(tr::now).toUtf8().constData());
|
gtk_button_set_label(GTK_BUTTON(acceptButton), tr::lng_open_link(tr::now).toUtf8().constData());
|
||||||
else
|
else
|
||||||
gtk_button_set_label(gtk_button_cast(acceptButton), tr::lng_settings_save(tr::now).toUtf8().constData());
|
gtk_button_set_label(GTK_BUTTON(acceptButton), tr::lng_settings_save(tr::now).toUtf8().constData());
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget *rejectButton = gtk_dialog_get_widget_for_response(gtkDialog, GTK_RESPONSE_CANCEL);
|
GtkWidget *rejectButton = gtk_dialog_get_widget_for_response(gtkDialog, GTK_RESPONSE_CANCEL);
|
||||||
if (rejectButton) {
|
if (rejectButton) {
|
||||||
/*if (opts->isLabelExplicitlySet(QFileDialogOptions::Reject))
|
/*if (opts->isLabelExplicitlySet(QFileDialogOptions::Reject))
|
||||||
gtk_button_set_label(gtk_button_cast(rejectButton), opts->labelText(QFileDialogOptions::Reject).toUtf8().constData());
|
gtk_button_set_label(GTK_BUTTON(rejectButton), opts->labelText(QFileDialogOptions::Reject).toUtf8().constData());
|
||||||
else*/
|
else*/
|
||||||
gtk_button_set_label(gtk_button_cast(rejectButton), tr::lng_cancel(tr::now).toUtf8().constData());
|
gtk_button_set_label(GTK_BUTTON(rejectButton), tr::lng_cancel(tr::now).toUtf8().constData());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -604,7 +604,7 @@ void GtkFileDialog::applyOptions() {
|
||||||
void GtkFileDialog::setNameFilters(const QStringList &filters) {
|
void GtkFileDialog::setNameFilters(const QStringList &filters) {
|
||||||
GtkDialog *gtkDialog = d->gtkDialog();
|
GtkDialog *gtkDialog = d->gtkDialog();
|
||||||
Q_FOREACH (GtkFileFilter *filter, _filters)
|
Q_FOREACH (GtkFileFilter *filter, _filters)
|
||||||
gtk_file_chooser_remove_filter(gtk_file_chooser_cast(gtkDialog), filter);
|
gtk_file_chooser_remove_filter(GTK_FILE_CHOOSER(gtkDialog), filter);
|
||||||
|
|
||||||
_filters.clear();
|
_filters.clear();
|
||||||
_filterNames.clear();
|
_filterNames.clear();
|
||||||
|
@ -631,7 +631,7 @@ void GtkFileDialog::setNameFilters(const QStringList &filters) {
|
||||||
gtk_file_filter_add_pattern(gtkFilter, caseInsensitiveExt.toUtf8().constData());
|
gtk_file_filter_add_pattern(gtkFilter, caseInsensitiveExt.toUtf8().constData());
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_file_chooser_add_filter(gtk_file_chooser_cast(gtkDialog), gtkFilter);
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(gtkDialog), gtkFilter);
|
||||||
|
|
||||||
_filters.insert(filter, gtkFilter);
|
_filters.insert(filter, gtkFilter);
|
||||||
_filterNames.insert(gtkFilter, filter);
|
_filterNames.insert(gtkFilter, filter);
|
||||||
|
|
|
@ -27,6 +27,7 @@ inline GtkSelectionData* (*gtk_clipboard_wait_for_contents)(GtkClipboard *clipbo
|
||||||
inline GdkPixbuf* (*gtk_clipboard_wait_for_image)(GtkClipboard *clipboard) = nullptr;
|
inline GdkPixbuf* (*gtk_clipboard_wait_for_image)(GtkClipboard *clipboard) = nullptr;
|
||||||
inline gboolean (*gtk_selection_data_targets_include_image)(const GtkSelectionData *selection_data, gboolean writable) = nullptr;
|
inline gboolean (*gtk_selection_data_targets_include_image)(const GtkSelectionData *selection_data, gboolean writable) = nullptr;
|
||||||
inline void (*gtk_selection_data_free)(GtkSelectionData *data) = nullptr;
|
inline void (*gtk_selection_data_free)(GtkSelectionData *data) = nullptr;
|
||||||
|
inline GType (*gtk_file_chooser_get_type)(void) G_GNUC_CONST = nullptr;
|
||||||
inline GtkWidget* (*gtk_file_chooser_dialog_new)(const gchar *title, GtkWindow *parent, GtkFileChooserAction action, const gchar *first_button_text, ...) G_GNUC_NULL_TERMINATED = nullptr;
|
inline GtkWidget* (*gtk_file_chooser_dialog_new)(const gchar *title, GtkWindow *parent, GtkFileChooserAction action, const gchar *first_button_text, ...) G_GNUC_NULL_TERMINATED = nullptr;
|
||||||
inline gboolean (*gtk_file_chooser_set_current_folder)(GtkFileChooser *chooser, const gchar *filename) = nullptr;
|
inline gboolean (*gtk_file_chooser_set_current_folder)(GtkFileChooser *chooser, const gchar *filename) = nullptr;
|
||||||
inline gchar* (*gtk_file_chooser_get_current_folder)(GtkFileChooser *chooser) = nullptr;
|
inline gchar* (*gtk_file_chooser_get_current_folder)(GtkFileChooser *chooser) = nullptr;
|
||||||
|
@ -35,12 +36,15 @@ inline gboolean (*gtk_file_chooser_select_filename)(GtkFileChooser *chooser, con
|
||||||
inline GSList* (*gtk_file_chooser_get_filenames)(GtkFileChooser *chooser) = nullptr;
|
inline GSList* (*gtk_file_chooser_get_filenames)(GtkFileChooser *chooser) = nullptr;
|
||||||
inline void (*gtk_file_chooser_set_filter)(GtkFileChooser *chooser, GtkFileFilter *filter) = nullptr;
|
inline void (*gtk_file_chooser_set_filter)(GtkFileChooser *chooser, GtkFileFilter *filter) = nullptr;
|
||||||
inline GtkFileFilter* (*gtk_file_chooser_get_filter)(GtkFileChooser *chooser) = nullptr;
|
inline GtkFileFilter* (*gtk_file_chooser_get_filter)(GtkFileChooser *chooser) = nullptr;
|
||||||
|
inline GType (*gtk_window_get_type)(void) G_GNUC_CONST = nullptr;
|
||||||
inline void (*gtk_window_set_title)(GtkWindow *window, const gchar *title) = nullptr;
|
inline void (*gtk_window_set_title)(GtkWindow *window, const gchar *title) = nullptr;
|
||||||
inline void (*gtk_file_chooser_set_local_only)(GtkFileChooser *chooser, gboolean local_only) = nullptr;
|
inline void (*gtk_file_chooser_set_local_only)(GtkFileChooser *chooser, gboolean local_only) = nullptr;
|
||||||
inline void (*gtk_file_chooser_set_action)(GtkFileChooser *chooser, GtkFileChooserAction action) = nullptr;
|
inline void (*gtk_file_chooser_set_action)(GtkFileChooser *chooser, GtkFileChooserAction action) = nullptr;
|
||||||
inline void (*gtk_file_chooser_set_select_multiple)(GtkFileChooser *chooser, gboolean select_multiple) = nullptr;
|
inline void (*gtk_file_chooser_set_select_multiple)(GtkFileChooser *chooser, gboolean select_multiple) = nullptr;
|
||||||
inline void (*gtk_file_chooser_set_do_overwrite_confirmation)(GtkFileChooser *chooser, gboolean do_overwrite_confirmation) = nullptr;
|
inline void (*gtk_file_chooser_set_do_overwrite_confirmation)(GtkFileChooser *chooser, gboolean do_overwrite_confirmation) = nullptr;
|
||||||
|
inline GType (*gtk_dialog_get_type)(void) G_GNUC_CONST = nullptr;
|
||||||
inline GtkWidget* (*gtk_dialog_get_widget_for_response)(GtkDialog *dialog, gint response_id) = nullptr;
|
inline GtkWidget* (*gtk_dialog_get_widget_for_response)(GtkDialog *dialog, gint response_id) = nullptr;
|
||||||
|
inline GType (*gtk_button_get_type)(void) G_GNUC_CONST = nullptr;
|
||||||
inline void (*gtk_button_set_label)(GtkButton *button, const gchar *label) = nullptr;
|
inline void (*gtk_button_set_label)(GtkButton *button, const gchar *label) = nullptr;
|
||||||
inline void (*gtk_file_chooser_remove_filter)(GtkFileChooser *chooser, GtkFileFilter *filter) = nullptr;
|
inline void (*gtk_file_chooser_remove_filter)(GtkFileChooser *chooser, GtkFileFilter *filter) = nullptr;
|
||||||
inline void (*gtk_file_filter_set_name)(GtkFileFilter *filter, const gchar *name) = nullptr;
|
inline void (*gtk_file_filter_set_name)(GtkFileFilter *filter, const gchar *name) = nullptr;
|
||||||
|
@ -50,6 +54,7 @@ inline void (*gtk_file_chooser_set_preview_widget)(GtkFileChooser *chooser, GtkW
|
||||||
inline gchar* (*gtk_file_chooser_get_preview_filename)(GtkFileChooser *chooser) = nullptr;
|
inline gchar* (*gtk_file_chooser_get_preview_filename)(GtkFileChooser *chooser) = nullptr;
|
||||||
inline void (*gtk_file_chooser_set_preview_widget_active)(GtkFileChooser *chooser, gboolean active) = nullptr;
|
inline void (*gtk_file_chooser_set_preview_widget_active)(GtkFileChooser *chooser, gboolean active) = nullptr;
|
||||||
inline GtkFileFilter* (*gtk_file_filter_new)(void) = nullptr;
|
inline GtkFileFilter* (*gtk_file_filter_new)(void) = nullptr;
|
||||||
|
inline GType (*gtk_image_get_type)(void) G_GNUC_CONST = nullptr;
|
||||||
inline GtkWidget* (*gtk_image_new)(void) = nullptr;
|
inline GtkWidget* (*gtk_image_new)(void) = nullptr;
|
||||||
inline void (*gtk_image_set_from_pixbuf)(GtkImage *image, GdkPixbuf *pixbuf) = nullptr;
|
inline void (*gtk_image_set_from_pixbuf)(GtkImage *image, GdkPixbuf *pixbuf) = nullptr;
|
||||||
inline GType (*gtk_app_chooser_get_type)(void) G_GNUC_CONST = nullptr;
|
inline GType (*gtk_app_chooser_get_type)(void) G_GNUC_CONST = nullptr;
|
||||||
|
@ -57,53 +62,6 @@ inline GtkWidget* (*gtk_app_chooser_dialog_new)(GtkWindow *parent, GtkDialogFlag
|
||||||
inline GAppInfo* (*gtk_app_chooser_get_app_info)(GtkAppChooser *self) = nullptr;
|
inline GAppInfo* (*gtk_app_chooser_get_app_info)(GtkAppChooser *self) = nullptr;
|
||||||
inline void (*gdk_window_set_modal_hint)(GdkWindow *window, gboolean modal) = nullptr;
|
inline void (*gdk_window_set_modal_hint)(GdkWindow *window, gboolean modal) = nullptr;
|
||||||
inline void (*gdk_window_focus)(GdkWindow *window, guint32 timestamp) = nullptr;
|
inline void (*gdk_window_focus)(GdkWindow *window, guint32 timestamp) = nullptr;
|
||||||
|
|
||||||
template <typename Result, typename Object>
|
|
||||||
inline Result *g_type_cic_helper(Object *instance, GType iface_type) {
|
|
||||||
return reinterpret_cast<Result*>(g_type_check_instance_cast(reinterpret_cast<GTypeInstance*>(instance), iface_type));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline GType (*gtk_dialog_get_type)(void) G_GNUC_CONST = nullptr;
|
|
||||||
template <typename Object>
|
|
||||||
inline GtkDialog *gtk_dialog_cast(Object *obj) {
|
|
||||||
return g_type_cic_helper<GtkDialog, Object>(obj, gtk_dialog_get_type());
|
|
||||||
}
|
|
||||||
|
|
||||||
inline GType (*gtk_file_chooser_get_type)(void) G_GNUC_CONST = nullptr;
|
|
||||||
template <typename Object>
|
|
||||||
inline GtkFileChooser *gtk_file_chooser_cast(Object *obj) {
|
|
||||||
return g_type_cic_helper<GtkFileChooser, Object>(obj, gtk_file_chooser_get_type());
|
|
||||||
}
|
|
||||||
|
|
||||||
inline GType (*gtk_image_get_type)(void) G_GNUC_CONST = nullptr;
|
|
||||||
template <typename Object>
|
|
||||||
inline GtkImage *gtk_image_cast(Object *obj) {
|
|
||||||
return g_type_cic_helper<GtkImage, Object>(obj, gtk_image_get_type());
|
|
||||||
}
|
|
||||||
|
|
||||||
inline GType (*gtk_button_get_type)(void) G_GNUC_CONST = nullptr;
|
|
||||||
template <typename Object>
|
|
||||||
inline GtkButton *gtk_button_cast(Object *obj) {
|
|
||||||
return g_type_cic_helper<GtkButton, Object>(obj, gtk_button_get_type());
|
|
||||||
}
|
|
||||||
|
|
||||||
inline GType (*gtk_window_get_type)(void) G_GNUC_CONST = nullptr;
|
|
||||||
template <typename Object>
|
|
||||||
inline GtkWindow *gtk_window_cast(Object *obj) {
|
|
||||||
return g_type_cic_helper<GtkWindow, Object>(obj, gtk_window_get_type());
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename Object>
|
|
||||||
inline bool g_type_cit_helper(Object *instance, GType iface_type) {
|
|
||||||
if (!instance) return false;
|
|
||||||
|
|
||||||
auto ginstance = reinterpret_cast<GTypeInstance*>(instance);
|
|
||||||
if (ginstance->g_class && ginstance->g_class->g_type == iface_type) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return g_type_check_instance_is_a(ginstance, iface_type);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline gint (*gtk_dialog_run)(GtkDialog *dialog) = nullptr;
|
inline gint (*gtk_dialog_run)(GtkDialog *dialog) = nullptr;
|
||||||
inline GdkAtom (*gdk_atom_intern)(const gchar *atom_name, gboolean only_if_exists) = nullptr;
|
inline GdkAtom (*gdk_atom_intern)(const gchar *atom_name, gboolean only_if_exists) = nullptr;
|
||||||
inline GdkDisplay* (*gdk_display_get_default)(void) = nullptr;
|
inline GdkDisplay* (*gdk_display_get_default)(void) = nullptr;
|
||||||
|
|
Loading…
Add table
Reference in a new issue