1 // RenameDlg.cpp: implementation of the CRenameDlg class.
3 //////////////////////////////////////////////////////////////////////
8 //////////////////////////////////////////////////////////////////////
9 // Construction/Destruction
10 //////////////////////////////////////////////////////////////////////
12 static void rename_dialog_button_callback (GtkWidget *widget, gpointer data)
17 parent = gtk_widget_get_toplevel (widget);
18 loop = (int*)gtk_object_get_data (GTK_OBJECT (parent), "loop");
19 ret = (int*)gtk_object_get_data (GTK_OBJECT (parent), "ret");
25 static gint rename_dialog_delete_callback (GtkWidget *widget, GdkEvent* event, gpointer data)
29 gtk_widget_hide (widget);
30 loop = (int*)gtk_object_get_data (GTK_OBJECT (widget), "loop");
36 CRenameDlg::CRenameDlg()
41 CRenameDlg::~CRenameDlg()
46 int CRenameDlg::DoModal()
48 GtkWidget *window, *w, *vbox, *hbox, *edit;
50 char *lpCaption="Rename File";
52 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
53 gtk_signal_connect (GTK_OBJECT (window), "delete_event",
54 GTK_SIGNAL_FUNC (rename_dialog_delete_callback), NULL);
55 gtk_signal_connect (GTK_OBJECT (window), "destroy",
56 GTK_SIGNAL_FUNC (gtk_widget_destroy), NULL);
57 gtk_window_set_title (GTK_WINDOW (window), lpCaption);
58 gtk_container_border_width (GTK_CONTAINER (window), 10);
59 gtk_object_set_data (GTK_OBJECT (window), "loop", &loop);
60 gtk_object_set_data (GTK_OBJECT (window), "ret", &ret);
61 gtk_widget_realize (window);
63 vbox = gtk_vbox_new (FALSE, 10);
64 gtk_container_add (GTK_CONTAINER (window), vbox);
65 gtk_widget_show (vbox);
67 edit = gtk_entry_new ();
68 gtk_entry_set_text(GTK_ENTRY(edit),m_Name.c_str());
69 gtk_box_pack_start (GTK_BOX (vbox), edit, FALSE, FALSE, 2);
70 gtk_widget_show (edit);
72 w = gtk_hseparator_new ();
73 gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 2);
76 hbox = gtk_hbox_new (FALSE, 10);
77 gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
78 gtk_widget_show (hbox);
82 w = gtk_button_new_with_label ("Ok");
83 gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
84 gtk_signal_connect (GTK_OBJECT (w), "clicked",
85 GTK_SIGNAL_FUNC (rename_dialog_button_callback), GINT_TO_POINTER (IDOK));
86 GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
87 gtk_widget_grab_default (w);
90 w = gtk_button_new_with_label ("Cancel");
91 gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
92 gtk_signal_connect (GTK_OBJECT (w), "clicked",
93 GTK_SIGNAL_FUNC (rename_dialog_button_callback), GINT_TO_POINTER (IDCANCEL));
99 gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
100 gtk_widget_show (window);
101 gtk_grab_add (window);
104 gtk_main_iteration ();
106 m_Name=gtk_entry_get_text(GTK_ENTRY(edit));
108 gtk_grab_remove (window);
109 gtk_widget_destroy (window);