---------------------------------------------------------------------------------------- --# Custom Dialogs -- EuGTK Dialogs have several optional paramenters which allow you -- to modify the appearance. -- You can modify parent, title, icon, primary label, secondary label, -- default buttons, titlebar icon, modal/nonmodal, -- plus add on almost any other GtkWidget you wish, -- including GtkEntry, GtkTextView, etc. -- You could, of course, create these completely 'by hand', starting -- with a stock GtkDialog, but that would require writing dozens of -- lines of code, instead of just one or two. ----------------------------------------------------------------------------------------- include GtkEngine.e constant docs = `Custom Dialogs Without a lot of work! You can use any of the pre-built EuGTK dialogs to display custom contents. Just send the contents as the 8th parameter. Click the LGPL button to see one. ` constant license = read_file(canonical_path(locate_file("resources/license.txt"))) constant win = create(GtkWindow,"size=300x-1,position=1,border_width=10,$destroy=Quit") constant panel = add(win,create(GtkBox,VERTICAL)) add(panel,create(GtkLabel,{{"markup",docs}})) constant box = pack_end(panel,create(GtkButtonBox,HORIZONTAL)) add(box,{ create(GtkButton,"gtk-quit","Quit"), create(GtkButton,"ascii#_LGPL","ShowCustomDialog")}) show_all(win) main() ------------------------------------- global function ShowCustomDialog() -- create a dialog with lots of customization; ------------------------------------- object txtview = create(GtkTextView, -- this will be the 'addon' widget "editable=FALSE,left_margin=10,right_margin=10,margin-top=10") object buffer = get(txtview,"buffer") -- contents of the textview; set(buffer,"text",license) object gtk_logo = create(GdkPixbuf,"thumbnails/BabyTux.bmp") return Custom(win, -- optional parent "Custom Dialog", -- dialog title "\nLGPL", -- primary text "See www.gnu.org", -- secondary text as a link {{"face-cool#Cool"}}, -- optional button(s) gtk_logo, -- optional dialog icon "face-monkey", -- optional titlebar icon GTK_DIALOG_MODAL, -- MODAL/NONMODAL txtview) -- addon widget(s) end function