From ec856af7de54330f806d5f8eebaa21352c0d5aa1 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Tue, 30 Jul 2019 18:24:40 -0300 Subject: [PATCH] Refactoring print settings dialog. --- src/dialogs/fontselect.c | 43 +++++++++++++++++++++++++++++++++++++++++++ src/dialogs/print/begin.c | 5 ++++- src/dialogs/print/custom.c | 144 ------------------------------------------------------------------------------------------------------------------------------------------------ src/dialogs/print/draw.c | 4 ++-- src/dialogs/print/print.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------- src/dialogs/print/private.h | 26 +++++++++++++++++++++----- src/dialogs/print/settings.c | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/include/v3270/print.h | 27 +++++++++++++++++++++++++-- v3270.cbp | 6 +++--- 9 files changed, 312 insertions(+), 167 deletions(-) delete mode 100644 src/dialogs/print/custom.c create mode 100644 src/dialogs/print/settings.c diff --git a/src/dialogs/fontselect.c b/src/dialogs/fontselect.c index 6cef36a..de5a6a5 100644 --- a/src/dialogs/fontselect.c +++ b/src/dialogs/fontselect.c @@ -84,3 +84,46 @@ return widget; } + LIB3270_EXPORT gboolean v3270_font_selection_set_family(GtkWidget *widget, const gchar *fontname) + { + GtkTreeModel * model = gtk_combo_box_get_model(GTK_COMBO_BOX(widget)); + GtkTreeIter iter; + + if(gtk_tree_model_get_iter_first(model,&iter)) + { + do + { + GValue value = { 0, }; + + gtk_tree_model_get_value(model,&iter,0,&value); + + if(!g_ascii_strcasecmp(fontname,g_value_get_string(&value))) + { + gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widget),&iter); + return TRUE; + } + + } while(gtk_tree_model_iter_next(model,&iter)); + } + + return FALSE; + + } + + LIB3270_EXPORT const gchar * v3270_font_selection_get_family(GtkWidget *widget) + { + GtkTreeIter iter; + + if(gtk_combo_box_get_active_iter(GTK_COMBO_BOX(widget),&iter)) + { + GValue value = { 0, }; + + gtk_tree_model_get_value(gtk_combo_box_get_model(GTK_COMBO_BOX(widget)),&iter,0,&value); + return g_value_get_string(&value); + + } + + return "monospace"; + + } + diff --git a/src/dialogs/print/begin.c b/src/dialogs/print/begin.c index 46d00ff..b49fba5 100644 --- a/src/dialogs/print/begin.c +++ b/src/dialogs/print/begin.c @@ -38,8 +38,11 @@ trace("%s",__FUNCTION__); + // Setup options. + operation->show_selection = v3270_print_settings_get_show_selection(GTK_WIDGET(operation->settings)); + // Setup FONT - PangoFontDescription * fontDescription = pango_font_description_from_string(operation->font.name); + PangoFontDescription * fontDescription = pango_font_description_from_string(v3270_font_selection_get_family(operation->settings->font)); cairo_select_font_face( cr, diff --git a/src/dialogs/print/custom.c b/src/dialogs/print/custom.c deleted file mode 100644 index aee178c..0000000 --- a/src/dialogs/print/custom.c +++ /dev/null @@ -1,144 +0,0 @@ -/* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. - * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. - * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin - * St, Fifth Floor, Boston, MA 02110-1301 USA - * - * Este programa está nomeado como - e possui - linhas de código. - * - * Contatos: - * - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) - * - */ - - #include "private.h" - #include - #include - #include - #include - -/*--[ Implement ]------------------------------------------------------------------------------------*/ - -#ifndef _WIN32 - static void color_scheme_changed(GtkWidget G_GNUC_UNUSED(*widget), const GdkRGBA *colors, V3270PrintOperation *operation) { - - debug("%s=%p",__FUNCTION__,colors); - - int f; - for(f=0;fcolors[f] = colors[f]; - - } - - static void font_name_changed(GtkComboBox *widget, V3270PrintOperation *operation) - { - GValue value = { 0, }; - GtkTreeIter iter; - - if(!gtk_combo_box_get_active_iter(widget,&iter)) - return; - - gtk_tree_model_get_value(gtk_combo_box_get_model(widget),&iter,0,&value); - - g_free(operation->font.name); - operation->font.name = g_value_dup_string(&value); - - debug("%s=%s",__FUNCTION__,operation->font.name); - } - - static void toggle_show_selection(GtkToggleButton *widget, V3270PrintOperation *operation) - { - operation->show_selection = gtk_toggle_button_get_active(widget); - } - - GtkWidget * V3270PrintOperation_custom_widget_new(GtkPrintOperation *prt) - { - static const gchar * text[] = - { - N_( "_Font:" ), - N_( "C_olor scheme:" ) - }; - - size_t f; - - V3270PrintOperation * operation = GTK_V3270_PRINT_OPERATION(prt); - - if(operation->widget) - g_signal_emit(operation->widget, v3270_widget_signal[V3270_SIGNAL_PRINT_SETUP], 0, prt); - - // Create dialog - - GtkWidget * frame = gtk_frame_new(""); - GtkGrid * grid = GTK_GRID(gtk_grid_new()); - GtkWidget * font = v3270_font_selection_new(operation->font.name); - GtkWidget * color = v3270_color_scheme_new(); - GtkWidget * selected = gtk_check_button_new_with_label( _("Print selection box") ); - - // The print dialog doesn't follow the guidelines from https://developer.gnome.org/hig/stable/visual-layout.html.en )-: - - gtk_frame_set_shadow_type(GTK_FRAME(frame),GTK_SHADOW_NONE); - - GtkWidget *label = gtk_label_new(NULL); - - gtk_label_set_markup(GTK_LABEL(label),_("Text options")); - gtk_frame_set_label_widget(GTK_FRAME(frame),label); - - gtk_container_set_border_width(GTK_CONTAINER(frame),12); - - gtk_container_set_border_width(GTK_CONTAINER(grid),6); - - g_object_set(G_OBJECT(grid),"margin-start",8,NULL); - - gtk_grid_set_row_spacing(grid,6); - gtk_grid_set_column_spacing(grid,12); - - v3270_color_scheme_set_rgba(color,operation->colors); - g_signal_connect(G_OBJECT(color),"update-colors",G_CALLBACK(color_scheme_changed),operation); - g_signal_connect(G_OBJECT(font),"changed",G_CALLBACK(font_name_changed),operation); - g_signal_connect(G_OBJECT(selected),"toggled",G_CALLBACK(toggle_show_selection),operation); - - for(f=0;fwidget) - g_signal_emit(operation->widget, v3270_widget_signal[V3270_SIGNAL_PRINT_APPLY], 0, prt); - - } - -#endif // _WIN32 diff --git a/src/dialogs/print/draw.c b/src/dialogs/print/draw.c index aeae19c..c243c92 100644 --- a/src/dialogs/print/draw.c +++ b/src/dialogs/print/draw.c @@ -83,7 +83,7 @@ rect.width = operation->font.info.width; // Clear drawing area. - gdk_cairo_set_source_rgba(cr,operation->colors + V3270_COLOR_BACKGROUND); + gdk_cairo_set_source_rgba(cr,operation->settings->colors + V3270_COLOR_BACKGROUND); cairo_rectangle( cr, operation->font.info.left-1,0, @@ -132,7 +132,7 @@ operation->session, &operation->font.info, &rect, - operation->colors + operation->settings->colors ); } diff --git a/src/dialogs/print/print.c b/src/dialogs/print/print.c index 3ef078b..cb4766c 100644 --- a/src/dialogs/print/print.c +++ b/src/dialogs/print/print.c @@ -36,12 +36,39 @@ /*--[ Implement ]------------------------------------------------------------------------------------*/ + static void done(GtkPrintOperation *prt, GtkPrintOperationResult result) { V3270PrintOperation * operation = GTK_V3270_PRINT_OPERATION(prt); debug("%s",__FUNCTION__); + if(result == GTK_PRINT_OPERATION_RESULT_ERROR) + { + GError * err = NULL; + + gtk_print_operation_get_error(prt,&err); + + GtkWidget *dialog = gtk_message_dialog_new_with_markup( + GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(operation->widget))), + GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE, + "%s",_( "Print operation failed" ) + ); + + g_warning("%s",err->message); + + gtk_window_set_title(GTK_WINDOW(dialog),_("Error")); + + gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",err->message); + + gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); + + g_error_free(err); + + } + if(operation->widget) g_signal_emit(GTK_WIDGET(operation->widget), v3270_widget_signal[V3270_SIGNAL_PRINT_DONE], 0, prt, (guint) result); @@ -53,10 +80,18 @@ V3270PrintOperation * operation = GTK_V3270_PRINT_OPERATION(object); + /* + if(operation->settings) + { + gtk_widget_destroy(GTK_WIDGET(operation->settings)); + operation->settings = NULL; + } + */ + if(operation->font.info.scaled) cairo_scaled_font_destroy(operation->font.info.scaled); - g_free(operation->font.name); +// g_free(operation->font.name); if(operation->contents.dynamic) { @@ -67,20 +102,33 @@ G_OBJECT_CLASS(V3270PrintOperation_parent_class)->dispose(object); + + } + +#ifndef _WIN32 + static GtkWidget * custom_widget_new(GtkPrintOperation *prt) + { + return GTK_WIDGET(GTK_V3270_PRINT_OPERATION(prt)->settings); } + static void custom_widget_apply(GtkPrintOperation *prt, GtkWidget *widget) + { + + } +#endif // _WIN32 + static void V3270PrintOperation_class_init(V3270PrintOperationClass *klass) { GtkPrintOperationClass * operation = GTK_PRINT_OPERATION_CLASS(klass); G_OBJECT_CLASS(klass)->dispose = dispose; - operation->done = done; - operation->begin_print = V3270PrintOperation_begin_print; - operation->draw_page = V3270PrintOperation_draw_page; + operation->done = done; + operation->begin_print = V3270PrintOperation_begin_print; + operation->draw_page = V3270PrintOperation_draw_page; #ifndef _WIN32 - operation->create_custom_widget = V3270PrintOperation_custom_widget_new; - operation->custom_widget_apply = V3270PrintOperation_custom_widget_apply; + operation->create_custom_widget = custom_widget_new; + operation->custom_widget_apply = custom_widget_apply; #endif // _WIN32 } @@ -95,9 +143,8 @@ // Setup defaults widget->mode = LIB3270_CONTENT_ALL; - widget->show_selection = FALSE; - widget->font.name = NULL; // g_strdup(v3270_default_font); - v3270_set_mono_color_table(widget->colors,"#000000","#FFFFFF"); +// widget->show_selection = FALSE; +// widget->font.name = NULL; // g_strdup(v3270_default_font); } @@ -110,7 +157,7 @@ V3270PrintOperation * v3270_print_operation_new(GtkWidget *widget, LIB3270_CONTE operation->mode = mode; operation->widget = GTK_V3270(widget); operation->session = v3270_get_session(widget); - operation->font.name = g_strdup(v3270_get_font_family(widget)); + operation->settings = V3270_print_settings_new(widget); // Get contents. switch(operation->mode) @@ -141,6 +188,9 @@ V3270PrintOperation * v3270_print_operation_new(GtkWidget *widget, LIB3270_CONTE { const lib3270_selection * selection = (const lib3270_selection *) element->data; + if(!selection) + break; + if(selection->bounds.width > operation->contents.width) operation->contents.width = selection->bounds.width; diff --git a/src/dialogs/print/private.h b/src/dialogs/print/private.h index 194fcb9..3ff6787 100644 --- a/src/dialogs/print/private.h +++ b/src/dialogs/print/private.h @@ -49,14 +49,15 @@ struct _V3270PrintOperation { GtkPrintOperation parent; - GdkRGBA colors[V3270_COLOR_COUNT]; LIB3270_CONTENT_OPTION mode; v3270 * widget; H3270 * session; + gboolean show_selection; ///< @brief Print selection box? + + V3270PrintSettings * settings; ///< @brief Custom configuration. size_t lpp; ///< @brief Lines per page (in rows). size_t pages; ///< @brief Number of pages. - gboolean show_selection; ///< @brief Print selection box? struct { @@ -68,17 +69,32 @@ struct { - gchar * name; v3270FontInfo info; } font; }; + struct _V3270PrintSettingsClass + { + GtkFrameClass parent_class; + + }; + +struct _V3270PrintSettings + { + GtkFrame parent; + GdkRGBA colors[V3270_COLOR_COUNT]; ///< @brief Color scheme for printing. + + GtkWidget * font; ///< @brief Font selection widget. + GtkWidget * color; ///< @brief Color scheme selecting widget. + GtkWidget * selected; ///< @brief Checkbox. + + }; + + /*--[ Prototypes ]-----------------------------------------------------------------------------------*/ G_GNUC_INTERNAL void V3270PrintOperation_begin_print(GtkPrintOperation *prt, GtkPrintContext *context); G_GNUC_INTERNAL void V3270PrintOperation_draw_page(GtkPrintOperation *prt, GtkPrintContext *context, gint page); - G_GNUC_INTERNAL GtkWidget * V3270PrintOperation_custom_widget_new(GtkPrintOperation *prt); - G_GNUC_INTERNAL void V3270PrintOperation_custom_widget_apply(GtkPrintOperation *prt, GtkWidget *widget); diff --git a/src/dialogs/print/settings.c b/src/dialogs/print/settings.c new file mode 100644 index 0000000..c2ed4c4 --- /dev/null +++ b/src/dialogs/print/settings.c @@ -0,0 +1,154 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + * St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Este programa está nomeado como - e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + #include "private.h" + #include + #include + #include + #include + +/*--[ Widget definition ]----------------------------------------------------------------------------*/ + + G_DEFINE_TYPE(V3270PrintSettings, V3270PrintSettings, GTK_TYPE_FRAME); + +/*--[ Implement ]------------------------------------------------------------------------------------*/ + +static void finalize(GObject *object) + { + +// V3270PrintSettings * settings = GTK_V3270_PRINT_SETTINGS(object); + + + G_OBJECT_CLASS(V3270PrintSettings_parent_class)->finalize(object); + } + +static void V3270PrintSettings_class_init(V3270PrintSettingsClass *klass) +{ + GObjectClass * gobject_class = G_OBJECT_CLASS(klass); + + // Object methods + gobject_class->finalize = finalize; + +} + +static void color_scheme_changed(GtkWidget G_GNUC_UNUSED(*widget), const GdkRGBA *colors, V3270PrintSettings *settings) +{ + + debug("%s=%p",__FUNCTION__,colors); + + int f; + for(f=0;fcolors[f] = colors[f]; + +} + +static void V3270PrintSettings_init(V3270PrintSettings *widget) +{ + static const gchar * text[] = + { + N_( "_Font:" ), + N_( "C_olor scheme:" ) + }; + + size_t f; + GtkGrid * grid = GTK_GRID(gtk_grid_new()); + + widget->font = v3270_font_selection_new("monospace"); + widget->color = v3270_color_scheme_new(); + widget->selected = gtk_check_button_new_with_label( _("Print selection box") ); + + // The print dialog doesn't follow the guidelines from https://developer.gnome.org/hig/stable/visual-layout.html.en )-: + gtk_frame_set_shadow_type(GTK_FRAME(widget),GTK_SHADOW_NONE); + + GtkWidget *label = gtk_label_new(NULL); + + gtk_label_set_markup(GTK_LABEL(label),_("Text options")); + gtk_frame_set_label_widget(GTK_FRAME(widget),label); + + gtk_container_set_border_width(GTK_CONTAINER(widget),12); + gtk_container_set_border_width(GTK_CONTAINER(grid),6); + + g_object_set(G_OBJECT(grid),"margin-start",8,NULL); + + gtk_grid_set_row_spacing(grid,6); + gtk_grid_set_column_spacing(grid,12); + + g_signal_connect(G_OBJECT(widget->color),"update-colors",G_CALLBACK(color_scheme_changed),widget); + // g_signal_connect(G_OBJECT(widget->selected),"toggled",G_CALLBACK(toggle_show_selection),widget); + + for(f=0;ffont,1,0,1,1); + gtk_grid_attach(grid,widget->color,1,1,1,1); + gtk_grid_attach(grid,widget->selected,1,2,1,1); + + gtk_container_add(GTK_CONTAINER(widget),GTK_WIDGET(grid)); + + v3270_set_mono_color_table(widget->colors,"#000000","#FFFFFF"); + v3270_color_scheme_set_rgba(widget->color,widget->colors); + + gtk_widget_show_all(GTK_WIDGET(widget)); + +} + +LIB3270_EXPORT GtkWidget * V3270_print_settings_new(GtkWidget *widget) +{ + V3270PrintSettings * settings = GTK_V3270_PRINT_SETTINGS(g_object_new(GTK_TYPE_V3270_PRINT_SETTINGS, NULL)); + + v3270_font_selection_set_family(settings->font, v3270_get_font_family(widget)); + + return GTK_WIDGET(settings); + +} + +LIB3270_EXPORT gboolean v3270_print_settings_get_show_selection(GtkWidget *widget) +{ + return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_V3270_PRINT_SETTINGS(widget)->selected)); +} + +LIB3270_EXPORT void v3270_print_settings_set_show_selection(GtkWidget *widget, gboolean is_active) +{ + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(GTK_V3270_PRINT_SETTINGS(widget)->selected),is_active); +} + +LIB3270_EXPORT gchar * v3270_print_settings_get_color_scheme(GtkWidget *widget) +{ + return v3270_color_scheme_get_text(GTK_V3270_COLOR_SCHEME(GTK_V3270_PRINT_SETTINGS(widget)->color)); +} + +LIB3270_EXPORT void v3270_print_settings_set_color_scheme(GtkWidget *widget, const gchar *colors) +{ + v3270_color_scheme_set_text(GTK_V3270_COLOR_SCHEME(GTK_V3270_PRINT_SETTINGS(widget)->color), colors); +} + diff --git a/src/include/v3270/print.h b/src/include/v3270/print.h index b7be1cd..1478b5e 100644 --- a/src/include/v3270/print.h +++ b/src/include/v3270/print.h @@ -38,7 +38,6 @@ /*--[ Print Operation ]------------------------------------------------------------------------------*/ - #define GTK_TYPE_V3270_PRINT_OPERATION (V3270PrintOperation_get_type()) #define GTK_V3270_PRINT_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_V3270_PRINT_OPERATION, V3270PrintOperation)) #define GTK_V3270_PRINT_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_V3270_PRINT_OPERATION, V3270PrintOperationClass)) @@ -49,12 +48,36 @@ typedef struct _V3270PrintOperation V3270PrintOperation; typedef struct _V3270PrintOperationClass V3270PrintOperationClass; +/*--[ Print Settings ]-------------------------------------------------------------------------------*/ + + #define GTK_TYPE_V3270_PRINT_SETTINGS (V3270PrintSettings_get_type()) + #define GTK_V3270_PRINT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_V3270_PRINT_SETTINGS, V3270PrintSettings)) + #define GTK_V3270_PRINT_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_V3270_PRINT_SETTINGS, V3270PrintSettingsClass)) + #define GTK_IS_V3270_PRINT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_V3270_PRINT_SETTINGS)) + #define GTK_IS_V3270_PRINT_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_V3270_PRINT_SETTINGS)) + #define GTK_V3270_PRINT_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_V3270_PRINT_SETTINGS, V3270V3270SettingsClass)) + + typedef struct _V3270PrintSettings V3270PrintSettings; + typedef struct _V3270PrintSettingsClass V3270PrintSettingsClass; + /*--[ Prototipes ]-----------------------------------------------------------------------------------*/ + LIB3270_EXPORT GType V3270PrintOperation_get_type(void); LIB3270_EXPORT V3270PrintOperation * v3270_print_operation_new(GtkWidget *widget, LIB3270_CONTENT_OPTION mode); + LIB3270_EXPORT GtkTreeModel * v3270_font_family_model_new(GtkWidget *widget, const gchar *selected, GtkTreeIter * active); + LIB3270_EXPORT GtkWidget * v3270_font_selection_new(const gchar *fontname); - LIB3270_EXPORT GType V3270PrintOperation_get_type(void); + LIB3270_EXPORT gboolean v3270_font_selection_set_family(GtkWidget *widget, const gchar *fontname); + LIB3270_EXPORT const gchar * v3270_font_selection_get_family(GtkWidget *widget); + + LIB3270_EXPORT GType V3270PrintSettings_get_type(void); + LIB3270_EXPORT GtkWidget * V3270_print_settings_new(GtkWidget *widget); + LIB3270_EXPORT gboolean v3270_print_settings_get_show_selection(GtkWidget *widget); + LIB3270_EXPORT void v3270_print_settings_set_show_selection(GtkWidget *widget, gboolean is_active); + LIB3270_EXPORT gchar * v3270_print_settings_get_color_scheme(GtkWidget *widget); + LIB3270_EXPORT void v3270_print_settings_set_color_scheme(GtkWidget *widget, const gchar *colors); + G_END_DECLS diff --git a/v3270.cbp b/v3270.cbp index f9ca86c..bfc3281 100644 --- a/v3270.cbp +++ b/v3270.cbp @@ -66,9 +66,6 @@ - - @@ -76,6 +73,9 @@