Exemplo n.º 1
0
 def canvas_expose(self, pobj, win, w, h, pxev, pvdata):
     odata = xfl.fls_convert_ptrvoid_to_ptrflobject(pvdata).contents
     #print("odata:", odata)
     #XFillRectangle( fl_get_display( ), win, canvasGC, 0, 0, w, h );
     #xfl.fl_rectangle(1, 0, 0, w, h, xfl.FL_BLACK)
     xfl.fl_addto_browser(self.fd_canvasform.br, "Expose")
     return 0
Exemplo n.º 2
0
 def canvas_key(self, pobj, win, w, h, pxev, pvdata):
     sdata = xfl.fls_convert_ptrvoid_to_ptrstringc(pvdata).contents.value
     #print("sdata:", sdata)
     #sprintf( buf, "KeyPress: keysym=%ld",
     #	 XKeycodeToKeysym( fl_display, ev->xkey.keycode, 0 ) );
     buf = "KeyPress: keysym=%ld" % pxev.contents.xkey.keycode
     xfl.fl_addto_browser(self.fd_canvasform.br, buf)
     return 0
Exemplo n.º 3
0
 def canvas_move(self, pobj, win, w, h, pxev, pvdata):
     fdata = xfl.fls_convert_ptrvoid_to_ptrflform(pvdata).contents
     #print("fdata:", fdata)
     #FD_canvasform *ui = d;
     #sprintf( buf, "Position: %d %d", ev->xmotion.x, ev->xmotion.y );
     buf = "Position: %d %d" % (pxev.contents.xmotion.x, \
             pxev.contents.xmotion.y)
     xfl.fl_addto_browser(self.fd_canvasform.br, buf)
     return 0
Exemplo n.º 4
0
 def canvas_misc(self, pobj, win, w, h, pxev, pvdata):
     fdata = xfl.fls_convert_ptrvoid_to_ptrflform(pvdata).contents
     #print("fdata:", fdata)
     #FD_canvasform *ui = d;
     if pxev.contents.xcrossing.type == xfl.EnterNotify:
         tmpname = "Enter canvas"
     else:
         tmpname = "Leave canvas"
     xfl.fl_addto_browser(self.fd_canvasform.br, tmpname)
     return 0
 def button_cb(self, pobj, data):
     buf = ""
     if (xfl.fl_get_object_type(pobj) == xfl.FL_HIDDEN_BUTTON):
         if xfl.fl_show_question("Want to Quit ?", 1) == 1:
             xfl.fl_finish()
             sys.exit(0)
     else:
         buf = "%s callback called: %d" % (xfl.fl_get_object_label(pobj), \
                 xfl.fl_get_button(pobj))
         xfl.fl_addto_browser(self.br, buf)
 def load_browser(self, fname):
     #RGBdb *db = rgbdb,
     ndb = 0
     contents = [0] * MAX_RGB
     #*dbs = db + MAX_RGB;
     lr = -1
     lg = -1
     lb = -1
     if not os.path.exists(fname):
         xfl.fl_show_alert("Load", fname, "Can't open database file", 0)
         return 0
     filep = open(fname, 'r')
     xfl.fl_freeze_form(self.pcl)
     # read the items
     #contents = filep.readlines()
     #filep.close()
     self.set_entry(0)
     #print("lencont", len(contents))
     #while ( db < dbs && read_entry( fp, &r, &g, &b, name ) )
     #for ndb in range(0, len(contents)):
     #while ndb < len(contents):
     while True:
         if ndb == 752:      #MAX_RGB:
             break
         #print "contents[ndb]", contents[ndb]
         #print "ndb", ndb
         contents[ndb] = filep.readline()
         print(contents[ndb])
         r, g, b, name = self.read_entry(contents[ndb])
         #print "#"+str(r)+"#"+str(g)+"#"+str(b)+"#"+name
         self.rgbdb[ndb]['r'] = r
         self.rgbdb[ndb]['g'] = g
         self.rgbdb[ndb]['b'] = b
         #print self.rgbdb[ndb]['r'], self.rgbdb[ndb]['g'], self.rgbdb[ndb]['b']
         # unique the entries on the fly
         if lr != r or lg != g or lb != b:
             lr = r
             lg = g
             lb = b
             buf = "(%3d %3d %3d) %s" % (r, g, b, name)          #sprintf( buf, "(%3d %3d %3d) %s", r, g, b, name)
             xfl.fl_addto_browser(self.pcolbr, buf)
         ndb += 1            # db++;
     filep.close()
     #if ndb < MAX_RGB:                         #db < dbs
     #    self.rgbdb[ndb]['r'] = 1000        #db->r = 1000;  /* sentinel
     #else:
     #    ndb -= 1                #db--;
     #    self.rgbdb[ndb]['r'] = 1000        #db->r = 1000;
     xfl.fl_set_browser_topline(self.pcolbr, 1)
     xfl.fl_select_browser_line(self.pcolbr, 1)
     self.set_entry(0)
     xfl.fl_unfreeze_form(self.pcl)
     #print self.rgbdb[5], self.rgbdb[4], self.rgbdb[10], self.rgbdb[100]
     return 1
