|
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 |
} |