Commit 437a1c76d2f9319eb37068919a839651e043bfa3

Authored by Perry Werneck
1 parent 64d8d7a8
Exists in master and in 1 other branch develop

Working on FT dialog component.

src/dialogs/tools.c
... ... @@ -69,3 +69,5 @@
69 69 return child;
70 70 }
71 71  
  72 +
  73 +
... ...
src/include/internals.h
... ... @@ -58,6 +58,12 @@
58 58 return child;
59 59 }
60 60  
  61 + inline GtkWidget * v3270_box_pack_end(GtkWidget *box, GtkWidget *child, gboolean expand, gboolean fill, guint padding)
  62 + {
  63 + gtk_box_pack_end(GTK_BOX(box),child,expand,fill,padding);
  64 + return child;
  65 + }
  66 +
61 67 G_GNUC_INTERNAL GtkWidget * v3270_box_pack_frame(GtkWidget *box, GtkWidget *child, const gchar *title, GtkAlign align, gboolean expand, gboolean fill, guint padding);
62 68 G_GNUC_INTERNAL GtkWidget * v3270_box_pack_frame(GtkWidget *box, GtkWidget *child, const gchar *title, GtkAlign align, gboolean expand, gboolean fill, guint padding);
63 69 G_GNUC_INTERNAL GtkWidget * v3270_dialog_create_grid(GtkAlign align);
... ...
src/v3270ft/dialog.c
... ... @@ -38,7 +38,12 @@
38 38 GtkDialog parent;
39 39  
40 40 GtkWidget * settings;
41   - // GtkWidget * buttons[FT_BUTTON_COUNT];
  41 +
  42 + struct {
  43 + GtkWidget * insert;
  44 + GtkWidget * update;
  45 + GtkWidget * reset;
  46 + } button;
42 47  
43 48 };
44 49  
... ... @@ -79,6 +84,24 @@ static GtkWidget * create_button(V3270FTDialog *widget, FT_BUTTON id, const gcha
79 84 }
80 85 */
81 86  
  87 +void activity_selected(GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn G_GNUC_UNUSED(*column), V3270FTDialog *widget)
  88 +{
  89 + GtkTreeIter iter;
  90 + GtkTreeModel * model = gtk_tree_view_get_model(view);
  91 +
  92 + if(gtk_tree_model_get_iter(model, &iter, path))
  93 + {
  94 + GObject * activity = NULL;
  95 + gtk_tree_model_get(model, &iter, 0, &activity, -1);
  96 + v3270_ft_settings_set_activity(widget->settings,activity);
  97 +
  98 + gtk_widget_set_sensitive(widget->button.update,TRUE);
  99 + gtk_widget_set_sensitive(widget->button.reset,TRUE);
  100 +
  101 + }
  102 +
  103 +}
  104 +
82 105 static void V3270FTDialog_init(V3270FTDialog *widget)
83 106 {
84 107 widget->settings = v3270_ft_settings_new();
... ... @@ -98,10 +121,28 @@ static void V3270FTDialog_init(V3270FTDialog *widget)
98 121 gtk_widget_set_vexpand(GTK_WIDGET(widget->settings),FALSE);
99 122 gtk_box_pack_start(GTK_BOX(container),widget->settings,FALSE,FALSE,0);
100 123  
  124 + // Create action buttons
  125 + {
  126 + GtkWidget * buttons = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,6);
  127 +
  128 + g_object_set(G_OBJECT(buttons),"margin-top",6,NULL);
  129 +
  130 + widget->button.reset = v3270_box_pack_end(buttons,gtk_button_new_with_mnemonic("_Reset"),FALSE,FALSE,0);
  131 + widget->button.update = v3270_box_pack_end(buttons,gtk_button_new_with_mnemonic("_Update"),FALSE,FALSE,0);
  132 + widget->button.insert = v3270_box_pack_end(buttons,gtk_button_new_with_mnemonic("_Insert"),FALSE,FALSE,0);
  133 +
  134 + gtk_widget_set_sensitive(widget->button.update,FALSE);
  135 + gtk_widget_set_sensitive(widget->button.reset,FALSE);
  136 +
  137 + gtk_box_pack_start(GTK_BOX(container),buttons,FALSE,FALSE,0);
  138 +
  139 + }
  140 +
101 141 // Create file list view
102 142 {
103 143 GtkWidget * files = v3270_activity_list_new();
104 144 gtk_widget_set_tooltip_markup(files,_("Files to transfer"));
  145 + g_signal_connect(G_OBJECT(files),"row-activated",G_CALLBACK(activity_selected),widget);
105 146  
106 147 // Put the view inside a scrolled window.
107 148 GtkWidget * scrolled = gtk_scrolled_window_new(NULL,NULL);
... ... @@ -123,12 +164,10 @@ static void V3270FTDialog_init(V3270FTDialog *widget)
123 164 v3270_ft_activity_set_options(activity,LIB3270_FT_OPTION_SEND|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_CRLF|LIB3270_FT_OPTION_REMAP|LIB3270_FT_OPTION_APPEND|LIB3270_FT_RECORD_FORMAT_VARIABLE);
124 165  
125 166 v3270_activity_list_append(files,activity);
126   - v3270_ft_settings_set_activity(widget->settings,activity);
127 167 #endif // DEBUG
128 168  
129 169 }
130 170  
131   -
132 171 }
133 172  
134 173 LIB3270_EXPORT GtkWidget * v3270_ft_dialog_new(GtkWidget *parent)
... ...