	 k >.>.by name         by name         BUILD           d   	kH      A                                                ./               A          A          
kZ F  m            8.=.=.
                 ./lpp_name               m          m          4 R S xlC.C++ {
xlC.C++.iclui.samples 3.1.1.1 01 N U en_US C++ Graphical User Interface Class Library Samples
[
*coreq X11.adt.motif 4.1.0.0
*coreq ipfx.adt 2.1.0.0
%
/usr/lpp/xlC/iclui/samples 16
/usr/lpp/SAVESPACE 760
/usr/lib/objrepos 16
/usr/lpp/xlC/iclui/samples/editvfy 8
/usr/lpp/xlC/iclui/samples/hello1 8
/usr/lpp/xlC/iclui/samples/hello2 8
/usr/lpp/xlC/iclui/samples/hello3 8
/usr/lpp/xlC/iclui/samples/hello4 8
/usr/lpp/xlC/iclui/samples/hello5 40
/usr/lpp/xlC/iclui/samples/hello6 40
/usr/lpp/xlC/iclui/samples/lancelot 576
/usr/lpp/xlC/iclui/samples/msgbox 32
/usr/lpp/xlC/iclui/samples/notebook 16
INSTWORK 72 32
%
%
%
IX46332  1 C Set ++ Maintenance Update
%
]
}
  	k\      A                                                ./usr            A          A          
