Ejemplo n.º 1
0
void sample_dialog( void )
{
    ui_event            ui_ev;
    a_dialog            *ui_dlg_info;

    static ui_event     events[] = {
        __rend__,
        EV_ENTER,
        EV_ESCAPE,
        EV_SCREWUP,
        __end__
    };

    ui_dlg_info = uibegdialog( "TEST", FieldDialog, 12, 74, 0, 0 );
    uipushlist( events );
    for( ;; ) {
        ui_ev = uidialog( ui_dlg_info );
        if( ui_ev == EV_ESCAPE || ui_ev == EV_ENTER ) {
            break;
        } else if( ui_ev == EV_SCREWUP ) {
            list_box.data_handle = list_data;
            uiupdatelistbox( &list_box );
        }
    }
    uipoplist( /* events */ );
    uienddialog( ui_dlg_info );
}
Ejemplo n.º 2
0
bool GUIListBoxDeleteItem( a_list *list, int choice )
{
    int         size;
    char        **data;
    int         i;

    size = GUIListSize( list );
    if( choice >= size ) {
        return( FALSE );
    }
    data = (char **)list->data;
    list->data = (char ** )GUIMemAlloc( sizeof( char * ) * size );
    if( list->data == NULL ) {
        list->data = data;
        return( FALSE );
    }
    for( i = 0; i < choice; i++ ) {
        ((char**)list->data)[i] = data[i];
    }
    GUIMemFree( data[choice] );
    for( i = choice; i < size; i++ ) {
        ((char **)list->data)[i] = data[i+1];
    }
    GUIMemFree( data );
    if( choice >= GUIListSize( list )  ) {
        list->choice = 0;
    }
    uiupdatelistbox( list );
    return( TRUE );
}
Ejemplo n.º 3
0
bool GUIListBoxAddTextList( a_list *list, unsigned items, void *handle,
                            char *(*getstring)(void*,unsigned) )
{
    int         i;
    char        *curr_str;
    char        **old_data;
    char        **data;
    int         choice;

    old_data = (char **)list->data;
    choice = -1;
    data = ResizeList( list, items, &choice );
    if( data == NULL ) {
        return( FALSE );
    }
    for( i = 0; i < items; ++i ) {
        curr_str = getstring( handle, i );
        if( !AddString( data, curr_str, choice + i ) ) {
            return( FALSE );
        }
    }
    GUIMemFree( old_data );
    list->data = (void *)data;
    uiupdatelistbox( list );
    return( TRUE );
}
Ejemplo n.º 4
0
bool GUIListBoxDeleteItem( a_list *list, gui_ctl_idx choice )
{
    gui_ctl_idx size;
    lb_data     old_data;
    lb_data     new_data;
    gui_ctl_idx i;

    size = GUIListSize( list );
    if( choice >= size ) {
        return( false );
    }
    new_data = (lb_data)GUIMemAlloc( sizeof( char * ) * size );
    if( new_data == NULL ) {
        return( false );
    }
    old_data = (lb_data)list->data_handle;
    for( i = 0; i < choice; i++ ) {
        new_data[i] = old_data[i];
    }
    GUIMemFree( (void *)old_data[choice] );
    for( i = choice; i < size; i++ ) {
        new_data[i] = old_data[i + 1];
    }
    GUIMemFree( (void *)old_data );
    list->data_handle = (const void *)new_data;
    if( choice >= GUIListSize( list )  ) {
        list->choice = 0;
    }
    uiupdatelistbox( list );
    return( true );
}
Ejemplo n.º 5
0
bool GUIClearListBox( a_list *list )
{
    bool ret;

    GUIFreeList( list, FALSE );
    ret = FillInEmptyList( list );
    uiupdatelistbox( list );
    return( ret );
}
Ejemplo n.º 6
0
static void fillListBox( char *name )
{
    unsigned            index;

    index = HelpFindFirst( searchHdl, name, NULL );
    listBox.choice = index;
    listBox.box->line = index;
    listBox.box->row = index;
    uiupdatelistbox( &listBox );
}
Ejemplo n.º 7
0
bool GUIListBoxTopIndex( a_list *list, int choice, bool set, int *ret )
{
    if( list->box == NULL ) {
        return( FALSE );
    }
    if( set ) {
        list->box->line = choice;
        uiupdatelistbox( list );
    } else {
        *ret = list->box->line;
    }
    return( TRUE );
}
Ejemplo n.º 8
0
bool GUIListBoxTopIndex( a_list *list, gui_ctl_idx choice, bool set, gui_ctl_idx *ret )
{
    if( list->box == NULL ) {
        return( false );
    }
    if( set ) {
        list->box->line = choice;
        uiupdatelistbox( list );
    } else {
        *ret = list->box->line;
    }
    return( true );
}
Ejemplo n.º 9
0
bool GUIListBoxAddText( a_list *list, char *text, int choice )
{
    char        **data;
    char        **old_data;

    old_data = (char **)list->data;
    data = ResizeList( list, 1, &choice );
    if( data == NULL ) {
        return( FALSE );
    }
    if( !AddString( data, text, choice ) ) {
        return( FALSE );
    }
    GUIMemFree( old_data );
    list->data = (void *)data;
    uiupdatelistbox( list );
    return( TRUE );
}
Ejemplo n.º 10
0
bool GUIListBoxAddText( a_list *list, const char *text, gui_ctl_idx choice )
{
    lb_data     new_data;
    lb_data     old_data;

    old_data = (lb_data)list->data_handle;
    new_data = ResizeList( list, 1, &choice );
    if( new_data == NULL ) {
        return( false );
    }
    if( !AddString( new_data, text, choice ) ) {
        return( false );
    }
    GUIMemFree( (void *)old_data );
    list->data_handle = (const void *)new_data;
    uiupdatelistbox( list );
    return( true );
}
Ejemplo n.º 11
0
bool GUIListCurr( a_list *list, gui_ctl_idx choice, bool set, gui_ctl_idx *ret )
{
    if( set ) {
        /* set */
        if( list->get == NULL ) {
            list->get = uigetlistelement;
        }
        if( GUIListSize( list ) >= choice ) {
            list->choice = choice;
            uiupdatelistbox( list );
            return( true );
        } else {
            return( false );
        }
    } else {
        /* get */
        *ret = list->choice;
        return( true );
    }
}
Ejemplo n.º 12
0
bool GUIListCurr( a_list *list, int choice, bool set, int *ret )
{
    if( set ) {
        /* set */
        if( list->get == NULL ) {
            list->get = ( bool (*) ( void *, unsigned, char *, unsigned ) )
                            uigetlistelement;
        }
        if( GUIListSize( list ) >= choice ) {
            list->choice = choice;
            uiupdatelistbox( list );
            return( TRUE );
        } else {
            return( FALSE );
        }
    } else {
        /* get */
        *ret = list->choice;
        return( TRUE );
    }
}
Ejemplo n.º 13
0
bool GUIListBoxAddTextList( a_list *list, int items, const void *data_handle, GUIPICKGETTEXT *getstring )
{
    int         item;
    lb_data     old_data;
    lb_data     new_data;
    gui_ctl_idx choice;

    choice = -1;
    old_data = (lb_data)list->data_handle;
    new_data = ResizeList( list, items, &choice );
    if( new_data == NULL ) {
        return( false );
    }
    for( item = 0; item < items; ++item ) {
        if( !AddString( new_data, getstring( data_handle, item ), choice + item ) ) {
            return( false );
        }
    }
    GUIMemFree( (void *)old_data );
    list->data_handle = (const void *)new_data;
    uiupdatelistbox( list );
    return( true );
}