xforms

Jan Marik marik na uochb.cas.cz
Čtvrtek Březen 4 13:25:26 CET 1999


Zdravim

Shanim radu ohledne programovani s XForms.
Mam problem s funkci  fl_show_fselector. Je-li volana, vrati nazev
vybraneho souboru ( to funguje), ale kdyz
se klikne na " Cancel" tak to sejme celej program, misto toho aby
zmizelo jen to okno.

Mohl by mi nekdo nakopnout kam se kouknou a co je blbe ?
Prikladam jednoduchy program, ktery muj problem demonstruje. Predem
dekujim za jakoukoliv odpoved.


#include <stdio.h>
#include "forms.h"
#include <stdlib.h>
#include "ff.h"

/* Form definition file generated with fdesign. */

FD_f1 *create_form_f1(void)
{
  FL_OBJECT *obj;
  FD_f1 *fdui = (FD_f1 *) fl_calloc(1, sizeof(*fdui));

  fdui->f1 = fl_bgn_form(FL_NO_BOX, 320, 250);
  obj = fl_add_box(FL_UP_BOX,0,0,320,250,"");
  obj = fl_add_button(FL_NORMAL_BUTTON,60,80,180,40,"B1");
    fl_set_object_callback(obj,load_file,0);
  fdui->bro = obj = fl_add_browser(FL_NORMAL_BROWSER,60,150,180,40,"");
    fl_set_browser_hscrollbar(obj, FL_OFF);
    fl_set_browser_vscrollbar(obj, FL_OFF);
  fl_end_form();

  fdui->f1->fdui = fdui;

  return fdui;
}
/*---------------------------------------*/
/* funkce ktera vola fselector*/

void load_file(FL_OBJECT *obj, long arg)
{
        FD_f1 *fdui=obj->form->fdui;
         const char *fname;
         fname = fl_show_file_selector("Load ","","*","");
        fl_addto_browser(fdui->bro,fname);
}

int main (int argc,char *argv[]){

        FD_f1 *fdui;
        FL_OBJECT *obj;

        fl_initialize(&argc, argv,"Blabla",0,0);
        fdui = create_form_f1();
        fl_show_form(fdui->f1,FL_PLACE_FREE, FL_FULLBORDER,"BlaBla");
        fl_do_forms();
        return 0;
}




Další informace o konferenci Linux