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()