Interphase Version History
Current Version: 0.89
0.89 2026-05-03
minor change with colorkey parameter.
revise control event instantiation.
revise control userevents.
revise image load.
revise tips display.
add panel get_rect.
revise scroll wheel processing.
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.