def create_form_0(self):
     self.pform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 400, 470)
     pobj = xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 400, 470, "")
     xfl.fl_set_object_color(pobj, xfl.FL_SLATEBLUE, xfl.FL_COL1)
     pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 140, 40, 120, 120,
             "This is\na multi-line\nlabelT")
     xfl.fl_set_object_boxtype(pobj, xfl.FL_BORDER_BOX)
     xfl.fl_set_object_lalign(pobj, xfl.FL_ALIGN_TOP)
     pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 140, 160, 120, 120,
             "This is\na multi-line\nlabelC")
     xfl.fl_set_object_boxtype(pobj, xfl.FL_BORDER_BOX)
     xfl.fl_set_object_color(pobj, xfl.FL_PALEGREEN, xfl.FL_COL1)
     xfl.fl_set_object_lsize(pobj, xfl.FL_LARGE_SIZE)
     xfl.fl_set_object_lalign(pobj, xfl.FL_ALIGN_CENTER)
     self.preadyobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 280, 400, \
             100, 50, "I am sure\nthat I am\nReady")
     xfl.fl_set_object_lsize(self.preadyobj, xfl.FL_SMALL_SIZE)
     pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 260, 160, 120, 120,
             "This is\na multi-line\nlabelR")
     xfl.fl_set_object_boxtype(pobj, xfl.FL_BORDER_BOX)
     xfl.fl_set_object_lalign(pobj, xfl.FL_ALIGN_RIGHT)
     pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 140, 280, 120, 120,
             "This is\na multi-line\nlabelB")
     xfl.fl_set_object_boxtype(pobj, xfl.FL_BORDER_BOX)
     xfl.fl_set_object_lalign(pobj, xfl.FL_ALIGN_BOTTOM)
     pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 20, 160, 120, 120,
             "This is\na multi-line\nlabelL")
     xfl.fl_set_object_boxtype(pobj, xfl.FL_BORDER_BOX)
     xfl.fl_end_form()
 def create_form_form0(self):
     fdui = FD_form0()
     fdui.form0 = xfl.fl_bgn_form(xfl.FL_NO_BOX, 320, 250)
     xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 320, 250, "")
     xfl.fl_add_frame(xfl.FL_ENGRAVED_FRAME, 200, 70, 95, 100, "")
     fdui.butt = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 20, 70, \
             170, 100, "A Button")
     fdui.enter = xfl.fl_add_checkbutton(xfl.FL_PUSH_BUTTON, 210, 70, \
             45, 30, "Enter")
     fdui.leave = xfl.fl_add_checkbutton(xfl.FL_PUSH_BUTTON, 210, 95, \
             40, 30, "Leave")
     fdui.push = xfl.fl_add_checkbutton(xfl.FL_PUSH_BUTTON, 210, 120, \
             50, 30, "Push")
     fdui.release = xfl.fl_add_checkbutton(xfl.FL_PUSH_BUTTON, 210, 140, \
             60, 30, "Release")
     pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 55, 15, 220, 30, \
             "Pre-emptive Handler")
     xfl.fl_set_object_lsize(pobj, xfl.FL_MEDIUM_SIZE)
     xfl.fl_set_object_lalign(pobj, xfl.FL_ALIGN_CENTER)
     xfl.fl_set_object_lstyle(pobj, xfl.FL_BOLD_STYLE)
     fdui.peek = xfl.fl_add_checkbutton(xfl.FL_RADIO_BUTTON, 150, 40, \
             35, 30, "Peek")
     xfl.fl_set_object_color(fdui.peek, xfl.FL_COL1, xfl.FL_BLUE)
     fdui.override = xfl.fl_add_checkbutton(xfl.FL_RADIO_BUTTON, \
             210, 40, 35, 30, "Override")
     xfl.fl_set_object_color(fdui.override, xfl.FL_COL1, xfl.FL_BLUE)
     fdui.event = xfl.fl_add_box(xfl.FL_FLAT_BOX, 40, 180, 245, 25, "")
     fdui.done = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 170, 210, \
             100, 30, "Done")
     xfl.fl_end_form()
     return fdui
