<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Programming in XPCE/Prolog: Section 1.5</TITLE><LINK REL=home HREF="index.html"> <LINK REL=contents HREF="Contents.html"> <LINK REL=index HREF="DocIndex.html"> <LINK REL=summary HREF="summary.html"> <LINK REL=previous HREF="sec-1.4.html"> <LINK REL=next HREF="sec-1.6.html"> <STYLE type="text/css"> /* Style sheet for SWI-Prolog latex2html */ dd.defbody { margin-bottom: 1em; } dt.pubdef { background-color: #c5e1ff; } pre.code { margin-left: 1.5em; margin-right: 1.5em; border: 1px dotted; padding-top: 5px; padding-left: 5px; padding-bottom: 5px; background-color: #f8f8f8; } div.navigate { text-align: center; background-color: #f0f0f0; border: 1px dotted; padding: 5px; } div.title { text-align: center; padding-bottom: 1em; font-size: 200%; font-weight: bold; } div.author { text-align: center; font-style: italic; } div.abstract { margin-top: 2em; background-color: #f0f0f0; border: 1px dotted; padding: 5px; margin-left: 10%; margin-right:10%; } div.abstract-title { text-align: center; padding: 5px; font-size: 120%; font-weight: bold; } div.toc-h1 { font-size: 200%; font-weight: bold; } div.toc-h2 { font-size: 120%; font-weight: bold; margin-left: 2em; } div.toc-h3 { font-size: 100%; font-weight: bold; margin-left: 4em; } div.toc-h4 { font-size: 100%; margin-left: 6em; } span.sec-nr { } span.sec-title { } span.pred-ext { font-weight: bold; } /* Footnotes */ sup.fn { color: blue; text-decoration: underline; } span.fn-text: { display: none; } sup.fn span {display: none;} sup:hover span { display: block !important; position: absolute; top: auto; left: auto; width: 80%; color: #000; background: white; border: 2px solid; padding: 5px; margin: 10px; z-index: 100; font-size: smaller; } </STYLE> </HEAD> <BODY BGCOLOR="white"> <DIV class="navigate"><A class="nav" href="index.html"><IMG SRC="home.gif" BORDER=0 ALT="Home"></A> <A class="nav" href="Contents.html"><IMG SRC="index.gif" BORDER=0 ALT="Contents"></A> <A class="nav" href="DocIndex.html"><IMG SRC="yellow_pages.gif" BORDER=0 ALT="Index"></A> <A class="nav" href="summary.html"><IMG SRC="info.gif" BORDER=0 ALT="Summary"></A> <A class="nav" href="sec-1.4.html"><IMG SRC="prev.gif" BORDER=0 ALT="Previous"></A> <A class="nav" href="sec-1.6.html"><IMG SRC="next.gif" BORDER=0 ALT="Next"></A> </DIV> <H2><A NAME="sec:1.5"><SPAN class="sec-nr">1.5</SPAN> <SPAN class="sec-title">Look-and-feel</SPAN></A></H2> <P><A NAME="idx:lookandfeel:10"></A><A NAME="idx:Motif:11"></A><A NAME="idx:OpenWindows:12"></A><A NAME="idx:MSWindows:13"></A><font size=-1>XPCE</font> is not implemented on top of a standard UI library such as Motif, OpenWindows, or Win32. Instead, it is built on top of its own VWS defining primitives to create and manipulate windows, draw primitives such as lines, circles, text and handle user-events. <P>As a consequence, <font size=-1>XPCE</font> programs are fully compatible over the available platforms, except that some (almost exclusively obscure) features may have a different or have no effect on some implementations. <P>The implementation of all of <font size=-1>XPCE</font> on top of its primitive graphicals guarantees there are no platform-specific limitations in the manipulation and semantics of certain controllers. <font size=-1>XPCE</font> defines the look-and-feel for each of the controllers. As a consequence, <font size=-1>XPCE</font> controllers may not behave exactly the same as controllers of other applications in the same windowing environment. <P>All good things come at a price-tag and portability based on a virtual environment is no exception to this rule. <font size=-1>XPCE</font> builds high-level controllers (called dialog-items in its jargon) on top of the virtual machine and therefore bypasses the graphical libraries of the hosting system. The same technique is used by many other portable GUI toolkits, among which Java. <P>The visual feedback (look) and to some extend the reactions to user actions (feel) of the <font size=-1>XPCE</font> controllers is determined by <font size=-1>XPCE</font>'s <EM>defaults</EM> file, located in <CODE><<VAR>pcehome</VAR>>/Defaults</CODE>. See <A class="sec" href="classvar.html">section 8</A>. <P></BODY></HTML>