View | Details | Raw Unified | Return to bug 309
Collapse All | Expand All

(-)a/src/contrib/gtk-config-store.cc (-27 / +27 lines)
 Lines 65-71   ModelCreator::Build (GtkTreeStore *trees Link Here 
65
ModelCreator::Build (GtkTreeStore *treestore)
65
ModelCreator::Build (GtkTreeStore *treestore)
66
{
66
{
67
  m_treestore = treestore;
67
  m_treestore = treestore;
68
  m_iters.push_back (NULL);
68
  m_iters.push_back (0);
69
  Iterate ();
69
  Iterate ();
70
  NS_ASSERT (m_iters.size () == 1);
70
  NS_ASSERT (m_iters.size () == 1);
71
}
71
}
 Lines 177-189   cell_data_function_col_1 (GtkTreeViewCol Link Here 
177
    {
177
    {
178
      StringValue str;
178
      StringValue str;
179
      node->object->GetAttribute (node->name, str);
179
      node->object->GetAttribute (node->name, str);
180
      g_object_set(renderer, "text", str.Get ().c_str (), NULL);
180
      g_object_set(renderer, "text", str.Get ().c_str (), (char*)0);
181
      g_object_set(renderer, "editable", TRUE, NULL);
181
      g_object_set(renderer, "editable", TRUE, (char*)0);
182
    }
182
    }
183
  else
183
  else
184
    {
184
    {
185
      g_object_set(renderer, "text", "", NULL);
185
      g_object_set(renderer, "text", "", (char*)0);
186
      g_object_set(renderer, "editable", FALSE, NULL);
186
      g_object_set(renderer, "editable", FALSE, (char*)0);
187
    }
187
    }
188
}
188
}
189
189
 Lines 196-219   cell_data_function_col_0 (GtkTreeViewCol Link Here 
196
{
196
{
197
  ModelNode *node;
197
  ModelNode *node;
198
  gtk_tree_model_get (model, iter, COL_NODE, &node, -1);
198
  gtk_tree_model_get (model, iter, COL_NODE, &node, -1);
199
  g_object_set (renderer, "editable", FALSE, NULL);
199
  g_object_set (renderer, "editable", FALSE, (char*)0);
200
  switch (node->type) {
200
  switch (node->type) {
201
  case ModelNode::NODE_OBJECT:
201
  case ModelNode::NODE_OBJECT:
202
    g_object_set(renderer, "text", node->object->GetInstanceTypeId ().GetName ().c_str (), NULL);
202
    g_object_set(renderer, "text", node->object->GetInstanceTypeId ().GetName ().c_str (), (char*)0);
203
    break;
203
    break;
204
  case ModelNode::NODE_POINTER:
204
  case ModelNode::NODE_POINTER:
205
    g_object_set(renderer, "text", node->name.c_str (), NULL);
205
    g_object_set(renderer, "text", node->name.c_str (), (char*)0);
206
    break;
206
    break;
207
  case ModelNode::NODE_VECTOR:
207
  case ModelNode::NODE_VECTOR:
208
    g_object_set(renderer, "text", node->name.c_str (), NULL);
208
    g_object_set(renderer, "text", node->name.c_str (), (char*)0);
209
    break;
209
    break;
210
  case ModelNode::NODE_VECTOR_ITEM: {
210
  case ModelNode::NODE_VECTOR_ITEM: {
211
    std::stringstream oss;
211
    std::stringstream oss;
212
    oss << node->index;
212
    oss << node->index;
213
    g_object_set(renderer, "text", oss.str ().c_str (), NULL);
213
    g_object_set(renderer, "text", oss.str ().c_str (), (char*)0);
214
  } break;
214
  } break;
215
  case ModelNode::NODE_ATTRIBUTE:
215
  case ModelNode::NODE_ATTRIBUTE:
216
    g_object_set(renderer, "text", node->name.c_str (), NULL);
216
    g_object_set(renderer, "text", node->name.c_str (), (char*)0);
217
    break;
217
    break;
218
  }
218
  }
219
}
219
}
 Lines 239-246   get_col_number_from_tree_view_column (Gt Link Here 
239
{
239
{
240
  GList *cols;
240
  GList *cols;
241
  int   num;
241
  int   num;
242
  g_return_val_if_fail ( col != NULL, -1 );
242
  g_return_val_if_fail ( col != 0, -1 );
243
  g_return_val_if_fail ( col->tree_view != NULL, -1 );
243
  g_return_val_if_fail ( col->tree_view != 0, -1 );
244
  cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(col->tree_view));
244
  cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(col->tree_view));
245
  num = g_list_index(cols, (gpointer) col);
245
  num = g_list_index(cols, (gpointer) col);
246
  g_list_free(cols);
246
  g_list_free(cols);
 Lines 260-271   cell_tooltip_callback (GtkWidget *widge Link Here 
260
  GtkTreeViewColumn * column;
260
  GtkTreeViewColumn * column;
261
  if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW (widget), 
261
  if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW (widget), 
262
					  &x, &y, keyboard_tip,
262
					  &x, &y, keyboard_tip,
263
					  &model, NULL, &iter))
263
					  &model, 0, &iter))