def create_form_fbform():
    fdui = FD_fbform()
    fdui.vdata = fdui.cdata = None
    fdui.ldata = 0
    fdui.fbform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 371, 361)
    pobj = xfl.fl_add_box( xfl.FL_UP_BOX, 0, 0, 371, 361, "")
    fdui.browser = xfl.fl_add_browser(xfl.FL_NORMAL_BROWSER, 20, 50, \
            240, 290, "")
    xfl.fl_set_object_color(fdui.browser, xfl.FL_COL1, xfl.FL_YELLOW)
    pobj = xfl.fl_add_checkbutton(xfl.FL_RADIO_BUTTON, 270, 50, 70, \
            25, "AlphaSort")
    xfl.fl_set_object_callback(pobj, sort_method_cb, xfl.FL_ALPHASORT)
    xfl.fl_set_button(pobj, 1)
    pobj = xfl.fl_add_checkbutton( xfl.FL_RADIO_BUTTON, 270, 85, 70, \
            25, "SizeSort")
    xfl.fl_set_object_callback(pobj, sort_method_cb, xfl.FL_SIZESORT)
    pobj = xfl.fl_add_checkbutton(xfl.FL_RADIO_BUTTON, 270, 120, 70, \
            25, "TimeSort")
    xfl.fl_set_object_callback(pobj, sort_method_cb, xfl.FL_MTIMESORT)
    pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 275, 310, 75, 25, \
            "Done")
    xfl.fl_set_object_lalign(pobj, xfl.FL_ALIGN_CENTER)
    xfl.fl_set_object_callback(pobj, done_cb, 0)
    fdui.total = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 10, 15, 220, \
            30, "")
    xfl.fl_set_object_boxtype(fdui.total, xfl.FL_NO_BOX)
    xfl.fl_end_form()
    return fdui
    def create_form_x(self):

        fdui = FD_x()
        fdui.x = xfl.fl_bgn_form(xfl.FL_FLAT_BOX, 170, 176)
        pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 20, 10, 150, 50, \
                "Click on the digits...\n(left or right button)")
        xfl.fl_set_object_lsize(pobj, xfl.FL_NORMAL_SIZE)

        fdui.c = xfl.fl_add_button(xfl.FL_TOUCH_BUTTON, 40, 65, 90, 40, "012345")
        xfl.fl_set_object_boxtype(fdui.c, xfl.FL_EMBOSSED_BOX );
        xfl.fl_set_object_color(fdui.c, xfl.FL_YELLOW, xfl.FL_YELLOW );
        xfl.fl_set_object_lstyle(fdui.c, \
                xfl.FL_FIXED_STYLE | xfl.FL_EMBOSSED_STYLE)
        xfl.fl_set_object_lsize(fdui.c, xfl.FL_LARGE_SIZE );
        xfl.fl_set_object_callback(fdui.c, self.ccb, 0)
        xfl.fl_set_button_mouse_buttons(fdui.c, 1 | 4 | 8 | 16)
        xfl.fl_set_object_helper(fdui.c, \
                "May not look like a button but it's one...\n" \
                "(Also try the scroll wheel if you have.)" )

        pobj = xfl.fl_add_button(xfl.FL_RETURN_BUTTON, 50, 130, 70, 30, "Exit" );
        xfl.fl_set_button_mouse_buttons(pobj, 1)

        xfl.fl_end_form()
        xfl.fl_adjust_form_size(fdui.x)
        return fdui
    def create_forms(self):

        self.sampleform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 320, 250)

        self.ptrflobj0 = xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 320, 250, '')
        xfl.fl_set_object_color(self.ptrflobj0, xfl.FL_COL1, xfl.FL_COL1)
        xfl.fl_set_object_lalign(self.ptrflobj0, xfl.FL_ALIGN_CENTER)
        xfl.fl_set_object_lstyle(self.ptrflobj0, xfl.FL_NORMAL_STYLE)
        xfl.fl_set_object_lsize(self.ptrflobj0, xfl.FL_DEFAULT_SIZE)
        xfl.fl_set_object_lcol(self.ptrflobj0, xfl.FL_BLACK)
        xfl.fl_set_object_resize(self.ptrflobj0, xfl.FL_RESIZE_ALL)
        xfl.fl_set_object_gravity(self.ptrflobj0, xfl.FL_NoGravity, xfl.FL_NoGravity)
        self.ptext = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 40, 40, 240, 110, 'My name is text,\nspecial agent Text from the Earth')
        xfl.fl_set_object_boxtype(self.ptext, xfl.FL_DOWN_BOX)
        xfl.fl_set_object_color(self.ptext, xfl.FL_COL1, xfl.FL_MCOL)
        xfl.fl_set_object_lalign(self.ptext, xfl.FL_ALIGN_RIGHT_TOP|xfl.FL_ALIGN_INSIDE)
        xfl.fl_set_object_lstyle(self.ptext, xfl.FL_NORMAL_STYLE)
        xfl.fl_set_object_lsize(self.ptext, 11)
        xfl.fl_set_object_lcol(self.ptext, xfl.FL_BLACK)
        xfl.fl_set_object_resize(self.ptext, xfl.FL_RESIZE_X)
        xfl.fl_set_object_gravity(self.ptext, xfl.FL_NoGravity, xfl.FL_NoGravity)
        xfl.fl_set_object_shortcut(self.ptext, 'T', 1)
        xfl.fl_set_object_callback(self.ptext, self.textcb, 0)

        xfl.fl_end_form()
    def create_form_twheelform(self):
        twheelform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 220, 260)

        pobj = xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 220, 260, "")
        pobj = xfl.fl_add_frame(xfl.FL_ENGRAVED_FRAME, 15, 70, 190, 130, "")
        self.pvert = xfl.fl_add_thumbwheel(xfl.FL_VERT_THUMBWHEEL, \
                30, 90, 20, 100, "")
        xfl.fl_set_object_callback(self.pvert, self.valchange_cb, 0)
        xfl.fl_set_thumbwheel_step(self.pvert, 0.01)
        self.phor = xfl.fl_add_thumbwheel(xfl.FL_HOR_THUMBWHEEL, \
                60, 130, 120, 23, "")
        xfl.fl_set_object_callback(self.phor, self.valchange_cb, 0)
        xfl.fl_set_thumbwheel_step(self.phor, 0.01)
        self.preport = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 60, 90, \
                120, 30, "")
        xfl.fl_set_object_lalign(self.preport, xfl.FL_ALIGN_CENTER | \
                xfl.FL_ALIGN_INSIDE)
        preturnsetting = xfl.fl_add_select(xfl.FL_NORMAL_SELECT, \
                35, 20, 160, 30, "")
        xfl.fl_set_object_boxtype(preturnsetting, xfl.FL_EMBOSSED_BOX)
        xfl.fl_set_object_callback(preturnsetting, self.returnchange_cb, 0)
        xfl.fl_add_select_items(preturnsetting, "End & Changed")
        xfl.fl_add_select_items(preturnsetting, "Whenever Changed")
        xfl.fl_add_select_items(preturnsetting, "Always At End")
        xfl.fl_add_select_items(preturnsetting, "Always")
        pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 120, 215, \
                80, 30, "Enough")
        xfl.fl_set_object_lalign(pobj, xfl.FL_ALIGN_CENTER)

        xfl.fl_end_form()
        return twheelform
 def create_form_fontsform(self):
     fdui = FD_fontsform()
     fdui.pfontsform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 371, 296)
     pobj = xfl.fl_add_box(xfl.FL_FLAT_BOX, 0, 0, 371, 296, "")
     xfl.fl_set_object_color(pobj, xfl.FL_SLATEBLUE, xfl.FL_COL1)
     fdui.pfontobj = xfl.fl_add_browser(xfl.FL_HOLD_BROWSER, 10, 145, \
             195, 135, "")
     xfl.fl_set_object_lalign(fdui.pfontobj, \
             xfl.fl_to_inside_lalign(xfl.FL_ALIGN_BOTTOM))
     xfl.fl_set_object_callback(fdui.pfontobj, self.style_cb, 0)
     fdui.psizeobj = xfl.fl_add_browser(xfl.FL_HOLD_BROWSER, 215, 145, \
             145, 135, "")
     xfl.fl_set_object_lalign(fdui.psizeobj, \
             xfl.fl_to_inside_lalign(xfl.FL_ALIGN_BOTTOM))
     xfl.fl_set_object_callback(fdui.psizeobj, self.size_cb, 0)
     fdui.ptextobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 10, 5, 351, \
             125, "The quick brown\nfox jumps over\nthe lazy dog.")
     xfl.fl_set_object_boxtype(fdui.ptextobj, xfl.FL_FRAME_BOX)
     xfl.fl_set_object_lalign(fdui.ptextobj, xfl.FL_ALIGN_CENTER)
     pobj = xfl.fl_add_button(xfl.FL_HIDDEN_BUTTON, 0, 0, 370, 140, \
             "Button")
     xfl.fl_set_button_shortcut(pobj, "^[qQ", 1)
     xfl.fl_set_object_callback(pobj, self.done_cb, 0)
     xfl.fl_end_form()
     return fdui
    def create_form_canvasform(self):
        fdui = FD_canvasform()

        fdui.canvasform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 450, 280)
        xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 450, 280, "")

        fdui.canvas = xfl.fl_add_canvas(xfl.FL_NORMAL_CANVAS, 20, 40, \
                155, 187, "")
        xfl.fl_set_object_color(fdui.canvas, xfl.FL_BLACK, xfl.FL_COL1)

        fdui.br = xfl.fl_add_browser(xfl.FL_NORMAL_BROWSER, 188, 40, \
                152, 187, "")

        pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 103, 10, 150, 20, \
                "Canvas Events")
        xfl.fl_set_object_lsize(pobj, xfl.FL_MEDIUM_SIZE)
        xfl.fl_set_object_lalign(pobj, xfl.FL_ALIGN_CENTER)
        xfl.fl_set_object_lstyle(pobj, xfl.FL_BOLD_STYLE)

        fdui.keyboard = xfl.fl_add_checkbutton(xfl.FL_PUSH_BUTTON, 345, 40, \
                76, 26, "Keyboard")
        xfl.fl_set_object_color(fdui.keyboard, xfl.FL_COL1, xfl.FL_BLUE)
        xfl.fl_set_object_callback(fdui.keyboard, self.sensitive_setting, \
                xfl.KeyPress)

        fdui.mouse = xfl.fl_add_checkbutton(xfl.FL_PUSH_BUTTON, 345, 70, 76, 26, \
                "Buttons")
        xfl.fl_set_object_color(fdui.mouse, xfl.FL_COL1, xfl.FL_BLUE)
        xfl.fl_set_object_callback(fdui.mouse, self.sensitive_setting, \
                xfl.ButtonPress)

        fdui.move = xfl.fl_add_checkbutton(xfl.FL_PUSH_BUTTON, 345, 100, 74, 26, \
                "Movements")
        xfl.fl_set_object_color(fdui.move, xfl.FL_COL1, xfl.FL_BLUE)
        xfl.fl_set_object_callback(fdui.move, self.sensitive_setting, \
                xfl.MotionNotify)

        fdui.misc = xfl.fl_add_checkbutton(xfl.FL_PUSH_BUTTON, 345, 130, \
                74, 26, "Enter\nLeave")
        xfl.fl_set_object_color(fdui.misc, xfl.FL_COL1, xfl.FL_BLUE)
        xfl.fl_set_object_callback(fdui.misc, self.sensitive_setting, \
                xfl.EnterNotify)

        pobj = xfl.fl_add_button(xfl.FL_PUSH_BUTTON, 30, 240, 90, 27, "Deactivate")
        xfl.fl_set_object_callback(pobj, self.disable_it, 0)

        pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 130, 240, 90, 27, \
                "Hide canvas")
        xfl.fl_set_object_callback(pobj, self.hide_it, 0)

        pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 230, 240, 90, 27, "Clear")
        xfl.fl_set_object_callback(pobj, self.clear_list, 0)

        xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 330, 240, 90, 27, "Done")

        xfl.fl_end_form()
        return fdui
 def create_form_form(self):
     fdui = FD_form()
     fdui.form = xfl.fl_bgn_form(xfl.FL_NO_BOX, 320, 130)
     pobj = xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 320, 130, "")
     pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 210, 80, 90, 35, "Done")
     xfl.fl_set_object_callback(pobj, self.exit_cb, 0)
     fdui.restart = xfl.fl_add_button(xfl.FL_TOUCH_BUTTON, 110, 80, \
             90, 35, "Restart")
     xfl.fl_set_object_callback(fdui.restart, self.start_timer, 0)
     fdui.report = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 10, 20, 290, 50,"")
     xfl.fl_end_form()
     return fdui
