1.0 Beta 4
============================================

*******************************************************************************
General
There have been quite a lot of changes in QSA between beta3 and beta4, as
described in the announcement:
http://www.trolltech.com/products/qsa/qsa-revised.html

The changes include:
- Simplification of the Qt Scripter IDE to contain only editing and running
  capabilities, without a form editor and debugger.
- Increase application developers control over lowlevel API by removing
  the Qt API bindings and improving the QSObjectFactory.
- Include an easy to use Dialog framefwork.
- The IDE, editor and project execution does no longer require plugins to
  work. All components are compiled directly into QSA.

*******************************************************************************
QSScript
- New class, abstraction of sourcefiles and objectsource.

*******************************************************************************
QSScripter
- New class, abstraction of the IDE. 

*******************************************************************************
QSStackTrace and QSStackFrame
- New classes, used for error call stack in case of error.

*******************************************************************************
QSProject
- Removed function isOpened(), explicitly opening a project is no longer
  required for execution to work.

- Project does not write files to temporary directory before evaluating.
  All scripts are being held in memory at all time. This means no disk
  access unless explicitly stated using load() and save().

- Project file on disk is not updated on every reevaluation. Use explicit
  call to save() function to update.

- Added public constructor 

- Added functions for abstraction of script files and object sources:
    * createScript()
    * script()
    * scripts()
    * scriptNames()
    * scriptsModified()

- Added functions for managing editors:
    * createEditor()
    * editor()
    * activeEditor()
    * editorsModified()
    * commitEditorContents()
    * revertEditorContents()

- Added functions for project application objects
    * addObject()
    * removeObject()
    * objects()
    * clearObjects()

- Added functions
    * addSignalHandler()
    * removeSignalHandler()

- Text modified in editors are not directly reflected in project. Use
  editorsModified() and commitEditorContents() to update scripts.

- Added function for storing project to file, save( const QString & ).

- Added signals for project states:
    * editorTextChanged()
    * projectChanged()
    * projectEvaluated()

- Replaced functions for project storage:
    * open( const QString & ) with load( const QString & )
    * open( const QByteArray &, const QString & ) with loadFromData( QByteArray )
    * QByteArray projectData() with saveToData( QByteArray )
    
- Replaced functions: 
    * addSource() with createScript()
    * source() and objectSource with script()
    * QSProject::addFunction() with QSScript::addFunction()

- Replaced functions:
    * openIde() with QSScripter::show()
    * closeIde() with QSScripter::hide()

- Removed IDE flags related functionallity:
    * enum IdeFlags
    * setIdeFlags()
    * ideFlags().

- Removed functions for UI Form management: 
    * addForm()
    * removedForm()
    * forms()
    * formSouce()
    * formUi()

- Removed functionlastModified()

- Removed function projectName().

- Removed function setInterpreter().

- Removed functions init() and reset().

- Removed functions for editor management, as this is handled internally.
    * registerEditor()
    * and unregisterEditor()

*******************************************************************************
QSInterpreter

- QSInterpreter as standalone interpreter without the project backing it up,
  making it more light weight.

- QSInterpreter::defaultInterpreter() returns an interpreter without a project.

- Added functions:
    * presentObjects()
    * addTransientObject()

- Added functions for adding factories to interpreter
    * addObjectFactory()
    * addWrapperFactory()

- Added functions for error monitoring: 
    * throwError()
    * hadError()
    * errorMessage()
    * stackTrace()

- Changed constructor 
    * QSInterpreter( QSProject * ) to QSInterpreter( QObject *, const char * )
  Interpreters created with this constructor does not have a project!

- Changed evaluate() to take a QString scriptName, which is used for more
  detailed error reporting.

- Changed evaluate() and call() to return a QSArgument.

- Changed project(), will return 0 if interpreter does not belong to a project.

- Changed functions for introspection
    * globalClasses(), classesOf() and classes() with classes()
    * globalVariables() and variablesOf() with variables()
    * functionsOf() with functions().
    * new enum ClassFlags for querying for classes.
    * new enum FunctionFlags for querying for functions.

- Removed values Debug and AskForDebug from ErrorMode enum

- Replaced functions for application object management:
    * QSInterpreter::objects() with QSProject::objects(), returns persistent
      application objects.
    * QSInterpreter::addObject() with QSProject::addObject()
    * QSInterpreter::removeObject() with QSProject::removeObject()
    * QSInterpreter::clearObjects() with QSProject::clearObjects()

- Replaced functions:
    * QSInterpreter::addSignalHandler() with QSProject::addSignalHandler()
    * QSInterpreter::removeSignalHandler() with QSProject::removeSignalHandler()

*******************************************************************************
QSEditor
- Changed constructor:
    * QSEditor( QSProject*, QWidget*, const char* ) to 
      QSEditor( QWidget *parent, const char *name )

- removed function setProject(), handled by QSProject::createEditor() or 
  QSEditor::setScript()

- Added functions for synchronizing editor with script contents:
    * isModified()
    * commit()
    * revert()

- Added functions
    * setErrorMark()
    * removeErrorMark()

- Replaced functions: 
    * setSource() with setScript()
    * source() with script()

- Removed function save(), use commit()

- Removed function highlightLine(), use setErrorMark()

*******************************************************************************
QSObjectFactory 
- Changed constructor QSObjectFactory( QSInterpreter * ) to QSObjectFactory(),
  use QSInterpreter::addObjectFactory() to add factory interpreter.

- Added functions for representing static content in script classes.
    * staticClasses()
    * createStatic()

*******************************************************************************
QSWrapperFactory
- Changed constructor QSWrapperFactory( QSInterpreter * ) to QSWrapperFactory(),
  use QSInterpreter::addWrapperFactory() to add factory interpreter.

*******************************************************************************
QSToolkitFactory
- Class removed