announce xm commoninteract ui development sys xm commoninteract another user interface development system if you would like to implement x toolkit applications with c in a style like this mini sample application class test public xmwindow void cmd char void quit void public test xmwindow xm test window void initialize void test initialize xmdropdownmenu menu createdropdownmenu menu addlabel file menu additems entry menu item one cb test cmd entry menu item two cb test cmd nullentry menu addseparator menu additem entry e xit cb test quit addsubpane edit myedit edit myedit settext hello world void test cmd char n edit myedit settext n void test quit void exit void xmapp initialize new test initialize then continue reading contents of the current release s readme xm is a user interface framework for the c language built upon x and the x toolkit it is designed to be a simple and intuitive programming interface to access the functionality of commonly used widgets xm was initially created for the motif widget set now support for the athena widgets was added applications created with xm run in both environments without changes although many nice features are only available when using motif in some situations xm extends the underlying toolkit i e providing a combobox borrowed from ms windows but never tries to replace it data of user interface objects is left to the widgets and only duplicated in rare cases xm has nothing common with motif besides the general idea to encapsulate motif widgets in c objects and the in it s name many ideas for the xm architecture came from digitalk s smalltalk version which provides an easy to use framework for windows pm mac applications in the very first time of development i used the windows dialog editor and a simple parser to create similar smalltalk and xm dialogs top level objects in xm windows systemdialogs and toolboxes which use the automatic layout feature of various composite widgets in motif and xaw userdialogs which can be individually laid out with a user interface builder a first version of such a dialog editor is included in this distribution controls children of top level objects statictext staticimage pushbutton checkbox radiobutton edit listbox combobox groupbox panearea drawing toolbar the staticimage and all the button classes can display b w x bitmap format or color gif format pictures as an alternative to a label text event handling is done by a simple but powerful mechanism which redirects xt callbacks to member functions of xm objects commoninteract ii is built upon the xm drawing class and provides components for building direct manipulative applications is is a very simplified implementation of some features from the commoninteract system research project of our institute in an approach to define a software achitecture for implementing direct manipulative applications with multiple interaction media i e sound alternative input devices if you are interrested look into the june issue of the joop sigs publications journal of object oriented programming there should be our paper about commoninteract but be aware that it is our state of the art from commoninteract ii is still undocumented and is included because it was used to implement the dialog editor it currently supports only drawing primitives lines rectangles circles but we plan to extend it to support bitmaps and some controls also known problem the xm drawing class has no redrawing strategy always redraws the whole window even after minimal changes like selecting an object this looks very ugly on slow displays and should be fixed about this first release xm is still incomplete and has a lot of bugs but we are using it here for smaller applications which are running without problems so i think i can call it a beta release which can be used to develop applications for any non critical purposes commoninteract may be called a pre alpha release it s development will be continued this year because we plan to use it for another research project here besides incompleteness and the redrawing problem it seems to be stable and can be used for experimental applications platforms this release was compiled and tested on hp running hp ux sun sparc running sunos release pc at running linux v pl caution although the whole stuff was initially developed using an at t standard c compiler this release is tested only with gnu g or above the next release will be tested with both compilers where to get it i have uploaded it on export lcs mit edu as contrib xm tar z send a mail if you cannot find it there e mail addr below where to find more information the doc directory contains install how to build the libraries and examples readme gnu problems and limitations when using gnu g read usersguide txt a tutorial how to use xm reference txt a first try of a xm class reference manual the readme files in the samples gives a brief description of each of the seven samples xm commoninteract is free software for any non profit purposes see the file lib copyright for details send any comments bug reports and donations to the author bernhard strassl vienna user interface group institute for applied computer science and information systems university of vienna lenaugasse a wien austria e mail xmplus ani univie ac at
