# MessageDialog(Vala)

Tiffany Antopolski
tiffany.antopolski@gmail.com 2012
메시지 창
조성호
shcho@gnome.org 2017-2019.

# MessageDialog

전 세계를 폭발하게 만들 수 있는 모달 메시지 대화상자입니다.

//A window in the application public class Window : Gtk.ApplicationWindow { public Window (Application app) { Object (application: app, title: "Gtk.MessageDialog Example");

var label = new Gtk.Label ("This application goes boom!"); this.add (label);

var message_action = new SimpleAction ("message", null); message_action.activate.connect (message); this.add_action (message_action);

this.set_default_size (400, 200); this.show_all (); }

void dialog_response (Gtk.Dialog dialog, int response_id) { switch (response_id) { case Gtk.ResponseType.OK: print ("*boom*\n"); break; case Gtk.ResponseType.CANCEL: print ("good choice\n"); break; case Gtk.ResponseType.DELETE_EVENT: print ("dialog closed or cancelled\n"); break; } dialog.destroy(); }

void message (SimpleAction simple, Variant? parameter) { var messagedialog = new Gtk.MessageDialog (this, Gtk.DialogFlags.MODAL, Gtk.MessageType.WARNING, Gtk.ButtonsType.OK_CANCEL, "This action will cause the universe to stop existing.");

messagedialog.response.connect (dialog_response); messagedialog.show (); } }

//This is the Application public class Application : Gtk.Application { protected override void activate () { new Window (this); }

protected override void startup () { base.startup ();

var menu = new Menu (); menu.append ("Message", "win.message"); menu.append ("Quit", "app.quit"); this.app_menu = menu;

var quit_action = new SimpleAction ("quit", null); //quit_action.activate.connect (this.quit); this.add_action (quit_action); }

public Application () { Object (application_id: "org.example.application"); } }

//main function creates Application and runs it int main (string[] args) { return new Application ().run (args); }

이 예제는 다음 참고자료가 필요합니다:

Gtk.ResponseType

Gtk.MessageDialog

Gtk.DialogFlags

Gtk.MessageType

Gtk.ButtonsType