def create_form_xyplot():
    global fxyplot, xyplot

    xy = 0         #XYType *xy  = xytype;
    dx = 180
    dy = 160
    i = 0
    if N % 3:
        tmpval = 1
    else:
        tmpval = 0
    j = N / 3 + tmpval

    if fxyplot:
        return

    fxyplot = xfl.fl_bgn_form(xfl.FL_NO_BOX, 3 * (dx + 20) + 20, \
            j * (dy + 30) + 120)

    xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, \
            3 * (dx + 20) + 20, j * (dy + 30) + 120, "")

    for j in range(0, N):
        try:
            u = xytype[xy]
        except IndexError:      # end of xytype list
            break
        for i in range(0, 3):
            try:
                u = xytype[xy]
            except IndexError:      # end of xytype list
                break
            xyplot[3 * j + i] = pobj = xfl.fl_add_xyplot(xytype[xy]["type"], \
                    i * (dx + 20) + 20, j * (dy + 30) + 60, dx, dy, \
                    xytype[xy]["name"])
            xfl.fl_set_object_lsize(pobj, xfl.FL_TINY_SIZE)
            xfl.fl_set_object_color(pobj, xfl.FL_COL1, xytype[xy]["color"])
            xy += 1
        i = 0

    pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, \
            (3 * (dx + 20) + 20) / 2 - 50, j * (dy + 30) + 60, 100, 30, "Exit")
    xfl.fl_set_object_callback(pobj, done_xyplot, 0)

    pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, (3 * (dx + 20) + 20) / 2 - 90, \
            15, 240, 30, "FL_XYPLOT")
    xfl.fl_set_object_lcol(pobj, xfl.FL_SLATEBLUE)
    xfl.fl_set_object_lsize(pobj, xfl.FL_HUGE_SIZE)
    xfl.fl_set_object_lstyle(pobj, xfl.FL_BOLD_STYLE|xfl.FL_EMBOSSED_STYLE)
    xfl.fl_set_object_boxtype(pobj, xfl.FL_FLAT_BOX)

    xfl.fl_end_form()
 def create_form_inputform(self):
     fdui = FD_inputform()
     fdui.inputform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 475, 485)
     pobj = xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 475, 485, "")
     fdui.input1 = xfl.fl_add_input(xfl.FL_MULTILINE_INPUT, 15, 275, \
             350, 180, "")
     xfl.fl_set_object_lalign(fdui.input1, xfl.FL_ALIGN_TOP)
     xfl.fl_set_object_callback(fdui.input1, self.input_callback, 1)
     fdui.howreturn = xfl.fl_add_checkbutton(xfl.FL_PUSH_BUTTON,
             375, 435, 80, 35, "always\nreturn")
     xfl.fl_set_object_color(fdui.howreturn, xfl.FL_COL1, xfl.FL_BLUE)
     xfl.fl_set_object_callback(fdui.howreturn, self.howreturn_callback, 0)
     fdui.status = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 20, 15, 270, 30, "")
     xfl.fl_set_object_boxtype(fdui.status, xfl.FL_FRAME_BOX)
     xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 375, 15, 80, 35, "Done")
     fdui.input2 = xfl.fl_add_input(xfl.FL_MULTILINE_INPUT, 15, 60, \
             349, 185, "")
     xfl.fl_set_object_lalign(fdui.input2, xfl.FL_ALIGN_TOP)
     xfl.fl_set_object_callback(fdui.input2, self.input_callback, 2)
     xfl.fl_end_form()
     return fdui
 def create_form_staticform(self):
     fdui = FD_staticform()
     fdui.staticform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 431, 211)
     pobj = xfl.fl_add_box(xfl.FL_FLAT_BOX, 0, 0, 431, 211, "")
     xfl.fl_set_object_color(pobj, xfl.FL_INDIANRED, xfl.FL_INDIANRED)
     xfl.fl_set_object_lcolor(pobj, xfl.FL_INDIANRED)
     pobj1 = xfl.fl_add_box(xfl.FL_UP_BOX, 40, 40, 60, 45, "A Box")
     pobj2 = xfl.fl_add_labelframe(xfl.FL_ENGRAVED_FRAME, 130, 30, 120, 55, "LabelFrame")
     xfl.fl_set_object_color(pobj2, xfl.FL_BLACK, xfl.FL_INDIANRED)
     xfl.fl_set_object_lstyle(pobj2, xfl.FL_BOLD_STYLE)
     fdui.chart = xfl.fl_add_chart(xfl.FL_PIE_CHART, 270, 20, 130, 105, "")
     xfl.fl_set_object_color(fdui.chart, xfl.FL_INDIANRED, xfl.FL_COL1)
     pobj3 = xfl.fl_add_clock(xfl.FL_ANALOG_CLOCK, 30, 100, 85, 85, "")
     xfl.fl_set_object_color(pobj3, xfl.FL_COL1, xfl.FL_RIGHT_BCOL)
     pobj4 = xfl.fl_add_bitmap(xfl.FL_NORMAL_BITMAP, 150, 140, 30, 25, "")
     xfl.fl_set_bitmap_file(pobj4, "srs.xbm")
     pobj5 = xfl.fl_add_pixmap(xfl.FL_NORMAL_PIXMAP, 210, 120, 60, 60, "")
     xfl.fl_set_pixmap_file(pobj5, "porsche.xpm")
     pobj6 = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 310, 150, 70, 25, "Text")
     xfl.fl_set_object_boxtype(pobj6, xfl.FL_BORDER_BOX)
     xfl.fl_end_form()
     return fdui
    def fill_values_in_table(self):

        firstcellposx = initx + wcell
        firstcellposy = inity + hcell
        fontsize = xfl.FL_NORMAL_SIZE
        for row in range (0, len(row_headers)):
            for coln in range(0, len(coln_headers)):
                # set the size to fit text in
                cellvalue = table_values[row][coln]
                rightwidth = len(cellvalue)*10
                if rightwidth < wcell:          #mincellwidth[coln]
                    cellwidth[coln] = wcell     #mincellwidth[coln]
                    fontsize = xfl.FL_NORMAL_SIZE
                elif rightwidth >= wcell:       #mincellwidth[coln]
                    cellwidth[coln] = rightwidth
                    fontsize = xfl.FL_TINY_SIZE
                # fill cell with text
                ptxtcell = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, \
                             (wcell*coln) + firstcellposx, \
                             (hcell*row) + firstcellposy, \
                             cellwidth[coln], hcell, cellvalue)
                #ptxtcell = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, \
                #             table_relpos[row][coln][0] + firstcellposx, \
                #             table_relpos[row][coln][1] + firstcellposy, \
                #             cellwidth[coln], 25, table_values[row][coln])
                xfl.fl_set_object_lcol(ptxtcell, xfl.FL_GREENYELLOW)
                xfl.fl_set_object_lstyle(ptxtcell, xfl.FL_FIXED_STYLE)
                xfl.fl_set_object_lsize(ptxtcell, fontsize)
                xfl.fl_set_object_resize(ptxtcell, xfl.FL_RESIZE_ALL)
                if cellvalue.isdigit():
                    xfl.fl_set_object_lalign(ptxtcell, xfl.FL_ALIGN_RIGHT)
                else:
                    xfl.fl_set_object_lalign(ptxtcell, xfl.FL_ALIGN_LEFT)

        xfl.fl_adjust_form_size(self.pform)
        xfl.fl_redraw_form(self.pform)