k{      A                                                ./usr/lpp                A          A          kx      A                                                ./usr/lpp/xlC.C++/xlC.C++.iclui.samples/3.1.1.1          A          A          k 2  m          */  9.-.-.
         K  */      ./usr/lpp/xlC.C++/xlC.C++.iclui.samples/3.1.1.1/liblpp.a                 m          m          <aiaff>
11744       0           68          11158       0           19          188         0           783122304   1590        400         644         9   productid `
xlC.C++ 5765-42100
 268         578         68          783122306   1590        400         644         31  xlC.C++.iclui.samples.copyright `
 Licensed Materials - Property of IBM

 576542100
   (C) Copyright International Business Machines Corp. 1993, 1994.

 All rights reserved.
 US Government Users Restricted Rights - Use, duplication or disclosure
 restricted by GSA ADP Schedule Contract with IBM Corp.
8230        8930        188         783789869   1590        400         644         31  xlC.C++.iclui.samples.inventory `
/usr/lpp/xlC/iclui/samples/README.FIRST:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 6974
          checksum = "47996     7 "

/usr/lpp/xlC/iclui/samples/editvfy/Makefile:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2591
          checksum = "27707     3 "

/usr/lpp/xlC/iclui/samples/hello1/Makefile:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2395
          checksum = "59206     3 "

/usr/lpp/xlC/iclui/samples/hello2/Makefile:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2669
          checksum = "55850     3 "

/usr/lpp/xlC/iclui/samples/hello3/Makefile:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2669
          checksum = "47141     3 "

/usr/lpp/xlC/iclui/samples/hello4/Makefile:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2815
          checksum = "61260     3 "

/usr/lpp/xlC/iclui/samples/hello5/Makefile:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 3077
          checksum = "41399     4 "

/usr/lpp/xlC/iclui/samples/hello5/README5:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 13457
          checksum = "23765    14 "

/usr/lpp/xlC/iclui/samples/hello6/Makefile:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 3406
          checksum = "56813     4 "

/usr/lpp/xlC/iclui/samples/hello6/README6:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 15661
          checksum = "38826    16 "

/usr/lpp/xlC/iclui/samples/lancelot/Makefile.DEBUG:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 5192
          checksum = "03534     6 "

/usr/lpp/xlC/iclui/samples/lancelot/Makefile.OS2:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 5195
          checksum = "11807     6 "

/usr/lpp/xlC/iclui/samples/lancelot/Makefile:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 4974
          checksum = "11377     5 "

/usr/lpp/xlC/iclui/samples/lancelot/lancelot.hpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 4191
          checksum = "47093     5 "

/usr/lpp/xlC/iclui/samples/lancelot/lancelot.h:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 14665
          checksum = "08623    15 "

/usr/lpp/xlC/iclui/samples/lancelot/lancelot.ipf:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 11462
          checksum = "04392    12 "

/usr/lpp/xlC/iclui/samples/lancelot/lancelot.rc:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 23429
          checksum = "17174    23 "

/usr/lpp/xlC/iclui/samples/lancelot/ldbqry.cpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 40943
          checksum = "26823    40 "

/usr/lpp/xlC/iclui/samples/lancelot/ldbqry.hpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 11893
          checksum = "15294    12 "

/usr/lpp/xlC/iclui/samples/lancelot/lgenl.cpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 20190
          checksum = "56839    20 "

/usr/lpp/xlC/iclui/samples/lancelot/linfonb.cpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 19753
          checksum = "19987    20 "

/usr/lpp/xlC/iclui/samples/lancelot/linfonb.hpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2662
          checksum = "03504     3 "

/usr/lpp/xlC/iclui/samples/lancelot/linfowin.cpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 10840
          checksum = "47527    11 "

/usr/lpp/xlC/iclui/samples/lancelot/linfowin.hpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2540
          checksum = "49633     3 "

/usr/lpp/xlC/iclui/samples/lancelot/lmainwin.cpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 34804
          checksum = "07077    34 "

/usr/lpp/xlC/iclui/samples/lancelot/lmainwin.hpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 5539
          checksum = "08590     6 "

/usr/lpp/xlC/iclui/samples/lancelot/lperswin.cpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 39034
          checksum = "13852    39 "

/usr/lpp/xlC/iclui/samples/lancelot/lperswin.hpp:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 5765
          checksum = "52062     6 "

/usr/lpp/xlC/iclui/samples/msgbox/Makefile.OS2:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2737
          checksum = "49403     3 "

/usr/lpp/xlC/iclui/samples/msgbox/Makefile:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2570
          checksum = "48913     3 "

/usr/lpp/xlC/iclui/samples/msgbox/README:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 7376
          checksum = "26855     8 "

/usr/lpp/xlC/iclui/samples/notebook/Makefile.OS2:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2752
          checksum = "03051     3 "

/usr/lpp/xlC/iclui/samples/notebook/Makefile:
          owner = bin
          group = bin
          mode = 444
          type = FILE
          class = apply,inventory,xlC.C++.iclui.samples
          size = 2956
          checksum = "60220     3 "

445         9492        578         783789869   1590        400         644         26  xlC.C++.iclui.samples.size`
/usr/lpp/xlC/iclui/samples 16
/usr/lpp/SAVESPACE 760
/usr/lib/objrepos 16
/usr/lpp/xlC/iclui/samples/editvfy 8
/usr/lpp/xlC/iclui/samples/hello1 8
/usr/lpp/xlC/iclui/samples/hello2 8
/usr/lpp/xlC/iclui/samples/hello3 8
/usr/lpp/xlC/iclui/samples/hello4 8
/usr/lpp/xlC/iclui/samples/hello5 40
/usr/lpp/xlC/iclui/samples/hello6 40
/usr/lpp/xlC/iclui/samples/lancelot 576
/usr/lpp/xlC/iclui/samples/msgbox 32
/usr/lpp/xlC/iclui/samples/notebook 16
 1552        11158       8930        783789869   1590        400         644         24  xlC.C++.iclui.samples.al`
./usr/lpp/xlC/iclui/samples/README.FIRST
./usr/lpp/xlC/iclui/samples/editvfy/Makefile
./usr/lpp/xlC/iclui/samples/hello1/Makefile
./usr/lpp/xlC/iclui/samples/hello2/Makefile
./usr/lpp/xlC/iclui/samples/hello3/Makefile
./usr/lpp/xlC/iclui/samples/hello4/Makefile
./usr/lpp/xlC/iclui/samples/hello5/Makefile
./usr/lpp/xlC/iclui/samples/hello5/README5
./usr/lpp/xlC/iclui/samples/hello6/Makefile
./usr/lpp/xlC/iclui/samples/hello6/README6
./usr/lpp/xlC/iclui/samples/lancelot/Makefile.DEBUG
./usr/lpp/xlC/iclui/samples/lancelot/Makefile.OS2
./usr/lpp/xlC/iclui/samples/lancelot/Makefile
./usr/lpp/xlC/iclui/samples/lancelot/lancelot.hpp
./usr/lpp/xlC/iclui/samples/lancelot/lancelot.h
./usr/lpp/xlC/iclui/samples/lancelot/lancelot.ipf
./usr/lpp/xlC/iclui/samples/lancelot/lancelot.rc
./usr/lpp/xlC/iclui/samples/lancelot/ldbqry.cpp
./usr/lpp/xlC/iclui/samples/lancelot/ldbqry.hpp
./usr/lpp/xlC/iclui/samples/lancelot/lgenl.cpp
./usr/lpp/xlC/iclui/samples/lancelot/linfonb.cpp
./usr/lpp/xlC/iclui/samples/lancelot/linfonb.hpp
./usr/lpp/xlC/iclui/samples/lancelot/linfowin.cpp
./usr/lpp/xlC/iclui/samples/lancelot/linfowin.hpp
./usr/lpp/xlC/iclui/samples/lancelot/lmainwin.cpp
./usr/lpp/xlC/iclui/samples/lancelot/lmainwin.hpp
./usr/lpp/xlC/iclui/samples/lancelot/lperswin.cpp
./usr/lpp/xlC/iclui/samples/lancelot/lperswin.hpp
./usr/lpp/xlC/iclui/samples/msgbox/Makefile.OS2
./usr/lpp/xlC/iclui/samples/msgbox/Makefile
./usr/lpp/xlC/iclui/samples/msgbox/README
./usr/lpp/xlC/iclui/samples/notebook/Makefile.OS2
./usr/lpp/xlC/iclui/samples/notebook/Makefile
466         11744       9492        783789861   1590        400         644         29  xlC.C++.iclui.samples.fixdata `
fix:
	name = IX46332
	abstract = C Set ++ Maintenance Update
	type = f
	filesets = "xlC.C++.ascl.lib 3.1.1.1\n\
xlC.C++.cmp 3.1.1.1\n\
xlC.C++.collect.lib 3.1.1.1\n\
xlC.C++.heapview 3.1.1.1\n\
xlC.C++.iclui.lib 3.1.1.1\n\
xlC.C++.iclui.samples 3.1.1.1\n\
xlC.C++.lib 3.1.1.1\n\
xlC.info.en_US.C++ 3.1.1.1\n\
xlC.ipf.en_US.C++.iclui 3.1.1.1\n\
xlC.msg.Ja_JP.rte 3.1.1.1\n\
xlC.msg.ja_JP.rte 3.1.1.1\n\
xlC.ps.en_US.C++ 3.1.1.1\n\
xlC.rte 3.1.1.1\n\
"
	symptom = ""

240         0           11158       0           0           0           0           0   `
6           68          188         578         8930        9492        11158       productid xlC.C++.iclui.samples.copyright xlC.C++.iclui.samples.inventory xlC.C++.iclui.samples.size xlC.C++.iclui.samples.al xlC.C++.iclui.samples.fixdata file:
k  $        >  '...
         r  >      ./usr/lpp/xlC/iclui/samples/README.FIRST                 $          $          *****README.FIRST

IBM C-SET++ User Interface Class Library Sample Programs README file.

The purpose of the IBM User Interface Class Library (iclui) sample programs
is to provide working applications that,
1) display the visible window objects that can be manipulated using the iclui,
2) demonstrate the interactions of the iclui classes,
3) and provide a base for experimentation.

The files that make up each sample are, by default, installed in a subdirectory
of the iclui samples directory.  For example Hello World Version 1 is stored in,
/usr/lpp/xlC/iclui/samples/hello1.

Each sample directory contains the source files, a README file specifically
for that sample, and two make files; one for AIX, called Makefile, and one for
porting the application to OS/2, called Makefile.OS2.  Please read the
"BUILDING THE SAMPLE PROGRAMS" and "RUNNING THE SAMPLE PROGRAMS" sections in
this file before proceeding.  This will help you avoid errors caused by
unusual placement of required files and directories.

The OS/2-style files included with the samples are provided to demonstrate
portability to the OS/2 environment.  The OS/2 resource compiler (.rc)
files, OS/2 icon (.ico) and bitmap (.bmp) files, and the IPF (.ipf)
source help scripts provide samples of the portable resource formats
used by iclui on both AIX and OS/2. For more information about the sample
programs, portability of the samples, and general information about using
the iclui, see the "IBM C Set++ User Interface Class Library User's Guide".

*****BUILDING THE SAMPLE PROGRAMS

You should first copy the sample that you will be building to a subdirectory
that you can write to.  You will then have your own copy that you can use to
experiment with the user interface class library.  By default, the samples
will place generated files into the current working directory.  Other
important assumptions made by the make files provided are listed below.

1. IBM C Set++ User Interface Class Library includes are in:
     /usr/lpp/xlC/include
   Otherwise the LOCALINCS environment variable should contain "-I"
     followed by the complete path to the include files.
     For example,   export LOCALINCS=-I/afs/myloc/u/myid/iclui/include

2. IBM C Set++ User Interface Class Library lib files are in:
     /usr/lpp/xlC/lib
   Otherwise the LOCALLIBS environment variable should contain "-L"
     followed by the complete path to the include files.
     For example,   export LOCALINCS=-L/afs/myloc/u/myid/iclui/lib

3. The current directory contains a copy of the sample source files.
     Originals are in:
       /usr/lpp/xlC/iclui/samples/SAMPLENAME
     where SAMPLENAME is the name of the sample you are making.

4. The current directory will be used to store all generated files,
     except, optionally, the application resource files (see next assumption).

5. The sample program's application resource file will be stored in the path
     specified in ICSAMPLESRESDIR.  By default, this variable is set to
       $HOME
   If your environment is not setup to search this path for resource files,
   then export the environment variable ICSAMPLESRESDIR to the desired location
   and specify the -e flag on the make command.  For example,
       export ICSAMPLESRESDIR=.
       make -e
   will cause the application resource files to be generated in the current
   directory.

6. All samples, except lancelot, are compiled with the -g compiler flag for
   debugging on and without the -O flag for compiler optimization.  To change
   compiler options, edit the Makefile line that sets the ICLCPPOPTS variable.
   For instance, to turn off debugging and turn on optimization, the ICLCPPOPTS
   statement should be changed to:
     ICLCPPOPTS=-O -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

   Note that the make utility requires that make files be saved with tabs and
   that some editors may require you to specify a save option or change the
   editor profile to save the file with the required tabs.

7. If you do not rename the make file, that is you leave it named Makefile,
   then to build the sample program, assuming your environment matches the
   assumptions listed above, simply enter the command,
     make
   If you rename the make file, to Makefile.AIX for instance, then enter,
     make -f Makefile.AIX

8. Again assuming the make file is named Makefile, use the following command
   to erase all the files that were generated by the make command,
     make clean
   Note that the default location for application resource files is &HOME
   and that make clean may erase certain files from that directory.  See the
   README supplied with the sample you are building to determine what
   generated files will be erased.

*****RUNNING THE SAMPLE PROGRAMS

After setting up your environment as described above and after successfully
building the sample, you can run the sample from the directory where it was
built by simply entering it's name.  The naming convention for the sample
programs' executable names is to use the same name as the original sample
subdirectory name.

For example, the Hello World Version 1 sample program is stored in the
samples subdirectory named hello1.  After successfully building this sample,
enter hello1 to run it.  If you don't know the original sample program name,
see the README file supplied with the sample for the names of all files
used in the sample.

If the sample fails to execute or abnormally ends, you can get more
information about the failure by turning on the iclui trace.  This is done
by exporting the environment variable ICLUI_TRACE as follows:
  export ICLUI_TRACE=ON
  export ICLUI_TRACETO=STDERR
The second export controls where the trace information is reported.
With tracing turned on, iclui exception text will be printed to the
standard error file.  For instance, if you write your sample application
resource files into a directory that is not in the application resource
search path, then the following exception will be displayed when tracing is on:

>IAccessError exception thrown.
>   function:
>   file: ireslib2.cpp
>   line: 571.
>   Error ID is unavailable.
>   Exception text is:
>      Failed to load resource: ICLPIXMAP_4096:GUI exception condition detected.

*****USING THE IHelpWindow CLASS

The IHelpWindow class supplied in iclui depends on the Interactive Presentation
Facility (IPF) for AIX run-time files supplied with IBM C-Set++.  Each
application that uses IHelpWindow must supply the help libraries that contain
the help information for the application.  For instance, Hello World Version 5
supplies a ahellow5.hlp file that contains the IPF format help libraries.

To create your own .hlp files, you must use the separately licenced program
product, IPF for AIX to take tag language .ipf files and compile them into help
libraries using the ipfc compiler.  Note that .ipf files created on OS/2 can
be compiled on AIX and .hlp files created on OS/2 can be read by iclui on AIX.

*****end of README.FIRST
cek~A % $        
  '...
         d  
      ./usr/lpp/xlC/iclui/samples/editvfy/Makefile             $          $          #*******************************************************************************
#* FILE	NAME: Makefile		 (Edit Verify Handler Sample Program) for AIX  *
#*									       *
#* COPYRIGHT:								       *
#* ----------								       *
#* Copyright (C) International Business	Machines Corp.,	1992,1994.	       *
#*									       *
#* DISCLAIMER OF WARRANTIES:						       *
#* -------------------------						       *
#* The following [enclosed] code is sample code	  created   by IBM	       *
#* Corporation.	   This	sample code is not part	of any standard	IBM product    *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",	       *
#* without warranty of any kind.  IBM shall not	be liable for any damages      *
#* arising out of your use of the sample code, even if they have been	       *
#* advised of the possibility of such damages.				       *
#*									       *
#*******************************************************************************

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/editvfy
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-g -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

ICSAMPLESRESDIR=$(HOME)

all:  editvfy $(ICSAMPLESRESDIR)/Editvfy


editvfy:  editvfy.o
	$(GLINK) $(GCPPLFLAGS) -oeditvfy \
	  editvfy.o \
	  -libmuis -libmcls

editvfy.o:  editvfy.cpp	editvfy.h editvfy.hpp
	$(GCPPC) -c $(GCPPFLAGS) editvfy.cpp

$(ICSAMPLESRESDIR)/Editvfy: editvfy.rc editvfy.h
	ipmrc2X	-I. editvfy.rc $(ICSAMPLESRESDIR)/Editvfy

clean:
	$(ERASE) editvfy
	$(ERASE) editvfy.o
	$(ERASE) $(ICSAMPLESRESDIR)/Editvfy
	$(ERASE) $(TEMPINC)/*
k  $        [	  '...
         S  [	      ./usr/lpp/xlC/iclui/samples/hello1/Makefile              $          $          #*******************************************************************************
#* SAMPLE PROJECT: Hello World version 1 Makefile for AIX		       *
#*									       *
#* COPYRIGHT:								       *
#* ----------								       *
#* Copyright (C) International Business	Machines Corp.,	1992,1994.	       *
#*									       *
#* DISCLAIMER OF WARRANTIES:						       *
#* -------------------------						       *
#* The following [enclosed] code is sample code	  created   by IBM	       *
#* Corporation.	   This	sample code is not part	of any standard	IBM product    *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",	       *
#* without warranty of any kind.  IBM shall not	be liable for any damages      *
#* arising out of your use of the sample code, even if they have been	       *
#* advised of the possibility of such damages.				       *
#*									       *
#*******************************************************************************

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/hello1
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-g -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

ICSAMPLESRESDIR=$(HOME)

all:  hello1


hello1:	 ahellow1.o
	$(GLINK) $(GCPPLFLAGS) -ohello1	ahellow1.o \
	  -libmuis -libmcls

ahellow1.o:  ahellow1.cpp
	$(GCPPC) -c $(GCPPFLAGS) ahellow1.cpp

clean:
	$(ERASE) hello1
	$(ERASE) ahellow1.o
	$(ERASE) $(TEMPINC)/*
SRESDk?  $        m
  '...
         ]  m
      ./usr/lpp/xlC/iclui/samples/hello2/Makefile              $          $          #*******************************************************************************
#* SAMPLE PROJECT: Hello World version 2 Makefile for AIX		       *
#*									       *
#* COPYRIGHT:								       *
#* ----------								       *
#* Copyright (C) International Business	Machines Corp.,	1992,1994.	       *
#*									       *
#* DISCLAIMER OF WARRANTIES:						       *
#* -------------------------						       *
#* The following [enclosed] code is sample code	  created   by IBM	       *
#* Corporation.	   This	sample code is not part	of any standard	IBM product    *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",	       *
#* without warranty of any kind.  IBM shall not	be liable for any damages      *
#* arising out of your use of the sample code, even if they have been	       *
#* advised of the possibility of such damages.				       *
#*									       *
#*******************************************************************************

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/hello2
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-g -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

ICSAMPLESRESDIR=$(HOME)

all:  hello2	$(ICSAMPLESRESDIR)/Hello2 ahellow2.xpm


hello2:	 ahellow2.o
	$(GLINK) $(GCPPLFLAGS) -ohello2	ahellow2.o \
	  -libmuis -libmcls

ahellow2.o:  ahellow2.cpp ahellow2.hpp ahellow2.h
	$(GCPPC) -c $(GCPPFLAGS) ahellow2.cpp

$(ICSAMPLESRESDIR)/Hello2: ahellow2.rc ahellow2.h
	ipmrc2X	-I. ahellow2.rc	$(ICSAMPLESRESDIR)/Hello2

ahellow2.xpm:  ahellow2.ico
	ibmp2X ahellow2.ico

clean:
	$(ERASE) hello2
	$(ERASE) ahellow2.o
	$(ERASE) $(ICSAMPLESRESDIR)/Hello2
	$(ERASE) ahellow2.xpm
	$(ERASE) $(TEMPINC)/*
  kN  $        m
  '...
         f  m
      ./usr/lpp/xlC/iclui/samples/hello3/Makefile              $          $          #*******************************************************************************
#* SAMPLE PROJECT: Hello World version 3 Makefile for AIX		       *
#*									       *
#* COPYRIGHT:								       *
#* ----------								       *
#* Copyright (C) International Business	Machines Corp.,	1992,1994.	       *
#*									       *
#* DISCLAIMER OF WARRANTIES:						       *
#* -------------------------						       *
#* The following [enclosed] code is sample code	  created   by IBM	       *
#* Corporation.	   This	sample code is not part	of any standard	IBM product    *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",	       *
#* without warranty of any kind.  IBM shall not	be liable for any damages      *
#* arising out of your use of the sample code, even if they have been	       *
#* advised of the possibility of such damages.				       *
#*									       *
#*******************************************************************************

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/hello3
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-g -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

ICSAMPLESRESDIR=$(HOME)

all:  hello3	$(ICSAMPLESRESDIR)/Hello3 ahellow3.xpm


hello3:	 ahellow3.o
	$(GLINK) $(GCPPLFLAGS) -ohello3	ahellow3.o \
	  -libmuis -libmcls

ahellow3.o:  ahellow3.cpp ahellow3.hpp ahellow3.h
	$(GCPPC) -c $(GCPPFLAGS) ahellow3.cpp

$(ICSAMPLESRESDIR)/Hello3: ahellow3.rc ahellow3.h
	ipmrc2X	-I. ahellow3.rc	$(ICSAMPLESRESDIR)/Hello3

ahellow3.xpm:  ahellow3.ico
	ibmp2X ahellow3.ico

clean:
	$(ERASE) hello3
	$(ERASE) ahellow3.o
	$(ERASE) $(ICSAMPLESRESDIR)/Hello3
	$(ERASE) ahellow3.xpm
	$(ERASE) $(TEMPINC)/*
  k ( $        
  '...
         y  
      ./usr/lpp/xlC/iclui/samples/hello4/Makefile              $          $          #*******************************************************************************
#* SAMPLE PROJECT: Hello World version 4 Makefile for AIX		       *
#*									       *
#* COPYRIGHT:								       *
#* ----------								       *
#* Copyright (C) International Business	Machines Corp.,	1992,1994.	       *
#*									       *
#* DISCLAIMER OF WARRANTIES:						       *
#* -------------------------						       *
#* The following [enclosed] code is sample code	  created   by IBM	       *
#* Corporation.	   This	sample code is not part	of any standard	IBM product    *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",	       *
#* without warranty of any kind.  IBM shall not	be liable for any damages      *
#* arising out of your use of the sample code, even if they have been	       *
#* advised of the possibility of such damages.				       *
#*									       *
#*******************************************************************************

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/hello4
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-g -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

ICSAMPLESRESDIR=$(HOME)

all:  hello4	$(ICSAMPLESRESDIR)/Hello4 ahellow4.xpm


hello4:	 ahellow4.o adialog4.o
	$(GLINK) $(GCPPLFLAGS) -ohello4	ahellow4.o adialog4.o	\
	  -libmuis -libmcls

ahellow4.o:  ahellow4.cpp ahellow4.hpp ahellow4.h adialog4.hpp
	$(GCPPC) -c $(GCPPFLAGS) ahellow4.cpp

adialog4.o:  adialog4.cpp adialog4.hpp ahellow4.h
	$(GCPPC) -c $(GCPPFLAGS) adialog4.cpp

$(ICSAMPLESRESDIR)/Hello4: ahellow4.rc ahellow4.h
	ipmrc2X	-I. ahellow4.rc	$(ICSAMPLESRESDIR)/Hello4

ahellow4.xpm:  ahellow4.ico
	ibmp2X ahellow4.ico

clean:
	$(ERASE) hello4
	$(ERASE) ahellow4.o
	$(ERASE) adialog4.o
	$(ERASE) $(ICSAMPLESRESDIR)/Hello4
	$(ERASE) ahellow4.xpm
	$(ERASE) $(TEMPINC)/*
8kĊ  $          (.׮.׮.
                 ./usr/lpp/xlC/iclui/samples/hello5/Makefile              $          $          #*******************************************************************************
#* SAMPLE PROJECT: Hello World version 5 Makefile for AIX		       *
#*									       *
#* COPYRIGHT:								       *
#* ----------								       *
#* Copyright (C) International Business	Machines Corp.,	1992,1994.	       *
#*									       *
#* DISCLAIMER OF WARRANTIES:						       *
#* -------------------------						       *
#* The following [enclosed] code is sample code	  created   by IBM	       *
#* Corporation.	   This	sample code is not part	of any standard	IBM product    *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",	       *
#* without warranty of any kind.  IBM shall not	be liable for any damages      *
#* arising out of your use of the sample code, even if they have been	       *
#* advised of the possibility of such damages.				       *
#*									       *
#*******************************************************************************

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/hello5
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-g -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

XLIBLIBS = -lXm	-lXt -lX11

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

ICSAMPLESRESDIR=$(HOME)

all:  hello5	$(ICSAMPLESRESDIR)/Hello5 ahellow5.xpm ahellow5.hlp


hello5:	 ahellow5.o adialog5.o aearthw5.o
	$(GLINK) $(GCPPLFLAGS) -ohello5	ahellow5.o adialog5.o	aearthw5.o \
	  -libmuis -libmcls $(XLIBLIBS)

ahellow5.o:  ahellow5.cpp ahellow5.hpp ahellow5.h adialog5.hpp aearthw5.hpp
	$(GCPPC) -c $(GCPPFLAGS) ahellow5.cpp

adialog5.o:  adialog5.cpp adialog5.hpp ahellow5.h
	$(GCPPC) -c $(GCPPFLAGS) adialog5.cpp

aearthw5.o:  aearthw5.cpp aearthw5.hpp ahellow5.h
	$(GCPPC) -c $(GCPPFLAGS) aearthw5.cpp

$(ICSAMPLESRESDIR)/Hello5: ahellow5.rc ahellow5.h
	ipmrc2X	-I. ahellow5.rc	$(ICSAMPLESRESDIR)/Hello5

ahellow5.xpm:  ahellow5.ico
	ibmp2X ahellow5.ico

ahellow5.hlp: ahellow5.ipf
	ipfc *.ipf

clean:
	$(ERASE) hello5
	$(ERASE) ahellow5.o
	$(ERASE) adialog5.o
	$(ERASE) aearthw5.o
	$(ERASE) $(ICSAMPLESRESDIR)/Hello5
	$(ERASE) ahellow5.xpm
	$(ERASE) ahellow5.hlp
	$(ERASE) $(TEMPINC)/*
ld.lJf 8 $        4  (...
                 ./usr/lpp/xlC/iclui/samples/hello5/README5               $          $            		
 *e
ailnort-cdfhps.5=IgmuwACHSWbvy():<>BDEMOPRTXkx,2FLUV+/19GNjz"'4KY[]qUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURVP
a D@t  L LE@bO Y@&K10 p 1I_h"	 	@8Ӈ,@r @4	O48ҌD5$A,ԐN<x` ` p %Jx4 < &`0A@<RWq&Yh Ŝ12H"<Ŝ11g2	C+<@AŐ(Dy8ber᲍	 Q
<d<#8`2Y	1#(	% q0'q&<HLᲈ,!	%,RWHI&<E&8l&p0e YƐAɋ8be<c2 @`>  I^&ZB&Qj9eŚ03A	dӐS0&&4(DRWyd4Bpg	 hLB#LY	$chHN8aRW0$Y6ǜ@a- BF"PH%E
(PB
(PB
(PB
(PB
(PB
(PB
(PB
(PB
(PB)+4&l  ,OOP@<pA' BEORW8ǦYN<D8A811 yB!ԕ+ A0á0d$l6$'$h8 W	!*I,$Ze(&,j2p!*8 @$Ze(&bF X@rb-&J*0ɎI H.At(@rc<8
2@yQ"+0`N,P< @0(4a`LHfM)IPŋ!Q%B=pL"r#8mɎ8,P(YF!ԕT0a	S "p/@<H13I'XahEhHI_AIe02@rb%h, I-&hÄjJJxǏHL `ῊAąYƐ8811 yB3_ԕI&,x<#Ŧ,ቍ8E2a4aqf@(rL00A@rJK11a	4a(rL00Tab4K@,RW08@40XPyGLYq`(] 88B,I^P0 A@rJK11(Ä?RW@ph`&4<,ч	ŘQRW@ph`
 B9%I񥘘ӏ @p@F'%yCa	/A
 !=$<ZcK1?0ÄCtT(@gYI^Paa4iǈgIHqP- rLY8Hi0ÄC>*	 cK11A##O8FPaa4X+d,T
JYt"$Y(LB#LyPJ@Y#K1!<EDJYt"$Y(LB#LyP`<@GjO),, W+8L40*@)"Ѝ,jO)<GafJ8L40X+YF wB hFbb	5'FFpY#0D%,<JQ;!
H#K11A##O8F,YQ<JrL0⠬8Hi,jO)<Ca	.<D` z0ÄCq1PV<\DA##O8FPaa:P'RWIT,I&&<(GJY%@MI Y!("pI!IX DY1f$t1%yDjO),ĐJJYi08(@+RWPaa9&phabJ8L40p+08@40p
)%0G9JIYCa	>30`aCa	/PaaP0 cf`ԕ$&,x"x
%GI__$;Yaԕŋww%,;%Q;+$,x4E٘9&ph`%RW/XqGYIRW*	YLH<hS $ԞR	90,Ć?%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUI%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUI_XĞXI##O8D%ap(I YƐXYB"qePwwwwwpԕHL
0 PhI_<ŔgBď=&!?fffffd~A$Z	(E(I_H@F&wwwwwpԕwwwwwwpqF1'I_08 YGI_333332,u%14 Y""Q0Ğ|.;):C$z,"""Q0ĞJffffG?$}DJ4`8F,gwwwwwww
Xx9&hxGRVwwwwww
?JyHz, rL(ц$J_333332?u%DrL(ц$?u%;Jfffffff +3330ffff +333333333 u%p8])𻻻S.Lx=,X(]z!4BEG臃Ҁ4BEGF=%#ԕfffffdz,ffffdffffdr:2 YG,j ҍ	AD@HQDF=%QJgwwwww
𳻻WgwwwwpY¹I_0 Y?3333333333 fff`Gԕah4a<GRVFwwwwwww
~wwwwwpu%dh1"hz?E@8?ffffffdCY#J - qF1' GRVFwwwwwww
wwwwwpu%`7=33333333 .Rwwwwww
BO#+D<<hH		 ƣD< 8AD< 8Au%h33333#33333#E,IZ10Á(?H $8hI$4I53$ԕ¿gwwwww
XY+u%f`?RXx$Qf(ц$3u%awwwwww
|.):CbD#AyG8 YDD	Y4a=ԕfffffd333332?#+GI4z04(Ph}ԕ+𳻻WwwwwwwpJffffffffffffffffff >I Y?ԕwwwwwwp`(] 88BfffffdԕH.YF!GI_wwwwww
Xx4(ц$3J0,""Q0Ğ%3333333332?ԕ08@pFh}J%+ٙs3 wwwwwpJ臃<D=D<10iF!+,+A  0GŘZM@Q"~Y¾wwwwwwwwww
+#P4a`O%{33333330oJwwwwww
p??ԕRD<5`$1 iF ,̏Effffdԕѐ@Dhh$@Q"$BY¼,__%?+{330ffffRWwwwwwwp.D@hD@hRW33333#EJDH qF"$8G;agwwwwwp%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUI$UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU%`$(Dy<y)6,a"E"yf_%JdJԕNgB&8,YǄ54D(L:8RVy6 P(xRlif$f
LDY#K12M(E#?RWYI_zS@rbIl(HLi @HDzi	A93RlῩ+Y!= 	zFP:,B@&P,8%JCIFćIMI #<HK4B"P,I$+%x@bIF%bc12͠91hxN,P(K4B0á0d$l64@3%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUI k꘿ = $        N  (.׮.׮.
           N      ./usr/lpp/xlC/iclui/samples/hello6/Makefile              $          $          #*******************************************************************************
#* SAMPLE PROJECT: Hello World version 6 Makefile for AIX		       *
#*									       *
#* COPYRIGHT:								       *
#* ----------								       *
#* Copyright (C) International Business	Machines Corp.,	1992,1994.	       *
#*									       *
#* DISCLAIMER OF WARRANTIES:						       *
#* -------------------------						       *
#* The following [enclosed] code is sample code	  created   by IBM	       *
#* Corporation.	   This	sample code is not part	of any standard	IBM product    *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",	       *
#* without warranty of any kind.  IBM shall not	be liable for any damages      *
#* arising out of your use of the sample code, even if they have been	       *
#* advised of the possibility of such damages.				       *
#*									       *
#*******************************************************************************

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/hello6
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-g -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

XLIBLIBS = -lXm	-lXt -lX11

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

ICSAMPLESRESDIR=$(HOME)

all:  hello6 $(ICSAMPLESRESDIR)/Hello6 ahellow6.xpm ahellow6.hlp


hello6:	 ahellow6.o adialog6.o aearthw6.o atimehdr.o anotebw6.o
	$(GLINK) $(GCPPLFLAGS) -ohello6	\
	  ahellow6.o adialog6.o	aearthw6.o atimehdr.o anotebw6.o \
	  -libmuis -libmcls $(XLIBLIBS)

ahellow6.o:  ahellow6.cpp ahellow6.hpp ahellow6.h adialog6.hpp aearthw6.hpp  \
						  atimehdr.hpp anotebw6.hpp
	$(GCPPC) -c $(GCPPFLAGS) ahellow6.cpp

adialog6.o:  adialog6.cpp adialog6.hpp ahellow6.h
	$(GCPPC) -c $(GCPPFLAGS) adialog6.cpp

aearthw6.o:  aearthw6.cpp aearthw6.hpp ahellow6.h
	$(GCPPC) -c $(GCPPFLAGS) aearthw6.cpp

atimehdr.o:  atimehdr.cpp atimehdr.hpp ahellow6.h
	$(GCPPC) -c $(GCPPFLAGS) atimehdr.cpp

anotebw6.o:  anotebw6.cpp anotebw6.hpp ahellow6.h
	$(GCPPC) -c $(GCPPFLAGS) anotebw6.cpp

$(ICSAMPLESRESDIR)/Hello6: ahellow6.rc ahellow6.h
	ipmrc2X	-I. ahellow6.rc	$(ICSAMPLESRESDIR)/Hello6

ahellow6.xpm:  ahellow6.ico
	ibmp2X ahellow6.ico

ahellow6.hlp: ahellow6.ipf
	ipfc *.ipf

clean:
	$(ERASE) hello6
	$(ERASE) ahellow6.o
	$(ERASE) adialog6.o
	$(ERASE) aearthw6.o
	$(ERASE) atimehdr.o
	$(ERASE) anotebw6.o
	$(ERASE) $(ICSAMPLESRESDIR)/Hello6
	$(ERASE) ahellow6.xpm
	$(ERASE) ahellow6.hlp
	$(ERASE) $(TEMPINC)/*
	$(ERASE) Hello6.ini
lV : $        -=  (...
                 ./usr/lpp/xlC/iclui/samples/hello6/README6               $          $            
	
	  *e
ailnort-cdfhmps.6=AIbguwCHSWvy():<>BDEMOPRTkx,2FLNUXj|+/19GV"&'KY[\]q4UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUR H	H |`$`$ p# DΆpQ%0P@0
=pxRԥ L @P<@"#AT<RŢal"a"F,q$z0 8p   ԥK xp(
 T<ԥƞip T,Ȥ` gL2% jbZ)GK@DQ,ySx#8dAeDx x!hK8d20bFQ><JDRhF4(L"e"aL8F<JaG&/M<HK @D/G&,FAHCp@7R3x12@,0xxȎ,gA3L,@ƞ1,E$Ta$HDx#"X, ԄtG$#XA1R0 a6Db!dD,yb)"ԥ(PB
(PB
(PB
(PB
(PB
(PB
(PB
(PB
(PB
,xrQ @)Br)@ibY0`)@ "00biGf4,@$h0c@ԥK  A44dR:8Z&q/J_C#.J,dHb1e,iE<@Ì8FȢZ"Dfrbf";R.pahY(=?R*0ap5&x*`K8aB5ÁSYJOZ)`-)0QOh0-yY>,qgRLM>=FFr!FE"8aqfDţ"2D<<P<J_X0KAxFe2"Q0?R*0ar$B='	FX0"Q0?/,Hː@<i,ȑ|a8e2$E(ԥȥL8D),94hɇQ)ь0O|ǈ<RUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT@FFjfE/)x( yQ@HZ&qЉ0##"XAP,|3)yci B*<Ii<bcOB<@gRi8aqfD/,rM40EADrK#L51OpJ^Xiac8"<@Lb&tii!b@ZbЇ,b,ԥ0O@TidH$B4SzU  yxRZ@Txxƞ8-G8aqfDԥ头&80ȑIci4!h"8aL@Txxƞ80zA0ԡidHJ^Z&H B*4$cXġa=p*`K8aCR=	 B*<Ii<bcOBE"8aqfD/,H`X"K"F9%JЇ Hx/,rM40⠐8@<h$HLiR9&x`Yϊ@ L,L5?KM<L0,b=aA4E'"Z&t,LD#HFjdO@Z~/,rM40Ɛ` @di"hdj9&x`YRDY#L5?ɍ0> $a(Lc@Kd0ԅ@X,MF2Ȗ<@<$ PK E##L53L"R$O?B 5"э0RrP-@g a#,rM40d~/,ax`YTi"hdj<y0c,CŐ!#⠐HcL51E##P<|YiIh"8L0,YKD1 $ R-LE'%Hxa20zG@,YK8R & jEaZ)@L8FYǢ0d~/O*($HLi"hdj9&x`ZI,+KM<L0, >*$ǖB"hdj9&x`Yρ& `K$O*$bAP,ԥ)ǖ')9(hLi	RԥG
D0ԑZ)RRiqTJ4SyȖa#"$R&"GR$KE#"hpXA1>J(p$z)`,qɋ5%|Y,"*"hdi_RUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTLIaaab(?)I&;ci,,4!K/c,C!,@ԥ头&8%RD1 y,_)~YǢ0rY/RO_ԥ!Y/$O@ff`
-$O@_4rc,CŐ!+RDp`X c3 W/8bb_K=	 B0@XJ__KCXiag[333333jM4`qBli!g/ZKAagJ_Z&HRgDKci@maM<L0,q:'ԥCK,\QfffffffffffffffciԥK*ibL 4\YgD"OZ)90Ɛ0ԅ_)UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUJ)UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUJ_`Ġ`A##P<xR08&Z	9(KD"8<P,x"c𫻻/ B \0ȑǦOR0YhyX,Ir HH33333ɂB 5"рǤԥ`x@p*,ᆥKɇRi8adԥٙ33333333333330ԥ0y<NO<x,ᆥ 7)aWwwwpQ'*/ԥRpZٙ(&<x,ᆥ%K&O_fffffffb%K&='	š'/ɋ<x,ᆥ	?ԥ(?ԥ jPjR®/Wwwwwwp-JY0bjP-&_ jP'KRwwwwww	ljRLrM ,ᆥ	?Z_)3333333 3333 ZU\*U%wwwwpKR&J FO4A,?%ag"OxyOA%jRٙ&Oٙffffby-J\%$D9Oi9ag"O$Q<28i$<.wwwwwp
;wwwww	'ԥ/|$i9<Æ&-J___,3333333333fff`Kԥ䚑hK8a@/KRJwwwwwww	~wwwwwp)dÁ5"pR?IQ~Kԥfffffff&fffffb~Kԥ"R-ig5(IO4(ǂ?%jRB?_,ٙ33333fffffff`ԥ]_Wwwwww	B(U%)d1ag"Ox&$Dp$'NL<"8EΓĈD,333331?lNM333331?%K'M<Yȓ'5#QDɋIȥ 8IO8G"	"ZO(8Q'
;/"ԥKKD`At@0A0Ԡ,*/]_𫻻KRL<h,H.00 `dÁDp<Æ&L&	aȃK8a@jRɳ3333186fffffblO)di %y<L9ig5(I,(8Q'
;O)Z`x"0Ԡԥ
K-J_aNpRZٙZ3  jPKR(?)333333333333333333 R!ǤaԥWwwwwwpp*]<<FOJ_Mi2R𣻻OY0ԠJ_/U_ԥCCCCCCCIi Ǐ,jP'J_/6ffffffffff'J_/1i Ǐ,jP/(?RRKE30RWwwwww	xU%/L<#x"$j&iGKfffffb~M:) LŚbNDYOJ_(?
;ԥ LI00+E fffffff`U\*/®/)aKD`AtIpa&J D6fffff'ɳ33331?ɳ3333R'"htRI$'	"R
;O'Q'/K)fff?R*]_ԥ0LH8IO:NL<"8EΓ/ɳ33333ffffff'J_ $Dp$' rdD<)wwwwww	?RQJRQɎI"XY,L<Έ& $a4P0//J^<Y?)bf":q"a0:EzD0#O@џԥJP"aC$K@ @a"X,g=#?R%aJ_rSDrb='"FaDY#L51,!0<I#4eaO4 @$eF2Ȗ<@-8/J_TRY"G&4RF"hdj$q#X,Iȥ /)xdŚ)RjfDrcA"= Y"YpɃRih&t24RD/)UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUJ APk.{ ) $        H  )...
         A  H      ./usr/lpp/xlC/iclui/samples/lancelot/Makefile.DEBUG              $          $          #*******************************************************************************
#* SAMPLE PROJECT: Lancelot Makefile for DEBUG				       *
#*									       *
#* COPYRIGHT:								       *
#* ----------								       *
#* Copyright (C) International Business	Machines Corp.,	1992,1994.	       *
#*									       *
#* DISCLAIMER OF WARRANTIES:						       *
#* -------------------------						       *
#* The following [enclosed] code is sample code	  created   by IBM	       *
#* Corporation.	 This sample code is not part of any standard IBM product      *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",	       *
#* without warranty of any kind.  IBM shall not	be liable for any damages      *
#* arising out of your use of the sample code, even if they have been	       *
#* advised of the possibility of such damages.				       *
#*									       *
#*******************************************************************************

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/lancelot
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-g -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

XLIBLIBS = -lXm	-lXt -lX11

ICSAMPLESRESDIR=$(HOME)

all:  lancelot $(ICSAMPLESRESDIR)/Lancelot \
      lancelot.xpm person.xpm query.xpm	query2.xpm lanchelp.hlp	lancelot.inf


lancelot:	 lancelot.o lmainwin.o linfowin.o lperswin.o linfonb.o \
	 lcnrobj.o lpagectl.o lacct.o lstatus.o	lbadge.o lskill.o \
	 lgenl.o lgoodies.o ldbase.o lgeneric.o	ldbqry.o
	$(GLINK) $(GCPPLFLAGS) -olancelot lancelot.o \
	  lmainwin.o linfowin.o	lperswin.o linfonb.o lcnrobj.o lpagectl.o \
	 lacct.o lstatus.o lbadge.o lskill.o lgenl.o lgoodies.o	ldbase.o \
	 lgeneric.o ldbqry.o \
	  -libmuis -libmcls $(XLIBLIBS)

lancelot.o:  lancelot.cpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lancelot.cpp

lmainwin.o:  lmainwin.cpp lmainwin.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lmainwin.cpp

linfowin.o:  linfowin.cpp linfowin.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) linfowin.cpp

lperswin.o:  lperswin.cpp lperswin.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lperswin.cpp

linfonb.o:  linfonb.cpp	linfonb.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) linfonb.cpp

lcnrobj.o:  lcnrobj.cpp	lcnrobj.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lcnrobj.cpp

lpagectl.o:  lpagectl.cpp lpagectl.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lpagectl.cpp

lacct.o:  lacct.cpp lacct.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lacct.cpp

lstatus.o:  lstatus.cpp	lstatus.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lstatus.cpp

lbadge.o:  lbadge.cpp lbadge.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lbadge.cpp

lskill.o:  lskill.cpp lskill.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lskill.cpp

lgenl.o:  lgenl.cpp lgenl.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lgenl.cpp

lgoodies.o:  lgoodies.cpp lgoodies.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lgoodies.cpp

ldbase.o:  ldbase.cpp ldbase.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) ldbase.cpp

lgeneric.o:  lgeneric.cpp lgeneric.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lgeneric.cpp

ldbqry.o:  ldbqry.cpp ldbqry.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) ldbqry.cpp

$(ICSAMPLESRESDIR)/Lancelot:	   lancelot.rc lancelot.h
	ipmrc2X	-I. lancelot.rc	$(ICSAMPLESRESDIR)/Lancelot

lancelot.xpm:  lancelot.ico
	ibmp2X lancelot.ico

person.xpm:	person.ico
	ibmp2X person.ico

query.xpm:	query.ico
	ibmp2X query.ico

query2.xpm:	query2.ico
	ibmp2X query2.ico

#If the	Information Presentation Facility for AIX compiler, ipfc,
#  is available, the following lines can be used to generate the .hlp
#  .hlp	and .inf files from the	IPF source in the .ipf file.
#lanchelp.hlp:	 lanchelp.ipf
#	 ipfc lanchelp.ipf
#lancelot.inf:	 lancelot.ipf
#	 ipfc lancelot.ipf -inf

clean:
	$(ERASE) lancelot
	$(ERASE) lancelot.o
	$(ERASE) lmainwin.o
	$(ERASE) linfowin.o
	$(ERASE) lperswin.o
	$(ERASE) linfonb.o
	$(ERASE) lcnrobj.o
	$(ERASE) lacct.o
	$(ERASE) lbadge.o
	$(ERASE) lstatus.o
	$(ERASE) lskill.o
	$(ERASE) lgenl.o
	$(ERASE) lpagectl.o
	$(ERASE) ldbase.o
	$(ERASE) lgeneric.o
	$(ERASE) ldbqry.o
	$(ERASE) $(ICSAMPLESRESDIR)/Lancelot
	$(ERASE) lancelot.xpm
	$(ERASE) person.xpm
	$(ERASE) query.xpm
	$(ERASE) query2.xpm
#	 $(ERASE) lanchelp.hlp
#	 $(ERASE) lancelot.inf
	$(ERASE) $(TEMPINC)/*

kꢚ  $        K  )...
           K      ./usr/lpp/xlC/iclui/samples/lancelot/Makefile.OS2 G              $          $          #*******************************************************************************
#* SAMPLE PROJECT: Lancelot for OS/2                                           *
#*                                                                             *
#* COPYRIGHT:                                                                  *
#* ----------                                                                  *
#* Copyright (C) International Business Machines Corp., 1992,1994.             *
#*                                                                             *
#* DISCLAIMER OF WARRANTIES:                                                   *
#* -------------------------                                                   *
#* The following [enclosed] code is sample code created by IBM                 *
#* Corporation. This sample code is not part of any standard IBM product       *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",            *
#* without warranty of any kind.  IBM shall not be liable for any damages      *
#* arising out of your use of the sample code, even if they have been          *
#* advised of the possibility of such damages.                                 *
#*                                                                             *
#*******************************************************************************

# Make file assumptions:
#    - Environment variable INCLUDE contains paths to:
#       IBM C Set++ target_directory\include;IBM C Set++ target_directory\ibmclass;
#       OS/2 Developer's Toolkit target_directory include paths
#    - Environment variable LIB contains paths to:
#       IBM C Set++ target_directory\lib;
#       OS/2 Developer's Toolkit target_directory lib paths
#    - Current directory contains source files. Originals are in:
#        IBM C Set++ target_directory\samples\iclui\lancelot
#    - current directory will be used to store:
#        object, executable, and resource files

ERASE=ERASE
GCPPC=ICC.EXE
GLINK=ICC.EXE

ICLCPPOPTS=/GM /GD /O /DIC_TRACE_ALL /DIC_DEVELOP /DIC_PM

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS)

GCPPLFLAGS=/Tdp /B" /pmtype:pm"

all:  lancelot.exe


lancelot.exe:  lancelot.obj lmainwin.obj linfowin.obj lperswin.obj \
        linfonb.obj lcnrobj.obj lpagectl.obj lacct.obj lstatus.obj \
        lbadge.obj lskill.obj lgenl.obj lgoodies.obj ldbase.obj \
        lgeneric.obj ldbqry.obj lancelot.res lanchelp.hlp lancelot.inf
        $(GLINK) $(GCPPLFLAGS) /Fe"lancelot.exe" dde4muii.lib \
          dde4cci.lib lancelot.obj lmainwin.obj linfowin.obj \
          lperswin.obj linfonb.obj lcnrobj.obj lacct.obj lbadge.obj \
          lstatus.obj lskill.obj lgenl.obj lpagectl.obj ldbase.obj \
          ldbqry.obj lgeneric.obj lgoodies.obj
        RC lancelot.res lancelot.exe

lancelot.obj:  lancelot.cpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lancelot.cpp

lpagectl.obj:  lpagectl.cpp  lpagectl.hpp lancelot.h
       $(GCPPC) /C $(GCPPFLAGS) lpagectl.cpp

lacct.obj:  lacct.cpp  lacct.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lacct.cpp

lstatus.obj:  lstatus.cpp lstatus.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lstatus.cpp

lbadge.obj:  lbadge.cpp lbadge.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lbadge.cpp

lskill.obj:  lskill.cpp lskill.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lskill.cpp

lgenl.obj:  lgenl.cpp lgenl.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lgenl.cpp

lgoodies.obj: lgoodies.cpp lgoodies.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lgoodies.cpp

ldbqry.obj:  ldbqry.cpp ldbqry.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) ldbqry.cpp

ldbase.obj:  ldbase.cpp ldbase.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) ldbase.cpp

lgeneric.obj:  lgeneric.cpp lgeneric.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lgeneric.cpp

lcnrobj.obj:  lcnrobj.cpp lcnrobj.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lcnrobj.cpp

linfonb.obj:  linfonb.cpp linfonb.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) linfonb.cpp

lperswin.obj:  lperswin.cpp lperswin.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lperswin.cpp

linfowin.obj:  linfowin.cpp linfowin.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) linfowin.cpp

lmainwin.obj:  lmainwin.cpp lmainwin.hpp lancelot.h
        $(GCPPC) /C $(GCPPFLAGS) lmainwin.cpp

lancelot.res:  lancelot.rc lancelot.h \
               lancelot.ico query.ico query2.ico person.ico
        rc -r -DIC_PM lancelot.rc

lanchelp.hlp:  lanchelp.ipf
        ipfc lanchelp.ipf

lancelot.inf:  lancelot.ipf
        ipfc lancelot.ipf /inf

clean:
        $(ERASE) lancelot.obj
        $(ERASE) lmainwin.obj
        $(ERASE) linfowin.obj
        $(ERASE) lperswin.obj
        $(ERASE) linfonb.obj
        $(ERASE) lcnrobj.obj
        $(ERASE) lpagectl.obj
        $(ERASE) lacct.obj
        $(ERASE) lstatus.obj
        $(ERASE) lbadge.obj
        $(ERASE) lskill.obj
        $(ERASE) lgenl.obj
        $(ERASE) ldbase.obj
        $(ERASE) ldbqry.obj
        $(ERASE) lgeneric.obj
        $(ERASE) lgoodies.obj
        $(ERASE) lancelot.res
        $(ERASE) lancelot.inf
        $(ERASE) lanchelp.hlp
t be k  $        n  ).׮.׮.
           n      ./usr/lpp/xlC/iclui/samples/lancelot/Makefile OS         $          $          #*******************************************************************************
#* SAMPLE PROJECT: Lancelot Makefile					       *
#*									       *
#* COPYRIGHT:								       *
#* ----------								       *
#* Copyright (C) International Business	Machines Corp.,	1992,1994.	       *
#*									       *
#* DISCLAIMER OF WARRANTIES:						       *
#* -------------------------						       *
#* The following [enclosed] code is sample code	  created   by IBM	       *
#* Corporation.	 This sample code is not part of any standard IBM product      *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",	       *
#* without warranty of any kind.  IBM shall not	be liable for any damages      *
#* arising out of your use of the sample code, even if they have been	       *
#* advised of the possibility of such damages.				       *
#*									       *
#*******************************************************************************

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/lancelot
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-O -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

XLIBLIBS = -lXm	-lXt -lX11

ICSAMPLESRESDIR=$(HOME)

all:  lancelot $(ICSAMPLESRESDIR)/Lancelot \
      lancelot.xpm person.xpm query.xpm	query2.xpm lanchelp.hlp	lancelot.inf


lancelot:	 lancelot.o lmainwin.o linfowin.o lperswin.o linfonb.o \
	 lcnrobj.o lpagectl.o lacct.o lstatus.o	lbadge.o lskill.o \
	 lgenl.o lgoodies.o ldbase.o lgeneric.o	ldbqry.o
	$(GLINK) $(GCPPLFLAGS) -olancelot lancelot.o \
	  lmainwin.o linfowin.o	lperswin.o linfonb.o lcnrobj.o lpagectl.o \
	 lacct.o lstatus.o lbadge.o lskill.o lgenl.o lgoodies.o	ldbase.o \
	 lgeneric.o ldbqry.o \
	  -libmuis -libmcls $(XLIBLIBS)

lancelot.o:  lancelot.cpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lancelot.cpp

lmainwin.o:  lmainwin.cpp lmainwin.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lmainwin.cpp

linfowin.o:  linfowin.cpp linfowin.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) linfowin.cpp

lperswin.o:  lperswin.cpp lperswin.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lperswin.cpp

linfonb.o:  linfonb.cpp	linfonb.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) linfonb.cpp

lcnrobj.o:  lcnrobj.cpp	lcnrobj.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lcnrobj.cpp

lpagectl.o:  lpagectl.cpp lpagectl.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lpagectl.cpp

lacct.o:  lacct.cpp lacct.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lacct.cpp

lstatus.o:  lstatus.cpp	lstatus.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lstatus.cpp

lbadge.o:  lbadge.cpp lbadge.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lbadge.cpp

lskill.o:  lskill.cpp lskill.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lskill.cpp

lgenl.o:  lgenl.cpp lgenl.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lgenl.cpp

lgoodies.o:  lgoodies.cpp lgoodies.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lgoodies.cpp

ldbase.o:  ldbase.cpp ldbase.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) ldbase.cpp

lgeneric.o:  lgeneric.cpp lgeneric.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) lgeneric.cpp

ldbqry.o:  ldbqry.cpp ldbqry.hpp lancelot.h
	$(GCPPC) -c $(GCPPFLAGS) ldbqry.cpp

$(ICSAMPLESRESDIR)/Lancelot:	   lancelot.rc lancelot.h
	ipmrc2X	-I. lancelot.rc	$(ICSAMPLESRESDIR)/Lancelot

lancelot.xpm:  lancelot.ico
	ibmp2X lancelot.ico

person.xpm:	person.ico
	ibmp2X person.ico

query.xpm:	query.ico
	ibmp2X query.ico

query2.xpm:	query2.ico
	ibmp2X query2.ico

lanchelp.hlp:	lanchelp.ipf
	ipfc lanchelp.ipf
lancelot.inf:	lancelot.ipf
	ipfc lancelot.ipf -inf

clean:
	$(ERASE) lancelot
	$(ERASE) lancelot.o
	$(ERASE) lmainwin.o
	$(ERASE) linfowin.o
	$(ERASE) lperswin.o
	$(ERASE) linfonb.o
	$(ERASE) lcnrobj.o
	$(ERASE) lacct.o
	$(ERASE) lbadge.o
	$(ERASE) lstatus.o
	$(ERASE) lskill.o
	$(ERASE) lgenl.o
	$(ERASE) lpagectl.o
	$(ERASE) ldbase.o
	$(ERASE) lgeneric.o
	$(ERASE) ldbqry.o
	$(ERASE) $(ICSAMPLESRESDIR)/Lancelot
	$(ERASE) lancelot.xpm
	$(ERASE) person.xpm
	$(ERASE) query.xpm
	$(ERASE) query2.xpm
	$(ERASE) lanchelp.hlp
	$(ERASE) lancelot.inf
	$(ERASE) $(TEMPINC)/*

 ok\  $        _  )...
         |  _      ./usr/lpp/xlC/iclui/samples/lancelot/lancelot.hpp G              $          $          /*******************************************************************************
* FILE NAME: lancelot.hpp                                                      *
*                                                                              *
* DESCRIPTION:                                                                 *
*                                                                              *
* Class                                                                        *
*   AppWindow                                                                  *
*                                                                              *
* COPYRIGHT:                                                                   *
*   Licensed Materials - Property of IBM                                       *
*   (C) Copyright IBM Corporation 1992, 1994                                   *
*   All Rights Reserved                                                        *
*   US Government Users Restricted Rights - Use, duplication, or disclosure    *
*   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
*                                                                              *
* CHANGE HISTORY:                                                              *
*******************************************************************************/

#ifndef _LANCELOT_
#define _LANCELOT_

#include "litems.hpp"

#include "lgeneric.hpp"

#ifndef NOT_IMPL
#include <isysmenu.hpp>
#endif

#include <ipageevt.hpp>
#include <ititle.hpp>
#include <imenubar.hpp>
#include <inotebk.hpp>
#include <iinfoa.hpp>
#include <imenuhdr.hpp>
#include <ipagehdr.hpp>  // IPageHandler
#include <icnrhdr.hpp>   // IContainer handler
#include <icmdhdr.hpp>   // ICommandHandler


#include "ldefault.hpp"
#include "lproject.hpp"
#include "lwork.hpp"
#include "ltask.hpp"
#include "lacct.hpp"
#include "lstatus.hpp"
#include "lbadge.hpp"
#include "lskill.hpp"
#include "lgenl.hpp"
#include "ltimec.hpp"
#include "lentry.hpp"


/******************************/
/* Application Window         */
/******************************/

class AppWindow : public IFrameWindow
                  ,public ICommandHandler
                  ,public IPageHandler
                  ,public IMenuHandler
                  ,public ICnrHandler
 {
  public:
    AppWindow( unsigned long windowId);
    ~AppWindow();

  protected:
    Boolean command      (ICommandEvent& cmdevt);
    Boolean systemCommand(ICommandEvent& cmdevt);
    Boolean select (IPageSelectEvent& pageevt);
    Boolean remove (IPageRemoveEvent& pageevt);
    Boolean menuShowing(IMenuEvent& mnEvt,
                        ISubmenu& smShow);

  private:
    ITitle             title;
    IMenuBar           menuBar;
    INotebook          notebook;
    IInfoArea          infoArea;           //Define an Information Area
    enum AddPage {asFirst, asLast, beforeCurrent, afterCurrent};

    void about();               // Display About ... program information
    void deleteFirst();         // Delete first page
    void deleteLast();          // Delete last page
    void deleteCurrent();       // Delete current page
    IPageHandle  createPage(IWindow    *pTextPage,
                            IResourceId Tab_ID,
                            AddPage where, Boolean turn = true);
    void initialSettings();     // Initial notebook settings
    void initialInfoArea();     // set info area text

    unsigned long      ulCurrentPage;
    unsigned long nextPageNo()    {return ++ulCurrentPage;};
    unsigned long currentPageNo() {return ulCurrentPage;};
    GeneralPage*  pGeneralPage;
    ProjectPage*  pProjectPage;
    WorkPage*     pWorkPage;
    BadgePage*    pBadgePage;
    StatusPage*   pStatusPage;
    AccountPage*  pAccountPage;
    SkillPage*    pSkillPage;
    TasksPage*    pTasksPage;
    TimeCardPage* pTimeCardPage;

    IPageHandle   phGeneralPage;
    IPageHandle   phProjectPage;
    IPageHandle   phWorkPage;
    IPageHandle   phBadgePage;
    IPageHandle   phStatusPage;
    IPageHandle   phAccountPage;
    IPageHandle   phSkillPage;
    IPageHandle   phTasksPage;
    IPageHandle   phTimeCardPage;
 };

#endif
alւ  $        I9  )...
                 ./usr/lpp/xlC/iclui/samples/lancelot/lancelot.h          $          $            	  _e
*EINSTdfin#01ADLOPR245BCGMU/36789FHKVWXYaolrstJQbchpuy.gmvw",Zk-:[]R)JR)JR)JR)JR)JR)JR)JR)JR)JR8ƎYǿq9z=`S&	 `G*IVbP>q	dIWJXG</1Lkط RU&	yL`a0E ` 
x MHJ&D@	0@@׀p@b`	q8S@$Jp`}IWS F4p"x&`05"`|^@p$Lxq @"@L0,L
<_Jk	 	b`P@4q L ~"N q0(\01 @ H&p$LqĦ) @Lׁ$H KzĀJ`8p,L
P"8"@@׀p\G@*J @'^$ $D% JR)JR)JR)JR)JR)JR)JR)JR)JR)JP*RL8\z8ƎYǾ)$)G8e$JR)JR)JR)JR)JR)JR)JR)JR)JR( >Sħp q06AR
)JR)JR)JR)JR)JR)JR)JR)JR)JR
P]8	&NL{hoeaqaǶR+DGaqaǶDcP2ISH_YBL.268,sPē{=qI0w`LhYaqaǶb&PJIS{r,QI&NDchsQZISEǵ:ǝ`$\e;m \{ZsQ,{@V%$)hm0B5ƀ$\e;m \{Z94X0{19A5t{kVuj4<{xg1II0w cQE$\e;m1QE\e;m1,?)$)hm1azoYI&NDch9[ioYe\e;m1,>Ame)$)hm1azmÝeaqa@6rX({1ŇӖr>8aqa@6rXѫ)$)hm1aRISbǢ1ÿ,bL.26sN=ѫp,aI&NDch9DƏ_e)$)hm1a8ܿ,$\e;m1,z,QE$\e;m1,zͣ[,QCL.26Ӗr=fѫ9o_XL.26@E} zzoXRL.26@E} zj[b
I0w cAdZ:=RISH@?,P1II0w cA9)$)hm,(5b.Ŝ,\e;m1Ŝ1CYI&NDch1g!CբaRISYQ1`$\e;m1ŜE,YI&NDch1g!H"yG?c
I0w cA9
X))&NDci	({18ǯ&NDchMs"DtB9X$I0wAhg({kVuQE{kVu1a({kVu1azo,{kVu1azm0qEZISEǵ:=,RISEǵ:=[aQe$\e;m \{Z9,(E$\e;m \{Z9,}qaqaqjΠ,>9jQb$\e;m \{Z9X1I&NH-֬bǢ1ÿX1i&NH-֬bǢ5naqaqjΠ,>E=RISEǵ:q_,aI&NH-֬rXB)$)i՝NYG(Qe$\e;m \{Z9ch՜(QI&NH-֬rXzBI0wAhgSr=f1Z?,{kVu4XaqaqjΣƀ@(PL.26Z.=YxcH(PH{kVu4XCY_$\e;m \{Z">=
z&5kG($ZISEǵ:Yz1g!aqaqjΠŜbI0wAhgPbBV"Yae$\e;m \{Z1g!LiB)$)i՝A9
,QI&NH-֬YQ1PbL.26Z.=YՈBŔaqaqjΠŜ BaqaqjΠŜEԁYI0wAhgR	(\e;m,)9X)$)hm8ט4X)$)h1g!O0i(E$\e;m \{ZF/P1I&NA9
yNX7Xaqasx{i#^`ӗXaqsѢ1<PL.2z4qjΧ/ZISFR+DFZ.=YxcQB$\e;h"Di՝Fÿ,$\e;hq<Z"4j;(bL.2z4h
EhL (cL.2z4m V4aqsѠŜ=9e0{.Z4<e0{,)"(`{ \{Z՜8Pd{ \{Z՜ YEaqsѤkVu1{D?,I0w81QCL.2z4hY#e0!$)FDx(`JISFpZѢ_QCL.2z4Lk֍p_YEaqsѧc\heZISFpZѢ/(qI&N= cFtAI0w5g-+(ZISFZ.=e1$)GI0w[saeaqsѢ(p{,"()$)Lk=)$)KzQA\e;iye)$)KyeaqsѤO<P@{"ÍcGYEI0wѫAQA &N=xI0w贉	I0wP@RISF[YEaqsѢ,KI0we)$)ChQA H(.q)Lts28!$)hmj'9({kVuj'90L.26pi-,))&N,~icO<7aqm=bL.2,ZISaM?$\e;C86!))0zL.26{kq1RISChqL.269:HH{^@)#1$)hiaqa4{h1g!$\e;m"0$$%$)hi=$\e;m"Ed_!E$\e;m"jaqa4{iV
I0wE=$\e;m.Z48Ƈ	
aqacHh/y481$)hrѧA!@&NF84-DG𐠄{^Gaqa4{hq	

JAAs<_`\e;Fy0z)$)߰0pȵCHaqm8qZ@DiRISa`EE$)߰0pi.L.2GbR
00zL.2=t)$)߰aH=t4{]-$)߰haM"@jѥaqm4}1"4ǮL.2!FŋI0w6h&4z1$)߰aH_,$)߰aH=tXYI0w6h]"cG+a)H(.=mZ&`\e;K ǈtC<4$\e;CբaԁL.2j0@롤^
I0w6Déd:"`2ISa=m@Va`~hzGL X_$\e;Cb.}4t~hzDi.=K	&Nt\e;CX ںX_L.2m"y)a$\e;CEƏaqm[hՠX_8~hzF9a$\e;C =Y)ZISa=mѦAtq&NX$)߰	&NE
%)Î0zL.2)$)߰pk:0zi-$)߰pk:0zsQE=I&NӃYC@2ISaSXq԰\e;NeX8h@ē~i8@Lhaqm85HJAAw<Ǒv֒aqm9<$~i1]H=t4{]ZISa.F{kI&NӞe9] &NӞe9"4Ǯ"L.2<[MLza#L.2<<'&=t$$)߰syP
Ehу$\e;Ny"HcL/BRL.2<Ǒu `у!I&NӃXq`9aqm9<aqm9<1)$)߰syR]-$\e;Ny"[M\e;Ny"@
aqm9<t\e;=xh=k4}=bҐP\N"m&& &NLhYޱQE$\e;m1gOzƞxm<80]ZISOzƞxm,)% ̜D8	t{4,cM<?
RISFR+DFг=4
ZISFcBϠ4
JRL.26-(L.2 LzŔRISaA=cCQI&NO=d?))&NbB-(I0w6yQeJR)JR)JR)JR)JR)JR)JR)JR)JR_& {TJR)JR)JR)JR)JR)JR)JR)JR)JR$)ߠƀL.2 Jb,6$:@ 9L.2}i,~C_A9eaqhk$\e;=A,$)߹Fo$\e;=i<9L.2j480Ə_,aנ`\e;=haO0oaqhii]4GXL.24}1"4ǯŊaqhibQ=% cȻ@I0wz4Ny"yX1I&NF)yX1i&NF(`rX0~Ny瘋aqi2`L.29PaQ8GŃI0wz4LiJAAs<_`\e;=0p0pȵŔaqhèbI0wz4`[])$)߹уP(Xdpk9ZISsѧÎ7c
I0wz4SXqZISsѧVb.!L.2858(% hv֒aqhzCբa$\e;= q+]0zZISsѡmcM0
I0wz4=m"L z$\e;=i˦At?0ZISsѡm1jI0wz4=m>=AaqhzHy
z0`BISsѡmOX	I0wz4=mOXL.2[hS `9I&NFxOAt?夘\e;=+OXL.2[hi0$)߹E
zaqhzDK 4
zaqhzDK 4AL.2pEd_QI&NF8}1RISsѢNaR+ xrRISsѢFEd_@1I&NF8}4Fe% 	 x 0D%L.2`唒aq5@haq5@i1I&NX0F=i&NX0F8夘\e;c894ǯRL.2`}E)&NX0F@ÎZIS90=%{"k  $        ,  *...
           ,      ./usr/lpp/xlC/iclui/samples/lancelot/lancelot.ipf G              $          $          :userdoc.
:title.Lancelot &colon. A Valiant Example
:h1.What is Lancelot?
:i1.Description
:p.Lancelot is a personnel data tracking tool.
It tracks general personnel information, badge, status, skills,
and system account information. This sample application is
intended to show integration rather than optimum
performance or coding.
:p.Lancelot was written by our QA group to utilize some of the more
complex objects provided by the :hp3.IBM CSet++ for AIX&colon. User
Interface Class Library:ehp3..  Lancelot primarily utilizes these objects&colon.
:ul compact.
:li.IContainerControl
:li.INotebook
:li.IPopupMenu
:li.Infoarea
:li.IMultiCellCanvas
:li.ISetCanvas
:li.IProfile
:li.IHelp
:li.IEntryField
:li.IPushButton
:li.ICheckBox
:li.IMenuBar
:li.ITitle
:li.IString
:li.ICommandHandler
:li.ICnrHandler
:li.ICnrMenuHandler
:eul.
:p.In addition, Lancelot uses a simple flat database implemented with
IProfile.  However, this flat database is used only to show data
interaction with the GUI objects.
:note.You should :hp4.NOT:ehp4. use the flat database provided for any
of your own applications!  We suggest you don't even look at the internals
of the database code.  You should use a true relational database for
your applications.
.***********************
:h1.Lancelot Usage
:i1.Usage
:p.To create Lancelot, you must first compile and link the
application and it's components.
:ul.
:li.On AIX, issue
:xmp.
   make
:exmp.
:li.On AIX with debug information, issue
:xmp.
   make -f Makefile.DEBUG
:exmp.
:li.On OS/2, issue
:xmp.
   nmake -f Makefile.OS2
:exmp.
:eul.
:p.To execute Lancelot, simply issue
:xmp.
   lancelot
:exmp.
:h2.Lancelot Main window
:i1.Main Window
:p.Lancelot's main view is what you see when the application
first comes up.  It contains the :hp3.Query Personnel:ehp3. object
and any private query objects you may have created.
The :hp3.Query Personnel:ehp3. object queries employee information
dependent on your search criteria.  You have the option of saving the
search criteria in the main view for fast access next time.
:h2.Lancelot Query Information window
:i1.Information Window
:p.Lancelot's Query Information window contains a notebook with pages
for specifying personnel search criteria.
The pages available are&colon.
:dl tsize=30.
:dt.:hp3.General Page:ehp3.
:dd.General information for a person.
:dt.:hp3.Accounts Page:ehp3.
:dd.User accounts and systems for a person.
:dt.:hp3.Skills Page:ehp3.
:dd.Individual skills for a person.
:dt.:hp3.Badge Page:ehp3.
:dd.Badge information for a person.
:dt.:hp3.Status Page:ehp3.
:dd.Employement status information for a person.
:edl.
:p.The buttons available are&colon.
:dl tsize=30.
:dt.:hp3.Query:ehp3.
:dd.Query the personnel database given your search criteria.
If persons are found matching your criteria, a window appears with
objects representing each person.
:dt.:hp3.Save:ehp3.
:dd.Save your search criteria to the main view window for each access
next time.
:dt.:hp3.Undo:ehp3.
:dd.Undo any search criteria information you entered.
:dt.:hp3.Help:ehp3.
:dd.Provide help for a specific page
:edl.
:h2.Lancelot Personnel window
:i1.Personnel Window
:p.Lancelot's Personnel view is what you see when the application
finds personnel matching your search criteria.
It contains an object for each person.
The person object can open the View Information window.
:h2.Lancelot View Information window
:p.Lancelot's View Information window is displayed to show
employee information for a single employee.  Any changes to
the employee information will be saved in the database.  However,
the :hp3.Undo:ehp3. button can undo any changes you entered.
:p.The pages available are&colon.
:dl tsize=30.
:dt.:hp3.General Page:ehp3.
:dd.General information for a person.
:dt.:hp3.Accounts Page:ehp3.
:dd.User accounts and systems for a person.
:dt.:hp3.Skills Page:ehp3.
:dd.Individual skills for a person.
:dt.:hp3.Badge Page:ehp3.
:dd.Badge information for a person.
:dt.:hp3.Status Page:ehp3.
:dd.Employement status information for a person.
:edl.
:p.The buttons available are&colon.
:dl tsize=30.
:dt.:hp3.Undo:ehp3.
:dd.Undo any changes to the employee's information you entered.
:dt.:hp3.Help:ehp3.
:dd.Provide help for a specific page
:edl.
.***********************
:h1.Lessons Learned
:i1.Lessons
:p.In coding Lancelot, we learned alot by the fine nuances of coding
GUI applications.
:h2.Containers
:i1.Container Lessons
:p.There are several things we learned about containers in coding Lancelot.
Here are some of the items we learned.
:ul.
:li.In order for a container to show detailsView, the container
must know about offset (binary location) information for
individual fields in a data class (data structure).  There are
two approaches for the container to query a data class' fields&colon.
:ol.
:li.Make the data class a friend of the container.  Then the container
can use something like this when creating it's columns&colon.
:xmp.
   IContainerColumn lastNameColumn(
           offsetof( EmployeeCnrObject, theLastName ) );
:exmp.
:li.-or- A better solution is to create a function in the
data class for each data field.  The function would do the following&colon.
:xmp.
   unsigned long EmployeeObject&colon.&colon.lastNameOffset()
   {
      return ( offsetof( EmployeeCnrObject, theLastName ) );
   }
:exmp.
The container column would then look like this&colon.
:xmp.
   IContainerColumn nameColumn(
           EmployeeCnrObject&colon.&colon.lastNameOffset() );
:exmp.
:eol.
:p.The only advantage to using option 2 is that any container can
get the data class field offsets without having to be friends.
The disadvantage is that if you have alot of data fields, you will
have to code query functions for each.  A good example of each
can be found in the class LMainCnr (lmainwin.cpp) and LPersonnelCnr
(lperswin.cpp).
:li.If you have a container object that contains your own data class object
and you want your data class object's private data fields to appear in
the container, do not specify the offset for your data class object itself.
Instead, specify the offset of the container object's variable name
representing your your data class and reference the data class object's
internal data field.
:p.Example&colon.
:xmp.
   IContainerColumn lastNameColumn(
             offsetof( EmployeeCnrObject, privateData.theLastName ) );
:exmp.
:eul.
:h2.Notebooks
:i1.Notebook Lessons
:p.There are several things we learned about notebooks in coding Lancelot.
Here are some of the items we learned.
:ul.
:li.When a page is added to a notebook and using the
autoPageSize style, the pages are automatically
resized to the current notebook size.  Therefore,
we need to resize the notebook pages to their
minimum size so that the notebook can
properly calculate it's minimum size.  See LInfoNotebook (linfonb.cpp)
for an example.
:li.In order to property size notebook tabs based on the current
font size, we sized the major tab width to be the
:p.( average character width for the current font ) X
( number of characters we want to display ).
:p.ISized the major tab height to be the
:p.( average uppercase height for the current font ) X 2.
:xmp.
   setMajorTabSize(
       ISize(
          notebookFont.avgCharWidth() *
          ID_INFO_NOTEBOOK_TAB_CHARS,
          notebookFont.avgUppercase() *
          2 ) );
:exmp.
See LInfoNotebook (linfonb.cpp) for an example.
:eul.
:h2.Canvases
:i1.Canvas Lessons
:p.There are several things we learned about canvases in coding Lancelot.
Here are some of the items we learned.
:ul.
:li.For aligning like objects such as radio buttons,
ISetCanvas does the best job aligning.
:li.For aligning unlike objects such as entryfields and static text,
IMultiCellCanvas does the best job aligning.
:li.When aligning unlike objects, a minimum size for one object is usually
too large for an unlike object in the same column.  Therefore, place
the unlike object in a different column (usually one column more is
sufficient).
:eul.
:h2.Help
:i1.Help Lessons
:p.There are several things we learned about help in coding Lancelot.
Here are some of the items we learned.
:ul.
:li.General help is simply the panel associated with the HELPITEM in
the help table.
:p.Example&colon.
:xmp.
   HELPITEM      ID_MAIN, ......
:exmp.
:li.Help index and using help are usually generic.  So we can
use the generic system help by getting the id from
IHelpWindow&colon.&colon.index and IHelpWindow&colon.&colon.using.
:li.Keys help is always specific to the application.  Therefore,
we must write our own in the .IPF file.  There can be two approaches
to making keys help work&colon.
:ol compact.
:li.In the command() function, case off the id defined in the .RC
for the user selecting "Keys help" and then calling
help.show( id ) that is defined in the .IPF file.
However, if the user selects "Help/Keys help" inside the
Keys Help help window, an error can occur since the help
window itself doesn't know about the id in the .IPF file.
:li.-or- A better way is&colon.
:ol compact.
:li.Identify the "Keys help" menu with
SC_HELPKEYS and specify the MIS_SYSCOMMAND attribute.
:li.Create an IHelpHandler in your source code
:li.Have the IHelpHandler object handleEventsFor the main window
:li.Override the keysHelpId() function to specify the .IPF
id for keys help.
:p.Example&colon.
:xmp.
   event.setResult( id-in-IPF-file );
:exmp.
:eol.
:eol.
:li.Product information is your own dialog defined in the .CPP.
:li.F1 help for Keys Help must match the id for SC_HELPKEYS.
It is defined for OS/2 PM in pmwin.h.
It is defined for AIX Motif in ipmrc2X.
:li.You don't have to create a new IHelpWindow object for each secondary
frame window you create.  However if you don't, the following
will occur&colon.
:ol compact.
:li.When closing the secondary window, the help window doesn't close
:li.When closing the help window, focus returns to the owner of
the secondary window.
Nevertheless, these situations can be overcome by using
IHelpWindow&colon.&colon.setAssociateWindow() for the current window
that has focus.
:li.In order to have each notebook page show help when the Help button
is pressed, the notebook page must know about the frame window's
help window object so that it can call help.show(...).
The static function IHelpWindow&colon.&colon.helpWindow() returns this object.
:p.Example&colon.
:xmp.
   helpWin = IHelpWindow&colon.&colon.helpWindow( this );
   if ( helpWin )
        helpWin->show( IResourceId( ID_xxx ) );
:exmp.
:eol.
:eul.
:h2.General
:i1.General Lessons
:p.There are several general things we learned in coding Lancelot.
:ul.
:li.When instantiating IWindow objects with the :hp3.new:ehp3. operator,
you must make sure to delete these objects when finished.  However,
there are times when you don't know how many windows you will have.
Therefore, you can use setAutoDeleteObject().  This function
deletes the IWindow object for you.
:p.Example&colon.
:xmp.
   IFrameWindow* myFrame = new IFrameWindow( ID_FRAME );
   myFrame->setAutoDeleteObject( true );
:exmp.
:li.IProfile changes are not visible until the IProfile object is
destroyed.
:li.There are two methodologies to using event handlers.
:ol.
:li.Create your own event handler class that inherits from an
event handler
:li.Multiply inherit from some visual object and from an event
handler
:eol.
The first method is preferred.
See LMainWindow (lmainwin.cpp) for an example.
However, the second method requires less coding.
See LInfoWindow (linfowin.cpp) for an example.
:eul.
:euserdoc.
s
lN  $        [  *...
           4      ./usr/lpp/xlC/iclui/samples/lancelot/lancelot.rc  G              $          $             E_"*DILMNPSTe
AORUnot,BCHVWailprs.Gcdhmu~/KXYbfgvwy{}FJQjx\#+12:kq-0'3>?Z[4<])JR)JR)JR)JR)JR)JR)JR)JR)JR)JQJ[SLL	4`<*dD WVlɠH*x$y	)_kdE4: io*  @<V <
 9<LpiJc^E+H"!ȏ@`y1HO
