def __init__(self, lsysargv, sysargv): self.mess = ["slider returned", "counter returned", \ "input 1 returned", "input 2 returned"] xfl.fl_set_border_width(-2) xfl.fl_initialize(lsysargv, sysargv, "FormDemo", None, 0) self.fd_form0 = self.create_form_form0() # fill-in form initialization code self.set_when(0) xfl.fl_set_object_dblbuffer(self.fd_form0.br, 1) pitem1st = xfl.fl_add_select_items(self.fd_form0.when, "RETURN_NONE") xfl.fl_popup_entry_set_value(pitem1st, xfl.FL_RETURN_NONE) pitem2nd = xfl.fl_insert_select_items(self.fd_form0.when, pitem1st, \ "RETURN_CHANGED") xfl.fl_popup_entry_set_value(pitem2nd, xfl.FL_RETURN_CHANGED) pitem3rd = xfl.fl_insert_select_items(self.fd_form0.when, pitem2nd, \ "RETURN_END") xfl.fl_popup_entry_set_value(pitem3rd, xfl.FL_RETURN_END) pitem4th = xfl.fl_insert_select_items(self.fd_form0.when, pitem3rd, \ "RETURN_END_CHANGED") xfl.fl_popup_entry_set_value(pitem4th, xfl.FL_RETURN_END_CHANGED) pitem5th = xfl.fl_insert_select_items(self.fd_form0.when, pitem4th, \ "RETURN_ALWAYS") xfl.fl_popup_entry_set_value(pitem5th, xfl.FL_RETURN_ALWAYS) # show the first form xfl.fl_show_form(self.fd_form0.form0, xfl.FL_PLACE_CENTER, \ xfl.FL_FULLBORDER, "form0") xfl.fl_do_forms()
def makeform(self): self.pform = xfl.fl_bgn_form(xfl.FL_UP_BOX, 300, 330) self.pbutton = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 45, 15, \ 210, 45, "A Color Editor") xfl.fl_set_object_lsize(self.pbutton, xfl.FL_LARGE_SIZE) #xfl.fl_set_object_callback(self.pbutton, self.exit_cb, 0) self.pred = xfl.fl_add_dial(xfl.FL_FILL_DIAL, 30, 240, 60, 60, "Red") xfl.fl_set_dial_bounds(self.pred, 0.0, 255.0) xfl.fl_set_dial_value(self.pred, 128.0) xfl.fl_set_object_color(self.pred, xfl.FL_DIAL_COL1, xfl.FL_RED) xfl.fl_set_object_return(self.pred, xfl.FL_RETURN_CHANGED) self.predtext = xfl.fl_add_box(xfl.FL_DOWN_BOX, 105, 255, 50, 25, \ "") self.pgreen = xfl.fl_add_dial(xfl.FL_FILL_DIAL, 30, 155, 60, 60, \ "Green") xfl.fl_set_dial_bounds(self.pgreen, 0.0, 255.0) xfl.fl_set_dial_value(self.pgreen, 128.0) xfl.fl_set_dial_angles(self.pgreen, 45.0, 360 - 45.0) xfl.fl_set_object_color(self.pgreen, xfl.FL_DIAL_COL1, xfl.FL_GREEN) xfl.fl_set_object_return(self.pgreen, xfl.FL_RETURN_CHANGED) self.pgreentext = xfl.fl_add_box(xfl.FL_DOWN_BOX, 105, 170, 50, \ 25, "") self.pblue = xfl.fl_add_dial(xfl.FL_FILL_DIAL, 30, 70, 60, 60, \ "Blue") xfl.fl_set_dial_bounds(self.pblue, 0.0, 255.0) xfl.fl_set_dial_value(self.pblue, 128.0) xfl.fl_set_object_color(self.pblue, xfl.FL_DIAL_COL1, xfl.FL_BLUE) xfl.fl_set_dial_direction(self.pblue, xfl.FL_DIAL_CCW) xfl.fl_set_object_return(self.pblue, xfl.FL_RETURN_CHANGED) self.pbluetext = xfl.fl_add_box(xfl.FL_DOWN_BOX, 105, 90, 50, 25, "") self.presult = xfl.fl_add_box(xfl.FL_DOWN_BOX, 180, 70, 90, 245, "") xfl.fl_set_object_color(self.presult, xfl.FL_FREE_COL1, \ xfl.FL_FREE_COL1) xfl.fl_set_object_dblbuffer(self.presult, 1) xfl.fl_end_form()
def makeform(self): label = ["Red", "Green", "Blue"] col = [xfl.FL_RED, xfl.FL_GREEN, xfl.FL_BLUE] y = 70 self.pform = xfl.fl_bgn_form(xfl.FL_UP_BOX, 300, 330) pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 45, 15, \ 210, 45, "Color Editor") xfl.fl_set_object_lsize(pobj, xfl.FL_LARGE_SIZE) for i in range (0, 3): self.pdials[i] = xfl.fl_add_dial(xfl.FL_NORMAL_DIAL, 30, y, \ 60, 60, label[i]) xfl.fl_set_object_boxtype(self.pdials[i], xfl.FL_UP_BOX) xfl.fl_set_dial_bounds(self.pdials[i], 0.0, 255.0) xfl.fl_set_dial_value(self.pdials[i], 128.0) xfl.fl_set_object_color(self.pdials[i], col[i], xfl.FL_DIAL_COL2) xfl.fl_set_object_callback(self.pdials[i], self.cb, i) xfl.fl_set_object_return(self.pdials[i], xfl.FL_RETURN_CHANGED) self.ptexts[i] = xfl.fl_add_box(xfl.FL_DOWN_BOX, 105, y + 17, \ 50, 25, "128") y += 85 self.presult = xfl.fl_add_box(xfl.FL_DOWN_BOX, 180, 70, 90, 245, "") xfl.fl_set_object_color(self.presult, xfl.FL_FREE_COL1, \ xfl.FL_FREE_COL1) xfl.fl_mapcolor(xfl.FL_FREE_COL1, 128, 128, 128) xfl.fl_set_object_dblbuffer(self.presult, 1) # to avoid flicker xfl.fl_end_form()
def __init__(self, lsysargv, sysargv): xfl.fl_set_border_width(-3) xfl.fl_initialize(lsysargv, sysargv, "FormDemo", None, 0) self.ui = self.create_form_fontsform() xfl.fl_scale_form(self.ui.pfontsform, 1.1, 1.2) xfl.fl_set_object_dblbuffer(self.ui.ptextobj, 1) xfl.fl_set_object_bw(self.ui.ptextobj, 5) nfnt = xfl.fl_enumerate_fonts(self.addit, 1) xfl.fl_select_browser_line(self.ui.pfontobj, 1) xfl.fl_addto_browser(self.ui.psizeobj, "8 (tiny)") xfl.fl_addto_browser(self.ui.psizeobj, "10 (small)") xfl.fl_addto_browser(self.ui.psizeobj, "11 (scaled)") xfl.fl_addto_browser(self.ui.psizeobj, "12 (normal)") xfl.fl_addto_browser(self.ui.psizeobj, "13 (scaled)") xfl.fl_addto_browser(self.ui.psizeobj, "14 (medium)") xfl.fl_addto_browser(self.ui.psizeobj, "18 (large)") xfl.fl_addto_browser(self.ui.psizeobj, "24 (Huge)") xfl.fl_addto_browser(self.ui.psizeobj, "30 (scaled)") xfl.fl_select_browser_line(self.ui.psizeobj, 2) xfl.fl_set_object_lstyle(self.ui.ptextobj, xfl.FL_NORMAL_STYLE) xfl.fl_call_object_callback(self.ui.pfontobj) xfl.fl_call_object_callback(self.ui.psizeobj) xfl.fl_show_form(self.ui.pfontsform, xfl.FL_PLACE_CENTER, \ xfl.FL_TRANSIENT, "Fonts") xfl.fl_do_forms()
def create_form(self): self.pform = xfl.fl_bgn_form(xfl.FL_UP_BOX, 390, 420) self.pbrowserobj = xfl.fl_add_browser(xfl.FL_HOLD_BROWSER, \ 20, 20, 210, 330, "") xfl.fl_set_object_dblbuffer(self.pbrowserobj, 1) self.pinputobj = xfl.fl_add_input(xfl.FL_NORMAL_INPUT, 20, 370, \ 210, 30, "") xfl.fl_set_object_return(self.pinputobj, xfl.FL_RETURN_CHANGED) self.pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 250, 20, \ 120, 30, "Add") xfl.fl_set_object_callback(self.pobj, self.addit, 0) self.pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 250, 60, \ 120, 30, "Insert") xfl.fl_set_object_callback(self.pobj, self.insertit, 0) self.pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 250, 100, \ 120, 30, "Replace") xfl.fl_set_object_callback(self.pobj, self.replaceit, 0) self.pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 250, 160, \ 120, 30, "Delete") xfl.fl_set_object_callback(self.pobj, self.deleteit, 0) self.pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 250, 200, \ 120, 30, "Clear") xfl.fl_set_object_callback(self.pobj, self.clearit, 0) self.pexitobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 250, 370, \ 120, 30, "Exit") #xfl.fl_set_object_callback(self.pexitobj, self.exitcb, 0) xfl.fl_end_form()
def main(lsysargv, sysargv): global xyplot xfl.fl_initialize(lsysargv, sysargv, "FormDemo", None, 0) create_form_xyplot() # Make sure double buffer also works for i in range(0, N): xfl.fl_set_object_dblbuffer(xyplot[i], 1) for j in range(0, 21): x[i][j] = j * 3.1415 / 10 + 0.2 y[i][j] = math.sin(2 * x[i][j]) + math.cos(x[i][j]) xfl.fl_set_xyplot_data(xyplot[i], x[i], y[i], 21, "TestTitle", \ "X-axis", "Y|axis") if i == 0: xfl.fl_add_xyplot_text(xyplot[i], x[i][15], 0.1, \ "@2->", xfl.FL_ALIGN_TOP, xfl.FL_BLUE) else: xfl.fl_add_xyplot_text(xyplot[i], x[i][8], 1.4, \ "Text Inset", xfl.FL_ALIGN_CENTER, xfl.FL_BLUE) if i == 3: xfl.fl_set_xyplot_xgrid(xyplot[i], xfl.FL_GRID_MAJOR) xfl.fl_set_xyplot_xgrid(xyplot[i], xfl.FL_GRID_MINOR) elif i == 0: xfl.fl_set_xyplot_xtics(xyplot[i], 7, 2) xfl.fl_set_xyplot_xbounds(xyplot[i], 6, 0) elif i == 1: xfl.fl_set_xyplot_ytics(xyplot[i], 5, 2) xfl.fl_set_xyplot_ybounds(xyplot[i], 2.4, -2.4) xfl.fl_set_object_posthandler(xyplot[i], post) xfl.fl_show_form( fxyplot, xfl.FL_PLACE_MOUSE | xfl.FL_FREE_SIZE, \ xfl.FL_TRANSIENT, "XYplot") while xfl.fl_do_forms(): pass return 0
def create_form_form(self): self.pform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 480, 200) pobj = xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 480, 200, "") self.presult = xfl.fl_add_box(xfl.FL_DOWN_BOX, 310, 20, 150, 160, "") xfl.fl_set_object_dblbuffer(self.presult, 1) self.pco[0] = xfl.fl_add_counter(xfl.FL_NORMAL_COUNTER, 20, 20, \ 270, 30, "") xfl.fl_set_object_color(self.pco[0], xfl.FL_INDIANRED, xfl.FL_RED) xfl.fl_set_object_callback(self.pco[0], self.color_change, 0) self.pco[1] = xfl.fl_add_counter(xfl.FL_NORMAL_COUNTER, 20, 60, \ 270, 30, "") xfl.fl_set_object_color(self.pco[1], xfl.FL_PALEGREEN, xfl.FL_GREEN) xfl.fl_set_object_callback(self.pco[1], self.color_change, 0) self.pco[2] = xfl.fl_add_counter(xfl.FL_NORMAL_COUNTER, 20, 100, \ 270, 30, "") xfl.fl_set_object_color(self.pco[2], xfl.FL_SLATEBLUE, xfl.FL_BLUE) xfl.fl_set_object_callback(self.pco[2], self.color_change, 0) pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 100, 150, 110, 30, \ "Exit") xfl.fl_end_form()
def makeform(self): txt = ["Red", "Green", "Blue"] clr = [xfl.FL_RED, xfl.FL_GREEN, xfl.FL_BLUE] self.pform = xfl.fl_bgn_form(xfl.FL_UP_BOX, 300, 330) pquit = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 45, 15, 210, 45, "A Color Editor") xfl.fl_set_object_lsize(pquit, xfl.FL_LARGE_SIZE) for i in range(RED, BLUE + 1): self.pdial[i] = xfl.fl_add_dial(xfl.FL_LINE_DIAL, 30, 240 - i * 85, 60, 60, txt[i]) xfl.fl_set_dial_bounds(self.pdial[i], 0.0, 255.0) xfl.fl_set_dial_angles(self.pdial[i], 15.0, 345.0) xfl.fl_set_dial_value(self.pdial[i], 128.0) xfl.fl_set_object_color(self.pdial[i], clr[i], xfl.FL_DIAL_COL2) xfl.fl_set_object_return(self.pdial[i], xfl.FL_RETURN_CHANGED) xfl.fl_set_object_callback(self.pdial[i], self.dial_callback, i) self.ptext[i] = xfl.fl_add_box(xfl.FL_DOWN_BOX, 105, 255 - i * 85, 50, 25, "128") self.presult = xfl.fl_add_box(xfl.FL_DOWN_BOX, 180, 70, 90, 245, "") xfl.fl_mapcolor(xfl.FL_FREE_COL1, 128, 128, 128) xfl.fl_set_object_color(self.presult, xfl.FL_FREE_COL1, xfl.FL_FREE_COL1) xfl.fl_set_object_dblbuffer(self.presult, 1) xfl.fl_end_form()
def create_form(self): self.pform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 720, 520) pobj = xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 720, 520, "") xfl.fl_set_object_color(pobj, xfl.FL_BLUE, xfl.FL_COL1) pobj = xfl.fl_add_box(xfl.FL_DOWN_BOX, 10, 90, 700, 420, "") xfl.fl_set_object_color(pobj, xfl.FL_COL1, xfl.FL_COL1) pobj = xfl.fl_add_box(xfl.FL_DOWN_BOX, 10, 10, 700, 70, "") xfl.fl_set_object_color(pobj, xfl.FL_SLATEBLUE, xfl.FL_COL1) tobj[0] = xfl.fl_add_box(xfl.FL_UP_BOX, 30, 110, 110, 110, "Box") tobj[1] = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 30, 240, 110, 30, "Text") tobj[2] = xfl.fl_add_bitmap(xfl.FL_NORMAL_BITMAP, 40, 280, 90, 80, "Bitmap") xfl.fl_set_object_lcol(tobj[2], xfl.FL_BLUE) tobj[3] = xfl.fl_add_chart(xfl.FL_BAR_CHART, 160, 110, 160, 110, "Chart") tobj[4] = xfl.fl_add_clock(xfl.FL_ANALOG_CLOCK, 40, 390, 90, 90, "Clock") xfl.fl_set_object_dblbuffer(tobj[4], 1) tobj[5] = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 340, 110, 120, 30, "Button") tobj[6] = xfl.fl_add_lightbutton(xfl.FL_PUSH_BUTTON, 340, 150, 120, 30, "Lightbutton") tobj[7] = xfl.fl_add_roundbutton(xfl.FL_PUSH_BUTTON, 340, 190, 120, 30, "Roundbutton") tobj[8] = xfl.fl_add_slider(xfl.FL_VERT_SLIDER, 160, 250, 40, 230, "Slider") tobj[9] = xfl.fl_add_valslider(xfl.FL_VERT_SLIDER, 220, 250, 40, 230, "Valslider") tobj[10] = xfl.fl_add_dial(xfl.FL_LINE_DIAL, 280, 250, 100, 100, "Dial") tobj[11] = xfl.fl_add_positioner(xfl.FL_NORMAL_POSITIONER, 280, 380, 150, 100, "Positioner") tobj[12] = xfl.fl_add_counter(xfl.FL_NORMAL_COUNTER, 480, 110, 210, 30, "Counter") tobj[13] = xfl.fl_add_input(xfl.FL_NORMAL_INPUT, 520, 170, 170, 30, "Input") tobj[14] = xfl.fl_add_nmenu(xfl.FL_NORMAL_NMENU, 400, 240, 100, 30, "Menu") tobj[15] = xfl.fl_add_select(xfl.FL_NORMAL_SELECT, 580, 250, 110, 30, "Select") tobj[16] = xfl.fl_add_timer(xfl.FL_VALUE_TIMER, 580, 210, 110, 30, "Timer") xfl.fl_set_object_dblbuffer(tobj[16], 1) tobj[17] = xfl.fl_add_browser(xfl.FL_NORMAL_BROWSER, 450, 300, 240, 180, "Browser") self.pexitob = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 590, 30, 100, 30, "Exit") self.pbtypeob = xfl.fl_add_select(xfl.FL_NORMAL_SELECT, 110, 30, 130, 30, "Boxtype") xfl.fl_set_object_callback(self.pbtypeob, self.boxtype_cb, 0) xfl.fl_popup_set_title(xfl.fl_get_select_popup(self.pbtypeob), "Boxtype") self.pmodeob = xfl.fl_add_select(xfl.FL_NORMAL_SELECT, 370, 30, 130, 30, "Graphics mode") xfl.fl_set_object_callback(self.pmodeob, self.mode_cb, 0) xfl.fl_popup_set_title(xfl.fl_get_select_popup(self.pmodeob), "Graphics mode") xfl.fl_end_form()