def fl_add_formbrowser(frmbrwstype, xpos, ypos, width, height, label): """fl_add_formbrowser(frmbrwstype, xpos, ypos, width, height, label) -> ptr_flform Adds a formbrowser flobject. It is a container class that is capable of holding multiple forms, the height of which in aggregate may exceed the screen height. The formbrowser also works obviously for a single form that has a height that is larger than the screen height. Parameters ---------- frmbrwstype : int type of formbrowser to be added. Values (from xfdata.py) FL_NORMAL_FORMBROWSER (normal formbrowser type) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of formbrowser Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT formbrowser flobject added Examples -------- >>> pfrmbrobj = fl_add_formbrowser(xfdata.FL_NORMAL_FORMBROWSER, 110, 60, 550, 750, "My Formbrowser) Notes ----- Status: NA-UTest + Doc + NoDemo = Maybe """ _fl_add_formbrowser = library.cfuncproto( library.load_so_libforms(), "fl_add_formbrowser", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_formbrowser(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(frmbrwstype, \ xfdata.FORMBRWSTYPE_list) i_frmbrwstype = library.convert_to_intc(frmbrwstype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(frmbrwstype, xpos, ypos, width, height, label, \ i_frmbrwstype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_formbrowser(i_frmbrwstype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_pixmap(pixmaptype, xpos, ypos, width, height, label): """fl_add_pixmap(pixmaptype, xpos, ypos, width, height, label) -> ptr_flobject Adds a pixmap flobject (plain text multi-color image format). The label is by default placed below the pixmap. The pixmap is empty on creation. Parameters ---------- pixmaptype : int type of pixmap to be added. Values (from xfdata.py) FL_NORMAL_PIXMAP (normal pixmap flobject type) xpos : int horizontal position (upper-left corner) ypos : int vertical position of bitmap (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of pixmap Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT flobject created Examples -------- >>> fl_add_pixmap(xfdata.FL_NORMAL_PIXMAP, 320, 200, 100, 100, "MyPixmap") Notes ----- Status: UnitTest + Doc + Demo = OK """ _fl_add_pixmap = library.cfuncproto( library.load_so_libforms(), "fl_add_pixmap", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_pixmap(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(pixmaptype, \ xfdata.PIXMAPTYPE_list) i_pixmaptype = library.convert_to_intc(pixmaptype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(pixmaptype, xpos, ypos, width, height, \ label, i_pixmaptype, i_xpos, i_ypos, i_width, i_height, \ s_label) retval = _fl_add_pixmap(i_pixmaptype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_counter(countertype, xpos, ypos, width, height, label): """fl_add_counter(countertype, xpos, ypos, width, height, label) -> ptr_flobject Adds a counter flobject. Parameters ---------- countertype : int type of counter to be added. Values (from xfdata.py) FL_NORMAL_COUNTER (A counter with two buttons on each side), FL_SIMPLE_COUNTER (A counter with one button on each side). xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of counter Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT counter flobject added Examples -------- >>> pcntrobj = fl_add_counter(FL_NORMAL_COUNTER, 142, 230, 142, 100, "My Counter") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_counter = library.cfuncproto( library.load_so_libforms(), "fl_add_counter", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_counter(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(countertype, \ xfdata.COUNTERTYPE_list) i_countertype = library.convert_to_intc(countertype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(countertype, xpos, ypos, width, height, label, \ i_countertype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_counter(i_countertype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_glcanvas(canvastype, xpos, ypos, width, height, label): """fl_add_glcanvas(canvastype, xpos, ypos, width, height, label) -> ptr_flobject Adds a glcanvas flobject to the form. Parameters ---------- canvastype : int type of glcanvas to be added. Values (from xfdata.py) - FL_NORMAL_CANVAS (normal canvas type), - FL_SCROLLED_CANVAS (not enabled) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of glcanvas Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT glcanvas flobject added Examples -------- >>> pglcnvobj = fl_add_glcanvas(xfdata.FL_NORMAL_CANVAS, 14, 21, 654, 457, "My Gl Canvas") Notes ----- Status: NA-UTest + Doc + NoDemo = Maybe """ _fl_add_glcanvas = library.cfuncproto( library.load_so_libformsgl(), "fl_add_glcanvas", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_glcanvas(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(canvastype, \ xfdata.CANVASTYPE_list) i_canvastype = library.convert_to_intc(canvastype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(canvastype, xpos, ypos, width, height, label, \ i_canvastype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_glcanvas(i_canvastype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_clock(clocktype, xpos, ypos, width, height, label): """fl_add_clock(clocktype, xpos, ypos, width, height, label) -> ptr_flobject Adds a clock flobject. Parameters ---------- clocktype : int type of clock to be added. Values (from xfdata.py) - FL_ANALOG_CLOCK (An analog clock complete with the second hand), - FL_DIGITAL_CLOCK (A digital clock) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of clock Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT clock flobject added Examples -------- >>> pclkobj = fl_add_clock(xfdata.FL_ANALOG_CLOCK, 150, 210, 220, 200, "My great clock") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_clock = library.cfuncproto( library.load_so_libforms(), "fl_add_clock", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_clock(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * s)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(clocktype, \ xfdata.CLOCKTYPE_list) i_clocktype = library.convert_to_intc(clocktype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(clocktype, xpos, ypos, width, height, label, \ i_clocktype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_clock(i_clocktype, i_xpos, i_ypos, i_width, i_height, \ s_label) return retval
def fl_add_text(texttype, xpos, ypos, width, height, label): """fl_add_text(texttype, xpos, ypos, width, height, label) -> ptr_flobject Adds a text flobject. It simply consists of a label maybe placed in a box. Parameters ---------- texttype : int type of text to be added. Values (from xfdata.py) FL_NORMAL_TEXT (Normal text type) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of text Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT text flobject added Examples -------- >>> ptxtobj = fl_add_text(xfdata.FL_NORMAL_TEXT, 140, 120, 400, 500, "My text flobject") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_text = library.cfuncproto( library.load_so_libforms(), "fl_add_text", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_text(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(texttype, xfdata.TEXTTYPE_list) i_texttype = library.convert_to_intc(texttype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(texttype, xpos, ypos, width, height, label, \ i_texttype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_text(i_texttype, i_xpos, i_ypos, i_width, i_height, \ s_label) return retval
def fl_create_bitmap_cursor(source, maskstr, width, height, hotx, hoty): """fl_create_bitmap_cursor(source, maskstr, width, height, hotx, hoty) -> cursornum Creates a bitmap cursor, using cursors other than those defined by the standard cursor font. Parameters ---------- source : str of ubytes bitmap to be used as cursor. maskstr : str of ubytes bitmap defining the shape of the cursor. The pixels set to 1 define which source pixels are displayed. If it is empty ("") all bits in source are displayed. width : int width of cursor height : int height of cursor hotx : int horizontal hotspot of the cursor (relative to the source origin) hoty : int vertical hotspot of the cursor (relative to the source origin) Returns ------- cursornum : int cursor id Examples -------- >>> *todo* Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_create_bitmap_cursor = library.cfuncproto( library.load_so_libforms(), "fl_create_bitmap_cursor", cty.c_int, [xfdata.STRING, xfdata.STRING, cty.c_int, cty.c_int, cty.c_int, cty.c_int], """int fl_create_bitmap_cursor(const char * source, const char * mask, int w, int h, int hotx, int hoty)""") library.check_if_flinitialized() s_source = library.convert_to_bytestrc(source) if not maskstr: # if it is empty s_maskstr = cty.cast(maskstr, cty.c_void_p) else: s_maskstr = library.convert_to_bytestrc(maskstr) i_width = library.convert_to_intc(width) i_height = library.convert_to_FL_Coord(height) i_hotx = library.convert_to_intc(hotx) i_hoty = library.convert_to_intc(hoty) library.keep_elem_refs(source, maskstr, width, height, hotx, hoty, \ s_source, s_maskstr, i_width, i_height, i_hotx, i_hoty) retval = _fl_create_bitmap_cursor(s_source, s_maskstr, i_width, \ i_height, i_hotx, i_hoty) return retval
def fl_add_pixmapbutton(buttontype, xpos, ypos, width, height, label): """fl_add_pixmapbutton(buttontype, xpos, ypos, width, height, label) -> ptr_flobject Adds a pixmapbutton flobject. Parameters ---------- buttontype : int type of button to be added. Values (from xfdata.py) - FL_NORMAL_BUTTON (Returns value when released), - FL_PUSH_BUTTON or FL_TOGGLE_BUTTON (Stays pushed until user pushes it again), - FL_RADIO_BUTTON (Push button that switches off other radio buttons), - FL_HIDDEN_BUTTON (Invisible normal button), - FL_TOUCH_BUTTON (Returns value as long as the user pushes it), - FL_INOUT_BUTTON (Returns value both when pushed and when released), - FL_RETURN_BUTTON (Like a normal button but reacts on the <Return> key), - FL_HIDDEN_RET_BUTTON (Invisible return button), - FL_MENU_BUTTON (Returns value when pushed, useful e.g. for opening a popup when pushed). xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of button Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT created button flobject Examples -------- >>> btnobj = fl_add_roundbutton(xfdata.FL_TOGGLE_BUTTON, 145, 199, 120, 30, "MyButton") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_pixmapbutton = library.cfuncproto( library.load_so_libforms(), "fl_add_pixmapbutton", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, \ xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_pixmapbutton(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(buttontype, \ xfdata.BUTTONTYPE_list) i_buttontype = library.convert_to_intc(buttontype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(buttontype, xpos, ypos, width, height, label, \ i_buttontype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_pixmapbutton(i_buttontype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_timer(timertype, xpos, ypos, width, height, label): """fl_add_timer(timertype, xpos, ypos, width, height, label) -> ptr_flobject Adds a timer flobject. It can be used to make a timer that runs down toward 0.0 or runs up toward a pre-set value after which it starts blinking and returns itself to the application program. This can be used in many different ways, e.g. to give a user a particular amount of time for a task, etc. Also a hidden timer object can be created, so the application program can take action at the moment the timer expires; e.g. you can use this to show a message that remains visible until the user presses the OK button or until a particular amount of time has passed. The precision of the timer is not very good. Do not count on anything better than, say, 0.05 seconds. Parameters ---------- timertype : int type of timer to be added. Values (from xfdata.py) - FL_NORMAL_TIMER (Visible, showing a label in a box which blinks when the timer expires), - FL_VALUE_TIMER (Visible, showing the time left or the elapsed time. Blinks if the timer expires), - FL_HIDDEN_TIMER (Not visible). xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of timer Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT timer flobject added Examples -------- >>> ptimerobj = fl_add_timer(xfdata.FL_NORMAL_TIMER, 120, 120, 210, 210, "My Timer") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_timer = library.cfuncproto( library.load_so_libforms(), "fl_add_timer", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_timer(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(timertype, \ xfdata.TIMERTYPE_list) i_timertype = library.convert_to_intc(timertype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(timertype, xpos, ypos, width, height, label, \ i_timertype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_timer(i_timertype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_scrollbar(scrolltype, xpos, ypos, width, height, label): """fl_add_scrollbar(scrolltype, xpos, ypos, width, height, label) -> ptr_flobject Adds a scrollbar flobject to a form. Parameters ---------- scrolltype : int type of scrollbar to be added. Values (from xfdata.py) - FL_VERT_SCROLLBAR (A vertical scrollbar) - FL_HOR_SCROLLBAR (A horizontal scrollbar) - FL_VERT_THIN_SCROLLBAR (A different looking vertical scrollbar) - FL_HOR_THIN_SCROLLBAR (A different looking horizontal scrollbar) - FL_VERT_NICE_SCROLLBAR (vertical scrollbar using FL_NICE_SLIDER) - FL_HOR_NICE_SCROLLBAR (horizontal scrollbar using FL_NICE_SLIDER) - FL_VERT_PLAIN_SCROLLBAR or FL_VERT_BASIC_SCROLLBAR (Similar to FL_THIN_SCROLLBAR) - FL_HOR_PLAIN_SCROLLBAR or FL_HOR_BASIC_SCROLLBAR (Similar to FL_HOR_THIN_SCROLLBAR) - FL_NORMAL_SCROLLBAR (*todo*) - FL_THIN_SCROLLBAR (*todo*) - FL_NICE_SCROLLBAR (*todo*) - FL_PLAIN_SCROLLBAR (*todo*) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str label text of scrollbar Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT scrollbar flobject added Examples -------- >>> pscrbobj = fl_add_scrollbar(scrolltype, 182, 140, 50, 150, "MyScrollbar") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_scrollbar = library.cfuncproto( library.load_so_libforms(), "fl_add_scrollbar", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_scrollbar(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(scrolltype, \ xfdata.SCROLLTYPE_list) i_scrolltype = library.convert_to_intc(scrolltype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(scrolltype, xpos, ypos, width, height, label, \ i_scrolltype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_scrollbar(i_scrolltype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_tabfolder(foldertype, xpos, ypos, width, height, label): """fl_add_tabfolder(foldertype, xpos, ypos, width, height, label) -> ptr_flobject Adds a tabfolder flobject. It is a special container that is capable of holding multiple groups of objects (folders) to maximize the utilization of the screen space. Each folder has its own tab the user can click on to call up a specific folder from which option can be selected. Parameters ---------- foldertype : int type of tabfolder to be added. Values (from xfdata.py) - FL_TOP_TABFOLDER or FL_NORMAL_TABFOLDER (it has tab on top), - FL_BOTTOM_TABFOLDER (it has tab on bottom), - FL_LEFT_TABFOLDER (it has tab on left), - FL_RIGHT_TABFOLDER (it has tab on right) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of tabfolder Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT tabfolder flobject added Examples -------- >>> ptbfobj = fl_add_tabfolder(xfdata.FL_TOP_TABFOLDER, 120, 120, 250, 400, "myTabFolder") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_tabfolder = library.cfuncproto( library.load_so_libforms(), "fl_add_tabfolder", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_tabfolder(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(foldertype, \ xfdata.TABFOLDERTYPE_list) i_foldertype = library.convert_to_intc(foldertype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(foldertype, xpos, ypos, width, height, label, \ i_foldertype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_tabfolder(i_foldertype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_nmenu(nmenutype, xpos, ypos, width, height, label): """fl_add_nmenu(nmenutype, xpos, ypos, width, height, label) -> ptr_flobject Adds a new generation menu (nmenu) object. It heavily depends on popups. Parameters ---------- nmenutype : type of nmenu to be. Values (from xfdata.py) - FL_NORMAL_NMENU (Probably the most often used type, shown as text on a borderless background, popup gets opened when clicked on), - FL_NORMAL_TOUCH_NMENU (Also shown as text on a borderless background, but popup gets opened when the mouse is moved on top of it without any further user action required), - FL_BUTTON_NMENU (When not active shown as text on borderless background, when clicked on popup is shown and the flobject itself being displayed as a button), - FL_BUTTON_TOUCH_NMENU (When not active shown as text on borderless background, when mouse is moved onto it the popup is shown and the flobject itself is displayed as a button) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of nmenu flobject Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT nmenu flobject added Examples -------- >>> nmnobj = fl_add_nmenu(xfdata.FL_NORMAL_NMENU, 50, 100, 300, 90, "MyNmenu") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_nmenu = library.cfuncproto( library.load_so_libforms(), "fl_add_nmenu", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_nmenu(int p1, FL_Coord p2, FL_Coord p3, FL_Coord p4, FL_Coord p5, const char * p6)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(nmenutype, \ xfdata.NMENUTYPE_list) i_nmenutype = library.convert_to_intc(nmenutype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(nmenutype, xpos, ypos, width, height, label, \ i_nmenutype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_nmenu(i_nmenutype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_free(freetype, xpos, ypos, width, height, label, pyfn_HandlePtr): """fl_add_free(freetype, xpos, ypos, width, height, label, pyfn_HandlePtr) -> ptr_flobject Adds a free object. Parameters ---------- freetype : int type of free to be added. Value (from xfdata.py) - FL_NORMAL_FREE (The flobject will receive the events FL_DRAW, FL_ENTER, FL_LEAVE, FL_MOTION, FL_PUSH, FL_RELEASE and FL_MOUSE), - FL_INACTIVE_FREE or FL_SLEEPING_FREE (The flobject only receives FL_DRAW events. This should be used for flobjects without interaction, e.g. a picture), - FL_INPUT_FREE (Same as FL_NORMAL_FREE but the flobject also receives FL_FOCUS, FL_UNFOCUS and FL_KEYBOARD events. The ptr_flobject.contents.wantkey is by default set to FL_KEY_NORMAL, i.e., the free flobject will receive all normal keys (0-255) except <Tab> and <Return> key. If you are interested in <Tab> or <Return> key, you need to change ptr_flobject.contents.wantkey to FL_KEY_TAB or FL_KEY_ALL), - FL_CONTINUOUS_FREE (Same as FL_NORMAL_FREE but the flobject also receives FL_STEP events. This should be used for flobjects that change themselves continuously), - FL_ALL_FREE (The flobject receives all types of events). xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of free pyfn_HandlePtr : python function, returned value name referring to function(ptr_flobject, [int]event, [int]xpos, [int]ypos, [int]key, [pointer to void]ptr_xevent) -> [int]num Function does the redrawing and handles the interaction with the free flobject. First param is the flobject to which the event applies; event indicates what has to happen to the object; xpos and ypos indicate the position of the mouse (only meaningful with mouse related events) relative to the form origin; key is the KeySym of the key typed in by the user (only for xfdata.FL_KEYPRESS events). ptr_xevent is pointer to X Event that causes the invocation of this handler. event and ptr_xevent.contents.type can both be used to obtain the event types. The routine should return whether the status of the object has changed, i.e., whether flbasic.fl_do_forms() or flbasic.fl_check_forms() should return this flobject. Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT free flobject added Examples -------- >>> *todo* Notes ----- Status: NA-UTest + Doc + Demo = OK """ #FL_HANDLEPTR = cty.CFUNCTYPE(cty.c_int, cty.POINTER(FL_OBJECT), \ # cty.c_int, FL_Coord, FL_Coord, cty.c_int, cty.c_void_p) _fl_add_free = library.cfuncproto( library.load_so_libforms(), "fl_add_free", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING, xfdata.FL_HANDLEPTR], """FL_OBJECT * fl_add_free(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label, FL_HANDLEPTR handle)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(freetype, xfdata.FREETYPE_list) i_freetype = library.convert_to_intc(freetype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.verify_function_type(pyfn_HandlePtr) cfn_HandlePtr = xfdata.FL_HANDLEPTR(pyfn_HandlePtr) library.keep_cfunc_refs(cfn_HandlePtr, pyfn_HandlePtr) library.keep_elem_refs(freetype, xpos, ypos, width, height, label, \ i_freetype, i_xpos, i_ypos, i_width,i_height, s_label) retval = _fl_add_free(i_freetype, i_xpos, i_ypos, i_width, i_height, \ s_label, cfn_HandlePtr) return retval
def fl_add_input(inputtype, xpos, ypos, width, height, label): """fl_add_input(inputtype, xpos, ypos, width, height, label) -> ptr_flobject Adds an input flobject. Parameters ---------- inputtype : int type of input to be added. Values (from xfdata.py) - FL_NORMAL_INPUT (Any type of text can be typed into this field) - FL_FLOAT_INPUT (Only a float value can be typed in, e.g. -23.2e2) - FL_INT_INPUT (Only an integer value can be typed in, e.g. -86) - FL_DATE_INPUT (Only a date, MM/DD/YY or DD/MM/YY, can be typed in, limited by default to 10 characters) - FL_MULTILINE_INPUT (An input field allowing for multiple lines) - FL_HIDDEN_INPUT (A normal input field but invisible) - FL_SECRET_INPUT (A normal input field that does not show the text, limited per default to a maximum length of 16 characters) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of input Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT flobject created Examples -------- >>> *todo* Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_input = library.cfuncproto( library.load_so_libforms(), "fl_add_input", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_input(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""", ) library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(inputtype, xfdata.INPUTTYPE_list) i_inputtype = library.convert_to_intc(inputtype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs( inputtype, xpos, ypos, width, height, label, i_inputtype, i_xpos, i_ypos, i_width, i_height, s_label ) retval = _fl_add_input(i_inputtype, i_xpos, i_ypos, i_width, i_height, s_label) return retval
def fl_add_box(boxtype, xpos, ypos, width, height, label): """fl_add_box(boxtype, xpos, ypos, width, height, label) -> ptr_flobject Adds a ractangular box area flobject. It is simply used to give the dialogue form a nicer appearance. It can be used to visually group other objects together. The bottom of each form is a box. Parameters ---------- boxtype : int type of the box to be added. Values (from xfdata.py) - FL_NO_BOX (No box at all, it is transparent, just a label), - FL_UP_BOX (A box that comes out of the screen), - FL_DOWN_BOX (A box that goes down into the screen), - FL_BORDER_BOX (A flat box with a border), - FL_SHADOW_BOX (A flat box with a shadow), - FL_FRAME_BOX (A flat box with an engraved frame), - FL_ROUNDED_BOX (A rounded box), - FL_EMBOSSED_BOX (A flat box with an embossed frame), - FL_FLAT_BOX (A flat box without a border, normally invisible unless given a different color than the surroundings), - FL_RFLAT_BOX (A rounded box without a border, normally invisible unless given a different color than the surroundings), - FL_RSHADOW_BOX (A rounded box with a shadow), - FL_OVAL_BOX (A box shaped like an ellipse), - FL_ROUNDED3D_UPBOX (A rounded box coming out of the screen), - FL_ROUNDED3D_DOWNBOX (A rounded box going into the screen), - FL_OVAL3D_UPBOX (An oval box coming out of the screen), - FL_OVAL3D_DOWNBOX (An oval box going into the screen), - FL_OVAL3D_FRAMEBOX (An oval box with an engraved frame), - FL_OVAL3D_EMBOSSEDBOX (An oval box with an embossed frame) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of box Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT box flobject added Examples -------- >>> pboxobj = fl_add_box(xfdata.FL_UP_BOX, 120, 150, 200, 250, "MyBox") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_box = library.cfuncproto( library.load_so_libforms(), "fl_add_box", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_box(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(boxtype, xfdata.BOXTYPE_list) i_boxtype = library.convert_to_intc(boxtype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(boxtype, xpos, ypos, width, height, label, \ i_boxtype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_box(i_boxtype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_labelframe(frametype, xpos, ypos, width, height, label): """fl_add_labelframe(frametype, xpos, ypos, width, height, label) -> ptr_flobject Adds a labelframe flobject. It is almost the same as a frame except that the label is placed on the frame instead of inside or outside of the bounding box as in a regular frame. Parameters ---------- frametype : int type of labelframe to be added. Values (from xfdata.py) - FL_NO_FRAME (Nothing is drawn), - FL_UP_FRAME (A frame appears coming out of the screen), - FL_DOWN_FRAME (A frame that goes down into the screen), - FL_BORDER_FRAME (A frame with a simple outline), - FL_SHADOW_FRAME (A frame with a shadow), - FL_ENGRAVED_FRAME (A frame appears to be engraved), - FL_ROUNDED_FRAME (A rounded frame), - FL_EMBOSSED_FRAME (A frame appears embossed), - FL_OVAL_FRAME (An elliptic box). xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of labelframe Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT labelframe flobject added Examples -------- >>> lfrmobj = fl_add_labelframe(xfdata.FL_SHADOW_FRAME, 100, 100, 400, 300, "MyFrame") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_labelframe = library.cfuncproto( library.load_so_libforms(), "fl_add_labelframe", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_labelframe(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(frametype, \ xfdata.FRAMETYPE_list) i_frametype = library.convert_to_intc(frametype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(frametype, xpos, ypos, width, height, label, \ i_frametype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_labelframe(i_frametype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_select(selecttype, xpos, ypos, width, height, label): """fl_add_select(selecttype, xpos, ypos, width, height, label) -> ptr_flobject Adds a select (new generation choice) flobject to the form. It is a rather simple flobject that allows the user to pick alternatives from a linear list that pops up when he clicks on the flobject. It remembers the last selected item, which is also shown on top of the select flobject. It internally uses a popup. Parameters ---------- selecttype : int type of select to be added. Values (from xfdata.py) - FL_NORMAL_SELECT (Per default this type is drawn as a rounded, flat box, but you can change that by setting a different boxtype for the flobject, with the text of the currently selected item in its center), - FL_MENU_SELECT (This select flobject looks like a button with a little extra box at its right side, just like a FL_NMENU_BUTTON and the text of the currently selected item is drawn on the button-like object), - FL_DROPLIST_SELECT (This type looks like a button with the text of the currently selected item on top of it and a second square button directly beside it with a downward pointing arrow on it) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of select Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT select flobject added Examples -------- >>> selobj = fl_add_select(xfdata.FL_NORMAL_SELECT, 120, 140, 250, 250, "MySelect") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_select = library.cfuncproto( library.load_so_libforms(), "fl_add_select", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_select(int p1, FL_Coord p2, FL_Coord p3, FL_Coord p4, FL_Coord p5, const char * p6)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(selecttype, \ xfdata.SELECTTYPE_list) i_selecttype = library.convert_to_intc(selecttype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(selecttype, xpos, ypos, width, height, label, \ i_selecttype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_select(i_selecttype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_positioner(posittype, xpos, ypos, width, height, label): """fl_add_positioner(posittype, xpos, ypos, width, height, label) -> ptr_flobject Adds a positioner flobject. By default the label is placed below the box. Parameters ---------- posittype : int type of positioner to be added. Values (from xfdata.py) - FL_NORMAL_POSITIONER (Cross-hair inside a box), - FL_OVERLAY_POSITIONER (Cross-hair inside a transparent box, i.e. drawn in in XOR mode), - FL_INVISIBLE_POSITIONER (Completely invisible positioner to be used just for the side effect of obtaining a position, typically a flobject is below it that otherwise would receive user events) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of positioner. Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT positioner flobject added Examples -------- >>> pstobj = fl_add_positioner(xfdata.FL_NORMAL_POSITIONER, 140, 120, 180, 180, "MyPositioner") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_positioner = library.cfuncproto( library.load_so_libforms(), "fl_add_positioner", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_positioner(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(posittype, \ xfdata.POSITIONERTYPE_list) i_posittype = library.convert_to_intc(posittype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(posittype, xpos, ypos, width, height, label, \ i_posittype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_positioner(i_posittype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_chart(charttype, xpos, ypos, width, height, label): """fl_add_chart(charttype, xpos, ypos, width, height, label) -> ptr_flobject Adds a chart flobject. Parameters ---------- charttype : int type of chart to be created. Values (from xfdata.py) - FL_BAR_CHART (A vertical bar-chart), - FL_HORBAR_CHART (A horizontal bar-chart), - FL_LINE_CHART (A line-chart), - FL_FILL_CHART (A line-chart but the area below curve is filled), - FL_SPIKE_CHART (A chart with a vertical spike for each value), - FL_PIE_CHART (A pie-chart), - FL_SPECIALPIE_CHART (A pie-chart with displaced first item) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of chart Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT chart flobject added Examples -------- >>> pchrtobj = fl_add_chart(xfdata.FL_SPIKE_CHART, 147, 168, 250, 492, "My Chart") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_chart = library.cfuncproto( library.load_so_libforms(), "fl_add_chart", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_chart(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(charttype, \ xfdata.CHARTTYPE_list) i_charttype = library.convert_to_intc(charttype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(charttype, xpos, ypos, width, height, label, \ i_charttype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_chart(i_charttype, i_xpos, i_ypos, i_width, i_height, \ s_label) return retval
def fl_add_thumbwheel(wheeltype, xpos, ypos, width, height, label): """fl_add_thumbwheel(wheeltype, xpos, ypos, width, height, label) -> ptr_flobject Adds a thumbwheel flobject. It is a valuator that can be useful for letting the user indicate a value between some fixed bounds. Both horizontal and vertical thumbwheels exist. They have a minimum, a maximum and a current value (all floating point values). The user can change the current value by rolling the wheel. Parameters ---------- wheeltype : int type of thumbwheel to be added. Values (from xfdata.py) - FL_VERT_THUMBWHEEL (A vertical thumbwheel), - FL_HOR_THUMBWHEEL (A horizontal thumbwheel) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of thumbwheel Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT thumbwheel flobject added Examples -------- >>> ptmwobj = fl_add_thumbwheel(xfdata.FL_HOR_THUMBWHEEL, 140, 134, 250, 30, "MyThumbwheel") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_thumbwheel = library.cfuncproto( library.load_so_libforms(), "fl_add_thumbwheel", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_thumbwheel(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(wheeltype, \ xfdata.THUMBWHEELTYPE_list) i_wheeltype = library.convert_to_intc(wheeltype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(wheeltype, xpos, ypos, width, height, label, \ i_wheeltype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_thumbwheel(i_wheeltype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_slider(slidertype, xpos, ypos, width, height, label): """fl_add_slider(slidertype, xpos, ypos, width, height, label) -> ptr_flobject Adds a slider to a form. No value is displayed. Parameters ---------- slidertype : int type of slider to be added. Values (from xfdata.py) - FL_VERT_SLIDER (normal slider), - FL_HOR_SLIDER (horizontal slider), - FL_VERT_FILL_SLIDER (filled slider), - FL_HOR_FILL_SLIDER (horizontal filled slider), - FL_VERT_NICE_SLIDER (*todo*), - FL_HOR_NICE_SLIDER (horizontal *todo*), - FL_VERT_BROWSER_SLIDER (*todo*), - FL_HOR_BROWSER_SLIDER (horizontal *todo*), - FL_VERT_BROWSER_SLIDER2 (for vertical scrollbar only), - FL_HOR_BROWSER_SLIDER2 (for horizontal scrollbar only), - FL_VERT_THIN_SLIDER (for vertical thin scrollbar only), - FL_HOR_THIN_SLIDER (for horizontal thin scrollbar only), - FL_VERT_NICE_SLIDER2 (for vertical nice scrollbar only), - FL_HOR_NICE_SLIDER2 (for horizontal nice scrollbar only), - FL_VERT_BASIC_SLIDER (for vertical plain scrollbar only), - FL_HOR_BASIC_SLIDER (for horizontal plain scrollbar only). xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : int label of the slider (placed below it by default) Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT slider flobject added Examples -------- >>> sldobj = fl_add_slider(xfdata.FL_VERT_SLIDER, 200, 120, 30, 100, "MySlider") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_slider = library.cfuncproto( library.load_so_libforms(), "fl_add_slider", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_slider(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(slidertype, \ xfdata.SLIDERTYPE_list) i_slidertype = library.convert_to_intc(slidertype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(slidertype, xpos, ypos, width, height, label, \ i_slidertype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_slider(i_slidertype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_spinner(spinnertype, xpos, ypos, width, height, label): """fl_add_spinner(spinnertype, xpos, ypos, width, height, label) -> ptr_flobject Adds a spinner flobject. It is a combination of a (numerical) input field with two (touch) buttons that allow to increment or decrement the value in the (editable) input field. I.e. the user can change the spinners value by either editing the value of the input field or by using the up/down buttons shown beside the input field. Parameters ---------- spinnertype : int type of spinner to be added. Values (from xfdata.py) - FL_INT_SPINNER (spinner with integer values), - FL_FLOAT_SPINNER (spinner with float values) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of spinner Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT spinner flobject added Examples -------- >>> pspnobj = fl_add_spinner(xfdata.FL_INT_SPINNER, 175, 75, 140, 150, "My spinner") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_spinner = library.cfuncproto( library.load_so_libforms(), "fl_add_spinner", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_spinner(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(spinnertype, \ xfdata.SPINNERTYPE_list) i_spinnertype = library.convert_to_intc(spinnertype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(spinnertype, xpos, ypos, width, height, label, \ i_spinnertype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_spinner(i_spinnertype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_add_frame(frametype, xpos, ypos, width, height, label): """fl_add_frame(frametype, xpos, ypos, width, height, label) -> ptr_flobject Adds a frame flobject. It is simply used to give the dialogue form a nicer appearance. It can be used to visually group other objects together. Frames are almost the same as a box, except that the interior of the bounding box is not filled. Use of frames can speed up drawing in certain situations, e.g. to place a group of radio buttons within an xfdata.FL_ENGRAVED_FRAME. If we were to use an xfdata.FL_FRAME_BOX to group the buttons, visually they would look the same; however, the latter is faster as we do not have to fill the interior of the bounding box and can also reduce flicker. Frames are useful in decorating free objects and canvases. Parameters ---------- frametype : int type of frame to be added. Values (from xfdata.py) - FL_NO_FRAME (Nothing is drawn), - FL_UP_FRAME (A frame appears coming out of the screen), - FL_DOWN_FRAME (A frame that goes down into the screen), - FL_BORDER_FRAME (A frame with a simple outline), - FL_SHADOW_FRAME (A frame with a shadow), - FL_ENGRAVED_FRAME (A frame appears to be engraved), - FL_ROUNDED_FRAME (A rounded frame), - FL_EMBOSSED_FRAME (A frame appears embossed), - FL_OVAL_FRAME (An elliptic box). xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of frame Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT frame flobject added Examples -------- >>> frmobj = fl_add_frame(xfdsata.FL_BORDER_FRAME, 100, 100, 400, 300, "MyFrame") Notes ----- Status: NA-UTest + Doc + Demo = OK """ _fl_add_frame = library.cfuncproto( library.load_so_libforms(), "fl_add_frame", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_frame(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(frametype, \ xfdata.FRAMETYPE_list) i_frametype = library.convert_to_intc(frametype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(frametype, xpos, ypos, width, height, label, \ i_frametype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_frame(i_frametype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval