


README.TXT             Codewright Fusion for MSVC++ (Version 1.0)
==========

  This README.TXT file contains important information about Premia
  Corporation's Codewright Fusion for MSVC++.  Read this file in its entirety 
  for the latest information regarding this release of Fusion.  
  
  This file has been divided into the following six sections for easy
  reference:

        1. TECHNICAL SUPPORT
        2. INSTALLATION
        3. GENERAL USE
        4. RELEASE NOTES
        5. ADDED FUSION FUNCTIONALITY

  Suggestions for enhancements and constructive criticism are always
  welcome.  We will continue to add new features and functionality
  based on customer feedback.


1. TECHNICAL SUPPORT
--------------------
  If you have any problems, please consult this file, the on-line 
  help, or the 'Fusion Getting Started' manual first.  If you still 
  have a question and need assistance, help is available from the 
  following sources:

  a. CompuServe Section -- We recently "moved in" at section 9 of the
     WINAPA forum on CompuServe.  Tech support and other Codewright
     users can often give you quick help if you logon and leave a
     message.  There are also useful files available for download
     there.

  b. FAX - (503)641-6001

  c. BBS - (503)646-1374.  You are welcome to leave messages report
     bugs or make suggestions here.  File area 3 contains Codewright
     specific add-ons, patches and applications.

  d. Write to us at the following address:

     Premia Corporation
     1075 NW Murray Boulevard, Suite 268
     Portland, Oregon 97229

  e. If you urgently require information to continue using
     Codewright Fusion, or if you have an urgent bug report, give us
     a call at (503)641-6000.


2. INSTALLATION
---------------

  To install Codewright Fusion for MSVC++ 1.x, execute the INSTALL.EXE program
  located on Disk 1.  If you currently have Codewright V3.0 install, you may
  want to choose a different directory.  Although the EXEs and DLLs will
  install and run alright, the makefiles installed by Fusion will be
  incompatible with the source code in Codewright V3.0.  Installing in
  the same directory as Codewright V3.1 is recommended only for ease of
  DLL recompilation.

  If you install in a directory other that where Codewright V3.1 is located
  and you try to rebuild the source code, you will be required to change the
  CWDIR macro definition in the appropriate makefile.

  The default keymap when initially installed is CUA.  If you would like
  to change this, see the "Options/Keymap/Select keymap..." menu entry.


3. GENERAL USE
--------------

  To run, either invoke the file 'CWVC.EXE' or place it in your 
  'Program manager's STARTUP group.'

  NOTE: CWVC.EXE must be run before MSVC.EXE is invoked.
  
  Once CWVC.EXE is running, it will periodically check to see if
  MSVC.EXE has been started.  If it has, it will latch into the
  edit windows of MSVC.  You will notice a new icon on the MSVC
  ribbon.  Pressing this will toggle the mode of the current edit
  to either Codewright or MSVC++.  This will allow you to take 
  advantage of both systems if one is lacking a certain feature.

  You may also invoke MSVC through cwvc by specifying MSVC on the
  command line (i.e.  'cwvc.exe msvc.exe' ).  To invoke MSVC and
  the dismiss CWVC use the -u option.  For example to invoke CWVC
  which in turn starts MSVC and then removes itself, use

       cwvc.exe  msvc.exe -u

  You may use all of the normal keyboard commands you are used too
  including command line prompting.

  When released, use of CWVC.EXE will not preclude you from using 
  the Codewright stand-alone (at least it shouldn't).  See the note
  below in "CURRENT STATUS" for more details on this.

  You may find it useful to bind keys within Codewright to functions
  within VC++.  For example, in the Brief keymap <F10> is usually bound
  to API command.  However, in VC++ it is the step over command.  I have
  found it useful to bind <Shift-F10> to the VC++ step over command.
  To do this, there is a new function in Fusion which allows you to bind
  any key to a VC++ menu entry, MenuCmnd( LPSTR, LPSTR).  The following 
  line will bind <Shift-F10> to the Debug/Step over menu entry:

      KmapAssign='<Shift-F10>','MenuCmnd "debug" "step over"'

  The first parameter is the top level menu name and the second is the
  submenu entry.  Only enough characters to uniquely identify the 
  entry are necessary.

  One important note to mention which may be confusing once you 
  begin using Fusion is the fact that your files may be saved more often
  than you request them to be.  There are several menu entries which will
  cause this to happen.  The reason is that both Fusion and VC++ are working
  off of the same file and it must be kept in sync when switching between
  the two programs.  A few of the entries are listed below.  

     - Browse/Go to Definition
     - Browse/Go to Reference
     - Browse/Class Wizard
     - Help/Search for help on
     - Project/AppWizard
     - Tools/ *All commands*

  The Codewright Fusion icon which appears on the VC++ ribbon will toggle
  between the VC++ editor and Fusion.  All files will be saved automatically
  when this is performed.  Currently, this is the only indication whether
  you are in Fusion or VC++.


4. RELEASE NOTES
----------------  
  A few items of interest have been listed below detailing know problems,
  limitations, and recommendations.  Remember, Fusion's purpose is to
  provide you, the programmer, with a richer programming environment within
  VC++.  However, in doing so, many of the limitations of VC++ still remain.
  For a an editor with very few limitations or restrictions, try Codewright
  Professional in conjunction with VC++/Fusion and reap the benefits or both.

  a) WINDOWS: Normally, Codewright has the ability to create multiple MDI 
     windows.  However, in Fusion, Codewright relies on VC++ to create the 
     window.  This will cause problems in several areas, most notably in 
     multiple buffer/file search and replace.  VC++ has a limitation of about 
     21 windows.  This may limit interactive searching if a window needs to
     be created for each file to be displayed when more than 21 files are
     to be used.

  b) SOURCE CODE: Codewright Fusion relies on the same source code 
     provided with Codewright V3.1.  You may still extend Fusion without
     Codewright V3.1 using the given libraries and include files.  See
     the SAMPLEVC directory install with Fusion for a brief example.  

  c) CODEWRIGHT DLL COMPATIBILITY: If you have the source for V3.1, you will 
     be required to rebuild each DLL for Fusion.  Don't forget to change the 
     DLL name, the LIBRARY name in the definition file (.DEF), and link with
     the Fusion specific import libraries (CWVDLL.LIB).  DO NOT load a DLL
     compiled and linked for Codewright into Fusion, or vice-versa.

  d) MINIMIZED/MAXIMIZED WINDOWS: You may notice strange behavior when
     minimizing or maximizing MDI windows.  This is a side effect of 
     Codewright running within VC++ and each program struggling for control.
     We hope to clear this up in a future release of Fusion.  If you are
     executing Fusion functions on multiple windows and things are working
     the way you'd expect them to, trying restoring any maximized window and
     try again.  Fusion tries to let VC++ maintain control yet sometimes
     it gets in way of the Codewright task at hand.

  e) MAXIMUM LINE LENGTH: VC++ has a maximum line length of ~251.  If you
     exceed this with Fusion and switch back to VC++, you will receive a
     dialog indicating so and the line will be truncated.

  f) FUSION BUTTON: The Fusion button which appears on the VC++ button bar is 
     provided to switch between Fusion and VC++.  Be aware that in doing so, 
     all modified buffers within Fusion are saved to disk.  This allows both
     editors to be in sync with each other.

  g) BREAKPOINTS: Currently, Fusion does not display debugger breakpoints.
     Look for this in a future version.

  h) SAVE AS: While editing within Fusion, you will notice that the 
     File/Save As menu entry remains disabled.  Fusion has the ability to
     reload a file that VC++ has changed, but not in reverse.  So, to 
     save a file under a different name, switch to VC++, save the file
     and switch back to Fusion.

  i) UNEDITED FILE:  If you come upon a file which Fusion seems unable to
     edit (i.e. editor won't switch from VC++ editor to Fusion), several
     things may be happening: the file name may be in a format that Fusion
     doesn't understand or the file may be locked in a mode which
     Fusion can't open.  Both are rare but be aware that it can happen.

  j) COMPILE/BUILD/REBUILD: While building, key input to Fusion may be
     extremely slow.  Remember, only one task can have the focus at a time
     and the compile (VC++ task) is utilizing most or the CPU time.  If this
     is a concern, switch to VC++ before initiating a build.

  k) INACTIVE MOUSE: Depending on your usage, dialogs may appear which appear 
     to have locked up the system because the mouse has stopped responding.  If
     you encounter this problem, try pressing ESC or some other key on the
     keyboard.  This is caused by the mouse to be captured by either Fusion
	 or VC++ without the other recognizing it.


5. ADDED FUSION FUNCTIONALITY
-----------------------------

- The new CWVC.INI contains key bindings which will overlay those of whichever
  keymap you select.  These bindings are the VC++ bindings you may already be
  accustomed to.  If not, you may easily removed them by commenting them out
  or deleting them from the [KmapAssign] section. 

- A new API function  'MenuCmnd' has been added to allow key bindings to
  map directly to VC++ menu entries.  It takes to parameters, the first
  being the menu name and the second being the menu entry (specify enough
  characters to make each name unique).  For example, use the following
  function to bind the <Shift-F8> to invoke a project build:
  
		KmapAssign="<Shift-F8>","MenuCmnd 'Project' 'Build'"

- Because you have to give up certain customization options to use Fusion
  instead of Codewright Professional, we have added a configurable popup 
  menuing system.  This if fully documented in the cwvc.mnu file located
  wherever you install Fusion.

  