264
    {
264
    {
265
      return FALSE;
265
      return FALSE;
266
    }
266
    }
267
  if (!gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget),
267
  if (!gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget),
268
				      x, y, NULL, &column, NULL, NULL))
268
				      x, y, 0, &column, 0, 0))
269
    {
269
    {
270
      return FALSE;
270
      return FALSE;
271
    }  
271
    }  
 Lines 349-356   create_view (GtkTreeStore *model) Link Here 
349
  GtkWidget           *view;
349
  GtkWidget           *view;
350
350
351
  view = gtk_tree_view_new();
351
  view = gtk_tree_view_new();
352
  g_object_set (view, "has-tooltip", TRUE, NULL);
352
  g_object_set (view, "has-tooltip", TRUE, (char*)0);
353
  g_signal_connect (view, "query-tooltip", (GCallback) cell_tooltip_callback, NULL);
353
  g_signal_connect (view, "query-tooltip", (GCallback) cell_tooltip_callback, 0);
354
  
354
  
355
  gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (view), GTK_TREE_VIEW_GRID_LINES_BOTH);
355
  gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (view), GTK_TREE_VIEW_GRID_LINES_BOTH);
356
  gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE);
356
  gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE);
 Lines 360-367   create_view (GtkTreeStore *model) Link Here 
360
  gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);
360
  gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);
361
  renderer = gtk_cell_renderer_text_new ();
361
  renderer = gtk_cell_renderer_text_new ();
362
  gtk_tree_view_column_pack_start(col, renderer, TRUE);
362
  gtk_tree_view_column_pack_start(col, renderer, TRUE);
363
  gtk_tree_view_column_set_cell_data_func(col, renderer, cell_data_function_col_0, NULL, NULL);
363
  gtk_tree_view_column_set_cell_data_func(col, renderer, cell_data_function_col_0, 0, 0);
364
  g_object_set(renderer, "editable", FALSE, NULL);
364
  g_object_set(renderer, "editable", FALSE, (char*)0);
365
365
366
  col = gtk_tree_view_column_new();
366
  col = gtk_tree_view_column_new();
367
  gtk_tree_view_column_set_title(col, "Attribute Value");
367
  gtk_tree_view_column_set_title(col, "Attribute Value");
 Lines 369-375   create_view (GtkTreeStore *model) Link Here 
369
  renderer = gtk_cell_renderer_text_new();
369
  renderer = gtk_cell_renderer_text_new();
370
  g_signal_connect(renderer, "edited", (GCallback) cell_edited_callback, model);
370
  g_signal_connect(renderer, "edited", (GCallback) cell_edited_callback, model);
371
  gtk_tree_view_column_pack_start(col, renderer, TRUE);
371
  gtk_tree_view_column_pack_start(col, renderer, TRUE);
372
  gtk_tree_view_column_set_cell_data_func(col, renderer, cell_data_function_col_1, NULL, NULL);
372
  gtk_tree_view_column_set_cell_data_func(col, renderer, cell_data_function_col_1, 0, 0);
373
373
374
374
375
  gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL (model));
375
  gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL (model));
 Lines 392-398   save_clicked (GtkButton *button, Link Here 
392
					GTK_FILE_CHOOSER_ACTION_SAVE,
392
					GTK_FILE_CHOOSER_ACTION_SAVE,
393
					GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
393
					GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
394
					GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
394
					GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
395
					NULL);
395
					(char *)0);
