диалоги
виджет
диалога очень простой, фактически это
просто окно с пред упакованными виджетами.
структура диалога такова: 
	
		
			struct gtkdialog
{
      gtkwindow window;
    
      gtkwidget *vbox;
      gtkwidget *action_area;
};
		 | 
	 
 
вы видите, что создаётся
обычное окно в которое в верху
упаковывается  vbox, содержащий
сепаратор и затем hbox вызываемый
"action_area". 
виджет диалога может
использоваться в качестве всплывающих
сообщений для пользователя и других
подобных задач. существует две функции
для создания новых диалогов: 
	
		
			gtkwidget *gtk_dialog_new( void );
gtkwidget *gtk_dialog_new_with_buttons( const gchar    *title,
                                        gtkwindow      *parent,
                                        gtkdialogflags  flags, 
                                        const gchar    *first_button_text,
                                        ... );
		 | 
	 
 
первая функция создаёт
пустой диалог для дальнейшего
использования. вы можете упаковать
кнопку action_area примерно так: 
	
		
			    button = ...
    gtk_box_pack_start (gtk_box (gtk_dialog (window)->action_area),
                        button, true, true, 0);
    gtk_widget_show (button);
		 | 
	 
 
вы также можете добавить
область упаковки vbox для ярлыка: 
	
		
			    label = gtk_label_new ("dialogs are groovy");
    gtk_box_pack_start (gtk_box (gtk_dialog (window)->vbox),
                        label, true, true, 0);
    gtk_widget_show (label);
		 | 
	 
 
как пример использования
можно привести окно с ярлыком содержащим
некий текст и двумя кнопками для того,
чтобы пользователь смог сделать выбор
между "ok" и "сancel", создав тем
самым определённый сигнал для выполнения
дальнейших действий.  
если простые функциональные возможности,
обеспеченные вертикальными и
горизонтальными контейнерами по
умолчанию в этих двух областях не дают
вам достаточного контроля для вашего
приложения, то вы можете просто упаковать
другой виджет расположения в предоставленные
контейнеры. например вы можете поместить
таблицу в вертикальный контейнер. 
более сложный вариант
complicated _new_with_buttons() позволяет установить
один или более флагов. 
	- gtk_dialog_modal
		
 - 
	делает диалог модальным.
 - 
	gtk_dialog_destroy_with_parent
		
 - 
	гарантирует закрытие
	диалога вместе с родительским окном.
 - 
	gtk_dialog_no_separator
		
 - 
	опускает
	сепаратор между vbox и action_area.
  
 
  
 
											 |