@.xy#I N8nMǅ$K$
GRx^<D sC@pJC'$Es㉓M炰jC'Ws̂Cfz: q,q$DzO
@.xyHǅ/IqQJ=z  N8n	vL0q#'8Bx%XXLy t85 Xq9tC'D#.g:!ჁsXsO"2cD	ɇacGL#QJR)JR)JR)JR)JR)JR)JR)JR)JR)JR( ǂB	*yD@ PyD礀¦ABQ@E)JR)JR)JR)JR
+%X$H
@)JR)JR)JR)JR(
1]?ak1kr
LcػoY[[xT @
`N@0EL4 xR0Qb킌}Qp( 0@
`L-f<QmnFdx@
)ػqly@pS0bDۋcc(i_pSFgG]>2ِ+*w ~0bDn-d)F<SdCJscHbű16̅>mQ_Sh@0bD~ۋcc(m
}[s%NP,a.̄Hػql}ehTy̕;LfBaH D $Fۋcc(mƛBes%Nҹy	# @)D Tػql}ehTtW<%1@<)n-_O9i,Tx)"?PۉˈO9i\ɅL炒#bű16aE+*wx*iۋcc(mi&u<JƠYJu<JQ	"?bű164_pSd&#.[qЩRy̕;HyfzDۋc4*]
y_S4i_Sd&#ػql}ƛBKjTW<%!@Dۋc]6?غl
y̕;H#<.`:D]>alzW2T!3>d&@Dۋc]6OKi_SLy2dGۋc]6tXO9O)b"727<Ey̕;@Ky̕;H|	 <JG"=!غl.Hy@u<.[p2]O;avfBW8SdC,|]>2ِO9)1"?P2Es%N8yx,|n-d)llJw<\Hػql}Gt+*ws Gx\tػql}SdCf|!Lغl,&FҿO98XdHغl,%s%N42R#*`<Dndn x1-+*wf#+*w@,8)y	DzFۋc]6LY¤W<Sdj\4%1	"n-m
_O9L)<q H  Dػql}ehTSdW2s!0q TE"H P
n-m
w(E"?bű16a+W2T!
c$Gvq0YqW2T!0<RD]>2L6Vs%NY"CM"?ػql}e4_S4i_S 9G]>2ئ(QE:wn-犸s%Nav0H	Bp2d).2R#.[bt+*ws Gx\tػql}SdCf|!Lغl,&FҿO98XdHغl,%s%N42R#*`<Dndn x1-+*wf#+*w@,8)y	DzFۋc]6LY¤W<yE:wn-4p2u<J<3="?bű`Jd,S]O;.dG]>`#s#b+W2T"@<vM1_SC)n-tXM>-s%Nq1炰ɐ"n-tYcJu<J<0i<2dGU@x@c[W2T5.FW2T!$XpR8(Hغl.Hy_S4i_Sd&#ػql}$R]6E(SblL{]O;0|pbcM]O;aw
6&=fBW8SdC,|]}62ِO9i)1"?Q1P2Es%N8yx,|pbcMd)llJy̕;@Kwb2
E"?blL{16MR+W2T1	# @)D pbcMm
֕y̕;JNa&8 
I @
R#blL{16MR_pS HG]}62L6Eu<J<aS<,yई.FǾcCn&+."u<J=s&3Ǟ
HQ1PۉQW<SdC$Hq੤GpbcMY+*wf#+*wD'4Q1P#E]O;R3HػmƛBK+W2T!pbcMhTvd)s%N(#<<D2d#blL{m
.Eʊu<JƠYJu<JDL<2A	(ؘn4*]+*w̄ј@@BDpbcMhTvmJw<\HػmGF`W8SdÉ<ys#blL{.c@bO9	$82R#.FǾb鰰}[Ju<J<ca E"?.FǾb鰳Ǆy̕;Hx`xdHM(8Sdj\4SdCI qP$9pbcMt\1g
_Sw
6&=ہ(WNyQ1P2s%NcHblL{16̅>(Ǖy̕;H|Nx,|]}62ِ܍+*wcHػme!OԋcbW<%!@D(ؘl]6?s#b+W2T"@<w
6&=M1_SC)pbcMtXM>-s%Nq1炰ɐ"pbcMtYcJu<J<0i<2dGU@x@c[W2T5.FW2T!$XpR8(H.FǾb鰸b"s%NP,as%N(w
6&=bdhyE:wpbcM*W P8SdC#3#.FǾf	(TB̅<%!@D(ؘl]6726.s%N.dpbcMt[y̕;HxLϙ!0ɐ"w
6&=MW2T!x+)w
6&=M<$SdC&@DEXl ̍F9Žes%NP,as%NH#< ȏ@ػmi8Ty̕;HSAɒHQ1ق@J+FrO9qir0ҿO9!Ǔ̐@@BDw
6&=0H	Bp2#K|@:4SdC2Fa	]}6P\RǄȱ-FۋcLhGh¦Ap <q"Bi+26FǾrdB?-xT  &H2	+26ardB?KG2#>.dG1%Fq66
8f̙'4b鰷+ 9É< <(2d" z 8B́y< 8Ba	+26S=5YD
CHdy #m6Ǭ?-xT  Sig4`)hFǾf	(TL7@A%F
uQ1" (tr3$MϙI cNi+26N@ taA@7#2D<$:d+26l:uhfK86x%Z!2@ԕq,e.S=W nLp.az(i+26FǾkԪH 0p.y)Htɣ003dfHHO#2D<"88 ( PPɆh:!̑4Cc&#'<3 *JQ1*]!?h4FdG3 Bh/@7D2xXGBJQ1X0e["A l'3'4tPǞ8)q0r4m	 _ t!&P$8`WdmD$8,.dGD6gHGđ+26ioFۢ PH7>`.dGD6g +26ioFۢ N8$8`%00Iٞ#műmJ	 _L'ql}RtB@Ӆ<Bh,!%F(ؘdzJ<WplWdml62yn D86i+26+26izAH I_}Xz3$xBdC>i+26(1<qS!2!4l|Z,=<qS&M%FZo<qS&M%F٦I #lIjHǞ
I_񑶺+đ褯ې4Wdm$לqS%J2M2	]DWs&HyGzJ\8I_Ǌ1mJeȿ8<H3"9%F:@"88D@p@8^@; <'Jc;>`aH  
#mbm[a
<qa	+26<*JEU7"2	(.[`Jd<,2d.[cC#= @0I$.[cClSx*z!$.[cClS킌E<=1?1%vfBr6"
S0bJbű16̅>R-AOEv4G O1%vqЩ̄ 
D@@BJbű16MRR84 4&ػql}ehTu̜L)q aHI_]>2L6_b$t 4&ػql}el	#<q0<RJbű16aE(G@L)x\ɅL炒Wn-YHS R$Wn-)F(<xZ ĕۋc4*_3!0f0ۋc4*]
L) i"M%v6Jkԫd&s!0f4ۋc]6s D  !%vM7Xx\|2d.[b鰰}[!3>d&@Jbű.:,xON&<V2RWEXl O)+غl.KH#< ȏ@ۋcCɓ0#<<6x%XdI_]>3*d?%"= 4I_]>S=CHJbű`Jd,SIf~Nd& 4&ػql}$R]6_W2Fy9R3 
DJ+Q1`Jd<,2d.FǾcC0fd 4&ػme!OHǂ<(8)0`@@BJblL{16̅>(AOEqcI_]}62ِ܍"
S0bJblL{16̅>R-AOEv4G O1%w
6&=qЩc2
G#2D<I_]}62i*V[[L)q&̂JblL{16MR\̄!"h|$.FǾcCn&/HfH2	+Q1PۉˈHfH2aS<,yक(ؘlc(mek1@9&̆2aS<,yक(ؘlc(mi&HS̑4>dWpbcM)FH`x0yhWpbcMhTc2
Fay&̀@@BJblL{m
.̅?&9R3̑4>dWpbcMhTv(.UJc8,@(ؘn4*]"C&	,@A%w
6&=ۍ6Jkԫҹ3̑4>dWpbcMt2BWpbcMt[0)+Q1غl,&F!3>d&@JblL{.:,xO8XdI_]}6ap4Ŝ*_`I qP$9ػm`Jd<,2d.FǾf	(TCd(
Dz	dfH2	+Q1ق@J+!OFgBaH/#2D<I_]}6P\6iJc8,@(ؘl %
\- 2$8`̑4>dWpbcM*W!kԫJBh#2D<IE `K$ XP1Dȑ <(r#=% Wؓ#q,e#sI_bN}QL5%]:R1sgN<-v$Hغl?.d'JF>Z.ĝ),P`SI_bN}N0eMj 'JF>@iI_bN},zQ_	-a5
_bKXM\	"GZjX"GZjsѾ#S$Fؕ#\,&L:z#4Fؕk.UC#4Wqr:9w#p,&G"M%qr:7"(D8J#n2.6ȇI_dmEX0eXxG撿یI+%"<4Fd]E/1Dq$uFi+Ȼz#4Fd]0ZH#4WeaϖDp*e](Q>Wkq褯26*(ß+bIaAHJ#lBѬ_N'2[,Py^\Fa+
Gm>GFb$JgNd-% @kr#S+b V5k@J#n V\@knE ۈ+L@ y	+Y`z,rOE%+,QƛO
ƶ:E%3&L&FS+b&Fہa5	$8J#l&a44܋	$8J#l&t4=Uw*KM 6s%O[u\/86i+}l62P_y"h4FM>ŭo-r4+}1r4KD"4FM>+W*KD>i+}aP_5RWa4]BW*K+RWa4ܨ/"H26iP_V<	:0Ur®T$|f	ٴr40PqĒWa4pI*KK82I+}\/1"Dfz#$26inyιP_\
%ig< Wa4pINUʀKDJ+
]=lxMʀH:<,y% CP?q0Hr(y2#lLIǅ+M\I_dm`:)+2C?0%0XLR@G>dć"(26<-k%26<6`I@4FاbHǂ#m	i~=̄^<As%P%GE<P-%@klq+YfGO'2
Fax	̖	@=0DS@0FۢbIgјnM<L)$2X%XtP
ZJ#m	+cb~=Gx^"xC'q"88P<)JR)JR)JR)JR)JR)JR)JR)JR)JR)J+ɐ#8By)@8TÉ/v#G3@q2~	@R)JR)JR)JR)JR)JR)JR)JR)JR)JPtH-t\(Wl*wۋcvdXЏػqly@MN"Ķ.[q8L+KWl"pJv#bű14tD,;bű6.[Wl"pJvfB#bű16̅<tD,;bű16̅>(ǈػql}e!O
1'	dn-d)#jl]>2ِ܍+]68K%Nػql}e!Oԋcb#bű16̅>R-_鰉Y*vۋcc(mƛB#bű16MR+]68K%Nػql}ehTFۋcc(mƛBe'	dn-m
l]>2i*V+]68K%Nػql}ell]>2L6E'	dn-B6.[cCn&+."MNS.[cCn&+]DPPۉQWl"pJveio	n-Y+]68K%Nػql}eM24#bű164_鰉Y*vۋc4*Xi*TaT틷i*T2n-hTvd)'	dn-hTvmJl]>MR*+]68K%Nػql}Fۋc]6'	dn-t[ػql}tD,;bű.	ѥFۋc]6OKi_鰉Y*vۋc]6tXn-tYcJMNS.[b鰰-#ػql}_鰉Y*wV. -#bű.6.aT틷غl.HFۋc]6LY¤Wl"pJv xv6JWl"pJv0H	Bp2d)6.[qЩRSMNS.[f	(TBMPi*T]6E'	dn-4p26.[qЩR+()JR)JR)JR)JR)JR)JR)JR)JR)JR(&@A	M AS''0.dxZ Q	p"h|R)JR)JR)JR)JR)JR)JR)JR)JR)JR!Eb鰑b[[b鰹% ``S.FǾ#Q1N"Ķ~(ؘJ.&Eml]}6p%P8tD,;blL{14F(ؘlc(i_鰉Y*v(ؘlc(m
xQ1P2aT틸Q1P2`#blL{16̅>(Ǖ.%l]}62ِ܍w
6&=fBr6tD,;blL{16̅>R-Q1P2]H6%'	dpbcMm
Q1Pۍ6HtD,;blL{16MRpbcMm
֕.%l]}62i*Vw
6&=qЩZtD,;blL{16aw
6&=q0.%l]}62L6V\Eػmel+]68K%NػmeluB6.FǾcCn&+]DQ_鰉Y*v(ؘlc(mi&l]}62f[htD,;blL{164ЍQ1P#E'	dpbcMhTb6.FǾqЩRMNS.FǾqЩRSl]}6MRِ.%l]}6MR*w
6&=ۍ6JkԨtD,;blL{m
.Eʄl]}6MRأhQ_鰉Y*v(ؘn4*]w
6&=ۍ6Jr4JMNS.FǾbw
6&=M_鰉Y*v(ؘl]6Ǯ6.FǾb鰶=t+]68K%Nػmiimw
6&=MWl"pJw
6&=M<$F(ؘl]6tXaT틸Q1غl,@x.FǾb鰰-Wl"pJw
6&=]6V.pbcMjUb+]68K%N*`<Dl]}6a`Z`Wl"pJw
6&=Mpػmi8TMNS.FǾp26.FǾqЩRMNS.FǾf	(T@F(ؘn4*Y_鰉Y*v(ؘl %
YػmƛBK!O+]68K%Nػm$R]6B6.FǾqЩRtڕ.%l]}6P\6ػmƛBKFraT틸Q1ق@J+[Ѣ6.FǾqЩRFti@6JG390B#&V.	%v.b[@M%Nػc3,kػk5Yn'	b[B6.Ǭ`MN"Ķ.ǀfc`ۉdX@aT틷*a[MDl]Pغl.Wl"pJvOKmvOKm+]68K%Nػ,P|Ѝ
0XM.%l]-a5p,&l]-a5p,&MNS.c[p,&l]
ƶXM.%l]E	qr:7hyE m>GFl  $          *...
         Z  W      ./usr/lpp/xlC/iclui/samples/lancelot/ldbqry.cpp          $          $            


  -e
