Exemplo n.º 1
0
int
main( int    argc,
      char * argv[ ] )
{
    FL_FORM *form;
    FL_OBJECT *obj;

    fl_initialize( &argc, argv, "FormDemo", 0, 0 );

    form = fl_bgn_form( FL_UP_BOX, 360, 140);

    obj = fl_add_button( FL_TOUCH_BUTTON, 50, 30, 40, 30, "@<<" );
    fl_set_object_boxtype( obj, FL_FRAME_BOX );
    fl_set_object_color( obj, FL_COL1, FL_INDIANRED );
    fl_set_object_callback( obj, show_val, -5 );
    fl_set_button_shortcut( obj, "1", 0 );

    obj = fl_add_button( FL_TOUCH_BUTTON, 90, 30, 40, 30, "@<" );
    fl_set_object_boxtype( obj, FL_FRAME_BOX );
    fl_set_object_color( obj, FL_COL1, FL_INDIANRED );
    fl_set_object_callback( obj,  show_val, -1 );
    fl_set_button_shortcut( obj, "2",  0 );

    valobj = obj = fl_add_box( FL_BORDER_BOX, 130, 30, 100, 30, "" );
    fl_set_object_color( obj, FL_LEFT_BCOL, FL_LEFT_BCOL );

    obj = fl_add_button( FL_TOUCH_BUTTON, 230, 30, 40, 30, "@>" );
    fl_set_object_boxtype( obj, FL_FRAME_BOX );
    fl_set_object_color( obj, FL_COL1, FL_INDIANRED );
    fl_set_object_callback( obj, show_val, 1 );
    fl_set_button_shortcut( obj, "3", 0 );

    obj = fl_add_button( FL_TOUCH_BUTTON, 270, 30, 40, 30, "@>>" );
    fl_set_object_boxtype( obj, FL_FRAME_BOX );
    fl_set_object_callback( obj, show_val, 5 );
    fl_set_object_color( obj, FL_COL1, FL_INDIANRED );
    fl_set_button_shortcut( obj, "4", 0 );

    fl_add_button( FL_NORMAL_BUTTON, 220, 90, 100, 30, "Exit" );

    fl_end_form( );

    fl_show_form( form, FL_PLACE_CENTER, FL_NOBORDER, "Touch Buttons" );

    fl_do_forms( );
    fl_finish( );

    return 0;
}
Exemplo n.º 2
0
FD_mainWindow *create_form_mainWindow(void)
{
  FL_OBJECT *obj;
  FD_mainWindow *fdui = (FD_mainWindow *) fl_calloc(1, sizeof(*fdui));

  fdui->mainWindow = fl_bgn_form(FL_NO_BOX, 550, 490);
  obj = fl_add_box(FL_UP_BOX,0,0,550,490,"");
  fdui->mainCanvas = obj = fl_add_canvas(FL_NORMAL_CANVAS,10,40,510,420,"");
    fl_set_object_gravity(obj, FL_NorthWest, FL_SouthEast);
  fdui->scroll_h = obj = fl_add_scrollbar(FL_HOR_THIN_SCROLLBAR,10,465,510,20,"");
    fl_set_object_boxtype(obj,FL_DOWN_BOX);
    fl_set_object_gravity(obj, FL_SouthWest, FL_SouthEast);
    fl_set_scrollbar_step(obj, 0.1);
    fl_set_scrollbar_increment(obj, 0.1, 0.1);
  fdui->scroll_v = obj = fl_add_scrollbar(FL_VERT_THIN_SCROLLBAR,525,40,20,420,"");
    fl_set_object_boxtype(obj,FL_DOWN_BOX);
    fl_set_object_gravity(obj, FL_NorthEast, FL_SouthEast);
    fl_set_scrollbar_step(obj, 0.1);
    fl_set_scrollbar_increment(obj, 0.1, 0.1);
  fdui->pause = obj = fl_add_button(FL_NORMAL_BUTTON,410,5,80,30,"Pause");
    fl_set_button_shortcut(obj,"Pp",1);
    fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast);
  fdui->step = obj = fl_add_button(FL_NORMAL_BUTTON,320,5,80,30,"Step (spc)");
    fl_set_button_shortcut(obj," ",1);
    fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast);
  fdui->add_food = obj = fl_add_button(FL_NORMAL_BUTTON,140,5,80,30,"More Food (+)");
    fl_set_button_shortcut(obj,"+",1);
    fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast);
  fdui->remove_food = obj = fl_add_button(FL_NORMAL_BUTTON,230,5,80,30,"Less Food (-)");
    fl_set_button_shortcut(obj,"-",1);
    fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast);
  fdui->file_menu = obj = fl_add_menu(FL_PULLDOWN_MENU,10,10,50,20,"File");
    fl_set_object_shortcut(obj,"Ff",1);
    fl_set_object_lalign(obj,FL_ALIGN_LEFT);
    fl_set_menu_entries(obj, fdmenu_file_menu_1);
  fdui->other_menu = obj = fl_add_menu(FL_PULLDOWN_MENU,60,10,60,20,"Other");
    fl_set_object_shortcut(obj,"Oo",1);
    fl_set_object_lalign(obj,FL_ALIGN_LEFT);
    fl_set_menu_entries(obj, fdmenu_other_menu_2);
  fl_end_form();

  fdui->mainWindow->fdui = fdui;

  return fdui;
}
Exemplo n.º 3
0
static FD_yesno *
create_yesno( void )
{
    FD_yesno *fdui = malloc( sizeof *fdui );
    int oldy = fli_inverted_y;
    int oldu = fl_get_coordunit( );

    fli_inverted_y = 0;
    fl_set_coordunit( FL_COORD_PIXEL );

    fdui->form = fl_bgn_form( FL_FLAT_BOX, 460, 130 );
    fl_set_form_title( fdui->form, "Question" );

    fdui->str = fl_add_box( FL_FLAT_BOX, 20, 15, 420, 65, "" );

    fdui->yes = fl_add_button( FL_NORMAL_BUTTON, 85, 90, 80, 27, "Yes" );
    fl_set_button_shortcut( fdui->yes, "Yy", 1 );

    fdui->no = fl_add_button( FL_NORMAL_BUTTON, 295, 90, 80, 27, "No" );
    fl_set_button_shortcut( fdui->no, "Nn", 1 );

    fli_add_q_icon( 10, 20, 33, 33 );

    fl_end_form( );

    fl_register_raw_callback( fdui->form, FL_ALL_EVENT,
                              fli_goodies_preemptive );

    fl_set_form_atclose( fdui->form, fl_goodies_atclose, fdui->no );

    if ( fli_cntl.buttonFontSize != FL_DEFAULT_SIZE )
        fl_fit_object_label( fdui->no, 22, 2 );

    fli_inverted_y = oldy;
    fl_set_coordunit( oldu );

    return fdui;
}
Exemplo n.º 4
0
int
fl_show_question( const char * str,
                  int          ans )
{
    FL_OBJECT *retobj;
    char shortcut[ 4 ];
    int k = 0;

    if ( fd_yesno )
    {
        fl_hide_form( fd_yesno->form );
        fl_free_form( fd_yesno->form );
        fl_free( fd_yesno );
    }
    else
        fl_deactivate_all_forms( );

    fd_yesno = create_yesno( );

    default_ans = ans;

    fli_parse_goodies_label( fd_yesno->yes, FLQuestionYesLabel );
    fli_parse_goodies_label( fd_yesno->no, FLQuestionNoLabel );

    /* We don't set a shortcut if the first letter of the "yes" label
       is identical to all letters in the "no" label */

    while (    fd_yesno->no->label[ k ]
            && tolower( ( int ) fd_yesno->yes->label[ 0 ] ) ==
                                 tolower( ( int ) fd_yesno->yes->label[ k ] ) )
        k++;

    if ( fd_yesno->no->label[ k ] )
    {
        shortcut[ 0 ] = fd_yesno->yes->label[ 0 ];
        shortcut[ 1 ] = tolower( ( int ) fd_yesno->yes->label[ 0 ] );
        shortcut[ 2 ] = toupper( ( int ) fd_yesno->yes->label[ 0 ] );
        shortcut[ 3 ] = '\0';
        fl_set_button_shortcut( fd_yesno->yes, shortcut, 1 );

        shortcut[ 0 ] = fd_yesno->no->label[ k ];
        shortcut[ 1 ] = toupper( ( int ) fd_yesno->no->label[ k ] );
        shortcut[ 2 ] = tolower( ( int ) fd_yesno->no->label[ k ] );
        fl_set_button_shortcut( fd_yesno->no, shortcut, 1 );
    }

    fli_get_goodie_title( fd_yesno->form, FLQuestionTitle );
    fli_handle_goodie_font( fd_yesno->yes, fd_yesno->str );
    fli_handle_goodie_font( fd_yesno->no, NULL );

    fl_set_object_label( fd_yesno->str, str );

    if ( ans == 1 )
        fl_set_form_hotobject( fd_yesno->form, fd_yesno->yes );
    else if ( ans == 0 )
        fl_set_form_hotobject( fd_yesno->form, fd_yesno->no );
    else
        fl_set_form_hotspot( fd_yesno->form, -1, -1 );

    fl_show_form( fd_yesno->form, FL_PLACE_HOTSPOT, FL_TRANSIENT,
                  fd_yesno->form->label );
    fl_update_display( 0 );

    while ( ( retobj = fl_do_only_forms( ) ) != fd_yesno->yes
            && retobj != fd_yesno->no )
        /* empty */;

    k = retobj == fd_yesno->yes;

    fl_hide_form( fd_yesno->form );
    fl_free_form( fd_yesno->form );
    fli_safe_free( fd_yesno );
    fl_activate_all_forms( );

    return k;
}