XGP

Integrated development environment the extends gprolog to work with Cocoa under Mac OS X
Download

XGP Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Lindsey Spratt
  • Publisher web site:
  • Operating Systems:
  • Mac OS X 10.3.7 or later
  • File Size:
  • 5.3 MB

XGP Tags


XGP Description

Integrated development environment the extends gprolog to work with Cocoa under Mac OS X XGP extends gprolog with builtins predicates for menu, dialog, and graphics facilities. gprolog is an open source native-code prolog with a finite domain constraint solver. It's main web site is http://gnu-prolog.inria.fr.XGP is a prolog development environment supporting consulting and loading of programs, evaluation of queries and input and output with application documents.There are aids for editing Prolog programs: definitions popup, current line number, syntax coloring.There are API collections of builtin predicates for working with menus, dialogs, "control windows", graphics, files, and persistent values. NOTES:· Version 1.0.0 for the PowerPC Macs, based on GProlog version 1.2.19.· Version 1.1.0 for the Intel Macs based on GProlog version 1.3.0. Here are some key features of "XGP": · Executes GProlog from a Cocoa Mac OS X application. Program editing support including: · Predicate definition location menu: this lists the predicate defined in a document and can be used to select and display the source for any predicate definition in that document · Current line field: this shows the line number of the beginning of the current selection. It is editable: a number entered in this field changes the selection to that numbered line of the document. · Syntax coloring: a document window has its text colored according to syntactic categories after the document is 'consulted'. The supported categories are: comment, strings, operator, and number. · Connects GProlog input and output to document windows within the XGP application. Collections of Prolog predicates built in to XGP/GProlog for: · Menu management, including hierarchical menus and popup menus. Selecting a menu item calls a Prolog predicate with that item's name as functor and no arguments. All of the menus of the XGP IDE are implemented in prolog. · Dialog management, including simple predicates supporting various types of dialog interactions. · Control window managment. A control window is an XGP window in which a wide varietly of controls (e.g. button, text field, scrolling menu) may be placed. The dialog management mentioned above is implemented using control windows. · Graphics, including predicates to create a graphics document and add pictures defined using LPA's Graphics Description Language (GDL). · Files. Various predicates for working with the file system, including 'loading source' (opening a source document) and 'optimizing files' (compiling a source file to a WAM byte code file, suitable for loading into XGP). · Persistent Values. Support for global variable, property list, and user default mechanisms. · The IDE supports a Scripts menu for easy extension with simple operations. · The menus and dialogs of the IDE are implemented in prolog using the above builtins. This implementation can be changed by editing a single file ('initialize_environment.pl') without modifying or re-compiling XGP. This allows the XGP user to extensively tailor the environment (while working completely in prolog). Also, this is the foundation of XGP-based "double-clickable" applications. · Automatic consulting of source file after opening and automatic consulting of changed open source file documents before evaluating a query. · Standard Prolog debugger (trace, spy, etc.), as implemented by gprolog. What's New in This Release: · Updated XGP to build for Mac OS X 10.5.x (Leopard). This required rebuilding GProlog 1.3.0 (a different version of GCC) and rebuilding XGP with a new XCode (3.0). This is (still) an Intel-only version of XGP. New Predicates: · toolbar: add_tools/2, del_tools/, get_tools/2, tool_desc/3, get_tool/2, set_tool/2. · wcreate/6 and wcreate/7. · wfront(Window) predicate. · marked_item/2. · wsize/5 predicate. · xgp__set_document_frame/5: set the size/frame of a document window. Graphics: · Implemented basic toolbar support for graphic windows. Added graphics text editing support: · Added xgp__graphics_start_edit_item/2 to "open" an editor for a graphic text item. · Ending editing (by clicking outside the text item) invokes the toolbar handler with 'close_edit(ID)'. where ID is the identifier of the graphic item that was being edited. XGDL additions: · Added pointer(X,Y) XGDL term to default to pointer(X, Y, right). · Made fillbox/6 and alias of fillroundedbox/6. Bug fixes: · Fixed graphics font handling bug where the bold style wasn't having an effect in some cases. · Fixed graphics textbox item to require that the depth of the box be >= 15 ( a limit apparently imposed by Cocoa). · Fixed bug where FillPattern name (e.g. 'solid') wasn't being recognized. · Improved internal error reporting in make_description. · Fixed xgp__graphics_get_item to fail gracefully when descriptionPtr is null. · Fixed get_pic/2 to fail instead of getting an exception. · Fixed a bug where chg_pic/ would fail when it should have succeeded. · Fixed bug in validating menu "undo" menu item in Edit menu. This could cause XGP to hang indefinitely. Search Files Dialog: · Added banner telling how many files are being searched. · Fixed to navigate to the original of search result "line". · Extended errormessage/1 to write the message to the console before putting up the dialog.


XGP Related Software