396
  gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
396
  gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
397
397
398
  gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), "config.txt");
398
  gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), "config.txt");
 Lines 426-432   load_clicked (GtkButton *button, Link Here 
426
					GTK_FILE_CHOOSER_ACTION_OPEN,
426
					GTK_FILE_CHOOSER_ACTION_OPEN,
427
					GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
427
					GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
428
					GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
428
					GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
429
					NULL);
429
					(char *)0);
430
430
431
  if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
431
  if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
432
    {
432
    {
 Lines 475-481   clean_model_callback (GtkTreeModel *mode Link Here 
475
		      -1);
475
		      -1);
476
  delete node;
476
  delete node;
477
  gtk_tree_store_set (GTK_TREE_STORE (model), iter,
477
  gtk_tree_store_set (GTK_TREE_STORE (model), iter,
478
		      COL_NODE, NULL,
478
		      COL_NODE, (ModelNode*)0,
479
		      -1);
479
		      -1);
480
  return FALSE;
480
  return FALSE;
481
}
481
}
 Lines 496-502   GtkConfigStore::Configure (void) Link Here 
496
  gtk_window_set_title (GTK_WINDOW (window), "ns-3 Object attributes.");
496
  gtk_window_set_title (GTK_WINDOW (window), "ns-3 Object attributes.");
497
  gtk_window_set_default_size (GTK_WINDOW (window), 400, 600);
497
  gtk_window_set_default_size (GTK_WINDOW (window), 400, 600);
498
  
498
  
499
  g_signal_connect (window, "delete_event", (GCallback)delete_event_callback, NULL);
499
  g_signal_connect (window, "delete_event", (GCallback)delete_event_callback, 0);
500
500
501
501
502
  GtkTreeStore *model = gtk_tree_store_new (COL_LAST, G_TYPE_POINTER);
502
  GtkTreeStore *model = gtk_tree_store_new (COL_LAST, G_TYPE_POINTER);
 Lines 504-510   GtkConfigStore::Configure (void) Link Here 
504
  creator.Build (model);
504
  creator.Build (model);
505
505
506
  view = create_view (model);
506
  view = create_view (model);
507
  scroll = gtk_scrolled_window_new (NULL, NULL);
507
  scroll = gtk_scrolled_window_new (0, 0);
508
  gtk_container_add (GTK_CONTAINER (scroll), view);
508
  gtk_container_add (GTK_CONTAINER (scroll), view);
509
509
510
  GtkWidget *vbox = gtk_vbox_new (FALSE, 5);
510
  GtkWidget *vbox = gtk_vbox_new (FALSE, 5);
 Lines 519-525   GtkConfigStore::Configure (void) Link Here 
519
  g_signal_connect (load, "clicked",  (GCallback) load_clicked, window);
519
  g_signal_connect (load, "clicked",  (GCallback) load_clicked, window);
520
  gtk_box_pack_end (GTK_BOX (hbox), load, FALSE, FALSE, 0);
520
  gtk_box_pack_end (GTK_BOX (hbox), load, FALSE, FALSE, 0);
521
  GtkWidget *exit = gtk_button_new_with_label ("Exit");
521
  GtkWidget *exit = gtk_button_new_with_label ("Exit");
522
  g_signal_connect (exit, "clicked",  (GCallback) exit_clicked_callback, NULL);
522
  g_signal_connect (exit, "clicked",  (GCallback) exit_clicked_callback, 0);
523
  gtk_box_pack_end (GTK_BOX (hbox), exit, FALSE, FALSE, 0);
523
  gtk_box_pack_end (GTK_BOX (hbox), exit, FALSE, FALSE, 0);
524
524
525
  gtk_container_add (GTK_CONTAINER (window), vbox);
525
  gtk_container_add (GTK_CONTAINER (window), vbox);
 Lines 530-536   GtkConfigStore::Configure (void) Link Here 
530
530
531
  gtk_tree_model_foreach (GTK_TREE_MODEL (model), 
531
  gtk_tree_model_foreach (GTK_TREE_MODEL (model), 
532
			  clean_model_callback, 
532
			  clean_model_callback, 
533
			  NULL);
533
			  0);
534
534
535
  gtk_widget_destroy (window);
535
  gtk_widget_destroy (window);
536
}
536
}

Return to bug 309