def create_form_objsform():
    fdui = FD_objsform()
    fdui.objsform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 456, 361)
    xfl.fl_add_box(xfl.FL_FLAT_BOX, 0, 0, 456, 361, "")
    xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 455, 360, "")
    xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 456, 70, "")
    fdui.button[0] = xfl.fl_add_button(xfl.FL_RADIO_BUTTON, 15, 20, 75, \
            30, "Static")
    xfl.fl_set_object_lsize(fdui.button[0], xfl.FL_NORMAL_SIZE)
    xfl.fl_set_object_lstyle(fdui.button[0], xfl.FL_TIMESBOLD_STYLE)
    xfl.fl_set_object_callback(fdui.button[0], show_group, 0)
    fdui.button[1] = xfl.fl_add_button( xfl.FL_RADIO_BUTTON, 90, 20, 75, \
            30, "Button")
    xfl.fl_set_object_lsize(fdui.button[1], xfl.FL_NORMAL_SIZE)
    xfl.fl_set_object_lstyle(fdui.button[1], xfl.FL_TIMESBOLD_STYLE)
    xfl.fl_set_object_callback(fdui.button[1], show_group, 1)
    fdui.button[2] = xfl.fl_add_button( xfl.FL_RADIO_BUTTON, 165, 20, 70, \
            30, "Valuator")
    xfl.fl_set_object_lsize(fdui.button[2], xfl.FL_NORMAL_SIZE)
    xfl.fl_set_object_lstyle(fdui.button[2], xfl.FL_TIMESBOLD_STYLE)
    xfl.fl_set_object_callback(fdui.button[2], show_group, 2)
    fdui.button[3] = xfl.fl_add_button( xfl.FL_RADIO_BUTTON, 235, 20, 70, \
            30, "Input")
    xfl.fl_set_object_lsize(fdui.button[3], xfl.FL_NORMAL_SIZE)
    xfl.fl_set_object_lstyle(fdui.button[3], xfl.FL_TIMESBOLD_STYLE)
    xfl.fl_set_object_callback(fdui.button[3], show_group, 3)
    fdui.button[4] = xfl.fl_add_button( xfl.FL_RADIO_BUTTON, 305, 20, 70, \
            30, "Other")
    xfl.fl_set_object_lsize(fdui.button[4], xfl.FL_NORMAL_SIZE)
    xfl.fl_set_object_lstyle(fdui.button[4], xfl.FL_TIMESBOLD_STYLE)
    xfl.fl_set_object_callback(fdui.button[4], show_group, 4)
    xfl.fl_add_box(xfl.FL_UP_BOX, 0, 70, 456, 291, "")
    xfl.fl_add_box(xfl.FL_DOWN_BOX, 9, 90, 435, 260, "")
    fdui.group[2] = xfl.fl_bgn_group()
    pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 260, 140, 80, 30, "Text")
    xfl.fl_set_object_lalign(pobj, xfl.fl_to_inside_lalign(xfl.FL_ALIGN_LEFT))
    xfl.fl_add_slider(xfl.FL_HOR_BROWSER_SLIDER, 60, 120, 170, 25, "")
    pobj = xfl.fl_add_slider(xfl.FL_HOR_FILL_SLIDER, 60, 160, 170, 30, "")
    xfl.fl_set_slider_value(pobj, 0.54)
    pobj = xfl.fl_add_slider(xfl.FL_VERT_SLIDER, 390, 110, 30, 170, "")
    xfl.fl_set_slider_value(pobj, 0.48)
    xfl.fl_add_valslider(xfl.FL_VERT_SLIDER, 350, 110, 30, 170, "")
    pobj = xfl.fl_add_dial(xfl.FL_FILL_DIAL, 50, 220, 90, 70, "")
    xfl.fl_set_object_color(pobj, xfl.FL_COL1, xfl.FL_BLUE)
    xfl.fl_add_positioner(xfl.FL_NORMAL_POSITIONER, 150, 210, 120, 100, "")
    xfl.fl_add_counter(xfl.FL_NORMAL_COUNTER, 300, 300, 130, 30, "")
    xfl.fl_end_group()
    fdui.group[1] = xfl.fl_bgn_group()
    fdui.bitbutton = xfl.fl_add_bitmapbutton(xfl.FL_NORMAL_BUTTON, 60, 250, \
            50, 40, "")
    fdui.pixbutton = xfl.fl_add_pixmapbutton(xfl.FL_NORMAL_BUTTON, 85, 120, \
            80, 80, "")
    xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 290, 270, 90, 35, "Button")
    pobj = xfl.fl_add_round3dbutton(xfl.FL_PUSH_BUTTON, 260, 95, 60, 40, \
            "Round3DButton")
    xfl.fl_set_object_color(pobj, xfl.FL_COL1, xfl.FL_MAGENTA)
    xfl.fl_add_roundbutton(xfl.FL_PUSH_BUTTON, 220, 140, 60, 40, \
            "RoundButton")
    pobj = xfl.fl_add_checkbutton(xfl.FL_PUSH_BUTTON, 190, 230, 50, 40, \
            "CheckButton")
    xfl.fl_set_object_color(pobj, xfl.FL_COL1, xfl.FL_BLUE)
    xfl.fl_add_lightbutton(xfl.FL_PUSH_BUTTON, 290, 200, 100, 30, \
            "LightButton")
    pobj = xfl.fl_add_button(xfl.FL_PUSH_BUTTON, 120, 290, 100, 35, \
            "Button")
    xfl.fl_set_object_boxtype(pobj, xfl.FL_ROUNDED3D_UPBOX)
    xfl.fl_end_group()
    fdui.group[0] = xfl.fl_bgn_group()
    pobj = xfl.fl_add_box(xfl.FL_UP_BOX, 40, 120, 70, 70, "A Box")
    xfl.fl_set_object_lsize(pobj, xfl.FL_NORMAL_SIZE)
    xfl.fl_set_object_lstyle(pobj, xfl.FL_TIMESBOLD_STYLE)
    fdui.bit = xfl.fl_add_bitmap(xfl.FL_NORMAL_BITMAP, 30, 220, 80, 70, \
            "bitmap")
    xfl.fl_add_clock(xfl.FL_ANALOG_CLOCK, 330, 240, 90, 80, "")
    pobj = xfl.fl_add_frame(xfl.FL_ENGRAVED_FRAME, 130, 120, 80, 70, \
            "A Frame")
    xfl.fl_set_object_lsize(pobj, xfl.FL_NORMAL_SIZE)
    xfl.fl_set_object_lstyle(pobj, xfl.FL_TIMESBOLD_STYLE)
    fdui.pix = xfl.fl_add_pixmap(xfl.FL_NORMAL_PIXMAP, 340, 110, 90, 70, \
            "pixmap")
    fdui.chart = xfl.fl_add_chart(xfl.FL_PIE_CHART, 160, 210, 130, 110, \
            "chart")
    pobj = xfl.fl_add_text(xfl.FL_NORMAL_TEXT, 240, 130, 100, 30, \
            "Text stuff\nand more stuff")
    xfl.fl_set_object_lalign(pobj, \
            xfl.fl_to_inside_lalign(xfl.FL_ALIGN_CENTER))
    xfl.fl_end_group()
    fdui.group[3] = xfl.fl_bgn_group()
    xfl.fl_add_input(xfl.FL_NORMAL_INPUT, 140, 120, 150, 30, "Input")
    xfl.fl_add_input(xfl.FL_MULTILINE_INPUT, 60, 170, 320, 130, "")
    xfl.fl_end_group()
    fdui.quit = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 385, 20, 60, 30, \
            "Quit")
    fdui.group[4] = xfl.fl_bgn_group()
    fdui.menu = xfl.fl_add_nmenu(xfl.FL_NORMAL_NMENU, 190, 110, 40, 19, \
            "Menu")
    xfl.fl_set_object_boxtype(fdui.menu, xfl.FL_FLAT_BOX)
    fdui.choice = xfl.fl_add_select(xfl.FL_NORMAL_SELECT, 290, 110, 120, \
            30, "")
    fdui.browser = xfl.fl_add_browser(xfl.FL_NORMAL_BROWSER, 30, 140, \
            140, 150, "")
    fdui.xyplot = xfl.fl_add_xyplot( xfl.FL_IMPULSE_XYPLOT, 190, 150, \
            240, 180, "")
    xfl.fl_set_object_lsize(fdui.xyplot, xfl.FL_DEFAULT_SIZE)
    xfl.fl_end_group()
    xfl.fl_end_form()
    return fdui
    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()