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