def notic_cb(pobj, data): notic = xfl.fl_get_button(pobj) if notic: xfl.fl_set_xyplot_xtics(xypui.xyplot, -1, -1) xfl.fl_set_xyplot_ytics(xypui.xyplot, -1, -1) else: xfl.fl_set_xyplot_xtics(xypui.xyplot, 0, 0) xfl.fl_set_xyplot_ytics(xypui.xyplot, 0, 0)
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