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 __init__(self, lsysargv, sysargv):
     xfl.fl_initialize(lsysargv, sysargv, "FormDemo", None, 0)
     pform = xfl.fl_bgn_form(xfl.FL_UP_BOX, 130, 100)
     self.pbr = xfl.fl_add_browser(xfl.FL_NORMAL_BROWSER, 5, 5, 95, 90, \
             "")
     pbut = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 105, 5, 20, 8, \
             "Exit")
     pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 105, 75, 20, 8, \
             "Load")
     xfl.fl_set_object_callback(pobj, self.load_file, 0)
     pobj = xfl.fl_add_lightbutton(xfl.FL_RADIO_BUTTON, 105, 60, 20, 8, \
             "Small")
     xfl.fl_set_object_callback(pobj, self.set_size, xfl.FL_SMALL_SIZE)
     xfl.fl_call_object_callback(pobj)
     xfl.fl_set_button(pobj, 1)
     pobj = xfl.fl_add_lightbutton(xfl.FL_RADIO_BUTTON, 105, 50, 20, 8, \
             "Normal")
     xfl.fl_set_object_callback(pobj, self.set_size, xfl.FL_NORMAL_SIZE)
     pobj = xfl.fl_add_lightbutton(xfl.FL_RADIO_BUTTON, 105, 40, 20, 8, \
             "Large")
     xfl.fl_set_object_callback(pobj, self.set_size, xfl.FL_LARGE_SIZE)
     xfl.fl_end_form()
     xfl.fl_scale_form(pform, 4.0, 4.0)
     xfl.fl_adjust_form_size(pform)
     xfl.fl_clear_browser(self.pbr)
     xfl.fl_add_browser_line(self.pbr, "LOAD A FILE.")
     xfl.fl_show_form(pform, xfl.FL_PLACE_FREE, xfl.FL_FULLBORDER, \
             "Browser")
     while True:
         pobj = xfl.fl_do_forms()
         if xfl.fl_is_same_object(pobj, pbut):
             break
     xfl.fl_hide_form(pform)
     xfl.fl_finish()
 def makeform(self):
     self.pform = xfl.fl_bgn_form(xfl.FL_UP_BOX, 100, 100)
     for i in range(0, 8):
         for j in range(0, 8):
             strng = str(8 * j + i)
             pobj = xfl.fl_add_button(xfl.FL_RADIO_BUTTON, \
                     11 + 10 * i, 15 + 10 * j, 8, 6, strng)
             xfl.fl_set_object_color(pobj, 8 * j + i, 8 * j + i)
             xfl.fl_set_object_lalign(pobj, xfl.FL_ALIGN_BOTTOM)
             xfl.fl_set_object_callback(pobj, self.change_color, \
                     8 * j + i)
     self.ptopbox = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 30, 5, \
             40, 8, "The Color Map")
     xfl.fl_set_object_lsize(self.ptopbox, xfl.FL_LARGE_SIZE)
     xfl.fl_set_object_lstyle(self.ptopbox, xfl.FL_BOLD_STYLE)
     xfl.fl_end_form()
     xfl.fl_adjust_form_size(self.pform)
 def create_form(self):
     x = 20
     dx = 80
     dy = 28
     pform = xfl.fl_bgn_form(xfl.FL_NO_BOX, 590, 610)
     pobj1 = xfl.fl_add_box(xfl.FL_UP_BOX, 0, 0, 590, 610, "")
     self.pbr = xfl.fl_add_browser(xfl.FL_NORMAL_BROWSER, 20, 20, \
             550, 530, "")
     xfl.fl_set_object_boxtype(self.pbr, xfl.FL_EMBOSSED_BOX)
     pobj1 = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, x, 565, \
             dx-5, dy, "Load")
     xfl.fl_set_object_callback(pobj1, self.load_file, 0)
     x += dx
     pobj2 = xfl.fl_add_lightbutton(xfl.FL_RADIO_BUTTON, x, 565, \
             dx, dy, "Tiny")
     xfl.fl_set_object_callback(pobj2, self.set_size, \
             xfl.FL_TINY_SIZE)
     x += dx
     pobj3 = xfl.fl_add_lightbutton(xfl.FL_RADIO_BUTTON, x , 565, \
             dx, dy, "Small")
     xfl.fl_set_object_callback(pobj3, self.set_size, xfl.FL_SMALL_SIZE)
     xfl.fl_set_button(pobj3, xfl.FL_SMALL_SIZE == xfl.FL_BROWSER_FONTSIZE)
     x += dx
     pobj4 = xfl.fl_add_lightbutton(xfl.FL_RADIO_BUTTON, x , 565, \
             dx, dy, "Normal")
     xfl.fl_set_object_callback(pobj4, self.set_size, xfl.FL_NORMAL_SIZE)
     xfl.fl_set_button(pobj4, xfl.FL_NORMAL_SIZE == \
             xfl.FL_BROWSER_FONTSIZE)
     x += dx
     pobj5 = xfl.fl_add_lightbutton(xfl.FL_RADIO_BUTTON, x , 565, \
             dx, dy, "Large")
     xfl.fl_set_object_callback(pobj5, self.set_size, xfl.FL_LARGE_SIZE)
     x += dx
     pobj6 = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, x, 565, \
             dx, dy, "Hide/Show")
     xfl.fl_set_object_callback(pobj6, self.hide_show, 0)
     x += dx
     pobj7 = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, x, 565, dx, dy, \
             "Exit")       #60->dx
     xfl.fl_set_object_callback(pobj7, self.exit_program, 0)
     xfl.fl_end_form()
     xfl.fl_adjust_form_size(pform)
     return pform
    def create_form_cursor(self):

        fdui = FD_cursor()

        fdui.cursor = xfl.fl_bgn_form(xfl.FL_NO_BOX, 325, 175)

        xfl.fl_add_box(xfl.FL_UP_BOX, 0 ,0, 325, 175, "")
        xfl.fl_add_frame(xfl.FL_EMBOSSED_FRAME, 10, 10, 305, 120, "")

        pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 20, 20, 50, 25, "Hand")
        xfl.fl_set_object_callback(pobj, self.setcursor_cb, xfl.XC_hand2)

        pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 70, 20, 50, 25, "Watch")
        xfl.fl_set_object_callback(pobj, self.setcursor_cb, xfl.FL_BUSY_CURSOR)

        pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 120, 20, 60, 25, \
                "Invisible")
        xfl.fl_set_object_callback(pobj, self.setcursor_cb, \
                xfl.FL_INVISIBLE_CURSOR)

        pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 180, 20, 62, 25, \
                "Animated")
        xfl.fl_set_object_callback(pobj, self.setanimatedcursor_cb, 0)

        pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 242, 20, 62, 25, \
                "BitmapCur")
        xfl.fl_set_object_callback(pobj, self.setbitmapcursor_cb, 0)

        pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 90, 70, 140, 50, \
                "DefaultCursor")
        xfl.fl_set_button_shortcut(pobj, "Dd#d", 1)
        xfl.fl_set_object_callback(pobj, self.setcursor_cb, \
                xfl.FL_DEFAULT_CURSOR)

        pobj = xfl.fl_add_button(xfl.FL_NORMAL_BUTTON, 250, 140, 60, 25, \
                "Done")
        xfl.fl_set_object_callback(pobj, self.done_cb, 0)

        xfl.fl_end_form()

        xfl.fl_adjust_form_size(fdui.cursor)

        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)