Old Virtual Pen Project History
31 July 2002
- Continuing cleanup in VP.FrontEnd.Logic.Selector,
VP.FrontEnd.GUI.SamplePalette, etc.
- Redrawing of the samples by the sample palette is now also done in the
main RefreshContents method, which provides
a much smoother display.
- The displayed sample matches the selected object(s). If several different
objects are selected, then the default polyline sample is used. Perhaps we
should have a special shape, different from the default polyline
sample ?
- Improved thin line selection : the visual feed-back has now a minimal
width, which makes it visible whatever scale the document is displayed
in.
30 July 2002
- Debugging : fixed an assertion failure in the grip management, caused
by a bug in DocObj::MultiPtCreator.
- Working on the attribute palette.
- Afternoon off duty.
29 July 2002
- Fixed following small problems :
- Do not display first grip while creating a figure such as a polygonal
line.
- Moved sub-tools creation into the MainToolBase
class (this is no longer the responsibility of the SamplePalette,
which allows for a much simpler update and expansion of the tools).
- Added customised attribute edition (e.g. hiding of the unused surface
attribute for a segment).
- Debugging.
- Started redesign of the attribute palette.
26 July 2002
13-25 July 2002
12 July 2002
- Rewritten the string width calculation, using a simpler method than the
previous rendering to a monochrome 1-pixel high bitmap.
- Finishing the implementation of the help area label class, which needed
the ability to display rich text. Currently, there is a very simple parser
in the VP.Forms.ThemeHelper class, which
recognizes the <b> and </b> tags.
11 July 2002
- Improving creation : primary and secondary grips are only detected if
the Shift key is held down; automatic validation grips (open/close) are
detected if Shift is not held down.
- Worked on the help area in the main tool palette. Daniel won't like it,
but I do :-)
10 July 2002
- Trouble with my disk mirroring setup. I spent almost all day trying to get
it work again properly...
09 July 2002
08 July 2002
- Implemented grip management during object creation : this allows the
user to move grips in a figure while the figure is being created. This works
also with the undo/redo features, but needed a few fixes to the object
creation code (grips were not numbered properly and information was not
always stored in the proper fields).
- Experimented with keyboard event handling and pre-processing (which will
be needed to trap the Alt key and inhibit the automatic repetition events
sent by Windows for Shift, Ctrl and Alt keys).
07 July 2002
06 July 2002
- The bug hit on 03 July was in fact the combination of several problems,
which had to be addressed separately :
- Moving in the command list did not properly hand the FORK
markers.
- Redoing a list of commands which included a FORK
marker skipped the element immediately after the FORK.
- Undoing and redoing interfered with the temporary point creation; now,
after every undo and redo event, the object creator (ObjectCreation.cs)
queries the core to know if/what object is being edited.
- The grips added during creation by the VP::DocObj::GraphicCreator
were not all removed.
- Downloaded OpenOffice sources. I think there might be interesting code in
the MySpell tools... Also explored the ispell
solution.
- I finally got access to Microsoft Typography Group's Open Type Layout
Services Library (OTLS), which might help me in the OpenType information
extraction, when implementing text into VP.
05 July 2002
04 July 2002
- Mostly reading today. Because of other
03 July 2002
- Working on creation feed-back : show the grips of the objects being
created. While working on this feature, I hit a bug with undo/redo commands
while creating a figure.
- Afternoon: no work...
02 July 2002
- Candidate highlighting of objects with transparent surfaces also
highlighted the surface, which was not a good idea when painting wires with
the polyline. Fixing this required quite a bit of work in the a.selgrips
management class (more specifically, it has to analyse the a.alpha
attribute found in the a.surface moderator,
but without doing any painting).
- Broadcast a VP::CoreEvent::Doc_UndoRedoPending
event before any undo/redo operation (without any delaying), so that the
anyone who tweaked the document may restore it to a safe state (see below).
- Fixed a few problems with the temporary line which is following the cursor
(especially with respect to undo/redo and tool switching).
- Surface testing also tests the outline of the figure, so that figures with
a large outline get detected in an intuitive way.
- Fixed two bugs related with the loading of a document with mismatched
plug-ins :
- The missing type definitions (UCID
to type mapping) were not added properly in the document, and the wrong
index was used to declare the new type definition objects.
- The document views were not reinitialised, which caused
trouble since the associated document view definition object could be
located elsewhere in the newly loaded document. A full delete
and reconstruction of all VP::DocView
instances is needed when the Reset event
is generated internally.
- Compiled paintlib
under Visual Studio .NET (this might become a component of VP in the near
future).
- Fixed graphic glitches related to the asynchronicity of the BelowCursorFinder
class (this took me about 6 hours, until late in the night to get it right).
01 July 2002
- After getting feed-back from Daniel about the version I sent him on last
Friday, there were a lot of small things to fix in the user interface behaviour.
I almost fixed everything (there are still 5 open problems).
- When creating a polyline, display the last segment from the current end
point to the cursor position, even when the user does not press and
drag : this gives a better visual feed-back of what is happening.
- Transparent surfaces don't automatically get detected. The user has to
press CTRL in order to activate transparent surface detection.
- When switching tools, the object creation is validated.
History of previous months.