bool GUIInsertDialog( gui_window *wnd ) { a_dialog *ui_dlg_info; dialog_node *dlg_node; if( GUIGetDlgByWnd( wnd ) != NULL ) { return( true ); } else { ui_dlg_info = (a_dialog *)GUIMemAlloc( sizeof( a_dialog ) ); if( ui_dlg_info == NULL ) { return( false ); } memset( ui_dlg_info, 0, sizeof( a_dialog ) ); ui_dlg_info->vs = &wnd->screen; if( InsertDialog( wnd, ui_dlg_info, 0, NULL, false ) ) { dlg_node = GUIGetDlgByWnd( wnd ); if( dlg_node != NULL ) { if( ResetFieldSize( dlg_node, 0 ) ) { uireinitdialog( ui_dlg_info, ui_dlg_info->fields ); return( true ); } } } return( false ); } }
void *uibegdialog( char *title, VFIELD *fields, ORD rows, ORD cols, int rpos, int cpos ) { char *lines[1]; a_dialog *info; lines[ 0 ] = NULL; info = uicalloc( 1, sizeof( a_dialog ) ); if( info == NULL ) { return( NULL ); } info->vs = uiinitdialog( title, UIData->attrs[ ATTR_NORMAL ], lines, rows, cols, rpos, cpos ); uireinitdialog( info, fields ); return( info ); }
a_dialog *uibegdialog( const char *title, VFIELD *fields, unsigned rows, unsigned cols, int rpos, int cpos ) { char *lines[1]; a_dialog *ui_dlg_info; lines[0] = NULL; ui_dlg_info = uimalloc( sizeof( a_dialog ) ); if( ui_dlg_info == NULL ) { return( NULL ); } ui_dlg_info->field = 0; ui_dlg_info->edit_data = NULL; ui_dlg_info->moving = false; ui_dlg_info->vs = uiinitdialog( title, UIData->attrs[ATTR_NORMAL], lines, rows, cols, rpos, cpos ); uireinitdialog( ui_dlg_info, fields ); return( ui_dlg_info ); }