Exemplo n.º 7
0
 def canvas_but(self, pobj, win, w, h, pxev, pvdata):
     ddata = xfl.fls_convert_ptrvoid_to_ptrfloatc(pvdata).contents.value
     #print("ddata:", ddata)
     #FD_canvasform *ui = d;
     if pxev.contents.type == xfl.ButtonPress:
         tmpname = "Press"
     else:
         tmpname = "Release"
     #sprintf( buf, "Button%s: %d", ev->type == ButtonPress? "Press" : "Release",
     #		 ev->xbutton.button );
     buf = "Button%s: %d" % (tmpname, pxev.contents.xbutton.button)
     xfl.fl_addto_browser(self.fd_canvasform.br, buf)
     return 0
Exemplo n.º 8
0
 def test_fl_addto_browser(self):
     """fl_addto_browser(ptr_flobject, newtext)"""
     xfl.fl_addto_browser([0, 1, 2, 3], Label, [0, 1, 2, 3], None, 15899, {'a': 0, 'b': 1}, )
 def return_cb(self, pobj, data):
     xfl.fl_addto_browser(self.fd_form0.br, self.mess[data])
Exemplo n.º 10
0
def init_gui(fd):
    x = [0.0, 1.0, 2.0, 3.0, 4.0, 5.0]
    y = [5.5, 4.0, 4.5, 3.8, 4.0, 5.0]
    label = ["Mon", "Tue", "Wed", "Thur", "Fri", "Sat"]
    xfl.fl_add_nmenu_items(fd.menu, "One\tF1|Two\tF2|Three\tF3|Four\tF4")
    xfl.fl_add_select_items(fd.choice, "Option1|Option2|Option3")
    crab = xfl.fls_import_xpmdata_from_file("crab45.xpm")
    xfl.fl_set_pixmapbutton_data(fd.pixbutton, crab)
    xfl.fl_set_pixmap_data(fd.pix, crab)
    bm1_width, bm1_height, bm1_bits = xfl.fls_import_xbmdata_from_file( \
            "bm1.xbm")
    xfl.fl_set_bitmapbutton_data(fd.bitbutton, bm1_width, bm1_height, \
            bm1_bits)
    nomail_width, nomail_height, nomail_bits = \
            xfl.fls_import_xbmdata_from_file("nomail.xbm")
    xfl.fl_set_bitmap_data(fd.bit, nomail_width, nomail_height, nomail_bits)
    xfl.fl_set_browser_fontsize(fd.browser, xfl.FL_NORMAL_SIZE)
    xfl.fl_addto_browser(fd.browser, "browser line 1\nbrowser line 2")
    xfl.fl_addto_browser(fd.browser, "browser line 3\nbrowser line 4")
    xfl.fl_addto_browser(fd.browser, "browser line 5\nbrowser line 6")
    xfl.fl_addto_browser(fd.browser, "browser line 7\nbrowser line 8")
    xfl.fl_addto_browser(fd.browser, "browser line 9\nbrowser line 10")
    xfl.fl_addto_browser(fd.browser, "browser line 11\nbrowser line 12")
    xfl.fl_addto_browser(fd.browser, "browser line 13\nbrowser line 14")
    xfl.fl_addto_browser(fd.browser, "browser line 15\nbrowser line 16")
    xfl.fl_addto_browser(fd.browser, "browser line 17\nbrowser line 18")
    for i in range(0, len(y)):
        xfl.fl_add_chart_value(fd.chart, y[i], label[i], i + 1)
    xfl.fl_set_xyplot_data(fd.xyplot, x, y, 6, "", "","")
    xfl.fl_add_xyplot_overlay(fd.xyplot, 1, x, y, 6, xfl.FL_RED)
    xfl.fl_add_xyplot_text(fd.xyplot, 2.5, 5.2, "Weekly Summary", \
            xfl.FL_ALIGN_CENTER, xfl.FL_BLUE)
    xfl.fl_add_xyplot_text(fd.xyplot, 3, 3.85, "@-22->", xfl.FL_ALIGN_TOP, \
            xfl.FL_RED)
    xfl.fl_set_xyplot_overlay_type(fd.xyplot, 1, xfl.FL_NORMAL_XYPLOT)
    xfl.fl_set_xyplot_alphaxtics(fd.xyplot, "Mon|Tue|Wed|Thu|Fri|Sat", "")
    xfl.fl_set_xyplot_ytics(fd.xyplot, -1, -1)
    xfl.fl_set_xyplot_linewidth(fd.xyplot, 0, 3)
Exemplo n.º 11
0
 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()
Exemplo n.º 12
0
 def addit(self, pobj, data):
     # append and show the last line. Don't use this if you just want
     # to add some lines. use fl_add_browser_line
     xfl.fl_addto_browser(self.pbrowserobj, \
             xfl.fl_get_input(self.pinputobj))