Ejemplo n.º 1
0
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 );
    }
}
Ejemplo n.º 2
0
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 );
}
Ejemplo n.º 3
0
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 );
}