art()dgilmnsu./:;Icfhoy"*,=BCDQSp&>AELMNPbkvx{}012ORqwFGTVW~+KUj|!9<34?HY#z`` 	`8
a1CꪪUUUUUUUUUUUUUUUUUUUAj"AHhUUUUUUUUUUUUUUUUAj$Pn`ϪUUUUUUUUUUUUUUUUUUPZ  (8UUUUUUUUUUUUUUUUTGtRs Z9gp5ݍ'!UUUUUUUUT.$&ME\IdI   p   -Au>N4RIs*P@A؊`IؔMa@IƑjW *N[N$dI$<I&ǪP]LtḈ
$ Hy13$X퀳F0LUUUUUTP\   A0 0
2-J r#Lǀ
qk"&&P zf<y)
R׃ZI(XP Amx` C"aMaț4-ZJ-bǴAmrE,jcTbB֒QXb׆H AmrPIJ	R׃ZII;DPw@h 0dAmrE&ÄÑ6i[\SZŏh4-XTjlFi(XPp Amx<c @'IkD٤\AmrUIƢG"dq82&20᪨Xr8ŵ㒄֒Ndr*UBI$y#JM"kI0pXr& 9!9\\UUPl 5UTpFE`&M("ҋjI4-)$MaȚP
)iE5UT` UA5*E4-)$MaȚQ0`X8ӚE%UQ٤\AmqI&kDҌ r-!ȴƪ j	='JHL$ ŊZCiEUU5J&Tqq$8I9J0 3 pG$ q5"UUd4-)$MaȚQ0 ZCiEUNzN&6i[\RIÑ4 `0"ҋ*1kP,-"Ya6ULv`9!PLj,]XE7a0Jg$,]E7a0JgB)	P>(UUT29A鰣$ZJiEy9f&5J.,\"%3֒QXb&	@L`&	@LPIT	raEPLjbB)	P>=i%(v"&y"njI,]E7a0JgFbPIUP&M0j qN:XHǹAGg9UC$@`ؑ&C8=6$I:gDƪ IC8=6$Ivb@$ҋ"Lr@gaEUUUDؑ&
I"ҋJUUTql	9,LL󇭧D`90CJ"L,j480jU1ڛjR,]XE7a0Jg$](v"&y"n)v(XPq"GфSv&|0dkqCÑ4@-A%*EY<A (:8-UTjlF q,\	P%x69AS:-(G5,jQty!kOtDHkzl,jPp%p5H=6
sE( 1EkZQcTkAs]`=tZQbkXE5J،&TX]RbB)	P>=i%	]0h4/rMPwI Du&	@L`M60y$Rl8I9@t bUG5HR0t
9YcTMbn5J	.MR,]XE7a0Jg$@MÖh
.@MxbD#IB-'=֍&	@L`i08$) <ƪ9AQȄy-QcU1ڛkrƨ&5JPwb݄(	sݮqbB)	P<&	@L`1vzlcZJ8QtMH(9B8!A XUTjlFi(XPpnc J=i%pnc IBSvPnc HI+dܵUUUC#J,1UUUU "
AmDquyRN"9E*q DqZJ@MÖh-mDqXUS&a4IG5HƩA1R&9֒P	MLr$	Z&9 "H-A%US&a4IG5Hƪ6Yy$QcT)BSvPyI(`΀I]%4΀IXPq"GфSvP:m&Qj	*DuLv1ƩUB)\@8Q"Qphlc6#5* q.Á$@ܦq ƩUB(O `@&&yӉ"E
Z$cXUNzNF<Y8*kcUSF8ƩJPwb݄"@zJ25$`#]ƻe5КJIbHDVDPwI Du&9#]N"9P&MDsUUUUUUUUUUUPd8I9@ыjUUUUUUUUUUTkD4Ţk$HZ3p='!ȇG$yYpIUThy#jUDs̃dlD=6
sE( 1EkZQcUUF-'[MAiE9QbXUS:<zlJ,Qt (MpJ,jPMU9<hy#,jSF8(&5J.,\"HZICFDlDs]lII:<I2$HZ0nc J25$`#kD4@<UUUUUUUUUUUCÑ4Pq"Gј$cY8TqlD=6
9 0˂J;Cl&T sd$`!S:-(G5,S\"ҋ1m]:<zlJ,Qt rƩUSv1؂IƩU1ڛ$cRcT.MLr$	A$'@MÖhȎkE΀I"N#A(T,]E7a1Ȑ$SvPI,'[A"PIU$`#$) <ƪlD=6
98ŵ,jc6#RcT.MLr$	A$%`ȎkQw,%Bi)'[Pw&9Њnc J1f$`#<)6$hyy$Rl8I9@ыjUUUUUUUAHpXr&-\I:<	
Y9Ds[V1heU1ڛD䆨&5JPwb݄"@zJ25[GaEkZ1M"-ȹH&&bCAĉFSvPZ<
$i\pZJUAĉFc<AgUQ"[GMH(F<5USH6AmD=6
sE)i	5"iEUA5Tx6 qULvf;CT(XPpnc J=i%:m&Akh#H9r8 xbD$cIBSv@hE7a1Ȑ%:m&Akh#HUH-Ȏ1!Lt	y5U "Agb5U1ڛD䆨&5JPwb݄"@zJ2YGQw,%-bB)	D 4"HYGPHpXr&8U "8ą,
Z#c6#PLj.MLr$	A$#VQw #"DsbCAĉFMLr$	CG"\I&MeUUUUUUUUUA"aMațꪪE&ÄÑ61h$Tq8ZD-UTjlF qUP&M[G@2I55U "9A$
5UC &8l<!0 R8TPQiHˀh88ӚEUB &<Ȧ9ؒH-!ȴƪ$8hRJ,j،<kciF 8dŢk5US%UP Amx,ŵh6E Cbƪkf-.5UTjlFI54#&-\'!RcT.MLr$	A$$pHE7a1erK</$`1$٤$uUUUUUUUUUTy5BSv@hE7a1Ȑ%$bB)	-(E7a1pXڰI&MBk5APIU$%u*MațܘdYdŢkI, ƪccdTȇI;@1 siEUUTȇG$yXUUI:<zl8E\R]N"9@&zn1hRbt[I] p8E	-C` 
AE5Šhl ˂JUUUT NkkDҎ,j)7a1xM6kRK890 M&-\ '!UUTꪪE	-C`  
% 8kPp @`˨$UUUT NkܘUUUT,\@&tYb2b5s#ErUUUUG()%Amp uUUUUTP=S`E:((M
,UUUUUrphl3kUUUU@Rnbj8m@praAgcUUUUU@Rnbj8m@pr`\(2b5ƪꪪ)7a1xM6kRK890 xR	='JXApbx {LZ&ZD<pIUUUUI, Mf1h< p=+D
)7a1xM6kRK890ɋD,j)7a1xM6kRK890 x&TULv`9!	R,]XE7a1Ȑ%@Mlq[VQw$k$rh*.89i<0dHa݄"@0d<kciPH \`y$Rl[\.0UUUUUUUUUUT<)6$iD-A%THf;ClAgUPr$y$ǚE׉29Tq h460UUGb5&((4(UULv1ZjsuUUSp='UQ"<`!Ţk9""L PP(UULv1ZjsuUUSp='IUTq x 4ZLZ&1 A B$ (UUU1Hkq='UUUThy#4IƩULvf;CT.MLr$	A$![sDՔ] &<r-s]D	2\<ZO${E7a1Ȑ%$T<)6<&р2E&ǒD0UUUUUUUUUUP`HpXr&-\Pq"Gј$cUBȒ[i[^$ZQ"-UUB)Dr&8D D@ТUUU1HkqIUULv1H,jsuUG04Z8S(Lp@0 A@pUUU1HkqIUULv1H,j='UUQ" jE1hD PUUUThy#5MƪUUUSp='U1ڛ$cPLjbB)	D(<0d<!0 Q$ǌq 2G"Ԕ,]pXr&)	D(`yB`AC"aMaȚ%T)j.dt((G@x-UTjlF(x)$MaȚPŖ5U1ڛT)J.,\"tOZICB)	WDy$RjcI."tOSv & FEnc H3E%ƩJ.,\"tOZIC@$E7a0
Qw$ML{I1BSv 	ML'ZPLj,]XE7a0
y՚q sVr0xHK<lF9J."tOB)	WD`ȁǞYPt]<^YZJ.ZI&";A(	HڲUNI,'[A"tO䉻-(tL9f:<	XUB(DjqN䉻-	H14{kH\RUTuyt
3w&R5<\S&y"nj:g&M sEY)<7qbZM-(G&ExUUR0IG5*
=i4)UUUUUUY)<7qbZM-(ƩUG5<\S&y"nj94%-UUK0'[@(IŠJ0DjqN䉻-@$br,jTq]5:g& Ra9r(G&ExUUR0IG5*
@="sNYJ0DjqN䉻-{D朳,UQ"tO	HڱG"b+<D.QbtMi`ȎkTr-v"I"J0DjqN䉻-r-v"I"X*F'Vkt$MAmX؊$XZD<Ūf$`#8EVx4$\)UUUUUUY)<7qb"b+<D.QeR!kx5f@LDՊa"HXZD<Ūf$`#0$UUUUUPa՚3w[V) QeR!kx5f@LDՊ&q(D֑( jY	:<A@<Ñ4)UUUUUUY)<7qbɜy"iE5J8Q՚3w[V([ҋ{kH\XUU,lDs]MŠJ0DjqN䉻-cAiE5J8Q՚3w[V(Â$q$J,Q"QpbUTuyt
8 ZtO	HڱF9#"QeR!kx5f@LDՊAh`14{kH\XUU,lDs]k"I
UUUUUUA'Vkt$MAmXk"I(ƩUG5<\S&y"nj Vk%-UUK0'[@)]ŠJ0DjqN䉻-Ybr,jTq]5:g& REfvXZD<Ūf$`# VkJ0DjqN䉻-YbhX)UB)	WD`΀B)	WD(	j]5:g& S&y"nX*E&] E<70 a&x&&jY	:<AN䉻bbn	5"iNX*،'$5A1R&]֒PZ<(QwrM1)VyML'݄+|0dk"
9&]b׀ƺ'VkX&Ncv΀䉻-N%-Ȫ	5"j[G`bL1UAR8#hy6 qJg& Ul PP(jB$[N$HYmUY)'h%3w[VQcUBѮ٤^I!a$#]bτky՚YXS&a4"8Ċ,j8Q4RNsh
,j"qqh])y\USȸP<7qe "8ƩUB; #ǒ$&r&"lDrMRM&-ɉđytUPpD*0/Ѯ'[@{=7,$UB)'h94IG5(URh0l&T,ǼRh0uyt
0 r˂J``y M5pDlDs]T,\&f9(pr3H[GUTq
)yUR0"8[GacTE8E(1vUas`Dc6#RcT.ML'$%J.\x=(&K[GPwI DuB)	WD``yE&$MAmX\*E&ÄÑ4ܘby$Rl8I9@Ag$8P=S&y"n
UQ"	H14{kH\RUS䉻@(G$
8znX*!rphlzh1h8TZ!`s֓AA,Q"QpKUULvg3ZQbHp=,ܱUB((IŠQj8SĚZQbtMi
Zc6#9IŠ(GܠMQ"N8qȜӖxTZ!`t0r'4QbtMi
Zc6#909gXr=7,jG846
9Y$pUB)"b+<D.QbtMi
Zc6#9ZEgHE,QA5JEܜ8EVx4$\*-UGs0;ZEgHE,Q"QpKUULvg3EVx4$\({YcT8P=S	@*-UGs0;	@%UTjlFs0;	@({YcT8P=P930M
UQ"L9J,Q"QpKUULvg38Dҋr@PAgR@'F8AA¢Tq3kcPtZQbtMi
Zc6#9[ҋr@PAgR@'F-
UQ"a8%(D֑( ;Sb38 rGD({YcT8P=REfA¢Tq3Vk%UTjlFs0:EfA,QA5JEܜ VkQj8SZ+5M s%UTjlFs0:EfvXr=7,jG846
t$MpULv`M({8I9Js0;&y"nYqcTc6#Y8ƩBSv`E7a0@(ML<{a!݄Ǵ݄Ձ(ȵUUT2MLr$	zǏh8(cTbB)	l0dDSvҋPw݄Ƕ2")	iE$(XPpn`85.Y4bڵML<{@Њn`85I4ZY<{A5PIUNI,'[A"jqI;AǴAmYEUPsVxŵq$!4"՜Z&Bi9"9fUPqv-4EjE-!4fx8UU$Vr.H0 3hzlH*9Ŵ
X&UG5ض`94ƪ.c6#Y<Ia&*8QbIH(;Sb0[H*X(UT,\ajEǵUP&MVH1B.$xŵqBiE9bUdN=km$G$yYpIUUC`%= 4Yv-(zlcҋUUB(z,@'`
,Q"QpKUUUR+Az,@'`
,jUTqXO1,Q"QpKIl=Qk	s]F9ER`ȎkpF<X*Xl/"đuUUEZplP x  Yg5ض`\"ҋUA8X\8Ūc6#PLj,]XE7a0@vAG$ҋv"N#rMPw݄Ǵ&=Z<(P xIjxYZJUkDU "8Uܘb=7Pq"GUQplAgU@ Ul PP(jB$[N$HYmU,xVkI=j,jX5452"$kYuQ<\jrƪ!hA Z<$AjE)s-NHjNI,Z<(U$<q<7qr2I8y*0rMĚ8Ȝ{`((h
AmDqTA. GXU$B\<'Hț4uyQ5UGIbMuyt
,UTx5UdN=05$`#raAgUG [G)L2,ܱ]IG5(	@<LUT,\&f9(pr3H[GUUR0"8[GacUTqh]q5UF9ל،'$5A1Pwb݄Ƕ2X-mDK[GPwI DuB)	l0dZ<@ .sUUUUUUUUUC"aMaȚ[G IkD4<0ZJMaȚv*F8*=֊	"lAgTs0:NsiEUH,NZ&I; "Ȝ{Mbof9 0USvkU&DY9cUUP$^M'`r[G Yp$c9 Q)ya#ˆEE˦;Sb0$\jT`s]ƪp0"qRLvaHƩJ.,\"<φSvy."<φSvy& FEnc HyD	R&$8!݄ā|c&=bB)	<`&$8-A (XPpnb@>2 qVkZ&$8Њnb@>2 qVk$852@<\pXr&xhPXPb&bA@(Pbb5BBUS&a4IG5Hƪ.j$bD&xy$ZvKDM669^,*HqVkI$8ՔXUNI,'[A"UB5ض,NiE9dLlscE@UT8<-YȻ"<`  ="LUUG5ضaAi<jqBa谱UTs]i&
I CJ,jb;Sb1đ<q	hbEY8hiv-(:8.c6#R yǞ p*ǢJ-a1UU-py$Zv qRMaȚhh5J"y941m\AEjEإU@Yx[I0Q uq\UUPX	E'	<X,L=61iERC`%5$8,Q"QpKUUUT<σaXOy5JEEZxh$"&QbtMi
XUUUDlJXOD.UUQ"y՚āxM|k	Z&E=5J.)cUUUULZ&$85	<%hhMrUUR0IG5Њy7[MrUUPq٤^E-"ꪪ(ء yǞ pAebIpJ,jUas`DU1ڛD䆨&5JPwb݄ā|0dk"
9&Z&$8Њnb@>25[GJy՚ yǞYZJUHÈ=m81"Agdr"iT<Hq-(bl/$0gk5D<jry՚UB);  yIԊ.R;Sb0[H*6Yy$QcT. Iy#]&y"njdq	rh*MaȚG{USMƩTHUTx55T$8ժ2

RG$I;@!I(,ǼQIv0GYpIUNd"\$8Ք<bK[G9fbrN"
9&I;@!IN"9Ef7,ǼTxFDlDs]L2,2b5.	*`"SܘdYdŢk5UTk:<5UA5UB( gl'%Fikh jYGRh#,j0rMk0ƪ=5TU1ڛD䆩A1Pwb݄ā|0dZ<EXPq"Gѡ݄ā|0dZ<B@<AmX\*IkD4<<UUUUUUUUUT<)6$iy]lIUUUUUUUUUP`HpXr&@kpXr& yǞn$5JDuHY8*$HNi'-$K[GU	<c)bg*ĚQcU@Yx7Cg3YQqpIUU9hR@>&bAōR$QI<G$
8 "$8ˋʪ(@k< $u y%hŖ5UUB(@.\jlF$RkXPN:&dN=jR، I&5J.,\"r5!݄ÖaQj."r5!݄ÖaPnbjdZB)	D",\QȜZA1Pwb݄Öa ݄ÖaQj."r5 "r5-A )BSvY0d@(ML9fhE7a0kD<jraY0-A%*i0$`#$QcUTqr55aM skDуtMi`ȎkTY14UUUUUTY5fr5vYcTEaY(M(CÑ4`ZD<Ūf$`#IJ0pjqG$n Er55	I$	Z&5\UB(pjqN[\kDуtMi`ȎkT3k*r558DLAmrUUUUUUAkVkDks]J5,US-NHjcT.ML9fZ<(Qj."r5Њna0׆vAG$҃aY0-A%Pt( 8Ӊ#!yG"&T.v"ML	!|&]T@(pjrƩT	rȎ1"PqLc3w[W-$K[GUkDU "8UܘbMpUzn5JDu`؂IƩTqj,d 
QIvCGQcU@YxEaH-Ȏ0A.0[VRh#,jw!.AmF$HLME:<(䚪E$ 1&:<ZAmFj'Rh0uyt
0 pɋD,$AmF[G(`draAgXUQcZ$`#XUTqKUUBiiG#4yQ5UU,kh#)y5UG
9&5pGQcUTcx`PN:&dN=j;Sb0[H(&5J.,\"r5%J-B-'=֍&x``ya .E&ÄÑ4ܘbIkD4YbIkD4ŢkQ"N0&9Zc6#k@(G$
8znX*EܜIEM"\M`pr5$nQaX*Eܜ8DL8EM"\M`pr5!31hR،AgT)BSvjښPnbM[SH,]E7a1&&$յ4MLAmXUUUPE7a1Ȑ$PQ5mM!G"pQj	ƩJ.,\"V҆HnbM[SH,]E7a1& ݄ĚE$)BSvjښP<\,]E7a1&SvjښP<\&Yjښ@՚$U:m&DlDs],jTq5f1݄pA9	9=aE`ȎkT8 J0(X*I5mM jqBb)	EcpA9	9=aE`ȎkTr+ӂAER!VVƈ-)iE=5J.,ZaN"9PRM[ RIjiVkIcDUUUUUPbM[SH\PVƁ+D@kYcTE$յ45:&-)iE=5J.,ZaN"9PS`J1&Y)0AmqMpJ-UUUUUU$յ45	Q0	Z&5\UB)&Y($y0%mqMpJ,Q"QpbUTuyt
MV
UUUUUUA5mM jqDI&Ɂ+kkZQj1&Y(L`J59%hX*،'$5J	R,]XE7a1&ȂIbB)	5mM 4"V҆vAG$҄5fIjiVkXDv@iđ<#MU85IjiVk5J@MÖh-mDqX*dF8l	Hڹh$B\<pXr&y*TŢk* qU${U #zN5J& U``CT8Q4RNsh
,j"qqh])y\UP86EIji-)y5UB; #ǒ$&r&"lDrMUQ"vCDlDs]-UU #bn5U@Yxyv:<ܘdYdŢk\UU #Ȕ020 pɋD,jh1-uyt
,jj8Rh%b44C#EZ<(䚪ay<U`((h1-aEUQ{qUA8X\8ŪMm"rCT(XPpnbM[SJ2X-mD,]prx`8#hЊnbM[SJ2X-mD& .HUUUUUUUUUT$M	5"h5UUUUUUUUUT$M	5"h,UUUUUUUUUUC"aMaȚMrUG846
XpUS3յ4pA,44(\ &=',jQ"NEcpAUU1ڛ)#0:M[SH=CB$\ &=',jQ"NjUU1ڛD	Z&A$fIji	5liELZ&cT!rphl Qj;Sb1ȁ+D( pČ5mM J&XdŢk5J@'DI&Ɂ+kc6#Mr=7HVV(ɋD,jSIƩA1R,]XE7a1Sva2lϚEs )7aΒ&"pnb,&QjtMA"US&a4E,jv1h:E6y9f&5J.,\"	@$E7a1(IL{I1BSva8`&"ei0"e5A1R&"p-H,]E7a1v1h:EMaȚ0j,\kYǤL&(N݄ԥUC$@UU$Na qPQ, S	9UC$@`ؑ&*Ȝ$X@r'5UQL"L 1&XUUPNM` <
,jr'ĉ0RNH\\Rd&&yӉ"0!Dؑ&5UUPma20jUԪ،&TR,]XE7a16Y,&Qj.89i<0dHhE7a1'@MÖh	]A!Lt	y5QtMD 1mr،SX5A1R&"pma2PwI Du&"pma2I&MG5PIUA!K05( 1eRc6#5('U	R,]XE7a1vGQj.89i<0dHa݄XN2I
ZMaE$E#E̎E)-&thA IԊ,28j8R)-&
\jlF qM  )i4j9ARNHĚQcUQL84 E4  ѱ qpIUUA )'h$pJ,j	DRc6#A (:8.MLE#],&Qj.8I9a݄XN25"eQ",kzlr@gaEc6#bI"AU@Zr+A	N{财@(UG5HQ䇭	=tZire"29A鰱U@Zq4A )tX 5J،Tp)iEōRcabv1JR&9q840d"ZIǴHZ&9q80nck'Ӊ"T"tOT WDUUUUUUUUUT"<P$8UUUUUUUUUP`n`
UUUUUUUUUT"V@PVUUUUUUUUUUA)	,\@Pr5UUUkzl(		5"lqUT	r]8IE@<R)vkh E\X$UUA!Iq$@A"P] "8ċUUB(
yM s [G:-H<Ū$(ZIǴHD(HqAmDq5UUGǴR)vkh E\XUUTs]]8IsHhGcUUTq(Iji
E4 -mD{"kk'Ӊ"i&)y$XUUB(
YS@A'R( j	
9q8  (
YGcTꪣEB@<R)vkh E\X$9BDHD(HqAmDq5JE@);  yIԊ.,Z$(ZIǴHD(<{E "8ċ8P$յ4" `@"	=tZExUUUTs]]8IsH	5mM!H-Ȏ1"ƪ!,\R)vkh E\XUUUG5HQȵؓiđ4@Pr5 "8ċ	UUB(
H9ȂOtQpb9BDHD(<{E "8ċUUTq(Iji
E4 -mD{"9BEĜ{N$9JGcUUUQ"kE4 -mD{"9BEĜ{N$9Ja)y$XUTUUNzN@PVhA Z<$AjE.	*9BDHD(Iji
AmDq5J!,\R)vkh E\XUUUUA!G"bN=D%A0<,jEA0hA Z<$AjE-UUUQt'D%A0<,j(XPpnck'Ӊ#C@$E7a1ȵؓiđ(MLr-v$q$a "ZIǴHZJ@MÖhZIǴHXƩJ.,\"ZIǴH&a4r-v$q$J-B-'=֍&9q80&a4r-v$q$J.Jk:<	G"YETjlF)M)BSv]8I2M(2$HZ0nck'Ӊ#	$M	5"h9ZJ	
Ys] ULvf7	R,]XE7a1ȵؓiđ#]($nck'Ӊ#aE$Tq='Cc$YQeMAChXH{jQtMAiEZBMaȚQcTMG5H=6
sE)i	5"iEcTX]R @Q4RNkN  $        u.  *...
         e  u.      ./usr/lpp/xlC/iclui/samples/lancelot/ldbqry.hpp          $          $          /*******************************************************************************
* FILE NAME: ldbqry.hpp                                                        *
*                                                                              *
* DESCRIPTION:                                                                 *
*                                                                              *
* Class                                                                        *
*   QueryEmpl                                                                  *
*                                                                              *
* COPYRIGHT:                                                                   *
*   Licensed Materials - Property of IBM                                       *
*   (C) Copyright IBM Corporation 1992, 1994                                   *
*   All Rights Reserved                                                        *
*   US Government Users Restricted Rights - Use, duplication, or disclosure    *
*   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
*                                                                              *
* CHANGE HISTORY:                                                              *
*******************************************************************************/
#ifndef _LDBQRY_
#define _LDBQRY_


#include <iostream.h>

#include <idate.hpp>
#include "litems.hpp"
#include "lacct.hpp"
#include "lskill.hpp"
#include "lbadge.hpp"
#include "lstatus.hpp"
#include "ldbase.hpp"
#include "ldbqry.hpp"
#include "lgenl.hpp"

#include <istring.hpp>

// forward reference
class GeneralPage;


class  ADate : public IDate
{
public:
    ADate(const IString theDate);
    ~ADate();

inline const IDate
  *date() {return pDate;};

ADate&
    setDate(const IString theDate);

private: // ---------------------- PRIVATE-------------------------------------

ADate&
    extractDate(const IString theDate);

IDate
  *pDate;

};


// ========================================================================================
// DB Query operations
// Obtains a list of unique ids in lempl.ini
// With an employee number an EmployeeData object can be created
// ========================================================================================

//----------------------------------------------------------------------------
// class QueryEmpl
//----------------------------------------------------------------------------
class QueryEmpl : public IBase
{
public: // ---------------------- PUBLIC -------------------------------------


//----------------------- Contructor/Destructor ------------------------------
// Class QueryEmpl :: QueryEmpl()
//----------------------------------------------------------------------------
  QueryEmpl();
  ~QueryEmpl();

inline Boolean
  getNextId(){ itemsCur.setToNext();
               return itemsCur.isValid();};

inline Boolean setFirstId(){ itemsCur.setToFirst();
                             return itemsCur.isValid();};
QueryEmpl&
  deleteCurrentId();

Boolean
  getId(  IString& i1);

Boolean
  putId(   const IString& i1);

Boolean
  emptyBagId();

private: //----------------------- PRIVATE ----------------------------------

  get();

Items
    items;

Items::Cursor
    itemsCur;

};



//----------------------------------------------------------------------------
// class QueryInfo
//----------------------------------------------------------------------------
class QueryInfo : public IBase
{
public: // ---------------------- PUBLIC -------------------------------------

friend class QueryGenl;
friend class QueryAcct;
friend class QuerySkill;
friend class QueryBadge;
friend class QueryStatus;
friend class QueryIntersection;

//----------------------- Contructor/Destructor ------------------------------
// Class QueryInfo :: QueryInfo()
//----------------------------------------------------------------------------
  QueryInfo(const char *);
  ~QueryInfo();

Boolean
  isDBempty();

Boolean
  getMatchId(IString& field);

inline Boolean
  getNextMatchId(){ matchCur.setToNext();
                    return matchCur.isValid();}

inline Boolean
  setFirstMatchId(){ matchCur.setToFirst();
                     return matchCur.isValid();}

inline INumber
  numberOfMatches(){ return matchIds.numberOfElements();};

inline Boolean
  isValid(){ return matchCur.isValid();}

QueryInfo&
  emptyBagMatchIds();

QueryInfo&
  addMatchId(const IString& anId);

Boolean
  getSearchItem( IString& field,
                 IString& data);

Boolean
  getSearchItem( IString& field,
                 IString& data,
                 IString& range);

QueryInfo&
  addSearchItem(const IString& field,
                const IString& data,
                const IString& range="");


inline
  Boolean getNextSearchItem(){ searchCur.setToNext();
                               return searchCur.isValid();
                              };

inline
  Boolean setFirstSearchItem(){ searchCur.setToFirst();
                                return searchCur.isValid();
                              };
QueryInfo&
  emptyBagSearchItems();

Boolean
  inRange(const IString &d1,
          const IString &d2,
          const IString &range);

QueryInfo&
  saveToQueryData(QueryData *queryData,const IString& pageName);

inline
  unsigned numberOfMatchElements(){return searchItems.numberOfElements();};

IString
  chopOff( const IString& c2);

private: //----------------------- PRIVATE ----------------------------------

Boolean
  compareIt( const ADate* d1,
             const ADate* d2,
             const IString& range) ;

Boolean
  compareIt( const long   d1,
             const long   d2,
             const IString& range) ;

QueryEmpl
  idList;

ItemsBag
  matchIds;

ItemsBag::Cursor
  matchCur;

Items
  searchItems; // items to match up (the Queries)

Items::Cursor
  searchCur;

IString
  theDB;

} ;


//----------------------------------------------------------------------------
// class QueryGenl
//----------------------------------------------------------------------------
class QueryGenl : public QueryInfo
{
public: // ---------------------- PUBLIC -------------------------------------

enum EmplType {
                Regular,
                Manager,
                Supplemental,
                Unemployed};


//----------------------- Contructor/Destructor ------------------------------
// Class QueryGenl :: QueryGenl()
//----------------------------------------------------------------------------
    QueryGenl(QueryData& qd );
    ~QueryGenl();

QueryGenl&
    fillPage(GeneralPage & gp);

QueryGenl&
    getMatchList(GeneralPage &genlPage);

Boolean
    aMatch(const EmployeeData* ed,
           const IString& key,
           const IString& value) ;


};


//----------------------------------------------------------------------------
// class AcctPage
//----------------------------------------------------------------------------
class QueryAcct : public QueryInfo
{
public: // ---------------------- PUBLIC -------------------------------------

//----------------------- Contructor/Destructor ------------------------------
// Class QueryAcct :: QueryAcct()
//----------------------------------------------------------------------------
  QueryAcct(QueryData& qd );
  ~QueryAcct();

QueryAcct&
  fillPage(AccountPage & ac);

QueryAcct&
  getMatchList(AccountPage &acctPage);

Boolean
  aMatch( AcctData* ac,
          const IString& key,
          const IString& value) ;


};


//----------------------------------------------------------------------------
// class QuerySkill
//----------------------------------------------------------------------------
class QuerySkill: public QueryInfo
{
public: // ---------------------- PUBLIC -------------------------------------

//----------------------------------------------------------------------------
// class QuerySkill
//----------------------------------------------------------------------------
  QuerySkill(QueryData& qd );
  ~QuerySkill();

QuerySkill&
  fillPage(SkillPage & sk);

QuerySkill&
  getMatchList(SkillPage &skillPage);

Boolean
  aMatch( SkillData* ac
         ,const IString& key
         ,const IString& value
         ,const IString& range="") ;

};


//----------------------------------------------------------------------------
// class QueryBadge
//----------------------------------------------------------------------------
class QueryBadge: public QueryInfo
{
public: // ---------------------- PUBLIC -------------------------------------

//----------------------------------------------------------------------------
// class QueryBadge
//----------------------------------------------------------------------------
  QueryBadge(QueryData& qd );
  ~QueryBadge();

QueryBadge&
  fillPage(BadgePage & bd);

QueryBadge&
  getMatchList(BadgePage &badgePage);

Boolean
  aMatch( BadgeData* ac
         ,const IString& key
         ,const IString& value
         ,const IString& range="") ;


};


//----------------------------------------------------------------------------
// class QueryStatus
//----------------------------------------------------------------------------
 class QueryStatus : public QueryInfo
 {
//----------------------------------------------------------------------------
// class QueryStatus
//----------------------------------------------------------------------------

public: // ---------------------- PUBLIC -------------------------------------

  QueryStatus(QueryData& qd );
  ~QueryStatus();

QueryStatus&
  fillPage(StatusPage & bd);

QueryStatus&
  getMatchList(StatusPage &statusPage);

Boolean
  aMatch( StatusData* ac
         ,const IString& key
         ,const IString& value
         ,const IString& range="") ;



};


//----------------------------------------------------------------------------
// class QueryQry
//----------------------------------------------------------------------------
class QueryQry :public IBase
{
public: // ---------------------- PUBLIC -------------------------------------


//----------------------------------------------------------------------------
// class QueryQry
//----------------------------------------------------------------------------
    QueryQry();
    ~QueryQry();

inline Boolean
    setNextId(){ itemsCur.setToNext();
                 return itemsCur.isValid();};

inline Boolean
    setFirstId(){ itemsCur.setToFirst();
                   return itemsCur.isValid();};

inline Boolean
    isValid(){ return itemsCur.isValid();};

Boolean
    setLastId();
IString
    getQry() ;

Boolean
    putQry(  const IString& i1) ;

Boolean
    emptyBagQry();

private:

    getQryNames();

Items
    items;

Items::Cursor
    itemsCur;

};

//----------------------------------------------------------------------------
// class QueryIntersection
//----------------------------------------------------------------------------
class QueryIntersection : public Items,
                          public IBase
{
public: // ---------------------- PUBLIC -------------------------------------

    QueryIntersection( QueryGenl&   qg
                      ,QuerySkill&  qs
                      ,QueryAcct&   qa
                      ,QueryStatus& qst
                      ,QueryBadge&  qb);

    ~QueryIntersection();

inline Boolean
    setNextId(){ itemsCur.setToNext();
                 return itemsCur.isValid();};

inline Boolean
    setFirstId(){ itemsCur.setToFirst();
                  return itemsCur.isValid();};

inline Boolean
    isValid(){ return itemsCur.isValid();};

inline Boolean
    isIntersectionEmpty() { return !items.numberOfElements();};

IString
    getId() ;

Boolean
    putId(  const IString& i1) ;

Boolean
    emptyBagIntersection();

private:

      getQryIds();

ItemsBag
    items;

ItemsBag::Cursor
    itemsCur;

};


#endif
---l  $        N  +...
           +      ./usr/lpp/xlC/iclui/samples/lancelot/lgenl.cpp           $          $           

  *e
alt(),:EIT_dimnoprsy-./;DGNPScghux1ACFLMORbf&Bv|024UXYkw{}#369=>Hq"58VW~<jzQ!mmmmmmmmmm\% g$Xc]q@z(;+K/=u !ehy)uaHu)B2R*>b1ĳ!_3]P8Bav_[ 7 a'jYJ$5pTp%e6Z*HZ`KRnF E7]5#(_ٖʄc)HBp֋/#R$!xB']p8i
@!Y]mmmmmmmmmmN ,F *3-A@$`(Np %H=M K"D 
	& %EsL X
'8@$` BmmmmmmmmmP (l,JqBEb.*mmmmmmmmmk=8l,JK@Y5۰=5]fB,.U`qEMwׄl8bȶĘ =`S-<qIy̭vZ&y)WYq	QD0q]&FĚWYؓw]FJ@bCAMFMFw{Qe+ĐDxQxQ]zVQ$81$<,$h$k0	e+-IO75755G]iFJ$81$<,$h$k0%b<J2V?1! f&F&YW]Td@bCAMFMFwFJ$81$<,$h$k0#%cZoj4oj5kM@R2V?hHpbH"xYIѼIaRL*1! f&F&YI2zzć$'ĚĚf*ۙA?$4<(0<?ĚĚ1zġ%k@a*L80{MHENw.Y^kڈ?Ć9 r8,	MFMFwbP5ze&	q=H{B$"'Z,ÈEv5Qg@bCOJHp8Yoj4oj4k@6Ha֋-0L42CR!8-ext^B+aUNEG@bCOZE p	75755$bBK0ET&q`!)p]h:/!0Mu$R&&F&Fd^(If=hJ8C$=!nWE"G]i$4"8	75755$bBK0ET&q`!)p]h:/!0hHiH$h$hl%	,][	R`hd"B-p[@!u88W`]qE $4@ 8jG&F&Fd^(If=hJ8C$=!nWE"Ӗ"91!HaH$h$hl%	,][	R`hd"B-p[@!u88W`]jiE$4@P `	MFMFwbP5ze&	q=H{B$"'Z,ÈEv5ʬAvQmQwdXA?@bCOXԏ<$$h$hl%	,][	R`hd"B-p[@!u88W`]g$4Hp8Y&F&Fd^(If=hJ8C$=!nWE"NGE4^;AB/qJ2̭Qd6Z\$d)@^e&2eE4<qI"	0pkd9uÎRBc$<WRA@˿z.qJHLbĚ8^ %EنU.ʬ(a˕XQSw4K-5&8s+jcc9Ԙ&ӿjbY
Lt=X=vU|T]m@৩B]ndc$%ʬ(;B9F8~"a0[[R';%8{+f=X=w~11yfs&
JaR1]f=pVmmmmmmmmm\(V@6V_%8!uB1]e%(Ummmmmmmmm{NqZY|(k`{ٕ7 c)0C=qfV̭wR	)E1!<4)!OH`MF57%$]]FJ@bCAMFMFwDsՔd@bCAMFMFwQe+@bCAMFMFwiG=YFJ@bCAMFMFwG]iFJ$81$<,$h$k0k(Xć$'ĚĚfeuFJ$81$<,$h$k0rQ-IO75755#%cZoj4oj5k5HX1! f&F&Y$8XZoj4oj5kRL%c1! f&F&YV s('Ć9#ǅg<'xQxQ]bP5ET&q`!)p@!u88W`]{Qg$A?IѼIѮd^(If@a*L80{MHENwext^B+aj#hHi	@4)=#MFMFw$bBK0[	R`hd"B-p[ ֋+]wiPYHyhHi@`@r&&F&F1zġ%k֋-0L42CR!8-BEqxqZ#ɮZxCP`<$$h$hF/X$wze&	q=H{B$"']h:/!0k?Ć9#R&&F&F1zġ%k֋-0L42CR!8-BEqxq]u-<rAiĚĚ@6HaZ,3#yHD[WE"(Qb_Ć9 HPH$h$hF/X$wze&	q=H{B$"']h:/!0rG=Y$4<z)ĚĚ@6HaZ,3#yHD[WE"M@R(Ć9! *9IѼIѮd^(If@a*L80{MHENwext^B+aU.-%ĚkRL'Ć9 =$$xIIѼIѮd^(If@a*L80{MHENwext^B+aI29ϖĆ9 =#|$h$hF/X$wze&	q=H{B$"']h:/!0I&a(EQu8FYYJ5,Kd(lwB,"CRx䆞8pn8	

59xr끇=䤄*,IyH=䤂d9uÎRBc$*./5*ۙlRYlsՒ0eŒc9ߊ11ĜYoR`R-; K-PQ$aߵ1A~(V<INY7ju]ߦLA|^Y
MF߀zk/[޷*ۙE'(%F2X̢%9ja$b$0[X̢%9ja$bIV s(ĉNZI(fs&
JJA%#hnBmmmmmmmmmP (l,Jsژ,c
mmmmmmmmmᲴy)xZY|1X,w]FJKSdK4<(0<'H-DsՔdD1FJĿ4E!gR&w2G=YFJKSdK!<rA(E!gR&wꨚpVQ+!<rAhzCILZ#ɮ%b%2V%D5!IȤ<=$O0[Mu+-LQ/!<rGH<=$O0[euFJKSdK jCOh``ZH"`~dD1FJĿ4<z)"xt$(XAԆ9 HPđ<
Dn5HXjbCRx  "x=VU+-LQ/4HBD)I2zz(XHiczH"`;U.	jbG @xP8P8h9Ȗ!J* @xP8P8hez%R @xP8P8hQ4(,T|1
QU"X
 S@-ߨG]i)ETX

yk"Z(@ZA@O0[eu)ETX

yqE )ETX

yrG=Y)ETX

yjiE)ETX

y$갂bZ( @xP8P8h$"Z(4f%[&B*mmmmmmmmmk
=8=䤳(Ummmmmmmmm{Nq{If8wEv SN
,HTWd0R	)Fp
mmmmmmmmmma@ceieSv"a311ĜꔄTFa=8Pmmmmmmmmmm+K/G{NqS,PĜoY<ɯWY;B+WM"ep5߽4\"a]FJ7sp7ޚh0`U.	nقޚh0`=zn wM4W@DG=Y p` nwM4W@@zVQp
91M&,-Ds՟7 )n-馊UDӄzn `n91M&,	Ae"7spc߽4\"a
-ZQ7s| wM4W@BDy5֟p`710n`;+L X"Jy5֔d(ocp`n馊Mu 7~Ep2%co wM4W@C+0n-馊d7 1 91M&,QH&Ŀ
o!0n`;+L X!9b(X90n-߽4\"a	g cp` n馊M@R2V?cp`n馊M@R(@7pc߽4\"a][b7 cp`;+L X!RL*9spln馊T'	 07߽4\"a
dXe+7 107+L X!RLz قޚh0`JA%#h7pn-FVIзs
mmmmmmmmmBr1y);MF1S*mmmmmmmmmk=eieSv11yf8sV s(&%2V%*ۙLndqEC0[9Ȗ(XʬAvF>/VK0nQ9Ȗ(X*ۙHzVK0nUDӄQ+V s#UDӄQ,E<H(XʬAvF>/іV|]i,nMuKSdKV s#V|]i,TKSdKV s#eu,8ME	jbndc!j,H刎z%2V%]ħ,=+D(ҋ%2V%]Ħ)F]b0[H,X̌|^qǪm2Ub21xU.-%f9ENYۙdH=(lǉ9eBJ,i/ÞDw][bD01E-3/Ƚ=V s#p[y)dÝneؑ-L$B2Ys20[ڜb21y(ehV s(ĉja$b@-3/s$갂bZ%b\ndc*gGT:Y,RLz%2V%ʬAvF>/y)dsՒ0[ģ+v$h[*mmmmmmmmmk
=8,:ɐx*K3T/{Sz*mmmmmmmmmk;%ceieSv
Tld<%*,HĜ*,HāIEwWY*,K9g1s**YP=7zWe#)P?,VDV%e`F\neJĳV%eن;FVITK-.벫;@NG=Y	XIf Ff`F\I"ThzT"Y2[G*ۙA11,n5.Ĝz-+a$aeutf^'ndc @ @ @ @ @ @ @ @ @!d
$e%(V9oQT9gI8R'<ngX˿
 @ @ @ @ @ @ @ @ @NG=Y	XI`	w]İR%Ĝz`~^X e% Kba+28cU.X)lnwģ+qdp9[mmmmmmmmmmpX@P9ZY|1=V s#f#jcSzW|_{
mmmmmmmmmᲴy)xZY|1=V s#c;=V s#q[byU"-V s#jbzAvGT:Y.Ub2bc%bYw*ۙKSVK=z&2V%`]ĵ1	Q9zVDJĳUb21x!j&%z&%XaʬAvF>/,&^MuLdK0nV s#jbyX+>ɮX&&2V%`]ĵ1]uKW]Q1,X̌|^%$MEj,HLdK0nV s#jb2X{1VVdLdK0nV s#jb1@R(jiE+0[*ۙE$J"	#LwmFYۙ$RdnKV s(ĉQLIecV lN2U.gL`ԻP?.Ub2lH Q	#LwmFYۙbnKV lN2U.+JAv3ndc-LOU.-%ʬAؓndc-LB޳K#*,&OU+0[U.ZgG=Y/$"c%bYsf%[&B*mmmmmmmmmk
=8,FEuUz޲p\(Ummmmmmmmm 	{Sv	]xK=8- U&x*V"gh9"DYS<+DIU&ef(PَEuUz&{S1 H!G;BxvT$φ9@IЀ11yfw1(Œ`PىFVȮY=W#-5)Ù
sȽ$	E 
ǲeA`UQu\ҋw  ɮq9 ɮĚf-\--.Q2eHi
Hx83f%[%$[~*{@j"OfbQ|1(U'v\Ԧs
mmmmmmmmmBr<X̢U.-85JPmmmmmmmmmm=V s(][bK@Y5۰=wBbOh$xX,DzCCC C vZ&{2MwbP59yHD[c"~BAaz&!X89vS\%dwdhHi<j@MQxQw-<rAcCRoĚĚk(hHi Hj4oj4c~̒+"$xԑ<
DnRLjbdHi'H-ߴQ-LQ,!<rD "xSdK jCOc I,y"xژ `c*J|T]b!1zqe@_ߊfIV s:q':r򐋿fI	ja$bY[mmmmmmmmmm
A5][bsX̢YXj,#pVmmmmmmmmm\zAvQm; sb2lIf8BmmmmmmmmmP (l,Jq%$&1QbMc
mmmmmmmmm/]p38{I	TXXZY|RBc$f8wJ2r=䤄*,In  cp`l  $        )M  +...
         r  (      ./usr/lpp/xlC/iclui/samples/lancelot/linfonb.cpp  G              $          $           	
  -*e
aort()dgilnsu,.;=IPSbcfhmpqy"/:ABCDLMNTkw|EOQR_vxz{}#&+FGUW!'>HKY0129<Vj4~	b!b `$S(&\\ab!B\.0Ԙ<ze"&Oq@ H$xĂ蓔ԓ>\S4vǆ;is.EǆaqvE  b @ -$J(z&T\~ɖ߁JK2܉7%
NR/=R"MET&TU*=ȓ|3$BedR5&Qǆaqq.?+X
dTI7*\X
dTM
.4>pEGTpɤ*.D¥ˀeM%OQyWKTp,\*
>]$A`*)ISHLQ.\!`*)ISI4Q.\!`*)ISIB4>pLS$0rQLJ8BE
"¥˄,E2i*|	HÌ*\BTS&iʃ
.DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD.0$ph_$>MGRok\~cf_$<Q˱	S(hQ,Ǣ{tfgq+FIh_$3qZ)H˱қZ)H(.L̇1,]&_ԥV\g9cZ$։ 80t{EgxHNc2\Sbm|kD0spДHwEA|.ĽiKp
ˌ/dڪo $QP^.bDB^$ɧPrdzAIʢ	N\Ĉ1	IN!YqE$1	7yTT)˘!#2iT+.3ZcPwEAzb1	x&/E@B9ŘV\d	4²!{_,²!dɼ
ˌ19
ˌE$0s×0cBM0s×0ieCrmmmmmmmmmՊ^?*IؙKbgަQVt$։mmmmmmmmm+xkKbgv&zRࠢLޠ*gXL[mmmmmmmmmV++:m|kDeX|5?Uvmmmmmmmmm	_KLS@x_$0%5/Mz-Lx_$0L&&]J{XIW_
pլ&-mmmmmmmmmǧ˷&:I#:gyYkZ'UeMW:S~QQl*^Q򳽄1I?j{MW:S~QQlmmmmmmmmm+xߦ&Ljo7yTTԗ0/&kZ&檙yW ;\$DQɫyAjMMh1JZ'pǇ pPHPX`(4H_I0\Nvpլ&-mmmmmmmmm?+bΛ_$?Uvmmmmmmmmm	_<(BMДH؄PӅBS1"Bsأ1	7a2mU7b02
p&MBsأ1	7$ВBFbF^SACNBH1	b $A4RH؄PӅPM '8j<=<uǪ!#	#/z)_T '8jmmmmmmmmmՊYYOf]N>Oݚm|kD&~W(gQR*]g.%MI$ۼs7ID#?UEeQx̟DAI˱	S{w]E4K*[Qln~&O&iyrFrlH1
Y,mDA3Uvmmmmmmmmm	_Uɉ4rGbiWb1DA$t%9s $adSDNLUMQl4݄ɵTAHȦeKD&5aI!#D"M7$ВBFE4K*X 4A4RH"&&Ib0)YRQɧg_=UBBF(6DnT $adSDNְD=2kZ'5*Mw],|kZ'"v!*e5ŘZ OfaYqDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD<ze"&O

ǦQ-|kDǁh{E#.Jo_ǁh{E#hr,<A&mMGȽȦaYqkZ&n<8<D@@`8˱қN]!8kUrMiI_,²!{+.2"ӜZbn/0sLUM*+.2ǳ9L=	 $QP^aYq=Ũ&Ibn/0s{*+.2ǳ9
ˌ2FV\d9aŘV\d,7aYq=/aYq"hcrfaIcrf"=U0s×.ɦ僖mmmmmmmmmW"9V&zHX?\2v&OUvmmmmmmmmm	_ZX<3җbg `\ QS8jbmmmmmmmmmڱ\yYkZ'*0ȨI⫶mmmmmmmmmJR^gZ$։(]1,IxocjfZ$։a12BTkL$%
8jttTӆa1mmmmmmmmmmX==>]6MD;Λ_$=$W/VrjқMgU"6w$IISVrjқMgUvmmmmmmmmm	_6I5`CSyʢpIay4x_$05Tϓԗ0&"6M_ȢWm|kDU=M;<8<D@@`8A,DZMMh1 ؤw 󳆭a1mmmmmmmmmmXy\Vt$։⫶mmmmmmmmmJa燱Gbn.bD.$覂-2b5kAI	j؄PӅa2mU7b5kAI&b02
pĘzANpկx{y!&	D.$覂-2h!9VyQ=U1	]I{M8ZeǪ!9VmmmmmmmmmW{2BtTy~kZ'3TE47D:2U+9v!*ltU,ǢM$gt6Og&)MMh W+.t'Nd*"gMMh]Jۼ)YRڈgXwc6I5y6'sK˒3bDIU2ȦeKj"⫶mmmmmmmmmJzLIE<NДH"&)˘!#"%,Elvpdڪo $bdI&MBFE4K*X 4BH1	 i&b0)YRQɧg_	DQl4A4RHMʖ"6M;8jQzb1DA$uǪ!#"%,ElvpլDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD.0$ph_$>ʏr.""""""""""""""""""""""""""""""""""""" %a(I5xPV  x4EMhi,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD.0$ph_$<(+ˑ(d?qK(gbg09{2w,&W.'q+$((1JX=2kZ&"P!*""eDXZs_cZ5>qܬ_/r)$ȽȦ&5ȽȦv<,t&ǢJo4ኩ.ʍU=NcpEE4ȉACC@@`PpX^pլ&-mmmmmmmmm\C;?Q؄⫶mmmmmmmmmJ)D%9s $`.\C!iE7$ȽȦjosRV\dE;9bfYD˱қ;8j(
PܓjosRuFiQF!8a$ȽȦ	QF!!cأQ'5e5JNL061	"PZg`.M0/r)/$Zԅai_9%E4QrtN 1B7$Z԰`>ZTQNF0/r)-<BTQHcAAD(4TI_>qF$_=򒓢S7 zAH\B<rnI{My&/0ȋNvr!*($1̲c7vpQh&楀#ҢBp0I{MkBC

&ǱGʢO8j/i1%$jPM $`.\C!iE7$ȽȦjosRV\dE;9bfYD˱қ;8j(
PܓjosRuFiQF!8a$ȽȦ	QF!!cأQ'5e5JNL(=U1	"PZg`.M0/r)/$Zԅai_9%E4QrtN 1B7$Z԰`>ZTQNF0/r)-<BTQHcAAD(4TI_>qF$_=ktW'^jXLDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB"GFIm,Yi;=)ɴf& MegMMh"""""""""""""""""""""""""""""""""""""V<1HPPcZ<<ze"&O

ɴf&y֖,7܂7,kR'^bJH\AribLvrmmmmmmmmmWSyYR]t(	9%^⫶mmmmmmmmmJxp(0
 Pp9ky<{HyǈJ1	h3,*gXL[mmmmmmmmmV+)$'ENKy{R]SyY317nM9tfgWmmmmmmmmmmL
ˌ2CP82KyN9	QF!!eBMIɕj$(cA*Cr"@Pp`( @H_	QF!!V\dy6xƃʂ-UjxǈJ1	h0(((8jDnLQ'8	QF!!39a1mmmmmmmmmmXcfrXM33WkA$F^\SV+5S(cjx)Mɵ$=)KyYL\YE∦{E1Btđ?Wmmmmmmmmmm,]&cپKcn5L@S=@1bȦ=2L ,xpˍ8Zy @^ @ 9 Pxxp=5@1b)/U$ Mr5=JJ,&-mmmmmmmmm
ˌ+9{	1I5ܰ\
܋ȳUvmmmmmmmmm	_!8B
ˌ8pÇ8pÇ8pÇ_e4!/cɕEG.bD5ke4&bR9A<YPӎ
ˌ2CG1ʏ<ӆ(U4² L%y258² L%2xL8j_!8Xhh

ˌ8pÇ8pÇ8pÇ8p²!dɼb<PTy&MBN)aYqd15K1ʆv_V\d,7R^" Ǔ*<NTR
ˌ&KeGkq9aYqd1	x Ǔ*<NzֿBp$8pÇ8pÇ:8pÇ+.2БKeCQaI!'ZDieCz15K1ʆv_V\d1#G1ʏ<ӆ(U4²!=	A&TyyV\d1#1y24z@@8pÇ8pÇ8pÇ8pÇ+.2DMA&T=jh!'ZDieHCT)pLi`eHCG1ʏ<ӆ(U4²$DI!KeGkq9eHC1y24zDĀ8!YqpÇ8pÇ8pÇ8pÇ9V\dTA&T=jcPS4²$^Ǫ,J\( Ǔ+*qeHUAK\eGiV*SaYq/cPb<Qv_V\dTFAcɕy_=k	mmmmmmmmmjp&_rM=9a2v! MIc**]mmmmmmmmmW!Yq\z-O$ ;+.2=7˔oEV\d	_,²$DI%+.2L0꨿YeCzv5a1mmmmmmmmmmX<,q2*i."XpK;2r(gSyV?&SSi?XpJ_;^\SNRLbe=654%-"mmmmmmmmm)BL@PyEA\z-LX̚vr/rgR2 S/ӑL<F7hrNˍ8^I=Lbo+:H4OS+.^\t)/U$ Mr5&-mmmmmmmmm[cɕ5T]mmmmmmmmmW@1h H(80"qkxƃ&U<BTQHcAAHQ,ǢǓjyV/idjcW6)8P`$$ `0RmmmmmmmmmWPOyYR]kig0*mmmmmmmmmllPL
R\n<8DD@x-hPQ\E3(iEAk\HcjaADs7pTeFr'1M8bk""D 0
@`H	kJfPL
R\0E$8g/^SC0ȋN;b`RᏐc8jeDXZp;_mmmmmmmmmՊB)%؄"Vs
ˌUmmmmmmmmm`%aYq&SHaDRHPH+.2iQh!Yq=c/@ `HX~pկ+.2LE$1	5ɵTAIW&M`.DV\d9a1eCC@Ppկ+.2БI"BM$ВBN0cBF(\4s@c
ˌ1aYq"h!&&IbpeHC`.DV\d9a1eC"Z²$^Ǫ!&=U1	8j²$^Ǫ&chaYq=Dpk6j0;Ίh+.2ǰau^=4M+.2"Ӝ5kJfSvrjnV\d²",-9V!*($1̲*g_QhDS

&)ӆ**5WI92iXy7"$	 `0p( $" u P+.2"Ӏ@-%E4ez-Ly65xkOv+#W=I1z		Eʯ/Uz ""kNv  $        f
  +...
         w  f
      ./usr/lpp/xlC/iclui/samples/lancelot/linfonb.hpp  G              $          $          /*******************************************************************************
* FILE NAME: linfonb.hpp                                                       *
*                                                                              *
* DESCRIPTION:                                                                 *
*                                                                              *
* Class                                                                        *
*   LInfoNotebook                                                              *
*                                                                              *
* COPYRIGHT:                                                                   *
*   Licensed Materials - Property of IBM                                       *
*   (C) Copyright IBM Corporation 1992, 1994                                   *
*   All Rights Reserved                                                        *
*   US Government Users Restricted Rights - Use, duplication, or disclosure    *
*   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
*                                                                              *
*******************************************************************************/
#ifndef _LINFONB_
  #define _LINFONB_

#include <iwindow.hpp>
#include <inotebk.hpp>
#include <icmdhdr.hpp>
#include <ihelp.hpp>
#include <ihelphdr.hpp>

#include "lpagectl.hpp"
#include "lacct.hpp"
#include "lbadge.hpp"
#include "lskill.hpp"
#include "lgenl.hpp"
#include "lstatus.hpp"
#include "ldbqry.hpp"

class LMainCnr;

class LInfoNotebook : public INotebook, protected ICommandHandler
{
    public:
        LInfoNotebook( IWindow* parent,
                       IWindow* owner,
                       EmployeeData& employee,
                       Boolean isQuery = true );
        LInfoNotebook( IWindow* parent,
                       IWindow* owner,
                       LMainCnr* cnr = NULL,
                       const IString queryName = "" );
        ~LInfoNotebook();

    Boolean
      verifyPages( IString queryName );

    protected:

    Boolean
      command( ICommandEvent& event );

    private:
      QueryData
        queryData;
      GeneralPage
        generalPage;
      AccountPage
        accountPage;
      BadgePage
        badgePage;
      SkillPage
        skillPage;
      StatusPage
        statusPage;
      QueryGenl
        queryGenl;
      QueryAcct
        queryAcct;
      QuerySkill
        querySkill;
      QueryBadge
        queryBadge;
      QueryStatus
        queryStatus;
      LMainCnr
       *pCnr;

};

#endif
fgk  $        X*  +...
           X*      ./usr/lpp/xlC/iclui/samples/lancelot/linfowin.cpp G              $          $          /*******************************************************************************
* FILE NAME: linfowin.cpp                                                      *
*                                                                              *
* DESCRIPTION:                                                                 *
*                                                                              *
* Class                                                                        *
*   LInfoWindow                                                                *
*                                                                              *
* COPYRIGHT:                                                                   *
*   Licensed Materials - Property of IBM                                       *
*   (C) Copyright IBM Corporation 1992, 1994                                   *
*   All Rights Reserved                                                        *
*   US Government Users Restricted Rights - Use, duplication, or disclosure    *
*   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
*                                                                              *
* CHANGE HISTORY:                                                              *
*******************************************************************************/

#include <ireslib.hpp>
#include <irect.hpp>
#include <imsgbox.hpp>
#include <istring.hpp>
#include <isysmenu.hpp>
#include "linfowin.hpp"
#include "lancelot.h"

/****************************************************************************
* CLASS LInfoWindow - Constructor                                           *
*   Frame window that holds a notebook for personnel information            *
*   given an employee                                                       *
****************************************************************************/
LInfoWindow :: LInfoWindow( unsigned long windowId,
                            IWindow* parent, IWindow* owner,
                            IPoint bottomLeft,
                            LCnrObject* object,
                            EmployeeData& employee,
                            Boolean isQuery )
   : IFrameWindow( windowId, parent, owner ) // Create yourself as frame window
     , title( this )                        // Create frame title
     , notebook( this, this, employee, isQuery ) // Create notebook
     , help( ID_HELP_TABLE3, this )         // Create help
     , pObject( object )                    // Store the object for this window
     , isAQuery( isQuery )
{
/*---------------------------------------------------------------------------
| If this window was launched from a cnr object,                            |
| - set as open                                                             |
| - increment usage count                                                   |
---------------------------------------------------------------------------*/
    if ( pObject )
    {
        pObject->setOpen();
        pObject->incrementUsage();
    }

/*---------------------------------------------------------------------------
| Attempt to load the help file                                             |
---------------------------------------------------------------------------*/
    try
    {
        help.addLibraries( "lanchelp.hlp" );
        help.setTitle( STR_HELP_TITLE );
    }
    catch( ... )
    {
    }

/*---------------------------------------------------------------------------
| Handle command events for this frame window                               |
---------------------------------------------------------------------------*/
   ICommandHandler::handleEventsFor( this );

/*---------------------------------------------------------------------------
| Determine the title for this frame window                                 |
---------------------------------------------------------------------------*/
   if ( isQuery )
       title.setText( STR_QUERY_INFO_WINDOW );
   else if ( employee.employeeNumber() == "" )
       title.setText( STR_NEW_INFO_WINDOW );
   else
       title.setText( employee.lastName()  +
                    ", " + employee.firstName() );

/*---------------------------------------------------------------------------
| Set the frame's icon                                                      |
| Set the frame's client to be the notebook                                 |
---------------------------------------------------------------------------*/
   setIcon( ID_ICON_PERSON );
   setClient( &notebook );

/*---------------------------------------------------------------------------
| Resize the window based on the minimum size of the notebook               |
---------------------------------------------------------------------------*/
#ifndef IC_MOTIF
   moveSizeToClient( IRectangle( bottomLeft,
                     notebook.minimumSize() ) );
#else
   moveSizeTo( IRectangle( bottomLeft,
               notebook.minimumSize() ) );
#endif

/*---------------------------------------------------------------------------
| Set the focus to the frame                                                |
| Show the frame                                                            |
---------------------------------------------------------------------------*/
   setFocus().show();

}

/****************************************************************************
* CLASS LInfoWindow - Constructor                                           *
*   Frame window that holds a notebook for personnel information            *
*   given a query                                                           *
****************************************************************************/
LInfoWindow :: LInfoWindow( unsigned long windowId,
                            IWindow* parent, IWindow* owner,
                            IPoint bottomLeft,
                            LMainCnr* cnr,
                            LCnrObject* object,
                            IString queryName )
   : IFrameWindow( windowId, parent, owner ) // Create yourself as frame window
     , title( this )                        // Create frame title
     , notebook( this, this, cnr, queryName ) // Create notebook
     , help( ID_HELP_TABLE3, this )         // Create help
     , pObject( object )                    // Store the object for this window
     , isAQuery( true )
{
/*---------------------------------------------------------------------------
| If this window was launched from a valid cnr object,                      |
| - set as open                                                             |
| - increment usage count                                                   |
---------------------------------------------------------------------------*/
    if ( pObject )
    {
        pObject->setOpen();
        pObject->incrementUsage();
    }

/*---------------------------------------------------------------------------
| Attempt to load the help file                                             |
---------------------------------------------------------------------------*/
    try
    {
        help.addLibraries( "lanchelp.hlp" );
        help.setTitle( STR_HELP_TITLE );
    }
    catch( ... )
    {
    }

/*---------------------------------------------------------------------------
| Handle command events for this frame window                               |
---------------------------------------------------------------------------*/
   ICommandHandler::handleEventsFor( this );

/*---------------------------------------------------------------------------
| Set the title of this frame window to indicate a query                    |
---------------------------------------------------------------------------*/
   title.setText( STR_QUERY_INFO_WINDOW );

/*---------------------------------------------------------------------------
| Set the frame's icon                                                      |
| Set the frame's client to be the notebook                                 |
---------------------------------------------------------------------------*/
   setIcon( ID_ICON_PERSON );
   setClient( &notebook );

/*---------------------------------------------------------------------------
| Resize the window based on the minimum size of the notebook               |
---------------------------------------------------------------------------*/
#ifndef IC_MOTIF
   moveSizeToClient( IRectangle( bottomLeft,
                     notebook.minimumSize() ) );
#else
   moveSizeTo( IRectangle( bottomLeft,
               notebook.minimumSize() ) );
#endif

/*---------------------------------------------------------------------------
| Set the focus to the frame                                                |
| Show the frame                                                            |
---------------------------------------------------------------------------*/
   setFocus().show();                       // Set focus and show frame

}

/****************************************************************************
* CLASS LInfoWindow - Destructor                                            *
****************************************************************************/
LInfoWindow :: ~LInfoWindow()
{
/*---------------------------------------------------------------------------
| If this window was launched from a valid cnr object,                      |
| - decrement usage count                                                   |
| - if no other information windows are via the cnr object,                 |
|   indicate it is closed                                                   |
---------------------------------------------------------------------------*/
    if ( pObject )
    {
       pObject->decrementUsage();
       if ( pObject->usageCount() == 0 )
          pObject->setClosed();
    }
}

/****************************************************************************
* CLASS LInfoWindow :: systemCommand()                                      *
*   Handle any system command events for this frame window                  *
****************************************************************************/
IBase :: Boolean LInfoWindow :: systemCommand( ICommandEvent& event )
{
   Boolean retCode = false;

/*---------------------------------------------------------------------------
| If the user is attempting to close the window,                            |
| - if this is not a query window, then save the personnel data             |
---------------------------------------------------------------------------*/
   if ( event.commandId() == ISystemMenu::idClose )
   {
       if ( !isAQuery & !notebook.verifyPages( "" ) )
           retCode = true;
   }

   return retCode;
}

k  $        	  +...
           	      ./usr/lpp/xlC/iclui/samples/lancelot/linfowin.hpp G              $          $          /*******************************************************************************
* FILE NAME: linfowin.hpp                                                      *
*                                                                              *
* DESCRIPTION: Frame window with a notebook of information pages               *
*                                                                              *
* Class                                                                        *
*   LInfoWindow                                                                *
*                                                                              *
* COPYRIGHT:                                                                   *
*   Licensed Materials - Property of IBM                                       *
*   (C) Copyright IBM Corporation 1992, 1994                                   *
*   All Rights Reserved                                                        *
*   US Government Users Restricted Rights - Use, duplication, or disclosure    *
*   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
*                                                                              *
*******************************************************************************/
#ifndef _LINFOWIN_
  #define _LINFOWIN_

#include <iframe.hpp>
#include <ititle.hpp>
#include <ipoint.hpp>
#include <icmdhdr.hpp>
#include <ihelp.hpp>
#include <ihelphdr.hpp>
#include "linfowin.hpp"
#include "linfonb.hpp"
#include "lcnrobj.hpp"

class LMainCnr;

class LInfoWindow : public IFrameWindow, protected ICommandHandler
{
    public:

        LInfoWindow( unsigned long id,
                     IWindow* parent,
                     IWindow* owner,
                     IPoint bottomLeft,
                     LCnrObject* object,
                     EmployeeData& employee,
                     Boolean isQuery = true );
        LInfoWindow( unsigned long id,
                     IWindow* parent,
                     IWindow* owner,
                     IPoint bottomLeft,
                     LMainCnr* cnr,
                     LCnrObject* object,
                     IString queryName = "" );
        virtual
          ~LInfoWindow();

    protected:
        Boolean
          systemCommand( ICommandEvent& event );

    private:
        ITitle
          title;
        LInfoNotebook
          notebook;
        IHelpWindow
          help;
        LCnrObject
          *pObject;
        Boolean
          isAQuery;

};

#endif
/Xlp  $          ,...
           D      ./usr/lpp/xlC/iclui/samples/lancelot/lmainwin.cpp G              $          $            
  -*ent
aciors()CIbdhlpu/:;AELMOS_jmw|,.DHNRTWfgy{}=>BPkqvx"&+FGQUV0JY[]!'1~2z#KX\
mmmmmmmmmm"D 	`hL9B(iBUUUUUUUULUUUUUUUUUUUUUUUUUUS-É)F9@Djꪪ0QŇ**bQiB[<@Ô9HUUUUUUUUUUUUUU2UUA@DM]UUUUUUUUUUUU2UUAq"x)$QiBn[#ćB h L<3ŎPB dg y#"`Bi<cPIIFUUULP(z,i#0T4ƞE1=qC\x>1A& FE<SWLQ#QÈdO&az&(U|b(PBV9R&[@ē<T|<
8qD@I<c xq h<HꪙncH򫅌Ax>1A
9DA<$a2r\A13 M0<#*`A(-b"rW'B*c&DRy䁉Tp>Y$bF%*[ aȤx>Y$ELc%M%0TQUUUUUUULmmmmmmmmm
, '(eH L9B(H@YaMmmmmmmmmm[	Aq"xÏR+@=
mmmmmmmmmmXx(r, a'T<`A(!1 hi,ȁ h0L@4x,L<T* b!1 <G#Tr瘂L,@C"bbc`<G"Har$AH(8<	ydF.R (H@$e 5HC@I2(Ya"
/i(g0I$Hq4UUUUUUUUUUBZEUI28 rQ Bf(I&PH@	.I"NY40Ppx&T.i! T.xQD@Ux2Y#UT*@<"Ha4&
Db 0"`<<A(`A AhXX(!,)b(&ELQ bT`yK$r0=S'UUUUUUUT.X
1DI$e$Rс,L,r-UUUUUUUUB4T( F(4R 2Y#TI$$bHp-z%9hae?,^JLaB4Ŝz=UUUUUUUUUUUUT.X$$g%K|A2&4,Ô*dYbe\=	dy *dP31g41#"HhUUUUUUUT.](R枡Hh\40RJ2 hauG(y$B)XjHHh\40RyQ4#ņ,&YaMmmmmmmmmm[	Aq"x
ЪemmmmmmmmmQaq"xXXC9@DaK	ThQDR 2Y#TI$Eg$P@8J=40e6mmmmmmmmmp!(<@Ô9DOx"
1DIVSVzUUUUUULP(&ELQ bT`yK$QŪ[mmmmmmmmmm a'<TT$ҀXXx(r,8QSDbJ0QŜxओ(9DOq$(9@r9CRNXH"J,]Q@RIhIR,aa2
mmmmmmmmmmBPx(r,8QSDbJR*jBemmmmmmmmmQaq"xELQQ"M(<@Ô9DOx"
1DIK	,mmmmmmmmmn$%r(Ï1DAF(4ƞ**bUUUUUUU2mmmmmmmmml(A,,<i1Px(r,8QSDbJaf**b<TTY b᥄
/ Y$EqC)
Ec
$UUUUUUUUUU/ 24=dLIդr*rLj.]P Ry4) (V8dj=P-.8 h`HA#T aH
$(iTH
$1uUE)&b+O(TTTDMXzaJR<XXDPD5HIDI$jDdR xxԳRP (VIդ40TDDM&$A`9"C.ci!GT.L<& <&"  ph"!ꪂE?d@Q&9dLLW<RTV9GE$jDUUUUT.XDG*c	I4RjUUUUUUUUUT._
.|2(iTH
$(9H`9ȉ$MZHU5piuUUUEQHDǓ&Vqha4R]UPN

',|<& <&$8	CeUTi	!ꪂEUUEQHDǓ&VqꆗUUT,)X"Q*aRM&$c
$Ղ*raEUUUBH
$բ$i5i"E+A]UUUUUH
$բ$i5i"9a3]UUUUUH
$բ$i5i"E+HK]UUUPHP "@Q&qCJ"@Q&r)5sH
$բ$i5i"4%K40%A2(iTH
$C	UUT.$IuUUA"bD=D2&4%KI4 (VaEUUUQ*5gCJ"@Q&]UUPL$(0eUb)DG@D@0Hpxp48,aOxx>Y$ǐIY)d1(T*QeII=UUUPb)&NE$jF5HGIDUUUUUUUUUP(ȡP (W P !"$i5i"2(iTH
$aUUUE"$jLMYǪyHauUA8(*LHT JYHhXpxphp$LD	]UQ"x$L@4x,LH8<8p48&	UT.|2*DH
$Վ<4T4aOxiZdi)II5`Hd"i5i##
$ƕAЈ$Rr	DŤ,I*,^LyDb)&L*U%Y$Dzi)g
UUU"yuUUUA"ꪪ9CD*D.d aH
$j (VIդ Ҩ ,`ꪪ&%$ҴbꪪVVq4$jᡅUUUU@1JIi#.!bI&V#"@DMXMC5HIDI$jDV<+40uUUUBĎ&dj (VIդ @Y"0l40uUUI&K	)&=D2&4%KI4 (V\]UUUQJj=C"@DM\40uUUDIPauUA2
DI1B1VaрÒ-UUUUUUUUUUUP(LE0HhXCb`hh ꪂEUU0GR&9"UUTAUT,X$Hid#4KA)Ò-UUUUUUUUUUU4S1$8&UT.!<XR<HUUA&AU,)/	<ZY$Ʃc=PrE\]UQ"x$L@4x,L	!1AaeU(9H`:$ig$X`ꪪ  ꪂeM&08!@Q&FE$jPBIRjꪪaEUb)DGXppxphhxxYuUA"ꪪ=K0%ǩhL,,DMX"zA240yC#
*'E+A]UUUU@PqT= AȀ	D`ꪪJ`iuUUA"ꪪRV$i5i"2<"z JTaUU˪ L	XS,^I&N5HGIF I9A	&J5HGI/UTi	cÁbAÁ`ꪂEUUzaJR<XXDPD#
*'2e)hauUU@ІGUO@V<+40<"z f8UUUQA"OXꪪEUUU0I$jDdyAPDAcyL40uUUDIPauUA2
 b	I1B<MZ0<#=PrE\]UQ"x$L@4x,L	]UPH( 枠rE.	0
.&YaOxH,cTyDc5*"r I9OTrQuUFa1 0<8&$".$]UUQAC=枠j@Ռ]UUQACAHOP9"UUTAUT,X$zI1B<MZ1jTD"drƞiWUUUUUU4S1!`4L$8,uUUE)DGzV2MC(9H`9 b	ig$X`ꪪ  ꪂe-)bI&R\]UQ"x$L@4x,LCUT.)$`:$$@q"xXY"6]UUQ`]UPLb#ŠT'I2UUUUUUUUUUUUUT._
.L<& <&
D@p,8]UPH)<Xd<e(aa(N]UUQ`]UPLb#ŢI$UUUUUUUUUUUUUUU4S0$<˪	UUTPe0GL8<X,,'(!.	0
.&YaOxHD"T(z,UUUUUUUUUUUUP(LE0HhX(8<	A 8]UPH	E	bDFEE!UU@%MXxD$P@d ZPD  ` 
 UUUTQ 8T<T8'0(UA @UUUT<A(`A AhXY84CC L	XS,^LS,(LLYǪ/UTi	cÁcD˪	UUTPDYIC&z)40$(0e?$I$!QjѪrQuUFa1 0$D	AꪂEUU0
1i40$(0eUH<¤]UPH*MUT.'AAHITVUK@C	XSmmmmmmmmml9@DaǊ DP%A0mUUUUUU2mmmmmmmmml(P8<Xq⢦((& , a'<TT$ҀXYVqr)5n("@Q&XH	E	aTB""J˪DXHdPDM^"Q#K	"AԤ@"I*(F*HEc=SqꅎQŪaEUb)9CDAԤ˪	UUTPDM^J.<z烎QŜP* Dh.IǨx8<Xd<&<D`p 0<PDYI@]UUUUUUUT<	<,`   0.(9H˪IUUUUUUUU @	.U(A(VUgRM+HD*hauUUDIPauUA2b|diTVxQ("zpU(@%QG(z,'AĪ,^Y$ƕEgȤ%JUUUUUUUUUUUU4Sr)5aa`YT˪	UUT<Ih(U@TEH
$9ƞj@Ռ]UUQA5xV"Q*409DOq@,PQŠ$ZyDaHXDAx Ae% 9uUUUUUUUP$󔱀 0 h .("@Q&]UUUUUUUTPDM^iXꪪeRDr-aVx%$ҴI-UUTAUT.&]R	YT59emmmmmmmmm-ÃDP8<Xq⢦((& Ii5gjmmmmmmmmmmX Ry4<@Ô9DOx"
1DI )&4՜zA@DM[I.<i1R	XȦyHaeJ(Hx
RP]R",C"$ja6]PHX<J$J<DG03ţ,b)&UUUUUP(LE0x(r (VQ("zpYuUA"ꪪK@#
$ՂLCĖ  $6 UUUEH
$9ƞj@Ռ h UUU
"Ha҅	i8U*P%ʠjC FUUUUUUD09A4& <&			 C`]UUUUUGI*UUUUUCJ&q,iTJ0h )@O*8 4]UUUUUU<"K@B@`hX$8<8& $ ˪xQD@аLY8hauUUR	XȦyHauUUQ`]UPLX<U*"AԤ@"IiI0U(`z$0r"iZeLyD&5HUUUUUUUUUUT._
.L aH
$ՅeRF.$]UUTJ $řeRDb.$PBʥ ,T4PDM^iXUU@YTRM+HTdJYUUUI41A5aUUH%c"TUUUA&AU˪	TVUH%c"emmmmmmmmm-ÃDP8<XeF(4pԊ*jB[bLI$IUUUUUUUUUUUUU2mmmmmmmmml(P8<XeF(4 a'L(&,$XLmmmmmmmmmepxh a'L(&.T՞UUUUUUUS-mmmmmmmmm0QŁI&PbJa`0QŁI&PbJ,&YaMmmmmmmmmm[	ARI'L(& 
HERID`ڪeF(4$
HEIHU(H.ni#J2&"yI(aRF D[mmmmmmmmmm<1M&*0QŁI&PbJa`RB(L#!bT$\4uIE+%2	"` HL	,*ZRXLmmmmmmmmmepxh a.zZMYUUUUUUUUUUULmmmmmmmmm
,<@Ô9Hr)U"pAI#=A xx8<YA*XDg,jP@bgb=P˪8,Ôy1@CJRP4ŜzUzaJR<XZ@եDRDI$j=P9uFLyd<qY)(<QUOT4]QiXxԳRPy29枠rEV6Ti)Dѐx(r (VE("TI$PrPTdA9uEI!"$J%EDH
$Ռ`(<>.*XHK1ČQg(!zaJ@ĩhЖI1fUUUUUU/	,1DIiY)(BQY bT`yK$ԳRP/]P@bJadQi@dG#.x  $ҀXY#DCĩhs,C,)XP3dzaJ%@Q&TPIYaO$eLj<QU#,d*Ta#&TUC 
iǚzDɕPy1枠j@C0Ǔ**4`l40I\IR**L"rUUUUUUUUUUT._(O&<HB)X)&9A j@Ռ0hhxt40O&	J&JI0Rd$	CCC,)X	I41B<MZ1&z'(!I1fUUUUUUT._(RJIi (V=YaObB DQF<,`y\9$S($bUPb<%LqZ@*"q4`0UUUUUUUUUUBRT=K,CE+fMrE9c 
iǚzV.OP`@VH`UTj ` F 88x$L@4x,Lp,&AP
/&Y$z-,cTM1#"HhUUUUUUUUUU
.1A4 ,0hauH<Xrɤ`$x,)mmmmmmmmm[	ABJQZMYUUUUUUUUUUUS-mmmmmmmmm0Ra`0R.)&$e(0e6mmmmmmmmmp!(<@Ô9HAaq3XyB$j[AH$5reLLW<RTVmmmmmmmmmaEr)5s9CXY3XyB$j,$]R	YTY$(  (VXLmmmmmmmmmepxh a <VPADjeeLyDd\H2&&b+PHU*+UUUUUUS-mmmmmmmmm0R 0Raha"$J%EDH
$Ռ9CD@Q&XH$XyB$j<MXauH%ePTHC	XSmmmmmmmmml9C<Rf-#UUUUUUUUUULmmmmmmmmm
,<@Ô9H X<@Ô9H<Rf-#,)X
8eLjg 4QȒIIg(!1Ha2qB<MZ5PE#TE$Ҵ&"@Q&C<ʩp aaO$eL ITRIH!@Q&TPr (V HhXX0D @@@PqT$Z0R$jC"cH
 (ĢyTH#! h0L`!!X,8<LD @hP "@Q&,,PD)$UU%ʠjG	A`$ L		a`!hauF""@Q&dPr (V HhXX0D @GyU. xhae?J	FD1$`,PLYz\{(0R&#eRF1DcPILdj (WUUUUUT._(U(@J"b.z"b"sEcȌ]UUdLYf8UPDŘE+X#K	UTPr (V HhXX0D @@@PqT$Z0R$jC"cH
 ( @x"bD`9uUUA@DMXXXU(@UU%ʠjG	AcP4D@L`CCaUDDA@DMXC"bbc` `@PqTᡅ,)X( diF,^%GG./]Q b	ig$X`$xTVUMdD0e6mmmmmmmmmp!(<@Ô9HAaqHIT6emmmmmmmmmQa@@,,$CE`$P-@"0U0E?Hh*2ύ=K0%
raEH
$Հ4<& <&8 8p6  ǐyU. x.I9CDH 0
 ʥ ,T˪0R$j@".x1(UR<H"`$ L$:.$DH
$ՌR$j	 8 h*,bjeLq\QuF $yaC.
aa2
mmmmmmmmmmBPx(rS 'EUUUUUUUUU2CILPJBQTb"1I2%I1B<M]UUUTmmmmmmmmmmǁ" ɤA@,,T) I QAxTT8Jd.<i1R	XȦyHauET$L!bGHA** aaO$5p%,bf"
RUUUUUUUU
.<@Ô9HIqCTDr)5liC(  (V0hauGCTDiuUHIH
$:%0l4uUUF`P "@Q&,,PD)$ꪪEUUU8B	QXDG8
D@ꪪ  ꪪeUUb)9CD,PeUU$q Q0$D	.	0
.&]UPLE%U8B	QXDG$0!bGHA*+.$XSxr	1iPHU*+1TI (V 4eJ&\QuUE(+ Ғ-O(%Ea#$ ǋ)(.p4V5cUTP#ņI<)ODzUTQdb+O(TTTDM\@]UQEHy	<R	QQ5p0R$j҇*PA**"@Q&`e AR	XȤ0e6mmmmmmmmmp!(<@Ô9HAarT0mUUUUUUUUUUUS-mmmmmmmmmB&r) i@d<rRҀp,,$]PybǑL@	
/$)B(QE$diB=QB<MXE*#T*Q0 Tp>$X 0DH
$Ռ.$]UR)Xy	<R	QQ5c!@DM[1`
$Ռ.8J29DO4QSDD@\40ǑLK@C	TVUH%c"emmmmmmmmm-ÃDP!ĒLUUUUUUUUUUUS-mmmmmmmmmB&r) I&Pd<r$@1*X.XH)&$e(0I&Pr
I2D`I&Pr,2Y#Tp>I2.I&PrGP5#ȌDGA+*U!,mmmmmmmmmn$%r)5w=H*eAbUI(F5uUUUUUUUUUUU2mmmmmmmmml(P "@Q&,,<@Ô9HIz\ aH
$ՀX yHl]Px "@Q&d0Ԋ@DMX )TIJ$dj<!a6.d	J&RJ&qEz,&YaMmmmmmmmmm8<4HJ0R$jzZMYUUUUUUUUUTu Ī2EhM1#"PB"M@8UUUUUUU2mmmmmmmmml(P "@Q&,,<@Ô9HIR'134K@%iT"@Q&(aĖDRQgiuAeR$jK9d4C@,A,"Q09uK$JQ4dE(qꆖ,&YaMmmmmmmmmm8<4HJ0R$jzZMYUUUUUUUUUTu Ī2A(USFY&J'@P8=UUUUTmmmmmmmmmm9CDP "@Q&dUHRHPB8P5#9d.DMX4"Q2%P5#RQgiuAeR$jK9d4C@,A,"Q09uK$JQ4d<4Bgb=AafAc
D bAUUUD09AjYǨqaE,)mmmmmmmmm[	A@DM]ÏR+@=
npFHrɦ1DdP51b)D(UUUUUULmmmmmmmmm
,<@Ô9HI0R$jET$L#=@xx9A	g,@IJ&XD@bQ<yQ5,.,@DMXg,@ƞhH4"Q#%J&.d	J&(LLYǨ,,Ҩ ,`ATR1(URq@"0h Z( 2"M@8"0l6XHe6mmmmmmmmmp!(<@Ô9HIVSVzUUUUUUUUULP8J$VK9d2	D1jYǪ[mmmmmmmmmm aH
$Յ<@Ô9HI4a2
mmmmmmmmmmBPx(r (WH<V0mUUUUUUUUTu)dЖI1B<M\DUUUUUULmmmmmmmmm
,8  aH
$Յ"Q" z)XA+*z)Yx(r (VI ЉDa,)mmmmmmmmm[	A@DM\J&cUUUUUUUULP1+*I1z)\=	dJ&qEz[mmmmmmmmmmUHRHPB0R$jȥDARK	TVUC#R P "@Q&,A)Dl40e6mmmmmmmmmp!(<@Ô9HIJ$`ڪnbVU#,eJ&<#
$UUUUUUUUULmmmmmmmmm
,<@Ô9HI (VL aH
$Յ"Q#ƞVXH*Y$B%XLmmmmmmmmmepxh aH
$aqjYǨ`ڪ[mmmmmmmmmm<Ih aH
$ՅJ&qEz=HuH%ePTIC	XSmmmmmmmmml9CD,.E+J$`ڪ[I+I2%Rjꪪ[mmmmmmmmmm aH
$ՀX<@Ô9HIE+J$d"@Q&(IJ&XHH4"Q0)"ЉDTVUMdD0e6mmmmmmmmmp!(<@Ô9HIRJQ5,UUUUUUUUS-mmmmmmmmm0R$j, aH
$ՅRQg%rjYǪXHH%( jYǨ0*k$r!, k*  $          ,...
         z        ./usr/lpp/xlC/iclui/samples/lancelot/lmainwin.hpp G              $          $          /*******************************************************************************
* FILE NAME: lmainwin.hpp                                                      *
*                                                                              *
* DESCRIPTION: Frame window for the main application                           *
*                                                                              *
* Class                                                                        *
*   LMainWindow                                                                *
*   LMainWindowCommandHandler                                                  *
*   LMainCnr                                                                   *
*   LMainCnrObject                                                             *
*   LMainWindowHelpHandler                                                     *
*                                                                              *
* COPYRIGHT:                                                                   *
*   Licensed Materials - Property of IBM                                       *
*   (C) Copyright IBM Corporation 1992, 1994                                   *
*   All Rights Reserved                                                        *
*   US Government Users Restricted Rights - Use, duplication, or disclosure    *
*   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
*                                                                              *
*******************************************************************************/
#ifndef _LMAINWIN_
  #define _LMAINWIN_

#include <iapp.hpp>
#include <irect.hpp>
#include <istring.hpp>
#include <iframe.hpp>
#include <ititle.hpp>
#include <iinfoa.hpp>
#include <imenubar.hpp>
#include <icmdhdr.hpp>
#include <icnrhdr.hpp>
#include <icnrmhdr.hpp>
#include <ievent.hpp>
#include <icnr.hpp>
#include <icnrobj.hpp>
#include <icnrctl.hpp>
#include <icnrcol.hpp>
#include <ipopmenu.hpp>
#include <ifont.hpp>
#include <imsgbox.hpp>
#include <ihelp.hpp>
#include <ihelphdr.hpp>
#include "linfowin.hpp"
#include "lcnrobj.hpp"
#include "ldbase.hpp"
#include "lancelot.h"

class LMainWindow;

class LMainCnrObject : public LCnrObject
{
   public:

        enum ObjectType
        {
            personnel,
            project,
            query
        };

        LMainCnrObject( const LMainCnrObject& cnrobj );

        LMainCnrObject( unsigned long icon, IString title,
            ObjectType type, IString description );

        LMainCnrObject( unsigned long icon, IResourceId title,
            ObjectType type, IResourceId description );

        LMainCnrObject( unsigned long icon, IString title,
            ObjectType type, IResourceId description );

       virtual
        ~LMainCnrObject();

        ObjectType
          type() const;
        IString
          description() const;

        LMainCnrObject
         &setType( ObjectType newType );
        LMainCnrObject
         &setDescription( IString description );

        static unsigned long
          typeOffset();
        static unsigned long
          descOffset();


    private:
        ObjectType
          theType;
        IString
          theDesc;
};


class LMainCnr : public IContainerControl,
    protected ICnrHandler,
    protected ICnrMenuHandler

{
    public:
        LMainCnr( unsigned long id, IWindow* parent,
            IWindow* owner, IRectangle location=IRectangle() );
        virtual
         ~LMainCnr();

        LMainCnrObject
         *lastPopupMenuObject();
        LMainCnr
         &setLastPopupMenuObject( LMainCnrObject* object );
       LMainCnr
         &populate();
       LMainCnr
         &addLastQuery( IString queryName );

    protected:
        Boolean
          makePopUpMenu( IMenuEvent& evt ),
          enter( ICnrEnterEvent& evt ),
          help( ICnrHelpEvent& evt );


    private:
        LMainCnrObject
         *pCnrObject[ ID_MAIN_MAX_CNROBJECTS ];
        IContainerColumn
            colIcon,
            colIconText,
            colDesc;
        LMainCnrObject
         *ptheLastPopupMenuObject;
        IHelpWindow
         *helpWin;
        IPopUpMenu
         *popm;
        unsigned long
          objCount;
};


class LMainWindowCommandHandler : public ICommandHandler
{
    public:
        LMainWindowCommandHandler( LMainWindow* owner, IHelpWindow* helpWin, LMainCnr* cnrCtl );
        virtual
         ~LMainWindowCommandHandler();
        virtual Boolean
          command( ICommandEvent& event );
        LMainWindowCommandHandler
         &openAction( LMainCnrObject* cnrObject );
        Boolean
          deleteAction( LMainCnrObject* cnrObject );
    private:
        LMainWindow
         *pOwner;
        IHelpWindow
         *pHelp;
        LMainCnr
         *pCnr;
};

class LMainWindowHelpHandler : public IHelpHandler
{
    public:
        LMainWindowHelpHandler();
        virtual
         ~LMainWindowHelpHandler();
        virtual Boolean
          keysHelpId( IEvent& event );
};

class LMainWindow : public IFrameWindow
{
    public:
        LMainWindow();
        virtual
         ~LMainWindow();
        IHelpWindow
         *helpWindow() { return &help; }

    private:
        ITitle
          title;
        IMenuBar
          menubar;
        IInfoArea
          infoarea;
        LMainCnr
          cnr;
        IHelpWindow
          help;
        LMainWindowCommandHandler
          cmdHdr;
        LMainWindowHelpHandler
          helpHdr;
};
#endif
     l/  $        z  ,...
           O      ./usr/lpp/xlC/iclui/samples/lancelot/lperswin.cpp G              $          $              -*ent
aclors()dhimpu./:;CDEILNOPS_bfjw|,AHMRTWgxy{}"&=>BFkv'+GUV0!1JKY~#2QXz3?[\]4
mmmmmmmmmm" pH|(
 8&%F($҅*n[N1R%ORp05UUUUUUUUUUUTuUU%ORp04y2f( 9(UUUUUUUUS-UT"(=JIB[DQ("zTM]UUUUUUUUUUTuUU%ORp04I(BenCP PH *UUUUUUUUUUUU2@)8Ɖ( J8R@ ,iFDeLiLZHB@UULPi=H,$dL&PƞA1$e.<b1@ B1D T-bD xHHK>VDp>=	dS*CLxb(Ed畉*YuH(M*\x<
HH"@)<bH<$A$ +
j[hȞUpш bP>(M &t8&=0i1HP6< yPdS"a2&4	IҨĲ)L*[ Y$RB<bYEB$|xĉSH&`5(UUUUUULmmmmmmmmm
, (ӊLQ("4IA$J 8!Ĕ0x%(P, 2J4 O<$D@mmmmmmmmmlEaDRNQƮ=H*mmmmmmmmmaE%ORp04"(=JIJ x@IDqJJ h R@ Rj0&0 A|]P$BbBA h@JJ1uK$:YHPX(XP<*&$$",J@8XP<*&$$"D01uD0y$ȒF. :
	ȒD,$abꈤ⃡ `@x,D01uF  dI"R)8MR1uDRq@A,?ZI\0)#UUUUUUUUUUU
.h˪UTE'	0B$:1FIHPUTE'	E+Y
BA`X,D>]PDLYGA!!0K,)cp 91&bIҥ$0aJ xUUUUUUUCe@RqI ZTaЖD0L4IDaEL $LQKD	=ȒF]QPA &(ҥdI#,©\)(PFG$iꪪTYƜI*\t"Գ	)(UUUUUUUUUU7
rȦ$Y -2\0zȦ$A&UUUUUUUUU7
P-2Ȧ5HCDF5HGգUUUUUUUUUU7
rȦ0Cb0yQQ	'DUUUUUUUUPwJ=C a@Px<0RӉ%K xauD0y$RjiЀpx(TLHH<F]QC8Ťt.`4L`@0J*(<hp%mmmmmmmmme4D*+%ORp05prQZMYUUUUUUUUUTmmmmmmmmmmE'I8ID HPD)'	(C.d	EgP4<Jz$<0)8 (@JiRO@t$,mmmmmmmmm- qQXDQ("z@,.(yBUUUUUUUUULmmmmmmmmm
,DQ("z@J$a%<h,,
b: P)iAGLa
7	L)RU,@		($RB J(a8!.2VT6_(TID8xaaOdRcLe<,H"cP$H5UUUUPcw-(02I8zS$Ŧ25HGUUUUUT6_(ЇI&P@!(`I$X( AHs$@pꪩ$D%I >]P@e<$(:I2	bUT"(=JI@L\e&TM\UUTB"AԤRjBbBQ1 4e!( uUF IRb)5p%? bE1#OR5UUUUUUUUUUUUUPcp)(<j$lQuF @R i 48xauF H48xauH%ePTD!K,)mmmmmmmmmphTVJ$a%<h4dQ A rP4"
ЪemmmmmmmmmQb"AԤ$L 1DJab"AԤ$L 1DJJ$a%<iǍ)($J xӈJT"(=JIAƩ ՝, ]QA1%RP.!'hN($R80e6mmmmmmmmmn"AԤ$L 1DJ%T՞UUUUUTmmmmmmmmmmE'I8ID<3@b"(=JIJ xiɘ @8ya%mmmmmmmmme4D*+%ORp04y2f( 9(Aaq&bUUUUUU2@@(y2f(-*Z0K"a	$UUUUUUS-mmmmmmmmmE!a`A眓%ORp04y2f( 9(y2f(@4dQ -*X$\<uB A,,<bL\e&4I$zZR]QU"H=@d@4-a&L  B<0cpJLq(yB"iQXq
FAІB0㥑LNIIMLj.]PPD)'1q*M\UTP5H`9"C(	JՎ]PiYOR<ఱ1qҨ"zURjI5i :eT=K0MXXZ)9&$!RjI5i V<	$+<0$H&@@<aO@bYǋDFY⇔*R&#(Ȥ䚴UUUUU7>Q늢ÎI5i!#Rj	l]UQ"@8XP<*&$$",& <4,(&(,&($]UP@C补PIP !@!I5i :(iTRjꪪ1q9&h`ÑHauUA(*0㥑@%UTi
	
ÅĂ˪UUTHbE"b)5arMY#. XSLU$HȤ䚴I	˿UUUT0z &.2VNII RYI$XUUUUQ@L\e&TV$ HUUUUQ@L\e&TV(`ĒXUUUU. ]UUUUUPPD)'1q*M\UUUUUUT:J$ &.2W8y@L\e&TV&AcUUUUUTyDjCJ&.2W."]UUPDK%Q8,cJTV)5a5UUUUUUUUP(%@sVHU1qxauUUAꪪIPauUA
Ȧ<\e&$2Ȧ8W<R4bDzRrMZH(QLaH䚴R)5hUUUUUUUUT6_
.L ,(
 aeU$1U1q`RITV@L\e&.)I<j9UT:Y*"YuUFa a@Pxxxh,<8X4UT.:*DRjO8䚲G]UUP@cpj	1iadRrMZHGՄUUUUUUUUUUPwꪪBRjI5i V<	$+<05H	բ*j@$ É<05H	բ*j@%xA<UUUJ$ &.2W8PIbꪪB"AԤRj5H	բ*j@$Ҩ ,pꪪA&- sVHU1qxauUUUAꪪ%UU$R]UUP@XLZcp>YƕAr)9&$#Rjj/UUUTj	1iGtPҨ	UUT.LXS,nE1)5p%E1"
EcB$"j@UUUT6X@G*c:E'$դjID&QuUFa a@Px `X,CAeU$1U1q`RITV@L\e&.)I<j9UT:Y*"YuUFa a@Pxxxh,<8X

!࠲ꪂUUEQHMXiVHC˪,nbJL4NIIqaEUUU:5H	բ*j@%xIV8xauUUUUTjIDU'$դI$@9 8xauUUUUTjIDU'$դJ)X,$8yuUUUUC˪UUUUUT"(=JI@L\e&qCJ&.2W UUUUUUE'I85H	jIDU'$դIPA*XUUUUU-PGtPҨ	UUT.'"ꪪ?Z)Ȧ4%KI5i!.2VUUUUUUUUZ)5dP补PIUUT.]UT,X 1,cRjK#,cEqC)J(IGE'$դl\UtNII!.2VMUUUUUUUUUCeꪍ1Q1! a0  ᠱaA1A`XxYuUAꪪC@L\e&@X TDU'$դ补PI˪*DRjO8䚲GE!U``ÎEʃH]UQ"@8XP<*&$$",*"UT.:*DRjO8䚲G]UUP@X02)9&$#Rjj/UUUT@ꪪUUUU%ORpjIPҨ	1uUUUUUCDRNRb)5sRjI5i iTJ8xauUUUU@A眓rNJB Y#:(iTRjUUUU@1䜕<CJRrMZHU1q40aȦ]UUUUQ@L\e&TV(`H"UUUT4DɇF1qERrMZHDq"UUTIuUUAcprNJȦ4%KI5i!.2VUUUUUUUUP(	9+HՒ=C@L\e&]UUPDt`]UPDcpƥLjF H`,F/UTi
	 q `xpx, "*]UP@C"xrVa# 48xauUUB$(0e?R'K"!$/UTi
	 q `x,]UP@C"x-@$hpꪪIPauUA
¤OE1B1$jaEUb)BbBA"@<,&($, &$]UP@C"xЁHUU ꪂ%RrM\aFqap|NI$l##RjꪪaEUb)BbBA"@<,*"UT.@4,JJhpXXMXiT=qҨ"zP5HC=txiT= RYI$XUUUQ!PDI"8CJH9c˪UUUTP5H`:)XNII!PDM*	RUUT.]UT,X*j:5HGգ	E'$ՒP6IR)5uUUUUT6_
.L ,(
 aPXpxYuUAꪪOR$zՆAЏ*':eT<0ЇGA	E+A]UUUU.2UO@$ É<0<\d4J)X,$8|<uUUUET䚴.2UO@$Ҩ ,p40aȦ]UUPDt`]UPDcpP52Ȧ5HGգHd5UUUUUUUUUCeꪍ1Q1! ` @q 
]UP@CAHHUU ꪂ%OArȦ5HGգQJdRIZA˪QuUFa a@Px
bqPвꪂUUR,zi,pꪪ1P5"I#CUUT.LXS,n="!.2VA($l.E$zl]UQ"@8XP<*&$$",¢`XpxhYuUAꪪD=@:0S.js@R i 48xauUUB$(0e?R'DRqH$UUUUUUUUUUUUUUT6_
.L ,(
	]UP@S"x@	(AadA xauUUB$(0e?R'@ԩ(tE'QuUFa a@Px <DPX!eU(I0'	804JCA&AUK,)7
<j*%b)8UUUUUUUUUUUUUUP(LE0px(TLHH<DX"(,D(YuUAꪪqLDC BN($DꪪIPauUA
¤O y$&baEUb)BbBA"Aa@PpUT.@Q0 tQ5`AA1%xauUUE<SV	DCZ ("H@	 P !. IkJp|$rT<%HOP1D ARP*hH.@Q0 pXY%3HzUU ꪂ%N="a	$UUUUUUUUUUUUUCeꪍ1Q1! ` . ]UUQA1%4HUU ꪂ%UTA#9aeUA+*E!UKPR#DiJʠhHaa
mmmmmmmmmm"E'I8ID<3@b PՒ=CUUUUS-mmmmmmmmmJ$a%<h4dQ A rPaDRNQƃO&L% %@sVHE'I85H	ոM\<e?
"$x=) h$!UUUUUUUUUUUUCe©\)IF<UUUUUUUUUUUUUU7
<j1Q%3HCD@`%Le<UUUUUUU&PHq2ZI1f	:I8zR
I@pxauERjLT8xauB"
<IDq@e<	(P]UUUR5(`a%<ht , $h@A1% 1uUUUUUUUP䔱@@@abꪪb)5`bꪪ@``ÑL<0x=)QưUg$"b)5cU0Jʠ$CXSmmmmmmmmmm8"(=JIJ xiɘ @Ơ9$zemmmmmmmmmQb"AԤ$L 1DJ ,"(=JIJ xiɘ @j	1iGt"(=JI@L\e&Rj
«1*$&bh5)$x=)l]Py2JCYLq0t D0x04x=)QƠ$jPJ x@8X@H			 cJJ bꪪC)c((UUUUUUUERjUUUUUUUKI2,1uUUUUUUUP"xauEɔ8zR$`:)XIZDRjK@a ASYH,mmmmmmmmm- qQXDQ("z@ɓ1D(BDa(Y#8}UUUU2mmmmmmmmml(DRNQƃO&L% J$a%<h4dQ A rPZ)5dPDQ("zTM[	*W,d(q O@UUUUUUUUUUUU&PHq2I2,	:I8zR
I@pV%bA Ѐ$h	$@`H$X8|  ]UUUUTeY'Č&	 .@UhP64(V%G  I$H$,T	 ,XD
E1TR0zȦRF	(b&.QUUUUUUUUP(: PE(F" dR@8X* p*
B J xXY,J xhҒ(q#LY#iTJ8xITR)(UR"H]]UUUUUUyV%GBP,CBP
 X|"A. 
HHUU
J'@Ԉ@㇄UUUUUUGaUI@Ш,,ą@P$T	!uUUUUTiTQp@]UUUUU8,4%K<$)@O*$.	.<@PX(X

!`H YaO@bYQJD)!	,n
"i.YQJ%i!I!T)0UUUUUUCeDS,d(qICY4rϖE1TRDH`HKH9uUUT6XW,cHje,b,sMUUUUUUUUUUCeC2)@$	ET.@UhP6RFQpJ+H9cUTHb)#A( 4 ꪂUU$@`J)XrJɥK)#A(xauUUI&P8ŘPI&P8Ře<&.UUTiTQp
J > 4$ 00ꪪ)ED	)(C&4%'%OT 9B4Œ=AafAcE(P5"$1 x%UUUUUQǘ@UhP4t*@q!P$<,	  UUUUUF@9% H	 UUUUP%(`5 AలJ=f,4CT.
ȒD0e6mmmmmmmmmn"AԤ$L 1DJX\A'%iGp[mmmmmmmmmm B9&*J$a%<h4dQ A rP Y#:J$ &.2Vb)5prLTVy40aȤ0)EDEƔ!ᅖQ!dSE(H$ÎF)h> ǡEr)\J0ՒUUT6_
.@Q0 pXX)(=HCԊ`&4<ƇB yTHШ,,(
E@,<]UUUUUUUP%(`5 AఱQ%D=PuUUUUUUUB ԁDHjN
g]UUUUUUUPpx(TLHH<DX8<D<,*W,d(q O@UUUUUUUUUUUU&PHq2I2,	:I8zR
I@pV%bA I1fAM#  UUUUI&P8ŘqHi<0cprNJ,d(qlrVdS$C0E1`lrVdS#RjꪪaEH%0R&RQU$!x=)$!UTA'%i&P$NJy0`b)]UUTeY)&PHRb@pxauUDrVMXauUDQ"xT

	Å"]UUUUT 	J(Hx8,,(*l@Q0 pXY%3HzU A0-."XS,nJLe<>$Y -5UUUUUUUUUUU7pJLe<4dVbʣ1fUUUUUUUUUUT6XW,dVbʣ1fBCDF0Ւ">0SUUUUUT6_
.'":A(=Hh@Q0 pXX=(˪UT*UdXq0teY)&PHRb@pxauUHŇJX$RLǃґ"Ҁbꪪ`J+1eQ.Y1fUUUUUUUHŇQY*z.9.  pJ$O
BQ1! a 8h,@E@(L<xZT6]UUUUR&R$&bOT<0&E!KA+*$0e6mmmmmmmmmn"AԤ$q@A rP4"
ЪmmmmmmmmmaE%ORp04I(@,,DQ("z@BN(1DJ,"YaMmmmmmmmmm[D@⢰PD)'	(@Pb.J+@=
[mmmmmmmmmm"(=JIJ x!'% %ORp04I(@pK,)mmmmmmmmmphTVJ$a%<hQIIUUUUUU2mmmmmmmmml(  Ry1PPD)'	(@Pb$BZTHya%JЀpx(TLHH<DX"(, p

ăGTVUK@CYaMmmmmmmmmm[D@⢰PD)'1qOR+@=
n
HJ$IP6<\e&mmmmmmmmmaE%ORpjIJ$ &.2V:4"DQ("zTMXe1qOR+CTMX
>5H.3T)&PH xJI8zR
I@pya%mmmmmmmmme4D*+%ORpjI4"
Ъ 1RI8zSUUUUUUUUUUUUUS-mmmmmmmmmJ$ &.2V"(=JI@L\e&tUH$#P6$iTiEpy2JCY,e<˪.D5H	ՎV%GI&PHI"#	p|  .$x=)	$+0GUUUTHT)&PH$x=),"YaMmmmmmmmmm[D@⢰PD)'1q*jB 1RI8zSUUUUUUUUUUUUUS-mmmmmmmmmJ$ &.2V DRNRb)5c,"YaMmmmmmmmmm[D@⢰PD)'1q,.I2JAI4UUUUUUU2@
Te<4dimmmmmmmmmmXy2JCYPD)'1q(qO@.JʠdRLǃҐ%mmmmmmmmme4D*+%ORpj4"
ЪmmmmmmmmmmXPD)' DRNRD5I!z" h@IDqCJ.@IDqJJ h@Vb&8LY#., Գ	)(yâD CJRPGi$zUII@4-H9iQI5dT<]Q iII@4PXY$D=P1uFprBfRP<D@$hrb<X:<`aЈPD)'1q4)&PHJȤDV$a4b<$Hi00VxDQ("zTMXY(q%dRAM0xO8H K$aãJ%ORpjIK"e<A$9"
$F4ɔ8zR$TP00VxDQ("zTMXY(q%dRLǃґ"1uFpaORGG"0:J$ &.2VE!x=)	Y)iAF(D&TiaORGG"0:J$ &.2VE!x=)	YaORa1uFparJ(E+<`t"(=JI@L\e&,Cɔ8zR)R҂8@xO8< QDtx)YDRNRb)5`idRLǃҐHx9iAF A|<]Q
<cJ%ORpjIK"e<AGNTiI@J%ORpjIK"e<@ I@|<]Q iRG"0:J$ &.2VE!x=)	Y$Č&|<]QLǃҐX<GG"0:J$ &.2VE!x=)	Y(q(|<]Q	1FRRb@tx)YDRNRb)5`idRLǃҐH$JEIb<I0&gE'I85H	ՁHy2JBVE `5(	M0x)80B@DF.	0<]QEHPJRb)5c "#, YaOU&(Ĕ=K0-*Z0K"Գ	)(UUUUUUCe«1LQ(za%%TVH-`%LiY*T (@,, rCh':YHR  9(1DHx-$K"Ixae?K"!yIg"!UUUUUUUUUUT6_(<:M<OT<0<:M<OP- 0 *MC1M0 @4P4H"#	]QqRj p$$ADHá@i&
i(qH1t.O85SO8AKJ
0B'0 @4P4J
0B'0 @4P4 QF]QqRj px9iAF A<0<:M<Q瓇TaT@)$qJ0 *MCICY4p @4P4ɔ8zRL<0<:M<I0J @4P4&(jP0aᅖ,nJLj<I	(UUUUUUUUUUUCe4=@VI	(H9cPX(XP<*&%.1M!(`@:@⠱ 8$>]QAM!(`@: P,H	TiI rDId8%P4rBP$B]QLǃґ"ҀJ)X!&$h- 厅A``HĀ0&]Q pԐRBL I@ZA
B@@@|<0O8<"zVI	(H9cPX(X< `X LH>]Q p!(`@:`pT<0O8< QD%P4rBPx 8pp*]Q
<a(`@:Bb`xauFpT	(VI	(H9cPX(X !@]Q iRQJ	0%Ai,t*yx=)$%P4rBP,<I0J(`@: $0<I0&RBL I@ZA
B

XS9#*MR)(b,B H`,FaEy&"#	%'
Dp<$Hi	DB(b,<0O8H K$a(<hU%@Ş#Ti(qH1tƅRPY"8xauFpaORBQ"xЪJ=G.-((ÅDT1z]Q p!(<hU%@Ş#TiarJ(DT1z]Q
<a(<hU%@Ş#TiI@(<hU%@Ş#Ti$,TH4* bA4ɔ8zRHJ$OIC1gy`5(	&.Q"xЪJ=G.@Hi	DB(b,<09+LjIF=Q%c%LiY*TVբ&ӏE#XSi9(1,aԹ@$C"	QRbB<b4j҂5UCe,bFi.$Va#IT Ʃ $,t$TVH@9$
8@) i1uUD=BH#D,. CH0>ppx(TLHH<DX4H,`xae? bE1#OR5UUUUUUUUUUUUUPcpƥLjIg&lQuF @$hp"x,HᅄK,)mmmmmmmmmphTVJ$!prQZMYUUUUUUUUUUS-mmmmmmmmmJ$  DRNR.NJIXDmmmmmmmmmlEaDRNRX\qPJRb)5cUUUUUUS-
JʠeLxM\&."a	dSb+PHTVmmmmmmmmmaE%ORpjI"(=JI@,,X
EDRj, ]R	YTY(T%**&.2VXDmmmmmmmmmlEaDRNRX\V"b+<RMXUUUUUU2BZ2Ȧ<\e&Y0)1(TM*+UUUUUUS-mmmmmmmmmJ$ "AԤJLEb*PI%ORpjIq)5cTQdR"b+<RM\GՆTVUMdI"XDmmmmmmmmmlEaDRNRX\L)" )QQꪪmmmmmmmmmmXb)<䘨DQ("zTXY3 PEGB x,X@,DLEb*PIhH,n \)I,)1(TM*+UUUUUUUUP()1P@JTTL\e&"AԤRj*PI<0cpj	1iPHTV1T)I hMUUUUUUP$11P@JTTL\e&pyuTPRFC b:
		 
	ƔRNE%QCiI(R@8XP<*&$$",(&(RP>]E(OJVxrNJ&.2V8xau<<DCk	&yTR(z$H,JʠhHaa
mmmmmmmmmm"E'I85HAarT8}UUUUUUUUUUS-mmmmmmmmmE!a`A眓%ORpjJB@=KJZTHyaȦ*P QI	*ZPTdjIHD#Q*LaEIq"b)5c˪UTQdR"b+<RM\CE'I85H	ձxMXU=iRB J xXY&b a@Pxxxh,<8XLP<J]PD*ZRXDmmmmmmmmmlEaDRNRX\E'>emmmmmmmmmQb A,,<bDRNRadRqAЀj$ZTHyaJ$a%<i'I8IDhpPD)'	(L|P]E'I8IDr)8048~D yTHQ1! `
T, 	)(k%  $          ,...
                 ./usr/lpp/xlC/iclui/samples/lancelot/lperswin.hpp G              $          $          /*******************************************************************************
* FILE NAME: lperswin.hpp                                                      *
*                                                                              *
* DESCRIPTION: Frame window for matching personnel                             *
*                                                                              *
* Class                                                                        *
*   LPersonnelWindow                                                           *
*   LPersonnelWindowCommandHandler                                             *
*   LPersonnelCnr                                                              *
*   LPersonnelCnrObject                                                        *
*   LPersonnelWindowHelpHandler                                                *
*                                                                              *
* COPYRIGHT:                                                                   *
*   Licensed Materials - Property of IBM                                       *
*   (C) Copyright IBM Corporation 1992, 1994                                   *
*   All Rights Reserved                                                        *
*   US Government Users Restricted Rights - Use, duplication, or disclosure    *
*   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
*                                                                              *
*******************************************************************************/
#ifndef _LPERSWIN_
  #define _LPERSWIN_

#include <iapp.hpp>
#include <irect.hpp>
#include <istring.hpp>
#include <iframe.hpp>
#include <ititle.hpp>
#include <iinfoa.hpp>
#include <imenubar.hpp>
#include <icmdhdr.hpp>
#include <icnrhdr.hpp>
#include <icnrmhdr.hpp>
#include <ievent.hpp>
#include <icnr.hpp>
#include <icnrobj.hpp>
#include <icnrctl.hpp>
#include <icnrcol.hpp>
#include <ipopmenu.hpp>
#include <ifont.hpp>
#include <imsgbox.hpp>
#include <ihelp.hpp>
#include <ihelphdr.hpp>
#include "lcnrobj.hpp"
#include "ldbase.hpp"
#include "ldbqry.hpp"
#include "lancelot.h"

class LPersonnelWindow;

class LPersonnelCnrObject : public LCnrObject
{
    friend class LPersonnelCnr;
    public:

        LPersonnelCnrObject( const LPersonnelCnrObject& cnrobj );

        LPersonnelCnrObject( unsigned long icon,
            const EmployeeData& employee );

        virtual
         ~LPersonnelCnrObject();

        EmployeeData
          employeeRecord() const;

    private:
        EmployeeData
          theEmployee;
};


class LPersonnelCnr : public IContainerControl,
    protected ICnrHandler,
    protected ICnrMenuHandler

{
    public:
        LPersonnelCnr( unsigned long id, IWindow* parent,
            IWindow* owner, IRectangle location=IRectangle() );
        virtual
         ~LPersonnelCnr();

        LPersonnelCnrObject
         *lastPopupMenuObject();
        LPersonnelCnr
         &setLastPopupMenuObject( LPersonnelCnrObject* object );

    protected:
        Boolean
          makePopUpMenu( IMenuEvent& evt ),
          enter( ICnrEnterEvent& evt ),
          help( ICnrHelpEvent& evt );

    private:
        LPersonnelCnrObject
         *pCnrObject[ ID_PERSONNEL_MAX_CNROBJECTS ];
        IContainerColumn
            colIcon,
            colIconText,
            colLastName,
            colFirstName,
            colMiddleInitial,
            colEmployeeNumber,
            colInternalPhone,
            colExternalPhone,
            colInternalAddress,
            colExternalAddress,
            colRoom,
            colBuilding,
            colDepartment,
            colEmployeeType,
            colManagerNumber,
            colManagerName;
        LPersonnelCnrObject
         *ptheLastPopupMenuObject; // Remove this when feature #1131 is ready
        IHelpWindow
         *helpWin;
        IPopUpMenu
         *popm;

};

class LPersonnelWindowCommandHandler : public ICommandHandler
{
    public:
        LPersonnelWindowCommandHandler( LPersonnelWindow* owner, IHelpWindow* helpWin, LPersonnelCnr* cnrCtl );
        virtual
         ~LPersonnelWindowCommandHandler();
        virtual Boolean command( ICommandEvent& event );
        LPersonnelWindowCommandHandler
         &openAction( LPersonnelCnrObject* cnrObject );
        LPersonnelWindowCommandHandler
         &createAction( LPersonnelCnrObject* cnrObject );
        LPersonnelWindowCommandHandler
         &transferAction( LPersonnelCnrObject* cnrObject );
        Boolean
          deleteAction( LPersonnelCnrObject* cnrObject );
    private:
        LPersonnelWindow
         *pOwner;
        IHelpWindow
         *pHelp;
        LPersonnelCnr
         *pCnr;
};

class LPersonnelWindowHelpHandler : public IHelpHandler
{
    public:
        LPersonnelWindowHelpHandler();
        virtual
          ~LPersonnelWindowHelpHandler();
        virtual Boolean
          keysHelpId( IEvent& event );
};


class LPersonnelWindow : public IFrameWindow
{

    public:
        LPersonnelWindow( IWindow* owner, QueryIntersection& bagOfIds );
        virtual
         ~LPersonnelWindow();

        IHelpWindow
         *helpWindow() { return &help; }
        LPersonnelWindow
         &populate( QueryIntersection& bagOfIds );

    protected:
        Boolean
          command( ICommandEvent& evt ),
          keysHelpId( IEvent& evt );


    private:
        ITitle
          title;
        IMenuBar
          menubar;
        IInfoArea
          infoarea;
        LPersonnelCnr
          cnr;
        IHelpWindow
          help;
        LPersonnelWindowCommandHandler
          cmdHdr;
        LPersonnelWindowHelpHandler
          helpHdr;

};
#endif
 <ik  $        
  ,...
         N  
      ./usr/lpp/xlC/iclui/samples/msgbox/Makefile.OS2          $          $          #*******************************************************************************
#* FILE NAME: Makefile          (Message Box Sample Program) for OS/2          *
#*                                                                             *
#* COPYRIGHT:                                                                  *
#* ----------                                                                  *
#* Copyright (C) International Business Machines Corp., 1992,1994.             *
#*                                                                             *
#* DISCLAIMER OF WARRANTIES:                                                   *
#* -------------------------                                                   *
#* The following [enclosed] code is sample code   created   by IBM             *
#* Corporation.    This sample code is not part of any standard IBM product    *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",            *
#* without warranty of any kind.  IBM shall not be liable for any damages      *
#* arising out of your use of the sample code, even if they have been          *
#* advised of the possibility of such damages.                                 *
#*                                                                             *
#*******************************************************************************

# Make file assumptions:
#    - Environment variable INCLUDE contains paths to:
#       IBM C Set++ target_directory\include;IBM C Set++ target_directory\ibmclass;
#       OS/2 Developer's Toolkit target_directory include paths
#    - Environment variable LIB contains paths to:
#       IBM C Set++ target_directory\lib;
#       OS/2 Developer's Toolkit target_directory lib paths
#    - Current directory contains source files.  Originals are in:
#       IBM C Set++ target_directory\samples\iclui\msgbox
#    - current directory will be used to store:
#       object, executable, and resource files

ERASE=ERASE
GCPPC=ICC.EXE
GLINK=ICC.EXE

ICLCPPOPTS=/GM /GD /DIC_TRACE_ALL /DIC_DEVELOP /DIC_PM

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS)

GCPPLFLAGS=/Tdp /B" /pmtype:pm"

all:  msgbox.exe msgbox.hlp


msgbox.exe:  msgbox.obj msgbox.res
        $(GLINK) $(GCPPLFLAGS) /Fe"msgbox.exe" dde4muii.lib dde4cci.lib \
          msgbox.obj
        RC msgbox.res msgbox.exe

msgbox.obj:  msgbox.cpp msgbox.hpp msgbox.h
        $(GCPPC) /C $(GCPPFLAGS) msgbox.cpp

msgbox.res:  msgbox.rc msgbox.h
        RC -r msgbox.rc

msgbox.hlp:  msgbox.ipf
        IPFC msgbox.ipf

clean:
        $(ERASE) msgbox.exe
        $(ERASE) msgbox.obj
        $(ERASE) msgbox.res
        $(ERASE) msgbox.hlp
  k>F  $        

  -.׮.׮.
           

      ./usr/lpp/xlC/iclui/samples/msgbox/Makefile OS2          $          $          #******************************************************************************
#* FILE	NAME: Makefile		(Message Box Sample Program) for AIX	      *
#*									      *
#* COPYRIGHT: Copyright	(C) International Business Machines Corp., 1992,1994. *
#*									      *
#* DISCLAIMER OF WARRANTIES:						      *
#*   The following [enclosed] code is sample code created by IBM	      *
#*   Corporation.  This	sample code is not part	of any standard	IBM product   *
#*   and is provided to	you solely for the purpose of assisting	you in the    *
#*   development of your applications.	The code is provided "AS IS",	      *
#*   without warranty of any kind.  IBM	shall not be liable for	any damages   *
#*   arising out of your use of	the sample code, even if they have been	      *
#*   advised of	the possibility	of such	damages.			      *
#*****************************************************************************/
#*NOTE:	WE RECOMMEND USING A FIXED-SPACE FONT TO LOOK AT THE SOURCE.

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/msgbox
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-g -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

ICSAMPLESRESDIR=$(HOME)

all:  msgbox	$(ICSAMPLESRESDIR)/Msgbox msgbox.hlp


msgbox:	 msgbox.o
	$(GLINK) $(GCPPLFLAGS) -omsgbox	msgbox.o \
	  -libmuis -libmcls

msgbox.o:  msgbox.cpp msgbox.hpp msgbox.h
	$(GCPPC) -c $(GCPPFLAGS) msgbox.cpp

$(ICSAMPLESRESDIR)/Msgbox: msgbox.rc msgbox.h
	ipmrc2X	-I. msgbox.rc $(ICSAMPLESRESDIR)/Msgbox

msgbox.hlp: msgbox.ipf
	ipfc *.ipf

clean:
	$(ERASE) msgbox
	$(ERASE) msgbox.o
	$(ERASE) msgbox.hlp
	$(ERASE) $(ICSAMPLESRESDIR)/Msgbox
	$(ERASE) $(TEMPINC)/*
sgbox.kFP  $          -...
         (        ./usr/lpp/xlC/iclui/samples/msgbox/README e OS2          $          $          ***************************************************************************
* FILE NAME: README            (Message Box Sample Program) for AIX       *
*                                                                         *
* COPYRIGHT: Copyright(C) International Business Machines Corp.,1992,1994.*
*                                                                         *
* DISCLAIMER OF WARRANTIES:                                               *
*   The following [enclosed] code is sample code created by IBM           *
*   Corporation.  This sample code is not part of any standard IBM product*
*   and is provided to you solely for the purpose of assisting you in the *
*   development of your applications.  The code is provided "AS IS",      *
*   without warranty of any kind.  IBM shall not be liable for any damages*
*   arising out of your use of the sample code, even if they have been    *
*   advised of the possibility of such damages.                           *
*-------------------------------------------------------------------------*
* Sample program for demonstrating different styles of message boxes      *
*   in the IBM User Interface Class Library.                              *
***************************************************************************

***************************************************************************
* Shipped file list:                                                      *
*   README       - Instructions for using this sample program on AIX      *
*   msgbox.cpp   - Source code for main() and AMsgBoxDemo class           *
*   msgbox.hpp   - Class header file for AMsgBoxDemo                      *
*   msgbox.h     - Symbolic definition file                               *
*   msgbox.rc    - OS/2 PM resource file                                  *
*   msgbox.ipf   - Information Presentation Facility help file source     *
*   msgbox.hlp   - IPF file generated from msgbox.ipf (ipfc)              *
*   Makefile     - AIX make file to build the sample program              *
*   Makefile.OS2 - make file to build the sample program on OS/2          *
* Generated file list:                                                    *
*   msgbox.o     - Object file generated from compiling msgbox.cpp        *
*   Msgbox       - X resource file converted from msgbox.rc (ipmrc2X)     *
*   msgbox       - Executable program                                     *
* Use  make        to generate the files above.                           *
* Use  make clean  to clean up (erase) generated files.                   *
***************************************************************************

***************************************************************************
* File Relationship Diagram                                               *
*                                                                         *
*                  msgbox.h                                               *
*                                                                       *
*  msgbox.hpp                                                           *
*                                                                      *
*                                                                      *
*      v                                                                *
*  msgbox.cpp  <  > msgbox.rc                         *
*                                                                       *
*                                      ipmrc2X                           *
*                                                                       *
*      v                                   > Msgbox         *
*    icc -c >  msgbox.o                                               *
*                                                  **                    *
*                                 msgbox.ipf  ipfc > msgbox.hlp     *
*                                                                        *
*                     v                                                   *
*                  icc -o > msgbox         *
*                                                                         *
*  (** If available, ipfc can be used to generate the .hlp file.)         *
***************************************************************************

***************************************************************************
*                                                       <derived from>    *
* Window Parent Relationship Diagram:          Diagram  ͻ     *
*                                                  Key: Class Name      *
*                   IApplication::current().run()       ĺ     *
*                                                       Object Name     *
*                           <IFrameWindow>              ͼ     *
*                           ͻ                                *
*                           AMsgBoxDemo                                 *
*                           ĺ                                *
*                            mbDisplay                                  *
*                           ͼ                                *
*                                                                        *
*                        Ŀ          *
*                  ͻ     ͻ   ͻ     *
*                  IMultiLineEdit     IHelpWindow   IMessageBox     *
*                  ĺ     ĺ   ĺ     *
*                   mbResponses        mbHelp        mb             *
*                  ͼ     ͼ   ͼ     *
*                 (Client Window)                                         *
***************************************************************************

***************************************************************************
* The msgbox sample application can be built by entering:                 *
*                                                                         *
*   make                                                                  *
*                                                                         *
* with no options while in the directory containing the message box       *
* sample application files.  The makefile is named                        *
*   Makefile                                                              *
*                                                                         *
* See the comments in Makefile for assumptions about the location of      *
* files required to build this sample application.                        *
*                                                                         *
* To clean up the files generated from running make, enter:               *
*                                                                         *
*   make clean                                                            *
*                                                                         *
* while in the directory containing the message box sample program files. *
***************************************************************************
k6o  $        
  -...
         (  
      ./usr/lpp/xlC/iclui/samples/notebook/Makefile.OS2 G              $          $          #*******************************************************************************
#* FILE NAME: Makefile          (Notebook Sample Program) for OS/2             *
#*                                                                             *
#* COPYRIGHT:                                                                  *
#* ----------                                                                  *
#* Copyright (C) International Business Machines Corp., 1992,1994.             *
#*                                                                             *
#* DISCLAIMER OF WARRANTIES:                                                   *
#* -------------------------                                                   *
#* The following [enclosed] code is sample code   created   by IBM             *
#* Corporation.    This sample code is not part of any standard IBM product    *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",            *
#* without warranty of any kind.  IBM shall not be liable for any damages      *
#* arising out of your use of the sample code, even if they have been          *
#* advised of the possibility of such damages.                                 *
#*                                                                             *
#*******************************************************************************

# Make file assumptions:
#    - Environment variable INCLUDE contains paths to:
#       IBM C Set++ target_directory\include;IBM C Set++ target_directory\ibmclass;
#       OS/2 Developer's Toolkit target_directory include paths
#    - Environment variable LIB contains paths to:
#       IBM C Set++ target_directory\lib;
#       OS/2 Developer's Toolkit target_directory lib paths
#    - Current directory contains source files.  Originals are in:
#       IBM C Set++ target_directory\samples\iclui\notebook
#    - current directory will be used to store:
#       object, executable, and resource files

ERASE=ERASE
GCPPC=ICC.EXE
GLINK=ICC.EXE

ICLCPPOPTS=/GM /GD /DIC_TRACE_ALL /DIC_DEVELOP /DIC_PM

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS)

GCPPLFLAGS=/Tdp /B" /pmtype:pm"

all:  notebook.exe notebook.ico cheetah.bmp monument.bmp tajmahal.bmp wxmap.bmp


notebook.exe:  notebook.obj notebook.res
        $(GLINK) $(GCPPLFLAGS) /Fe"notebook.exe" dde4muii.lib dde4cci.lib \
          notebook.obj
        RC notebook.res notebook.exe

notebook.obj:  notebook.cpp notebook.hpp notebook.h
        $(GCPPC) /C $(GCPPFLAGS) notebook.cpp

notebook.res:  notebook.rc notebook.h
        RC -r notebook.rc

clean:
        $(ERASE) notebook.exe
        $(ERASE) notebook.obj
        $(ERASE) notebook.res
k1  $          -...
                 ./usr/lpp/xlC/iclui/samples/notebook/Makefile OS         $          $          #******************************************************************************
#* FILE	NAME: Makefile		(Notebook Sample Program) for AIX	      *
#*									      *
#* COPYRIGHT: Copyright	(C) International Business Machines Corp., 1992,1994. *
#*									      *
#* DISCLAIMER OF WARRANTIES:						      *
#*   The following [enclosed] code is sample code created by IBM	      *
#*   Corporation.  This	sample code is not part	of any standard	IBM product   *
#*   and is provided to	you solely for the purpose of assisting	you in the    *
#*   development of your applications.	The code is provided "AS IS",	      *
#*   without warranty of any kind.  IBM	shall not be liable for	any damages   *
#*   arising out of your use of	the sample code, even if they have been	      *
#*   advised of	the possibility	of such	damages.			      *
#*****************************************************************************/
#*NOTE:	WE RECOMMEND USING A FIXED-SPACE FONT TO LOOK AT THE SOURCE.

# Make file assumptions:
#    - IBM C Set++ User	Interface Class	Library	includes are in:
#	/usr/lpp/xlC/include
#      Otherwise the LOCALINCS environment variable should contain "-I"
#	 followed by the complete path to the include files.
#    - IBM C Set++ User	Interface Class	Library	lib files are in:
#	/usr/lpp/xlC/lib
#      Otherwise the LOCALLIBS environment variable should contain "-L"
#	 followed by the complete path to the include files.
#    - The current directory contains source files.  Originals are in:
#	/usr/lpp/xlC/iclui/samples/notebook
#    - The current directory will be used to store all generated files
#	except the application resource	file.
#    - The directory specified by ICSAMPLESRESDIR will be used to store
#	the application	resource file.	It defaults to $HOME  .

ERASE=rm -f
GCPPC=xlC
GLINK=xlC

ICLCPPOPTS=-g -DIC_TRACE_ALL -DIC_DEVELOP -qtwolink

TEMPINC=$(PWD)/tempinc

#ICLINFO=-qinfo=all:nogen:nopor:novft

GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS) $(ICLINFO)	-+ -qtempinc=$(TEMPINC)	\
	  $(LOCALINCS) -I.

GCPPLFLAGS=$(GCPPFLAGS)	$(LOCALLIBS) -L.

ICSAMPLESRESDIR=$(HOME)

all:  notebook $(ICSAMPLESRESDIR)/Notebook notebook.xpm	\
	cheetah.xpm monument.xpm tajmahal.xpm wxmap.xpm


notebook:  notebook.o
	$(GLINK) $(GCPPLFLAGS) -onotebook notebook.o \
	  -libmuis -libmcls

notebook.o:  notebook.cpp notebook.hpp notebook.h
	$(GCPPC) -c $(GCPPFLAGS) notebook.cpp

$(ICSAMPLESRESDIR)/Notebook: notebook.rc notebook.h
	ipmrc2X	-I. notebook.rc	$(ICSAMPLESRESDIR)/Notebook

notebook.xpm:  notebook.ico
	ibmp2X notebook.ico

cheetah.xpm:   cheetah.bmp
	ibmp2X cheetah.bmp

tajmahal.xpm:  tajmahal.bmp
	ibmp2X tajmahal.bmp

monument.xpm:  monument.bmp
	ibmp2X monument.bmp

wxmap.xpm:     wxmap.bmp
	ibmp2X wxmap.bmp

clean:
	$(ERASE) notebook
	$(ERASE) notebook.o
	$(ERASE) $(ICSAMPLESRESDIR)/Notebook
	$(ERASE) notebook.xpm
	$(ERASE) cheetah.xpm
	$(ERASE) tajmahal.xpm
	$(ERASE) monument.xpm
	$(ERASE) wxmap.xpm
	$(ERASE) $(TEMPINC)/*
rk
  mmmmmmmm"(=JIJ x!'% %ORp04I(@pK,)mmmmmmmmmphTVJ$a%<hQIIUUUUUU2mmmmmmmmml(  Ry1PPD)'	(@Pb$BZTHya%JЀpx(TLHH<DX"(, p

ăGTVUK@CYaMmmmmmmmmm[D@⢰PD)'1qOR+@=
n
HJ$IP6<\e&mmmmmmmmmaE%ORpjIJ$ &.2V:4"DQ("zTMXe1qOR+CTMX
>5H.3T)&PH xJI8zR
I@pya%mmmmmmmmme4D*+%ORpjI4"
Ъ 1RI8zSUUUUUUUUUUUUUS-mmmmmmmmmJ$ &.2V"(=JI@L\e&tUH$#P6$iTiEpy2JCY,e<˪.D5H	ՎV%GI&PHI"#	p|  .$x=)	$+0GUUUTHT)&PH$x=),"YaMmmmmmmmmm[D@⢰PD)'1q*jB 1RI8zSUUUUUUUUUUUUUS-mmmmmmmmmJ$ &.2V DRNRb)5c,"YaMmmmmmmmmm[D@⢰PD)'1q,.I2JAI4UUUUUUU2@
Te<4dimmmmmmmmmmXy2JCYPD)'1q(qO@.JʠdRLǃҐ%mmmmmmmmme4D*+%ORpj4"
ЪmmmmmmmmmmXPD)' DRNRD5I!z" h@IDqCJ.@IDqJJ h@Vb&8LY#., Գ	)(yâD CJRPGi$zUII@4-H9iQI5dT<]Q iII@4PXY$D=P1uFprBfRP<D@$hrb<X:<`aЈPD)'1q4)&PHJȤDV$a4b<$Hi00VxDQ("zTMXY(q%dRAM0xO8H K$aãJ%ORpjIK"e<A$9"
$F4ɔ8zR$TP00VxDQ("zTMXY(q%dRLǃґ"1uFpaORGG"0:J$ &.2VE!x=)	Y)iAF(D&TiaORGG"0:J$ &.2VE!x=)	YaORa1uFparJ(E+<`t"(=JI@L\e&,Cɔ8zR)R҂8@xO8< QDtx)YDRNRb)5`idRLǃҐHx9iAF A|<]Q
<cJ%ORpjIK"e<AGNTiI@J%ORpjIK"e<@ I@|<]Q iRG"0:J$ &.2VE!x=)	Y$Č&|<]QLǃҐX<GG"0:J$ &.2VE!x=)	Y(q(|<]Q	1FRRb@tx)YDRNRb)5`idRLǃҐH$JEIb<I0&gE'I85H	ՁHy2JBVE `5(	M0x)80B@DF.	0<]QEHPJRb)5c "#, YaOU&(Ĕ=K0-*Z0K"Գ	)(UUUUUUCe«1LQ(za%%TVH-`%LiY*T (@,, rCh':YHR  9(1DHx-$K"Ixae?K"!yIg"!UUUUUUUUUUT6_(<:M<OT<0<:M<OP- 0 *MC1M0 @4P4H"#	]QqRj p$$ADHá@i&
i(qH1t.O85SO8AKJ
0B'0 @4P4J
0B'0 @4P4 QF]QqRj px9iAF A<0<:M<Q瓇TaT@)$qJ0 *MCICY4p @4P4ɔ8zRL<0<:M<I0J @4P4&(jP0aᅖ,nJLj<I	(UUUUUUUUUUUCe4=@VI	(H9cPX(XP<*&%.1M!(`@:@⠱ 8$>]QAM!(`@: P,H	TiI rDId8%P4rBP$B]QLǃґ"ҀJ)X!&$h- 厅A``HĀ0&]Q pԐRBL I@ZA
B@@@|<0O8<"zVI	(H9cPX(X< `X LH>]Q p!(`@:`pT<0O8< QD%P4rBPx 8pp*]Q
<a(`@:Bb`xauFpT	(VI	(H9cPX(X !@]Q iRQJ	0%Ai,t*