Copyright 2002-2006 Integrated Computer Solutions, Inc.
Revision Date: 03/16/06
If you received a CD in the mail, please read this section. If you downloaded an evaluation, please see the section: Installing from a Download.
The CD-ROM contains the following files and directories:
| File | Description |
| ./install.txt | Text version of these notes |
| ./install.pdf | Adobe Acrobat version of these notes |
| ./manifest | Text file identifying product(s) contained on the CD-ROM |
| ./<product-name>/ | One or more product installation directories. See the file ./manifest for descriptions |
| ./goodies/ | Directory with various software that you might find useful. |
| OS | Mount Command |
| AIX | %mount -r -v'cdrfs' /dev/cd0 ${mount-point} |
| HPUX | %mount -r -F cdfs /dev/dsk/c0t3d0 ${mount-point} |
| IRIX | %mount -t iso9660 /dev/dsk/dks0d1s7 ${mount-point} |
| SunOS | %mount -o ro -t hsfs /dev/sr0 ${mount-point} |
| Solaris | %mount -o ro -F hsfs /dev/dsk/c0t6d0s0 ${mount-point} |
| Tru64 | %mount -r -t cdfs /dev/rz4c ${mount-point} |
| Linux | %mount -t iso9660 /dev/cdrom ${mount-point} |
Your CD-ROM will contain one or more directories. Each directory will be the name of the ICS product. The text file ./manifest describes each product contained on the CD-ROM and identifies the associated directory. To install a specific product, follow these instructions.
The software you downloaded is a copy of the actual installation media that we ship on CD. The only difference is that it has been tared and then gziped. After performing the tar and gunzip in Step #1 below, you can use follow the detailed instructions in Installing from a CD above. Alternatively, you can follow the Quick Start instructions below.
Note: There is a known bug with SGI evaluations of Builder Xcessory that is fixed in the next release. For now, if you are evaluating Builder Xcessory on SGI, please see the question: Why does my BX Evaluation on SGI always start up in Demo mode? and then proceed with step #3 below.Full operation of a BX PRO evaluation requires the installation of two evaluation license keys: one for Builder Xcessory and one for the bundled libraries (EPak and ViewKit). You should have received a separate email with both keys. If you did not, you can request another evaluation key at http://www.ics.com/keys/. The following instructions will help you properly install the keys.
Note: The evaluation key format differs between Linux and UNIX. If you are installing a Linux evaluation key, it should look like (it is a single line, ignore any line breaks):
LICENSE BuilderXcessory (key)
And a UNIX evaluation key should look like (again a single line, ignore any line breaks):
FEATURE BuilderXcessory ICSBX 6.000 (Date) (#licenses) (key) "ICS Builder Xcessory" DEMO
Where (key), (Date), and (#licenses) are replaced by values appropriate for your environment. When asked to enter the Evaluation Key, enter the whole line starting with "LICENSE" for Linux and "FEATURE" for UNIX. It is highly recommended that you copy and paste the appropriate line from the email containing the key to avoid re-typing mistakes.
Note:The Builder Xcessory evaluation key is stored in a subdirectory of ~/.builderXcessory6. This means that every person evaluating Builder Xcessory must install this key through the dialog box mentioned above. You do not need to request additional evaluation keys. The one that you used will work for them too.
Note: If you wish to avoid entering the EnhancementPak/ViewKit evaluation license key every time your run your test application, then simply make sure that the following commands are executed in the shell (or shell script) that runs your application:
For csh (and its variants):
% setenv ICS_EVAL_KEY (widget libraries evaluation key)
For sh (and its variants):
% export ICS_EVAL_KEY=(widget libraries evaluation key)
Since there is no license key for the bundled libraries (EnhancementPak and ViewKit), installing the license key for a purchased version of BX PRO can be easier than an evaluation version. Once you've installed the key for BX PRO, you're immediately operational. Before you start your installation, request your license key by visiting: http://www.ics.com/keys/.
License key installation varies slightly depending on whether you are installing a Linux single user, a Linux server license, or a UNIX version of BX PRO:
NOTE: It is important that you install BX PRO from the distribution media you received as the result of your purchase. The evaluation versions of BX PRO have a variety of limitations, the most obvious of which is that EPak and ViewKit require a license key. Simply delete the BX PRO home directory (typically under /opt) and reinstall the production version of BX PRO
I installed the key as suggested, but upon startup BX tells me that the key it found is invalid. Did you send me a bad key?
Possibly, but not likely. Typically, a key is not recognized for one of the following reasons:
I am upgrading from BX 3.5.1 for VMS/VAX to BX 5.0 on OpenVMS running on the Alpha hardware platform. I am able to register the license. However, when I try to load the license using the following command:
LIC LOAD BUILDERXCESSORY
I get the error
%LICENSE-W-WRGARCH, BUILDERXCESSORY license is not valid on this architecture
How do I get the license loaded under OpenVMS?
When you install BX5.0 VMS license key on a previously installed BX3.5.1 VMS license
key, the above error message is generated. This is because it has the
same product name as the earlier one. You need to delete BX3.5.1 license key completely before installing BX5.0 license key.
I'm using Solaris and I've just upgraded to BX 6 from BX 5. After installing BX 6, I've installed the corresponding new BX 6 keys into the FlexLM license server as instructed in the Builder Xcessory Reference Manual. Whenever I try to start BX 6, it claims that it cannot find a valid license and runs in "Demo" mode. However, I can still use BX 5 in "Full Use Mode". What's wrong?
On UNIX platforms, ICS uses the FlexLM license server to manage the floating licenses to BX. When you purchase a new license or an upgrade license, you use commands provided by FlexLM to add these licenses to the database of the license server. This process can be confusing, and we highly recommend that new users carefully read Appendix C: License Manager, before adding attempting to add new or upgrade licenses.
In the situation described, the most likely problem is that you forgot to remove the BX 5 licenses from the FlexLM license server. A BX 6 license key will enable both BX 6 and all prior releases of BX (e.g., BX 5, 4, 3.5.1, etc.) to function in "Full Use Mode". However, when BX 6 checks out a BX 5 key, it rejects it and goes into "Demo Mode". This explains the observed situation where BX 5 works, and BX 6 does not.
Why does my BX Evaluation on SGI always start up in Demo mode? It never asked me to install a key. How do I provide BX with my evaluation key so that I can get full use of the product?
There is a known problem with Builder Xcessory evaluations on SGI/IRIX that is fixed in the next release. If you are using IRIX, you should create a license file that contains the license key and then set the environment variable LM_LICENSE_FILE to point to it. Let's assume that you've put your evaluation license for BX in the file /some_path/mylicensefile.dat. Then depending on which UNIX shell family you are using, you would do one of the following:
For csh (and its variants):
% setenv LM_LICENSE_FILE /some_path/mylicensefile.dat
For sh (and its variants)
% export LM_LICENSE_FILE=/some_path/mylicensefile.dat
When BX PRO requests my evaluation key, the dialog box that appears specifies a format that is different than the key I was sent. Do I mangle my Linux key into that format?
No. Cut the line from the email that delivered the key and paste the exact line into the entry field. The example license line is accurate for UNIX evaluation licenses.
Do I enter the whole line or just the "key" portion when BX PRO requests a key?
Enter the whole line starting with "LICENSE" for Linux evaluations and "FEATURE" for UNIX evaluations.
How can I put the license file somewhere else?
The environment variables ICS_LICENSE_FILE (on Linux platforms) and LM_LICENSE_FILE (on UNIX platforms) are used to specify the location of the BX PRO license file. To set the environment variable
Linux:
For csh (and its variants):
% setenv ICS_LICENSE_FILE /some_path/mylicensefile.dat
For sh (and its variants)
% export ICS_LICENSE_FILE=/some_path/mylicensefile.dat
UNIX:
For csh (and its variants):
% setenv LM_LICENSE_FILE /some_path/mylicensefile.dat
For sh (and its variants)
% export LM_LICENSE_FILE=/some_path/mylicensefile.dat
My system administrator installed the evaluation and the corresponding evaluation key. However, when I start up BX, it requests a key from me and when I don't provide it, it goes into demo mode. How do I fix this?
Everybody that will be using BX must install the evaluation key or set the proper environment variable (see question above) to point to a common location for the evaluation license key.
Can I evaluate Linux and Solaris simultaneously?
BX 6.1: Yes, just cut and paste the appropriate key into the key request dialog box as BX starts on the platform. Alternatively, if your startup file detects which system type you are using, just set the environment variable above to the appropriate location for that system. EPak and ViewKit share the same evaluation key on both Linux and UNIX, so you can just set it once.
BX 6.0: If you need to evaluate both a UNIX and Linux version of BX PRO with BX 6.0, do the following:
I'm confused, I thought that BX used the FlexLM license server?
When you install a full, permanent license for BX PRO on UNIX systems, you will use FlexLM. Detailed instructions for installing FlexLM are provided in Appendix C of the BX Reference Manual. If you are installing a permament key, we urge you to read this section in detail to maximize your benefit from using floating licenses.
To reduce the amount of time spent installing keys, we have developed a simpler scheme for evaluation licenses. This section talks about how you install an enable an evaluation of BX PRO.
I am using Solaris 8 and having a problem time starting the ICSBX daemon and
the lmgrd program.
See the answer to the next question.
I have FlexLM 7.0 running on my Solaris 8 system and I've added my BX PRO
license to its database. When I run ./lmstat, it claims that the BX 6
license is properly checked in and ready to be used. However, when I start
BX up, I'm told that no license exists and I'm asked whether I want to
install one. How can I get BX to checkout that license?
You need to manually set the number of file descriptors in the shell that
starts the lmgrd daemon to something less than 4096. Our suggestion is to
use 1024 since that was the default on Solaris 7 systems. To do so:
For csh (and its variants):
% limit descriptors 1024
For sh (and its variants)
% ulimit -H -n 1024
Restart the lmgrd and do a:
% ps -ef
You should see the ICSBX daemon running.
I am running on Red Hat Linux 7.3. It works fine when I am running on the monitor attached to my Linux box. However, if I am displaying BX on another system, it crashes. What is wrong?
BX is known to crash when run on RH Linux 7.3 if the environment variable LANG
is set to en-US.iso885915 and you are running BX on a foreign X server.
More information on this bug in Red Hat can be found href=https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=62844. To
work around it, please set your environment variable LANG to en_US. For example, if you are using the csh shell you would type:
% setenv LANG en_US
After installation, I run BX on SUN Solaris, but I got an error message like: bxb: fatal: libCrun.so.1 version 'SUNW_1.2' not found.
You need to install a patch on your system. They are available from Sun.com web site. The patch numbers are
108434-17 (if you are using Solaris 8)
111711-11 (if you are using Solaris 9)
These patches will provide the libraries that are needed by BX.
When I run BX6.x on Solaris, I get the following error message and BX exits.
What do I need to do?
ld.so.1: /opt/bxpro-6.1/bin/bxb: fatal: relocation error:
file /opt/bxpro-6.1/bin/bxb: symbol __1cDstdJbad_allocG__vtbl_:
referenced symbol not found
This error message is probably due to you having an older version of a C++ shared library installed. To confirm this, execute the following commands:
% what /urs/lib/libC.so.5 | grep RELEASE
% what /usr/lib/libCrun.so.1 | grep RELEASE
If the output of either of these commands is: Workshop Compiler 5.0 C++ 5.0, then you need to download the Sun patch 106327-16. This patch is for SunOS 5.7 and contains 32-Bit Shared library patch for C++ and includes libC.so.5 and libCrun.so.1.
You should create soft links to these libraries. ie,
libCrun.so -> libCrun.so.1Make sure that your environment variable LD_LIBRARY_PATH includes the directory with these soft links.
libC.so-> libC.so.5
I'm running BX PRO on Linux. Which version of Open Motif is BX compatible with?
BX PRO 6.0 is only compatible with Open Motif 2.1. If you are running Red Hat 7.3, the default version of Open Motif is 2.2. You need to install the Open Motif 2.1 compatibility library that can be found elsewhere on the Red Hat 7.3 distribution. If you cannot find it, and you have a CD based evaluation, then you can use the RPMs found on the CD at: <mount_point>/ome-compat/ (alternatively, they may exist at: <mount_point>/bxe6lin/ome-rpms/) If you downloaded your eval, see the suggested sources for Open Motif provided in the next question.
BX PRO 6.1 is compatible with Open Motif 2.2 on Red Hat 7.3+ and is configured to use Open Motif 2.1 on Red Hat systems prior to Red Hat 7.3. If you have change Open Motif versions, make sure that you install a compatible version of BX PRO.
I'm running BX PRO on Linux. and when I start it, I get an error message complaining about the routine xmSimpleSpinBoxWidgetClass being undefined. What is wrong?
BX 6 does not work with lesstif (an Open Motif clone). If you try to run BX 6, and only have lesstif installed (or your shared library path is set so that the lesstif library is found first), you will get an error message complaining about the undefined routine xmSimpleSpinBoxWidgetClass. The solution to this is to install Open Motif. (See previous question for discussion of Open Motif compatibility.) The following provides the links to URLs for both the
Runtime RPMs
http://www.rpmfind.net/linux/rpm2html/search.php?query=openmotif&submit=Search+...&system=&arch=
Development RPMs
http://www.rpmfind.net/linux/rpm2html/search.php?query=openmotif-devel&submit=Search+...&system=&arch=
First install the runtime RPM, and then install the development kit.
I would like to install the latest release of the gcc compiler and use it with ViewKit. (Or alternatively: I would like to switch from the gcc compiler on Solaris to the Sun Forte compiler.) Is this going to cause any problem with BX or its libraries?
ViewKit is a C++ library and because of the implementation of the C++ language, is dependent on the specific version of the C++ compiler you are using. If you use libraries built with one C++ compiler, and you try to link those C++ libraries with code or libraries generated with another compiler, you will get link errors at best, and in the worst case, puzzling runtime errors. In some cases, even "minor" releases in the C++ compiler can create incompatibilities (e.g., gcc 2.95 and gcc 2.96 are NOT compatible!) ICS provides ViewKit for a wide variety of C++ compiler releases. So when you install, make sure that you pick the one that matches the particular release of your C++ compiler!
The compiler released use to build ViewKit is encoded in the name of a file that starts out with vkcompiler.{compiler version}. For example if you installed ViewKit for Solaris and the Sun Cxx 4.2 compiler on your system, then you would see in the install directory (typically /opt/bxpro-6.0/lib) the files:
vkplatform.sparc-solaris-2
vkcompiler.suncxx4.2
On HPUX11, when we link we get the following error: Symbol not found: XmeStringsAreEqual. XmeStringsAreEqual is undefined and found in XmP.h. Please download the patch, PHSS_30261, from HP's website. This patch will fix this issue.
My install of BX PRO failed. Where can I find a clue to the reason?
When the ICS installer runs, it creates a log file in /tmp. If your installation fails, or you appear to be missing the actual bx shell script, this log should provide you with a clue to the problem. The format of the file is:
icsInstal-mm-dd-1yy.log
This file can be cryptic. So if the problem is not obvious, please send it to ICS along with your problem report.
Builder Xcessory is a professional tool for software developers that want the convenience and productivity of a visual design tool. The Best Way to Get Started with BX is to use the tutorials that are included with every BX install. The tutorials and product documentation for BX is installed on your machine during installation and can be accessed through the Help menu.
Where is the documentation for Builder Xcessory?
The pdf versions of the documentation for BX are installed
on your machine during installation and can be accessed through the Help menu. The
documentation is also available at: http://www.ics.com/support/docs/
Are there any tutorials or other aides to get started?
Builder Xcessory provides a comprehensive set of tutorials.
They are also in pdf form and also
accessible from the BX Help menu. The easiest way to get started with BX , is
to try the first three-four tutorials and start using BX immediately.
How do I select a parent widget and all its children?
You can select or unselect an entire hierarchy of widgets by
holding the Shift key and selecting the top widget in the hierarchy in the
Browser. You can also select an entire hierarchy of widgets in your user
interface by using the lasso-selection. Select the container and its children
by holding the Shift key while dragging a box around the manager using MB1.
Then move the selected group using MB1.
Is there a quick to copy an object?
Many find the select-copy-paste process too long to copy
objects. BX provides a faster way. To quickly copy objects, hold down the Ctrl
key while dragging an object with MB2. Then drop the copy in its new location.
Can I avoid setting an explicit size to a widget?
When you place an object in Builder Xcessory, you implicitly
provide a width and height for the object. If you don't want to set the width
and height, use the Natural Size action from the Main Window Edit menu or from
the MB3 Quick Access menu in the Browser Tree or on the object itself. By
setting Natural Size, the child widget will automatically adjust to changes in
the size of its parent.
How can I make it easier to resize and align objects?
Increasing the size of the layout grid can make it easier to
resize and align objects with the mouse. Use the User Preferences Dialog to
change the resolution from its default value of 10 pixels. BX also provides an
alignment editor that allows you to quickly align or distribute widgets. Look
for it under the Edit menu in the Main Window.
I keep missing the drop site as I try to parent a new
widget. Is there an alternative mechanism?
Sometimes it is difficult to zero in on the exact drop site
when adding a widget to your user interface. For example, when adding a
pushButton to a cascadeButton, it is easy to miss the drop site and end up with
the pushbutton parented to the wrong widget. In cases like these, it is usually
much easier to select the widget on the palette with MB2 and then drop it on
the desired parent widget in the Browser. If you prefer the WYSIWYG approach,
then the next question on Keep Parent might be a solution.
I keep getting an error message that Im trying to attach
a widget to the wrong parent? How do I know what are the legal combinations?
One of the toughest challenges facing a new Motif developer is
determining which widgets can be children of which parents. ICS recommends that
new Motif developers select "Keep Parent" (Main Window->View). The Keep
Parent option only allows valid children of the currently selected widget to be
selected on the palette. In Keep Parent mode, you first select which object is
going to be the parent by clicking on it in your user interface or in the
Browser. Widgets on the palette that remain sensitive are valid children of the
currently selected widget. All Widgets that are NOT valid children are grayed
out.
When I build my GUI everything looks great in BX in both Build mode and Play mode. Yet, when I build and run the actual application, things look different. For example, I have different fonts, widget sizes differ, etc. What is going on?
Although there are several potential causes for this behavior (for example, see other FAQ questions on app-defaults), if you are using Linux, the most common one is that you are using two different versions of Motif. BX uses the Motif shared libraries found on your system. However, it is also possible you also have LessTif (a LGPL clone of Motif) installed, or some older version of Motif. If you are not careful with your link line you might find that your application is using something other than what you expected. Typically, this is easy to determine by using the "ldd" command to see which Motif libraries our programs is using. Then run the same command on the bx binary "bxb" and verify that they are the same libraries.
Whenever I try to set a resource, I get the error
message: "Widget Does Not Allow Resource to be Modified at this Time". What does this mean and how do I work
around this?
First, lets explain why this error message is generated.
When you request BX to set a resource, it sets the resource using the standard XtSetArg routine. It then reads the value of he resource back using the standard XtGetArg function. If the values read back do not match the new values, BX generates the error message "Widget Does Not Allow Resource to be Modified at this Time". Basically, this error message means that the Motif toolkit you are using is not allowing the resource to be set.
In many cases, the situation stems from the fact that you are trying to change the physical dimensions of a child widget where its geometry is actually being overridden by the Parent object. For example, it is very common for this error message to occur when you have parented a XmFrame to an XmForm, set the attachments, and then try to resize directly the XmFrame (we do this in Tutorial 3!). You can get around this in a couple ways. In many cases, it is easiest to grab the user interface with the Window Manager and directly resize the window. In other cases, you will need to unhook the various Attachments, resize as desired, and then reestablish the attachments.
This error message might also be generated in cases where you need to set the values of multiple resources at the same time. For example, in ICSs EditTable widget, you need to set the number of rows and columns at the same time. You cant just change the number of columns without setting the number of rows too. It is common for users to try to change the number of columns in the resource editor and receive this error message. Since you cannot change the number of rows and columns simultaneously from within the BX resource editor, you have to apply a different strategy to set the resources appropriately. Basically, you create a "style" that has the number of columns and rows set to the desired value. You then apply this style to your EditTable widget and both rows and columns get set simultaneously and the widget is happy. This strategy can also be applied to other widgets that have similar constraints.
I have a large user interface and I find that Im always
searching for the currently selected object in the Browser. Is there anyway to
keep the Browser tree centered on the user interface object that Im working
on?
To set the Browser tree view to automatically show the
currently selected object, select User Preferences from the Main Window Options
menu, click on the Behavior tab, and select the Center Browser Tree toggle.
When you select an object, the tree view will automatically center itself
around the selected node.
Can I customize the BX toolbar?
You can add an item to the BX Toolbar in the Main Window by
holding the Shift key when you select a menu entry. You can remove an item from
a Toolbar by holding the Shift key when you select either the Toolbar item or
the item's corresponding menu entry.
Is there anyway to eliminate the Delete Confirmation
dialog box that pops up when I delete an object?
By default, a Delete Confirmation dialog is displayed when
you attempt to delete an object. To unset Delete Confirmation, select User
Preferences from the Main Window Options menu, click on the Behavior tab, and
unselect the Confirm Delete Actions toggle.
Whats the fastest way to populate a menu?
To quickly populate a menu, use the Keep Parent option from
the Main Windows View menu. Select the Pulldown Menu you want to populate and
set Keep Parent. Then to add children to this menu, just double-click on the
desired widget in the Palette.
I accidentally selected the wrong widget on the Palette.
How do I de-select it?
If you have selected an object on the palette you did not
intend to select, simply press the Escape key OR press the MB2.
My screen is filled up with shells. Can I set BX to only
display the shells I am currently working on?
To save screen space, you can selectively hide shells you
are not using. To hide a shell, click on a selected shell name in the Browser
Instance or Class list on the left of the Main Window. The shell name is
unselected and the shell is hidden.
Note: This does not effect whether the shell is managed, and so visible, when you generate code. See question on "How do I gain control over the display of these Dialog boxes?" if you are trying to control when a particular shell is visible in the actual application.
Can I make the Palette smaller so that I can eliminate
the need to use the scrollbars to access a widget?
To save screen space, you can click on a Palette collection
folder icon to close the folder. For example, if you are tailoring a particular
shell and have already laid out the containers, you might want to collapse the
Motif Containers to eliminate the need for scroll bars on the Palette. This
would provide easier access to the widgets that you need to complete your user
interface.
When I generate code, all my Dialog boxes are managed and
visible. How do I gain control over the display of these Dialog boxes?
By default, any object you create in BX is automatically
visible. You can hide objects in your interface by selecting one or more and
choosing the Hide option from the Resource Editor Component menu. You would
commonly do this to Dialog boxes that would popup under control of the
applications that you do not want visible at startup. "Hidden" objects will not appear until your application
specifically "manages" them.
Note: Although the "Hide" option will have the side effect of cleaning up screen clutter, it performs a much different function. If you just want to cleanup screen clutter, see the question on "Can I set BX to only display the shells I am currently working on?".
Where are the Constraint resources located in the
Resource Editor?
Constraint resources are always grouped together at the
bottom of the Resource Editor.
How can I simultaneously set the same value for a
resource on multiple widgets?
Depending on what you are trying to accomplish, there are
several approaches here. The first approach is to select each widget in the
Browser or in the application window and enter the resource value as you would
for a single widget. Each selected widget will be updated with the new value.
The second approach uses the Builder Xcessory feature of Styles. Styles are
groups of resources that can be applied to widgets or widget hierarchies. You
would use the first approach if you were just setting these resources for a
specific situation. You would use Styles if you wanted to create an overhaul
consistent Look-and-Feel to your application. Some practical applications of Styles
are provided in Tutorial 5.
The BX Resource Editor seems to ignore my entries. Why is
this happening?
Whenever you change a value in the Resource Editor, it
requires that the change be confirmed by clicking the checkmark to the right of
the entry field. It is very common for users to type in a new value and then
forget to hit the "checkmark" to the right of most text fields in the Resource
Editor. You loose your changes if you forget to click on the checkbox or click on the Enter key to apply
your changes.
I have two buttons (or two labels, or two whatevers) that
are displaying differently. How can I find the list of resources that are
different?
Select both objects in the Browser using the Shift-MB1
combination. In the resource editor, select the icon in the resource editor
toolbar (by default, it is the circle on the far right) that displays only
resources that are not equal. The list of resources that are different will
then appear below.
I have a user interface that was originally created with SGIs RapidApp. Can I migrate it to Builder Xcessory?
SGIs RapidApp was originally based on Builder Xcessory
Version 3 source code. Consequently, RapidApp and Builder Xcessory share many
of the same approaches to GUI development. And when SGI took RapidApp to End of
Life, Builder Xcessory was given the nod as the official SGI recommended
upgrade path for RapidApp users.
The actual process of converting involves the running of a converter on the RapidApp save file. This converter only supports RapidApp save files that were created using RapidApp 1.2+. The converter is written in Python, allowing users to extend and modify it as necessary to address any unique needs of their RapidApp user interface.
I have a user interface that was originally created with
Digitals VUIT GUI Builder. Can I migrate it to Builder Xcessory?
Builder Xcessory can directly read in the user interface
save file created by VUIT. As with SGI and RapidApp, Builder Xcessory is the officially
recommended upgrade path for VUIT users.
I have some user interfaces that were written using UIM/X
(probably from Bluestone or Black and White). Can Builder Xcessory read these
user interfaces in?
Engineering work is underway to allow the conversion of the
UIM/X save file formats (.uil and .i) to a format that can be imported by
Builder Xcessory. Ask your ICS representatives for details or email
info@ics.com.
My user interfaces were written long ago with the Xview
toolkit. Do I have any choice other than rewrite?
Prior to Motif, Sun developed and distributed the Xview
toolkit. Today, few developers use Xview, and Motif is the dominant commercial
user interface toolkit on LINUX and UNIX systems. If your XView based user
interface was build with Sun DevGuide GUI Builder, then there is a direct
migration path. (See question that follows). If your GUI was not build with
DevGuide, or the DevGuide save files (GIL) are no longer available, there is
still an alternative. ICS has a tool
that can recreate GIL files from applications built with Xview. Ask your ICS
representatives for details or email info@ics.com.
My user interfaces were written using Suns DevGuide GUI
builder. Can BX convert the user interface?
Yes. Builder Xcessory on UNIX workstations (Sun, HP, etc.)
has an "import GIL" option under the File menu. The Linux version of BX
doesnt provide this capability. However, we would be happy to issue you a
short term license for BX on Sun, etc. so that you can make the conversion and
then import the converted UIL into Builder Xcessory on Linux.
My user interfaces were written using some other
obsolete/dead/etc. GUI builder. Can I preserve this work?
If your old GUI Motif GUI builder can export files in UIL,
BX can import them. This will preserve the raw user interface. At this point
you will need to complete the conversion by using BX to add callbacks, setting
form attachments, etc.
I want to build an user interface once and deploy it to
Unix/Linux and Windows. How should I do this with the BX product family?
ICS offers BX/WIN SDK as the preferred solution to a Windows
deployment. BX/WIN SDK includes a complete UNIX development environment that
runs on Windows. It also includes copies of Motif and ported versions of ICS
ViewKit and EnhancementPak libraries. BX/WIN SDK provides a proven solution for
the migration of large applications to Windows.
If I build a user interface on Solaris can I port it to
<insert OS name here> on <insert CPU architecture here>?
Generally the answer is yes. However, there are two
exceptions. 1) If you used ViewKit and/or EnhancementPak in your user
interface, you must also have these libraries available on your new platform.
2) There can be slight differences in Motif from vendor to vendor. Please allow
time for you to debug any subtle differences.
I built a user interface using BX <insert version #
here>. What is involved with upgrading to BX 6?
BX 3.x is upwards compatible with BX 4, which is upwards compatible
with BX 5, etc. This means that files save by BX 3.x can be read into BX 4 and
BX 5 can read BX 4 save files. You cannot "jump" a level (i.e. have BX 6
directly read in BX 4 based saved files. If you are migrating from an older
release, contact your ICS representative and we can arrange for temporary
access to the releases you need.
How do I keep existing widget libraries (ET, CO, XRT, Xbae & Homegrown) integrated with BX 6.1.x during an upgrade to BX 6.1.3?
1. When you run install script ./setup make sure you select the same directory that has previous version of BX 6.1.x. For example, if you have BX 6.1.x installed in /opt/bxpro-6.1/ then select the same directory for installing BX 6.1.3.
2. Once BX 6.1.3 is installed successfully, go to /opt/bxpro-6.1/xcessory/packages/ directory. You should still find .cat files for the extra widget libraries.
3. Open the file, default.cat in an editor. Introduce new lines of Include cat files for all .cat files identified in step 2. Save and close the editor.
This will get you going with extra widget libraries integration in BX 6.1.3.
I made a mistake, where is the "UNDO"?
Builder Xcessory does not have an immediate UNDO. However, The
Revert... option from the Main Windows Edit menu allows you to reload your
work from the last saved version of your file or from the last autosaved
version of the file.
Ive built my user interface with EPak or ViewKit and now
Im getting errors when I try to compile/link my application. Where are these
libraries located?
If you have installed extra libraries from ICS, such as
ViewKit or EPak, they are installed by default in ${BXHOME}/lib. To use these
libraries in your programs just add a link line in "Options->Code
Generation Options->Makefile". Then choose "Save As
Default".
How can I edit Compound objects?
Some widgets that appear as a single object on the Palette
are actually Compound Objects that are made up of several Motif widgets. For
example, the XmMessageBox is a compound object made up 6 child objects. You can
toggle whether Compound Objects are expanded or not in the Browser by
setting/unsetting the toggle "Show Compound Children" under the View menu of
the Main Window. For example, if you did not want an "OK" button, a "Cancel"
button, and a "Help" button, you could select "Show Compound Children" and then
delete one or more buttons.
Can I modify the generated code and still use BX?
There will come a time when modifying the generated code
will be the most direct solution to a special function or need of your
application. When you have to do this, just make sure that your modifications
are placed within a user code block in the generated code. If you keep your
code there, Builder Xcessory will automatically detect it, save it and restore
it after you regenerate the code for your user interface. And if as the result
of a change in your user interface, there is no reason for a particular user
code block (and your hard written code!), BX will automatically save your code
in a special file and make you aware of this by publishing a message in the
Message area of the Main Window.
User code blocks are great! Can I add my own?
No. User code blocks require special handling in the BX code generation phase to
preserve your changes. However, user code blocks have been a key BX feature for a long
time, and we've taken input from many users over the years on their locations. It is likely
that anything you would like to do, can be supported by an existing user code block. If you
believe that you have some unique need, please send a description to support@ics.com. If we can't suggest how you can use an existing user code block, we'll consider adding it!
How do I get my application to read the app-defaults
file?
Many users are confused on how to connect their app-defaults
file to their application. To get your application to pickup your app-defaults
file, you need to take the following steps:
I have a large user interface and it takes along time to
read it into BX. Is there any way to speed this process up?
You can save time when reading in a large application by
setting Delay Shell Realize. To set Delay Shell Realize, select User
Preferences from the Browser Options menu, click on the Behavior tab, and select
the Delay Shell Realize toggle. A shell will not be created until selected from
the Instance list in the Browser.
If you want the fastest possible response to your support question, try to do ALL of the following: