[Linux] Replacing PB-Messagerequster
Posted: Tue Apr 25, 2006 12:01 pm
Hi,
may this sample code is usefull for someone. It shows, how to use GTK-based Messagerequester which are more customizeable and even free moveable.....
To compile you must use GTK2 as Subsystem 
may this sample code is usefull for someone. It shows, how to use GTK-based Messagerequester which are more customizeable and even free moveable.....
Code: Select all
;2006 by walker
;
gtk_init_(0,0)
Procedure gMessageRequester(titel.s,message.s,ok.l,cancel.l,yes.l,no.l)
txt.s=message+#LF$
ueber.s=titel
*gdialog.GtkDialog
*gdialog=gtk_dialog_new_()
*gtext.GtkWidget
*gtext=gtk_label_new_(txt)
gtk_window_set_title_(*gdialog\window,ueber)
gtk_container_add_(*gdialog\vbox,*gtext)
gtk_widget_show_(*gtext)
gtk_label_set_line_wrap_(*gtext,#True);linewrap
gtk_label_set_justify_(*gtext,#GTK_JUSTIFY_LEFT);text justification
gtk_misc_set_alignment_(*gtext,0.1,0.1);set the label to the left top corner...always .......... 0.01 is more top left....
gtk_window_set_default_size_( *gdialog , 230, 100); the minimum size
; gtk_window_move_(*gdialog,10,10); uncomment if you want a special position
If cancel
gtk_dialog_add_button_(*gdialog,#gtk_stock_cancel,#gtk_response_cancel)
EndIf
If ok
gtk_dialog_add_button_(*gdialog,#gtk_stock_ok,#gtk_response_ok)
EndIf
If no
gtk_dialog_add_button_(*gdialog,#gtk_stock_no,#gtk_response_no)
EndIf
If yes
gtk_dialog_add_button_(*gdialog,#gtk_stock_yes,#gtk_response_yes)
EndIf
x=gtk_dialog_run_(*gdialog);return the presed button
gtk_widget_destroy_(*gdialog);close requester
ProcedureReturn x
EndProcedure
*gdialog.GtkDialog
*gdialog=gtk_message_dialog_new_(hwnd,1,#gtk_message_info,#GTK_Buttons_ok,"Simple Messagerequester"+#LF$+" with two lines, and two substituted var: %s : %s","varone","vartwo")
gtk_dialog_run_(*gdialog)
gtk_widget_destroy_(*gdialog)
*gdialog=gtk_message_dialog_new_(hwnd,1,#gtk_message_info,#GTK_Buttons_none,"Simple Messagerequester"+#LF$+" with two lines, and 2 'selfmade' buttons","","")
gtk_dialog_add_button_(*gdialog,#gtk_stock_no,#gtk_response_no)
gtk_dialog_add_button_(*gdialog,#gtk_stock_yes,#gtk_response_yes)
gtk_dialog_run_(*gdialog)
gtk_widget_destroy_(*gdialog)
OpenWindow(0,0,0,300,250,#PB_Window_ScreenCentered,"test")
Delay(1000)
Select gMessageRequester("Messagerequester", "Messagerequester using GTKDialog"+#LF$+#LF$+"2006 by walker "+#LF$,#True,#True,#FALSE,#FALSE);1 or #true to show coresponding button
Case #gtk_response_ok
Case #gtk_response_cancel
Case #gtk_response_yes
Case #gtk_response_no
Default
;if no buttun is pressed and requester is closed by system-menu
EndSelect
Repeat
w=WaitWindowEvent()
Until w=#PB_Event_CloseWindow