Interphase Version History


Interphase Pygame GUI Module

Current Version: 0.88


0.88 2019-04-06

  • update interface to address issue in move method when get_fps return zero.
  • add interface.is_panel_display to check panel controls displayed.
  • update interface.set_panel_display to ensure display updates.
  • update interface.move to properly access panel size.
  • revise with absolute import statements.
  • revise module structure.
  • update for python 2/3 compatibility.
  • add touch event support when using Pyjsdl.
  • update interface move method to utilize timed rate.
  • update control response for no repeat option.
  • update module for alternate framework.

0.87 2015-04-12

  • update Text.tprint to use rendered character cache.
  • refactor module to isolate framework.
  • update module for alternate framework, can use Pygame, PyJ2D, or Pyjsdl.
  • add interphase.init and interphase.get_init to initialize module.
  • add textbox clipboard functionality for PyJ2D and Pyjsdl via pyjsdl.display.textarea.
  • update textbox.get_text to properly return text.
  • update interface to maintain control hold if pointer moves off control.
  • add interface process_event and get_event_queue methods.
  • add scroll wheel functionality, activated with interface parameter scroll_button.
  • update scroll config for numeric control.
  • update interface scroll_button to use hashset when set not available in earlier jython releases.
  • release under MIT license.

0.86 2014-02-27

  • update Text.tprint multiline print on background color.
  • update Control to cache rendered text.
  • change license from GPL to LGPL.

0.85 2013-04-03

  • update Interface.panel_update to move event generation from InterfaceState.
  • update Interface.set_label_display and Interface.panel_update to ensure panel update.
  • update Text.tprint to adjust text position.

0.84 2012-03-01

  • transfer clipboard functions to Interface
  • add Interface methods clipboard_get and clipboard_set
  • add Interface methods draw and clear
  • refactoring of Control objects
  • generate documentation with epydoc

0.83 2012-02-26

  • change interface update for performance
  • add interface is_update and to check update, limiting panel redraw on screen
  • add interface set_update manually change panel update, that triggers either _force_update or sets to sustained updates until unset
  • add panel function list that can be changed with set_panel_function
  • change panel_update to work with improved update
  • add to InterfaceState state object the attribute panel_update
  • update control action to change control function, including avoiding exception capture of add functions
  • add to textbox check_size, set_line_max and get_line_max, set_line_width, get_line_width
  • add to textbox text_copy, text_paste
  • add to textbox get_text
  • change textbox action adding to button id _copy and _paste extension on copy and paste
  • text_margin can take (t,r,b,l) in addition to single int
  • add control set_text_margin and get_text_margin
  • add control get_display_text to retrieve text font object
  • update control set_list to keep single control tip
  • update Text __init__, add set_margin, and change methods to margin (t,r,b,l)

0.82 2012-02-18

  • add control add_action method to submit function to bind to control
  • update control action to call bound function
  • add textbox control
  • add Textbox methods format_text, add_format, set_scroll_line
  • add Text methods set_text_alignment, set_margin, check_sizes, surface_size, word_wrap, split_long_text
  • update Text method tprint for multiline print
  • update interface _activate_controls to resolve link controls, add control _activate
  • refactor code to separate control types

0.81 2010-11-20

  • Interface Class changes:
  • : default images base64 encoded in a py file to ease packaging.
  • : extend image default source, allow zip archive and path/zip can be given if an image not in default, and accept surfaces.
  • : update _default_image, _set_image, set_panel_image, set_control_image, set_button_image, _display_controls, _activate_controls, enable_control, disable_control, set_moveable, activate, deactivate
  • : add get_default_image, _zip_file, _data_source
  • : add parameter data_zip, button_size, color_key, font_type
  • InterfaceControl Class changes:
  • : update set_control_image, set_listing_icon, set_listing, set_list, get_list, remove_list, set_value, define_buttons, control_size, action, action_numeric_i, next, previous, reset, set_activated, set_activated_lock, set_active, set_display_info, set_label_info, set_display_text, set_label_text, check_link, set_tips, set_tip
  • : change control_size/set_control_size, set_display/set_display_info, set_label/set_label_info
  • : add set_list_icon, set_icon_size, set_label, get_label, resize_control, set_enabled, is_enabled, get_size, set_color, get_list_index, set_list_index
  • : add parameter icon_size, font_type

0.80 2010-10-25

  • Interphase in package
  • place interphase folder in path or in script folder
  • import can work from a zip containing interphase folder
  • : before import interphase place zip in path
  • : sys.path.insert(0, './interphase_zipfile')
  • : set zip path to interphase zip, ex. is in script folder
  • image parameter ['none'] to 'none'
  • image parameter None use default image or first panel image
  • image parameter can be string or list
  • change DisplayMsg Class to Text Class
  • update load_image
  • interphase.util has Text and load_image
  • run interphase.py to exec demo
  • add pygame events interphase.EVENT['controlselect'], interphase.EVENT['controlinteract']
  • : event.state parameter references InterfaceState object instance
  • Interface Class changes:
  • : add image for default images
  • : add parameters data_folder, event
  • : add _control link to InterfaceControl
  • : add _load_image link to interphase.util.load_image
  • : add _text link to interphase.util.Text
  • : add _data for data_folder
  • : default images in image.dat
  • : update set_panel_image, set_control_image, set_button_image, _moveable_panel, _display_controls, _interact, get_state, panel_update, move_control, _panel_interaction, _display_update
  • : add _set_image, _default_image, get_panel_image, _control_interact, _control_select, get_id, get_pointer_position, set_pointer_interact
  • : add timer to panel movement and control response
  • : update parameters move_rate, control_response
  • : change parameter pointer_move to pointer_interact
  • : update InterfaceState Class
  • InterfaceControl Class changes:
  • : update parameters control_response, hold_response
  • : add parameters delay_response and activated_toggle:'Lock', event
  • : update set_listing_icon, set_control_image, set_listing, set_value, control_size, set_list, set_activated, check_link, action
  • : add set_activated_lock, is_activated_lock, action_numeric_i, action_numeric_f, get_id

0.73 2010-02-05

  • update panel _panel_interaction
  • update control set_listing

0.72 2009-10-12

  • add panel move_control, set_control_move, get_control_move, is_control_moveable, set_control_moveable
  • add control get_position
  • add Interphase demo - Sliding Control Puzzle

0.71 2009-09-07

  • InterfaceControl
  • : add parameters control_response, split_text
  • : update set_listing_icon, control_size, set_value, set_display, set_label
  • : add reset, set_display_text, set_label_text

0.70 2009-09-05

  • rename panel variables to protect
  • add panel get_position, get_size
  • change panel get_values to get_value
  • update panel: get_control, get_value, _display_controls, _display_update, _moveable_panel, _interact, _panel_interaction, panel_update, control: set_value
  • optimize panel update

0.60 2009-08-20

  • add panel methods: is_moveable, set_moveable, set_panel_display, is_info_display, set_info_display, is_label_display, set_label_display, is_tips_display, set_tips_display, get_control, add_info, clear_info; update: display_controls, interact, remove_control, enable_control, disable_control, get_values.
  • add control methods: get_list, set_active, set_link_activated, is_activated, set_activated; update: set_list, remove_list, set_tip, action, next, previous.
  • add 'function_toggle' type control, and add chain linking to function controls.
  • remove panel pointer_block and pygame.event.set_blocked(MOUSEBUTTONDOWN).
  • change control_activated/control_deactivated/button_activated/button_size/button_minsize/command_list to control_enabled/control_disabled/activated/control_size/control_minsize/control_list.

0.50 2009-08-07

  • initial release