Mercurial > dwindows
diff dwtest.c @ 195:b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 20 Jan 2003 08:49:11 +0000 |
parents | efd4703450fa |
children | f3718165f0b2 |
line wrap: on
line diff
--- a/dwtest.c Sat Jan 18 19:15:18 2003 +0000 +++ b/dwtest.c Mon Jan 20 08:49:11 2003 +0000 @@ -8,128 +8,128 @@ unsigned long flStyle = DW_FCF_SYSMENU | DW_FCF_TITLEBAR | - DW_FCF_SHELLPOSITION | DW_FCF_TASKLIST | DW_FCF_DLGBORDER; + DW_FCF_SHELLPOSITION | DW_FCF_TASKLIST | DW_FCF_DLGBORDER; HWND mainwindow, entryfield, - okbutton, - cancelbutton, - lbbox, - notebookbox, - notebookbox1, - notebookbox2, - notebook, - stext, - pagebox, - textbox1, textbox2, - buttonbox; + okbutton, + cancelbutton, + lbbox, + notebookbox, + notebookbox1, + notebookbox2, + notebook, + stext, + pagebox, + textbox1, textbox2, + buttonbox; int DWSIGNAL exit_callback(HWND window, void *data) { - dw_window_destroy((HWND)data); - exit(0); - return -1; + dw_window_destroy((HWND)data); + exit(0); + return -1; } int DWSIGNAL test_callback(HWND window, void *data) { - dw_window_destroy((HWND)data); - exit(0); - return -1; + dw_window_destroy((HWND)data); + exit(0); + return -1; } int DWSIGNAL browse_callback(HWND window, void *data) { - dw_file_browse("test string", NULL, "c", DW_FILE_OPEN ); - return 0; + dw_file_browse("test string", NULL, "c", DW_FILE_OPEN ); + return 0; } void archive_add(void) { - HWND browsebutton, browsebox; + HWND browsebutton, browsebox; - lbbox = dw_box_new(BOXVERT, 10); + lbbox = dw_box_new(BOXVERT, 10); - dw_box_pack_start(notebookbox1, lbbox, 150, 70, TRUE, TRUE, 0); + dw_box_pack_start(notebookbox1, lbbox, 150, 70, TRUE, TRUE, 0); - /* Archive Name */ - stext = dw_text_new("Archive Name", 0); + /* Archive Name */ + stext = dw_text_new("Archive Name", 0); - dw_window_set_style(stext, DW_DT_VCENTER, DW_DT_VCENTER); + dw_window_set_style(stext, DW_DT_VCENTER, DW_DT_VCENTER); - dw_box_pack_start(lbbox, stext, 130, 15, TRUE, TRUE, 2); + dw_box_pack_start(lbbox, stext, 130, 15, TRUE, TRUE, 2); - browsebox = dw_box_new(BOXHORZ, 0); + browsebox = dw_box_new(BOXHORZ, 0); - dw_box_pack_start(lbbox, browsebox, 0, 0, TRUE, TRUE, 0); + dw_box_pack_start(lbbox, browsebox, 0, 0, TRUE, TRUE, 0); - entryfield = dw_entryfield_new("", 100L); + entryfield = dw_entryfield_new("", 100L); - dw_box_pack_start(browsebox, entryfield, 100, 15, TRUE, TRUE, 4); + dw_box_pack_start(browsebox, entryfield, 100, 15, TRUE, TRUE, 4); - browsebutton = dw_button_new("Browse", 1001L); + browsebutton = dw_button_new("Browse", 1001L); - dw_box_pack_start(browsebox, browsebutton, 30, 15, TRUE, TRUE, 0); + dw_box_pack_start(browsebox, browsebutton, 30, 15, TRUE, TRUE, 0); - dw_window_set_color(browsebox, DW_CLR_PALEGRAY, DW_CLR_PALEGRAY); - dw_window_set_font(browsebutton, "9.WarpSans"); - dw_window_set_font(stext, "9.WarpSans"); - dw_window_set_color(stext, DW_CLR_BLACK, DW_CLR_PALEGRAY); - dw_window_set_font(entryfield, "9.WarpSans"); + dw_window_set_color(browsebox, DW_CLR_PALEGRAY, DW_CLR_PALEGRAY); + dw_window_set_font(browsebutton, "9.WarpSans"); + dw_window_set_font(stext, "9.WarpSans"); + dw_window_set_color(stext, DW_CLR_BLACK, DW_CLR_PALEGRAY); + dw_window_set_font(entryfield, "9.WarpSans"); - /* Archive Description */ - stext = dw_text_new("Archive Description", 0); + /* Archive Description */ + stext = dw_text_new("Archive Description", 0); - dw_window_set_style(stext, DW_DT_VCENTER, DW_DT_VCENTER); + dw_window_set_style(stext, DW_DT_VCENTER, DW_DT_VCENTER); - dw_box_pack_start(lbbox, stext, 130, 15, TRUE, TRUE, 4); + dw_box_pack_start(lbbox, stext, 130, 15, TRUE, TRUE, 4); - entryfield = dw_entryfield_new("", 100L); + entryfield = dw_entryfield_new("", 100L); - dw_box_pack_start(lbbox, entryfield, 130, 15, TRUE, TRUE, 4); + dw_box_pack_start(lbbox, entryfield, 130, 15, TRUE, TRUE, 4); - dw_window_set_font(stext, "9.WarpSans"); - dw_window_set_color(stext, DW_CLR_BLACK, DW_CLR_PALEGRAY); - dw_window_set_font(entryfield, "9.WarpSans"); + dw_window_set_font(stext, "9.WarpSans"); + dw_window_set_color(stext, DW_CLR_BLACK, DW_CLR_PALEGRAY); + dw_window_set_font(entryfield, "9.WarpSans"); - /* Comments */ - stext = dw_text_new("Comments", 0); + /* Comments */ + stext = dw_text_new("Comments", 0); - dw_window_set_style(stext, DW_DT_VCENTER, DW_DT_VCENTER); + dw_window_set_style(stext, DW_DT_VCENTER, DW_DT_VCENTER); - dw_box_pack_start(lbbox, stext, 130, 15, TRUE, TRUE, 4); + dw_box_pack_start(lbbox, stext, 130, 15, TRUE, TRUE, 4); - entryfield = dw_entryfield_new("", 100L); + entryfield = dw_entryfield_new("", 100L); - dw_box_pack_start(lbbox, entryfield, 130, 15, TRUE, TRUE, 4); + dw_box_pack_start(lbbox, entryfield, 130, 15, TRUE, TRUE, 4); - dw_window_set_font(stext, "9.WarpSans"); - dw_window_set_color(stext, DW_CLR_BLACK, DW_CLR_PALEGRAY); - dw_window_set_font(entryfield, "9.WarpSans"); + dw_window_set_font(stext, "9.WarpSans"); + dw_window_set_color(stext, DW_CLR_BLACK, DW_CLR_PALEGRAY); + dw_window_set_font(entryfield, "9.WarpSans"); - /* Buttons */ - buttonbox = dw_box_new(BOXHORZ, 10); + /* Buttons */ + buttonbox = dw_box_new(BOXHORZ, 10); - dw_box_pack_start(lbbox, buttonbox, 0, 0, TRUE, TRUE, 0); + dw_box_pack_start(lbbox, buttonbox, 0, 0, TRUE, TRUE, 0); - okbutton = dw_button_new("Ok", 1001L); + okbutton = dw_button_new("Ok", 1001L); - dw_box_pack_start(buttonbox, okbutton, 130, 30, TRUE, TRUE, 2); + dw_box_pack_start(buttonbox, okbutton, 130, 30, TRUE, TRUE, 2); - cancelbutton = dw_button_new("Cancel", 1002L); + cancelbutton = dw_button_new("Cancel", 1002L); - dw_box_pack_start(buttonbox, cancelbutton, 130, 30, TRUE, TRUE, 2); + dw_box_pack_start(buttonbox, cancelbutton, 130, 30, TRUE, TRUE, 2); - /* Set some nice fonts and colors */ - dw_window_set_color(lbbox, DW_CLR_DARKCYAN, DW_CLR_PALEGRAY); - dw_window_set_color(buttonbox, DW_CLR_DARKCYAN, DW_CLR_PALEGRAY); - dw_window_set_color(okbutton, DW_CLR_PALEGRAY, DW_CLR_DARKCYAN); - dw_window_set_font(okbutton, "9.WarpSans"); - dw_window_set_font(cancelbutton, "9.WarpSans"); + /* Set some nice fonts and colors */ + dw_window_set_color(lbbox, DW_CLR_DARKCYAN, DW_CLR_PALEGRAY); + dw_window_set_color(buttonbox, DW_CLR_DARKCYAN, DW_CLR_PALEGRAY); + dw_window_set_color(okbutton, DW_CLR_PALEGRAY, DW_CLR_DARKCYAN); + dw_window_set_font(okbutton, "9.WarpSans"); + dw_window_set_font(cancelbutton, "9.WarpSans"); - dw_signal_connect(browsebutton, "clicked", DW_SIGNAL_FUNC(browse_callback), (void *)notebookbox1); - dw_signal_connect(okbutton, "clicked", DW_SIGNAL_FUNC(test_callback), (void *)notebookbox1); - dw_signal_connect(cancelbutton, "clicked", DW_SIGNAL_FUNC(test_callback), (void *)notebookbox1); + dw_signal_connect(browsebutton, "clicked", DW_SIGNAL_FUNC(browse_callback), (void *)notebookbox1); + dw_signal_connect(okbutton, "clicked", DW_SIGNAL_FUNC(test_callback), (void *)notebookbox1); + dw_signal_connect(cancelbutton, "clicked", DW_SIGNAL_FUNC(test_callback), (void *)notebookbox1); } @@ -140,52 +140,61 @@ /* This gets called when a part of the graph needs to be repainted. */ int DWSIGNAL text_expose(HWND hwnd, DWExpose *exp, void *data) { - HPIXMAP hpm = (HPIXMAP)data; + HPIXMAP hpm = (HPIXMAP)data; - dw_pixmap_bitblt(hwnd, NULL, 0, 0, font_width*width1, font_height*rows, NULL, hpm, 0, 0 ); - dw_flush(); - return TRUE; + dw_pixmap_bitblt(hwnd, NULL, 0, 0, font_width*width1, font_height*rows, NULL, hpm, 0, 0 ); + dw_flush(); + return TRUE; } void text_add(void) { - int i,y,depth = dw_color_depth(); - char buf[10]; - HPIXMAP text1pm,text2pm; + int i,y,depth = dw_color_depth(); + char buf[10]; + HPIXMAP text1pm,text2pm; - pagebox = dw_box_new(BOXVERT, 5); - dw_box_pack_start( notebookbox2, pagebox, 1, 1, TRUE, TRUE, 0); + pagebox = dw_box_new(BOXVERT, 5); + dw_box_pack_start( notebookbox2, pagebox, 1, 1, TRUE, TRUE, 0); + + textbox1 = dw_render_new( 100 ); + dw_box_pack_start( pagebox, textbox1, font_width*width1, font_height*rows, TRUE, TRUE, 4); + dw_window_set_font(textbox1, "9.WarpSans"); - textbox1 = dw_render_new( 100 ); - dw_box_pack_start( pagebox, textbox1, font_width*width1, font_height*rows, TRUE, TRUE, 4); - dw_window_set_font(textbox1, "9.WarpSans"); + textbox2 = dw_render_new( 101 ); + dw_box_pack_start( pagebox, textbox2, font_width*width2, font_height*rows, TRUE, TRUE, 4); + dw_window_set_font(textbox2, "9.WarpSans"); - textbox2 = dw_render_new( 101 ); - dw_box_pack_start( pagebox, textbox2, font_width*width2, font_height*rows, TRUE, TRUE, 4); - dw_window_set_font(textbox2, "9.WarpSans"); + text1pm = dw_pixmap_new( textbox1, font_width*width1, font_height*rows, depth ); + text2pm = dw_pixmap_new( textbox2, font_width*width2, font_height*rows, depth ); - text1pm = dw_pixmap_new( textbox1, font_width*width1, font_height*rows, depth ); - text2pm = dw_pixmap_new( textbox2, font_width*width2, font_height*rows, depth ); + dw_color_foreground_set(DW_CLR_WHITE); + dw_draw_rect(0, text1pm, TRUE, 0, 0, font_width*width1, font_height*rows); + dw_draw_rect(0, text2pm, TRUE, 0, 0, font_width*width2, font_height*rows); - dw_color_foreground_set(DW_CLR_WHITE); - dw_draw_rect(0, text1pm, TRUE, 0, 0, font_width*width1, font_height*rows); - dw_draw_rect(0, text2pm, TRUE, 0, 0, font_width*width2, font_height*rows); + dw_font_text_extents( NULL, text1pm, "O", &font_width, &font_height ); + dw_messagebox("DWTest", "Width: %d Height: %d\n", font_width, font_height); - dw_font_text_extents( NULL, text1pm, "O", &font_width, &font_height ); - dw_messagebox("DWTest", "Width: %d Height: %d\n", font_width, font_height); + dw_color_background_set( DW_CLR_WHITE ); + for ( i = 0;i < 100; i++) + { + y = i*font_height; - dw_color_background_set( DW_CLR_WHITE ); - for ( i = 0;i < 100; i++) - { - y = i*font_height; + dw_color_foreground_set( DW_CLR_BLACK ); + sprintf( buf, "%6.6d", i ); + dw_draw_text( NULL, text1pm, 0, y, buf); + dw_draw_text( NULL, text2pm, 0, y, buf); + } + dw_signal_connect(textbox1, "expose_event", DW_SIGNAL_FUNC(text_expose), text1pm); + dw_signal_connect(textbox2, "expose_event", DW_SIGNAL_FUNC(text_expose), text2pm); +} - dw_color_foreground_set( DW_CLR_BLACK ); - sprintf( buf, "%6.6d", i ); - dw_draw_text( NULL, text1pm, 0, y, buf); - dw_draw_text( NULL, text2pm, 0, y, buf); - } - dw_signal_connect(textbox1, "expose_event", DW_SIGNAL_FUNC(text_expose), text1pm); - dw_signal_connect(textbox2, "expose_event", DW_SIGNAL_FUNC(text_expose), text2pm); +/* Beep every second */ +int DWSIGNAL timer_callback(void *data) +{ + dw_beep(200, 200); + + /* Return TRUE so we get called again */ + return TRUE; } /* @@ -193,39 +202,39 @@ */ int main(int argc, char *argv[]) { - ULONG notebookpage1; + ULONG notebookpage1; ULONG notebookpage2; + int timerid; - dw_init(TRUE, argc, argv); - - mainwindow = dw_window_new( HWND_DESKTOP, "dwindows test", flStyle | DW_FCF_SIZEBORDER | DW_FCF_MINMAX ); + dw_init(TRUE, argc, argv); - notebookbox = dw_box_new( BOXVERT, 5 ); - dw_box_pack_start( mainwindow, notebookbox, 1, 1, TRUE, TRUE, 0); + mainwindow = dw_window_new( HWND_DESKTOP, "dwindows test", flStyle | DW_FCF_SIZEBORDER | DW_FCF_MINMAX ); - notebook = dw_notebook_new( 1, TRUE ); - dw_box_pack_start( notebookbox, notebook, 100, 100, TRUE, TRUE, 0); - dw_window_set_font( notebook, "8.WarpSans"); + notebookbox = dw_box_new( BOXVERT, 5 ); + dw_box_pack_start( mainwindow, notebookbox, 1, 1, TRUE, TRUE, 0); + + notebook = dw_notebook_new( 1, TRUE ); + dw_box_pack_start( notebookbox, notebook, 100, 100, TRUE, TRUE, 0); + dw_window_set_font( notebook, "8.WarpSans"); - notebookbox1 = dw_box_new( BOXVERT, 5 ); - notebookpage1 = dw_notebook_page_new( notebook, 0, TRUE ); - dw_notebook_pack( notebook, notebookpage1, notebookbox1 ); - fprintf( stderr, "page1: %ld\n", notebookpage1 ); - dw_notebook_page_set_text( notebook, notebookpage1, "first page"); - archive_add(); + notebookbox1 = dw_box_new( BOXVERT, 5 ); + notebookpage1 = dw_notebook_page_new( notebook, 0, TRUE ); + dw_notebook_pack( notebook, notebookpage1, notebookbox1 ); + dw_notebook_page_set_text( notebook, notebookpage1, "first page"); + archive_add(); - notebookbox2 = dw_box_new( BOXVERT, 5 ); - notebookpage2 = dw_notebook_page_new( notebook, 1, FALSE ); - dw_notebook_pack( notebook, notebookpage2, notebookbox2 ); - fprintf( stderr, "page2: %ld\n",notebookpage2); - dw_notebook_page_set_text( notebook, notebookpage2, "second page"); - text_add(); + notebookbox2 = dw_box_new( BOXVERT, 5 ); + notebookpage2 = dw_notebook_page_new( notebook, 1, FALSE ); + dw_notebook_pack( notebook, notebookpage2, notebookbox2 ); + dw_notebook_page_set_text( notebook, notebookpage2, "second page"); + text_add(); - dw_signal_connect(mainwindow, "delete_event", DW_SIGNAL_FUNC(exit_callback), (void *)mainwindow); - dw_window_set_usize(mainwindow, 640, 480); - dw_window_show(mainwindow); + dw_signal_connect(mainwindow, "delete_event", DW_SIGNAL_FUNC(exit_callback), (void *)mainwindow); + timerid = dw_timer_connect(mainwindow, 1000, DW_SIGNAL_FUNC(timer_callback), 0); + dw_window_set_usize(mainwindow, 640, 480); + dw_window_show(mainwindow); - dw_main(); + dw_main(); - return 0; + return 0; }