1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00
cde/cde/doc/C/guides/builderGuide/ch01.sgm

340 lines
14 KiB
Text

<!-- $XConsortium: ch01.sgm /main/6 1996/09/08 19:47:49 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<Chapter Id="ABUG.intro.div.1">
<Title Id="ABUG.intro.mkr.1">Getting Started</Title>
<Para>App Builder is a development tool that makes designing, creating, and
prototyping a user interface easier. App Builder gives you the freedom to
create and try user interfaces without writing any code. Because you can create
and modify an interface easily, you'll find that you can spend more time
designing and testing, the surest route to better user interfaces.</Para>
<InformalTable Id="ABUG.intro.itbl.1" Frame="All">
<TGroup Cols="1">
<ColSpec Colname="1" Colwidth="4.0 in">
<TBody>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Application Builder Primary Window2'--><XRef Role="JumpText" Linkend="ABUG.intro.mkr.2"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Starting and Exiting App Builder3'--><XRef Role="JumpText" Linkend="ABUG.intro.mkr.3"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Overview of the App Builder Process4'--><XRef Role="JumpText" Linkend="ABUG.intro.mkr.4"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Object Types5'--><XRef Role="JumpText" Linkend="ABUG.intro.mkr.5"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Rules for Dropping Objects6'--><XRef Role="JumpText" Linkend="ABUG.intro.mkr.6"></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Sect1 Id="ABUG.intro.div.2">
<Title Id="ABUG.intro.mkr.2">Application Builder Primary Window</Title>
<Para>The Application Builder primary window, shown below, is the starting point
for creating a user interface. See
<!--Original XRef content: '&xd2;App Builder Primary Window&xd3; on page&numsp;116'--><XRef Role="SecTitleAndPageNum" Linkend="ABUG.apWDB.mkr.2">,
for a detailed description of the primary window.<IndexTerm>
<Primary>drag and drop</Primary>
</IndexTerm><IndexTerm>
<Primary>creating</Primary>
<Secondary>interface</Secondary>
</IndexTerm><IndexTerm>
<Primary>interface</Primary>
<Secondary>creating</Secondary>
</IndexTerm><IndexTerm>
<Primary>user interface</Primary><Secondary>&lt;Emphasis>See&lt;Default Para Font> interface&lt;$nopage></Secondary>
</IndexTerm><IndexTerm>
<Primary>interface</Primary>
<Secondary>creating</Secondary>
</IndexTerm><IndexTerm>
<Primary>creating</Primary>
<Secondary>interface</Secondary>
</IndexTerm><IndexTerm>
<Primary>creating</Primary>
<Secondary>interface</Secondary>
</IndexTerm><IndexTerm>
<Primary>interface</Primary>
<Secondary>creating</Secondary>
</IndexTerm>
</Para>
<Figure>
<Title>Application Builder primary window</Title>
<Graphic Entityref="ABUG.intro.fig.1" Id="ABUG.intro.grph.1"></Graphic>
</Figure>
<Para><IndexTerm>
<Primary>App Builder</Primary>
<Secondary>primary window</Secondary>
</IndexTerm>The basic method for creating an App Builder user interface is to <Emphasis>drag and drop</Emphasis>
objects from the App Builder primary window onto the workspace or onto
other App Builder objects. See
<!--Original XRef content: 'Chapter&numsp;3, &xd2;Laying Out a User Interface'--><XRef Role="ChapNumAndTitle" Linkend="ABUG.layo.mkr.1">, for
details.</Para>
</Sect1>
<Sect1 Id="ABUG.intro.div.3">
<Title Id="ABUG.intro.mkr.3">Starting and Exiting App Builder</Title>
<Sect2 Id="ABUG.intro.div.4" Role="Procedure">
<Title>To Open App Builder from an Icon</Title>
<Sidebar>
<Para><Graphic Entityref="ABUG.intro.fig.2" Id="ABUG.intro.igrph.1"></Graphic></Para>
</Sidebar>
<OrderedList>
<ListItem>
<Para>If App Builder has previously been open and the App Builder icon is on the
workspace, double-click the icon to open App Builder.<IndexTerm>
<Primary>App Builder</Primary>
<Secondary>icon</Secondary>
</IndexTerm><IndexTerm>
<Primary>App Builder</Primary>
<Secondary>starting</Secondary>
</IndexTerm><IndexTerm>
<Primary>starting App Builder</Primary>
</IndexTerm><IndexTerm>
<Primary>&lt;Filename | Command>dtappbuilder&lt;Default Para Font> command</Primary>
</IndexTerm>
</Para>
</ListItem>
<ListItem>
<Para>If App Builder is installed on the Front Panel, click the App Builder icon in
the Personal Applications subpanel to open App Builder.</Para>
<Para>To install App Builder on the Front Panel, see &ldquo;To Put an Application Icon in
the Front Panel&rdquo; in the Application Manager help volume for instructions.</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="ABUG.intro.div.5" Role="Procedure">
<Title>To Start App Builder from the Command Line</Title>
<Para>The command to run App Builder is <Command>dtbuilder</Command>. Do the following to start App
Builder from the command line:</Para>
<OrderedList>
<ListItem>
<Para>Type <Command>dtbuilder</Command></Para>
<Para>If dtbuilder is in your path, App Builder will start. If it is not in your path,
you will need to type the full path name (which, by default, is
<Filename>/usr/dt/bin/dtbuilder</Filename>) or change to the folder where <Command>dtbuilder</Command> is
located before typing <Command>dtbuilder</Command>.</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="ABUG.intro.div.6" Role="Procedure">
<Title>To Exit App Builder<IndexTerm><Primary>App Builder</Primary><Secondary>exiting</Secondary></IndexTerm><IndexTerm><Primary>quitting</Primary><Secondary>App Builder</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Choose Exit from the File menu of the App Builder primary window to quit
App Builder.</Para>
<Para>If you have not saved all changes, a message dialog box will be displayed,
giving you the opportunity to discard the changes and continue the exit
process or to cancel the exit process and continue running App Builder.
Click Discard Changes if you do not want to save them. Click Cancel if you
do not want to discard your changes; you could then save your changes and
exit.<IndexTerm>
<Primary>App Builder</Primary>
<Secondary>quitting</Secondary>
</IndexTerm>
</Para>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
<Sect1 Id="ABUG.intro.div.7">
<Title Id="ABUG.intro.mkr.4">Overview of the App Builder Process</Title>
<Para>The basic process of building and maintaining a user interface with App
Builder is simple and straightforward. There are many variations on this
formula, but the process is similar for any application.<IndexTerm><Primary>App Builder</Primary><Secondary>overview of process</Secondary></IndexTerm><IndexTerm><Primary>interface</Primary><Secondary>overview of creating and maintaining</Secondary></IndexTerm>
</Para>
<OrderedList>
<ListItem>
<Para>Start App Builder. See
<!--Original XRef content: '&xd2;Starting and Exiting App Builder&xd3; on page&numsp;3'--><XRef Role="SecTitleAndPageNum" Linkend="ABUG.intro.mkr.3">.</Para>
</ListItem>
<ListItem>
<Para>Open a new project and a new module. See
<!--Original XRef content: '&xd2;Creating, Opening, and Saving
Projects&xd3; on page&numsp;7'--><XRef Role="SecTitleAndPageNum" Linkend="ABUG.proj.mkr.3">.</Para>
</ListItem>
<ListItem>
<Para>Drag and drop windows (main windows and custom dialogs) to the
workspace, creating a new module for each window, in most cases. See
<!--Original XRef content: '&xd2;Dragging and Dropping Palette Objects&xd3; on page&numsp;22'--><XRef Role="SecTitleAndPageNum" Linkend="ABUG.layo.mkr.2">.</Para>
</ListItem>
<ListItem>
<Para>Drag and drop panes onto main windows or custom dialogs. See
<!--Original XRef content: '&xd2;Dragging
and Dropping Palette Objects&xd3; on page&numsp;22'--><XRef Role="SecTitleAndPageNum" Linkend="ABUG.layo.mkr.2">.</Para>
</ListItem>
<ListItem>
<Para>Drag and drop controls (buttons, choice objects, text fields, for example)
onto control panes. See
<!--Original XRef content: '&xd2;Dragging and Dropping Palette Objects&xd3; on
page&numsp;22'--><XRef Role="SecTitleAndPageNum" Linkend="ABUG.layo.mkr.2">.</Para>
</ListItem>
<ListItem>
<Para>Create pane objects, menus, and message dialogs. See
<!--Original XRef content: 'Chapter&numsp;5, &xd2;Creating
and Editing Panes, Menus, and Messages'--><XRef Role="ChapNumAndTitle" Linkend="ABUG.crobj.mkr.1">.</Para>
</ListItem>
<ListItem>
<Para>Create help dialogs. See
<!--Original XRef content: '&xd2;Creating Help and Help Connections&xd3; on page&numsp;67'--><XRef Role="SecTitleAndPageNum" Linkend="ABUG.afunc.mkr.2">.</Para>
</ListItem>
<ListItem>
<Para>Edit the properties of interface objects. See
<!--Original XRef content: 'Chapter&numsp;4, &xd2;Editing Properties of
Interface Objects'--><XRef Role="ChapNumAndTitle" Linkend="ABUG.edprp.mkr.1">.</Para>
</ListItem>
<ListItem>
<Para>Make functional connections between objects in the user interface. See
<!--Original XRef content: 'Chapter&numsp;6, &xd2;Adding Functionality to the Interface'--><XRef Role="ChapNumAndTitle" Linkend="ABUG.afunc.mkr.1">.</Para>
</ListItem>
<ListItem>
<Para>Go into test mode to test menus, help, and connections. See
<!--Original XRef content: 'Chapter&numsp;8,
&xd2;Testing Menus, Help, and Connections'--><XRef Role="ChapNumAndTitle" Linkend="ABUG.test.mkr.1">.</Para>
</ListItem>
<ListItem>
<Para>Display the Code Generator to generate code and make the user interface.
See
<!--Original XRef content: 'Chapter&numsp;9, &xd2;Generating Code and Building an Application'--><XRef Role="ChapNumAndTitle" Linkend="ABUG.codeg.mkr.1">.</Para>
</ListItem>
<ListItem>
<Para>Add user code to the code generated by App Builder. See
<!--Original XRef content: '&xd2;Adding User
Code to Generated Code&xd3; on page&numsp;112'--><XRef Role="SecTitleAndPageNum" Linkend="ABUG.codeg.mkr.6">.</Para>
</ListItem>
<ListItem>
<Para>Debug the code, make and run the application.</Para>
</ListItem>
<ListItem>
<Para>Repeat the process to modify and maintain the user interface.</Para>
</ListItem>
</OrderedList>
</Sect1>
<Sect1 Id="ABUG.intro.div.8">
<Title Id="ABUG.intro.mkr.5">Object Types<IndexTerm><Primary>object types</Primary></IndexTerm><IndexTerm><Primary>types of objects</Primary></IndexTerm></Title>
<Para>There are three basic types of objects on the primary window: windows, panes,
and controls. See
<!--Original XRef content: '&xd2;App Builder Primary Window&xd3; on page&numsp;116'--><XRef Role="SecTitleAndPageNum" Linkend="ABUG.apWDB.mkr.2">, for
descriptions of each of the objects.</Para>
<Para>The windows in App Builder are:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Main window</Para>
</ListItem>
<ListItem>
<Para>Custom dialog</Para>
</ListItem>
<ListItem>
<Para>File selection dialog</Para>
</ListItem>
</ItemizedList>
<Para>The panes in App Builder are:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Control pane</Para>
</ListItem>
<ListItem>
<Para>Text pane</Para>
</ListItem>
<ListItem>
<Para>Draw area pane</Para>
</ListItem>
<ListItem>
<Para>Term pane</Para>
</ListItem>
</ItemizedList>
<Para>The controls in App Builder are:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Button</Para>
</ListItem>
<ListItem>
<Para>Check box (Choice object)</Para>
</ListItem>
<ListItem>
<Para>Combo box</Para>
</ListItem>
<ListItem>
<Para>Gauge</Para>
</ListItem>
<ListItem>
<Para>Label</Para>
</ListItem>
<ListItem>
<Para>List (scrolling list)</Para>
</ListItem>
<ListItem>
<Para>Menu bar*</Para>
</ListItem>
<ListItem>
<Para>Menu button</Para>
</ListItem>
<ListItem>
<Para>Option menu (Choice object)</Para>
</ListItem>
<ListItem>
<Para>Radio box (Choice object)</Para>
</ListItem>
<ListItem>
<Para>Scale</Para>
</ListItem>
<ListItem>
<Para>Separator</Para>
</ListItem>
<ListItem>
<Para>Spin box</Para>
</ListItem>
<ListItem>
<Para>Text Field</Para>
</ListItem>
</ItemizedList>
<Note>
<Para>*The menu bar is not a control, but it is on the Controls palette. It can
only be dropped on a main window.</Para>
</Note>
</Sect1>
<Sect1 Id="ABUG.intro.div.9">
<Title Id="ABUG.intro.mkr.6">Rules for Dropping Objects<IndexTerm><Primary>rules</Primary><Secondary>for dropping objects</Secondary></IndexTerm><IndexTerm><Primary>objects</Primary><Secondary>rules for dropping</Secondary></IndexTerm><IndexTerm><Primary>drag and drop</Primary><Secondary>rules</Secondary></IndexTerm><IndexTerm><Primary>rules</Primary><Secondary>drag and drop</Secondary></IndexTerm></Title>
<Para>The rules for dragging and dropping the three types of App Builder objects are
explained below. An error message will be displayed if you attempt to drop an
object on an illegal target.</Para>
<Para><Emphasis><IndexTerm>
<Primary>drop rules</Primary>
<Secondary>for windows</Secondary>
</IndexTerm><IndexTerm>
<Primary>windows</Primary>
<Secondary>drop rules</Secondary>
</IndexTerm>Windows</Emphasis> (main window, custom dialog, file selection dialog) can be dropped
anywhere on the workspace except for the App Builder primary window.</Para>
<Para><Emphasis><IndexTerm>
<Primary>drop rules</Primary>
<Secondary>for panes</Secondary>
</IndexTerm><IndexTerm>
<Primary>panes</Primary>
<Secondary>drop rules</Secondary>
</IndexTerm>Panes</Emphasis> (control pane, text pane, draw area pane, term pane) can be dropped on
a main window, a custom dialog, or on another pane. See
<!--Original XRef content: '&xd2;Creating and
Editing Pane Entities&xd3; on page&numsp;40'--><XRef Role="SecTitleAndPageNum" Linkend="ABUG.crobj.mkr.2"> for more information.</Para>
<Para><Emphasis><IndexTerm>
<Primary>controls</Primary>
<Secondary>drop rules</Secondary>
</IndexTerm><IndexTerm>
<Primary>drop rules</Primary>
<Secondary>for controls</Secondary>
</IndexTerm>Controls</Emphasis> (buttons, menus, boxes, for example) can be dropped on a control pane
or a group.</Para>
<Note>
<Para>As noted above, a menu bar is on the Controls palette, but it is not
really a control. It can only be dropped on a main window. A menu bar can be
dropped anywhere on a main window; it will always appear at the top of the
window.</Para>
</Note>
</Sect1>
</Chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 10:11:44-->