You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1601 lines
52 KiB

2005-09-29 Maurizio Paolini <>
* Fix drawing of arcs with very small angle (patch by
F. Pasquarelli).
2005-09-27 Maurizio Paolini <>
* Imported PyKig, and made install as a binary script.
2005-09-16 Pino Toscano <>
* Move a text label by (2,2), so the attached ones should be less
sticky to the "parent" object.
2005-09-08 Pino Toscano <>
* Fix two bugs, patch by Maurizio Paolini.
2005-09-02 Pino Toscano <>
* Slightly change in the text when asking for the results of a
macro: tell the user that a macro can construct more than one
object per time.
2005-08-25 Inge Wallin <>
* Fix bug 111452: Code violates C++ spec with improper const and
iterator declarations.
2005-08-15 Pino Toscano <>
* Bump the version to 0.10.5 (I don't think to have enough stuff
to have a 0.11 version - at least at the moment).
* Small changes in the credits, putting me as maintainer.
* Small update in the TODO.
* Avoid setting empty captions in the KigFileDialog.
* Update a bit one tip.
* Add apidox comments for two classes.
2005-07-30 Pino Toscano <>
* With the help of the kde-usability team, I've refactored the Kig
exporter dialogs. These new ones are more usable than the previous
ones, more simply and more maintainable. This could make us
closing bug #101072.
2005-07-25 Pino Toscano <>
* Apidox improvements.
2005-07-24 Pino Toscano <>
* More apidox fixes.
2005-07-23 Pino Toscano <>
* Apidox fixes.
2005-07-06 Pino Toscano <>
* Apidox improvements.
2005-06-24 Pino Toscano <>
* When making the template fo a new script, give as args names the
names of the related objects, if they have one, as suggested by
Daniel Moyne. Otherwise, will be used argn as usual.
2005-06-20 Pino Toscano <>
* Moved the EditAngleSize dialog to the KigInputDialog class.
* Handle Return and Escape as key shortcuts to respectively accept
or reject a KigInputDialog.
2005-06-19 Pino Toscano <>
* Creating a new class, KigInputDialog. This new class is much
like KInputDialog, but it fits better Kig purpouses. At the moment
it has two methods to get one or two coordinates, made in a
cleaner way than the former ZoomArea class and
CoordinateSystem::getCoordFromUser(). Using it instead of the
former class/method listed above. This way we can construct a
custom input dialog accepting also markup text, allowing us to
give instructions much clear when we want the user insert a
coordinate, fixing also the bug #100007.
2005-06-16 Pino Toscano <>
* Re-enable the "snap" to points in construct mode.
2005-06-14 Pino Toscano <>
* Give to the user the possbility to select which element popup a
menu for.
2005-06-01 Pino Toscano <>
* Small changes to make the port to Qt4 less intrusive.
2005-05-25 Pino Toscano <>
* The tdefile_kig displays also whether the file is compressed or
2005-05-21 Pino Toscano <>
* Created a new system to select - in normal mode - one object
among some: using Shift (or Control) + LMB the user can select the
object he/she desire through a popup menu. This new system is
applyed also to to mouse hover/left click in construct mode, to
select one object if we have more than one valid object. This,
plus a search among the object under the mouse, allow the fixing
of bug #99870.
* Added a "tip of day" to inform the user of the possibility to
select any object from an object stack under the cursor.
* Give a different behaviour for Shift and Control keys in normal
mode: Shift make appear a popup to choose an object from the
object stack under the cursor; Control keep the selection.
2005-05-19 Pino Toscano <>
* Give to the tdefile_kig the ability to read info from compressed
2005-05-15 Danny Allen <>
* Added my new action icons for Kig, with SVG sources, changed
icons to "hi*" naming conventions.
2005-05-14 Pino Toscano <>
* Created a new system to select - in normal mode - one object
among some: using Shift (or Control) + LMB the user can select the
object he/she desire through a popup menu. This new system is
applyed also to to mouse hover/left click in construct mode, to
select one object if we have more than one valid object. This,
plus a search among the object under the mouse, allow the fixing
of bug #99870.
* Added a "tip of day" to inform the user of the possibility to
select any object from an object stack under the cursor.
2005-05-07 Pino Toscano <>
* Using three standard action in our popup menu instead of
creating new actions "from scratch". Removing the Toggle
fullscreen action created by hand, fixes also an ugly bug that
happened when choosing Toggle fullscreen from the popup to exit
from fullscreen.
2005-05-06 Pino Toscano <>
* Made Kig standard names for its icons, so artists can theme them
in their icon themes. Some files needed obviously changes.
2005-04-30 Pino Toscano <>
* When selecting a custom color for one object, put the old object
color as selected color in the Color dialog.
2005-04-28 Pino Toscano <>
* Other work on Cabri filter: can read styles and translations.
2005-04-27 Pino Toscano <>
* Some work also on Cabri filter: fixed a color, and imported four
2005-04-25 Pino Toscano <>
* Almost rewritten a core part of the KSeg import filter: some
object are handled in a more correct way than before (thus less
crashes, but some crashes still occurs with locuses). As a result,
some objects can be imported correctly now.
2005-04-20 Pino Toscano <>
* Give to the KSeg filter the ability to import names (called
labels) of objects. This is not so perfect, because we need to
decode better the read object label.
* Fix intersection points loading in KSeg filter.
2005-04-16 Pino Toscano <>
* Fixing a small issue when saving a file with no name set. The
name wasn't empty, but it contained a temp file. Luckly m_bTemp
stores whether using a temp file. This could fix bug #98142.
2005-04-15 Pino Toscano <>
* Correct size for some menu item icons, as reported by Danny
* Better handling of unexistant types found when loading a
* Corrected two strings, thanks to Danny Allen.
* Use KStdGuiItem in more places than before.
2005-04-14 Pino Toscano <>
* Committing fix for bug #100292. The new code makes the
ObjectHierarchy construction from QDomElement more safe than
before; the new "static constructor" and
ObjectImpFactory::deserialize() can report an error in case of.
* As a result of the fix, less assert() asre used in
deserialization code.
2005-02-21 Pino Toscano <>
* Again, bump the version number to 0.10.
2005-02-10 Dominique Devriese <>
* The rest of a fix for bug #98517. The problem was that
namecalcer's weren't being saved if they weren't shown on the
document. This fixes the previous fix to not crash on faulty
documents, but give a proper parser error. This should
permanently fix #98517.
* Fix this ChangeLog to document the previous fix for #98517.
2005-02-07 Maurizio Paolini <>
* Bug fix: new algorithm for calcPath in; the
previous had exponential complexity for some examples
2005-02-03 Dominique Devriese <>
* Add a nice new locus example: trifolium-of-delongchamps.kig
2005-02-03 Pino Toscano <>
* Bump the version number to 0.9.1.
2005-01-31 Maurizio Paolini <>
* added point/line/circle inversion with respect to a given
2005-01-26 Maurizio Paolini <>
* added many constructions related to polygons:
sides, center of mass, winding number, convexity
test, convex hull.
* changes in construct_mode (and in a few other
places) to allow the construction with a "cursor"
point that gives information on the constructed
object, but should not be inserted as argument.
This is used for a better interactive construction
of regular polygons
2005-01-20 Maurizio Paolini <>
* new "attaching" style for labels to objects, based on the
new RelativePointType. This type is a point located at a
relative position with respect to a given attachPoint()
associated to the ObjectImp. It depends on three arguments:
the object to which the position is relative and two DoubleImp
givin the x and y displacement. Now use for angles and
2005-01-18 Maurizio Paolini <>
* now the construction of a generic affinity and a generic
projectivity (defined by the image of 3 or 4 points) takes
advantage of the existence of polygon.
2005-01-15 Maurizio Paolini <>
* new PolygonBNPType corresponding to a polygon with a
generic number of vertices. It is constructed by selecting
the vertices and ending up selecting the first vertex again.
* the new ObjectConstructor::isAlreadySelectedOK method is a
technical addition, it returns false for all normal objects
(meaning that duplicated arguments are not acceptable). This
is introduced in order to implement the construction of
polygons "a la Drgeo".
2005-01-12 Pino Toscano <>
* Created a new KigPainter::drawArea() to draw and fill closed
areas. This new functions differs from drawPolygon, because the
old one is used to draw only polygons, while the new one is used
to draw all the other closed and filled areases.
* Adapted our CoordinateSystem's to use the new drawArea to draw
the axis arrows.
2005-01-09 Maurizio Paolini <>
* new action to construct the vertices of a polygon
* new action to construct a generic triangle (as a polygon) given
its vertices
2004-12-30 Dominique Devriese <>
* Fix for a bug where a name calcer wasn't saved if it was only
referred to from the object it is the namecalcer for, and not by
its own objectholder. This commit makes sure that no more such
files are generated, and that kig no longer crashes on such
files. Thanks to Pino Toscano for help in fixing this. (#98517)
2004-12-28 Maurizio Paolini <>
* polygons are filled; no boundary drawn
* fixed a problem when trasforming a segment with
a projective (nonaffine) transformation; in certain
cases the result is invalid (no longer a segment)
* fixed a bug in similitude transformation as suggested by
Pino Toscano (#85171)
2004-12-27 Pino Toscano <>
* Fix bug #95637: Scrolling does not work during construction of
a new object
2004-12-24 Pino Toscano <>
* Kig can now save and open compressed files with extension
.kigz. This format is a gzip compressed tarball.
2004-12-14 Pino Toscano <>
* More tooltips and "what's this" to some dialog.
* No more file name in every file.
* More control on macro name: when loading from file, if a macro
has no name, we'll assign it a bogus one (like "Unnamed macro
#id"). Furthermore, we ensure that the user don't set an empty
name for a macro in the Edit Types Dialog.
* Other misc changes.
2004-11-09 Pino Toscano <>
* Made kig.dektop and kig_part.desktop more compliant to's desktop entry specifications.
* Introduced PolygonImp, a new ObjectImp to handle all the types
of polygons (both generic and regular ones). Modified PoligonType
and PoligonBCVConstructor to use the new PolygonImp. Adapted also
the ObjectImpVisitor to visit PolygonImp.
* Improved the LatexExporter to export PolygonImp's.
* Fixed a crash that occurs when selecting (during a text label
construction) the property "Name" for an object with no
name(calcer) set.
* Other misc changes.
2004-11-08 Maurizio Paolini <>
* Scaling and stretching can be defined using two segments to
obtain the scaling ratio (as the ratio of their length). Added in
the Transformations menu, not in the Transformations toolbar,
which is crowded enough already :-)
2004-11-06 Maurizio Paolini <>
* Added osculating circle and evolute of a curve as a
builtin macros (based upon the center of curvature).
2004-10-27 Pino Toscano <>
* Add all the constructible regular polygons actions to
* Remove the call to TDEAboutData::setTranslator in kig/aboutdata.h,
since Scripty generate automatically the two strings.
2004-10-24 Dominique Devriese <>
* Added a few new icons from Bart Van Hove bartvanhove _at_ skynet _dot_ be
2004-10-23 Maurizio Paolini <>
* Added construction of the center of curvature of a curve
at a point. It works for conics, cubics and locuses.
However a special hack was necessary to make it possible to
construct the locus of the center of curvatures starting from
a locus. Indeed there are problems associated to the getParam
function of a locus, which now returns a result with a too large
error. Simply reducing the "epsilon" in "LocusImp::getParamofmin"
is not feasible since it would degrade the overall response time.
However it is quite frequent that the LocusImp::getParam is called
right after a LocusImp::getPoint, although at a quite different
level, and on curves that are physically the same, but internally
different. Since the two functions are inverse one of the other
we simply cache the value of "param" in getPoint and try to use
the cached value when doing the getParam: if the resulting point
is equal to the argument of getParam we win, otherwise we proceed
along the lengthy minimization process.
A nice example of the involute (locus of centers of curvature)
of a curve can be retrieved from
The getParam function however requires adjustment: right now the
internal test whether a point lies on a locus miserably fails
even if we test it on the moving point used to construct the
locus :-(
2004-10-13 Maurizio Paolini <>
* Added construction of the tangent to a locus
2004-10-11 Maurizio Paolini <>
* Added PoligonBCVType for regular poligons with n sides
given the center and a vertex.
* Transport of Measure is generalized to allow both
segments and arcs to provide a length and both a line
or a circle with a point on it as the target of the
2004-10-09 Pino Toscano <>
* Add a CircleByCenterAndDiameter object, to construct a circle
using a point as center and the length of a segment as diameter.
* A new SVG exporter to make SVG documents starting form Kig
2004-10-08 Maurizio Paolini <>
* Added the construction of the center of curvature for
conics and cubics. It works similarly to the construction
of the tangent and the arguments are a curve (conic or cubic)
and a point on in. Using the center of curvature it is
straightforward to construct the osculating circle or the
2004-09-13 Pino Toscano <>
* The script code editor now can use the Kate KTextEditor, and
consequently we can use its interfaces to do some various thing,
like the syntax highlight of the code. Moreover if the
KTextEditor::Document could not be created, will be used a
standard KTextEdit as the code editor.
* Some i18n fixes.
2004-09-10 Maurizio Paolini <>
* Now it's possible to construct the tanget to a cubic.
2004-09-05 Pino Toscano <>
* A new LaTex exporter.
* Add a new little system to handle script's properties like
icon, template code and stuff related to script type.
* Now any change in the Types Dialog is applied when the users
click OK. If Cancel is pressed, any change is lost, even types
addition/deletion. This is done by saving the types when Types
Dialog is started.
* Now the user can choose Start->Python Script from the popup
menu to start a new Python script with the selected objects as
arguments. If there are no objects selected, the Script Wizard
starts as usual.
* Add the main Kig icons with size 22 and 64.
* The KSeg filter can import bisector lines.
* Add a new tip.
2004-09-02 Dominique Devriese <>
* Commit David Vignoni's new kig_doc icon
2004-09-01 Pino Toscano <>
* Implement Vector difference as internal macro.
* The Type list has a popup menu to edit, delete and export types.
* Small changes to Script Wizard UI.
* tdefile_kig read also the compatibility version.
2004-07-21 Pino Toscano <>
* Make a text label not "pasted" to its point by adding a
"padding" ( 2 pixels every side ).
* Now the code editor in the Script Wizard uses KDE global fixed
2004-07-20 Pino Toscano <>
* Implement arc-line intersection in KSeg filter.
* Add support in KGeo filter for constrained points and info
about the presence of grid and axes.
* Little fix in Cabri filter.
* Fixed a crash in the Types dialog.
2004-07-18 Dominique Devriese <>
* Introduce the concept of a CompatibilityVersion. Kig now saves
its files with a compatibility version of 0.7.0, indicating that
the file format has stayed more or less the same since 0.7, and
that an app able to open documents created by Kig 0.7 should
normally not have much problems with this version's files ( apart
from some new document types, but those are handled separately
anyway ). On loading, Kig now first checks the compatibility
version, and falls back to the real version only if the previous
is not available. The CompatibilityVersion will change only on
major file format changes, unlike the normal Version.
* Move the version back to 0.9, because Kig really isn't in a 1.0
state yet. Some problems need addressing first. It took me some
time to realise, but calling this release 1.0 would not do credit
to the program's long-term potential.
2004-07-13 Pino Toscano <>
* Move AngleType from other_type.* into angle_type.*.
* Add a new HalfAngleType object, which returns only an angle
smaller than 180 degrees. This is useful for Dr. Geo angles,
which are always smaller than 180 degrees.
* Activate and improve Cabri filter.
* Some improvements in the Types dialog.
* A new magic file for application/x-cabri.
* Add CubicCartesianData and Cubic to Python Scripting API.
* Some fixes in Dr. Geo filter: implement Bordeaux colour; fix
intersection params; Kig shows the name of every point; ignore
Dr. Geo block to UI.
* Improved the generation of pot catalogs.
* Now it's possible to construct the tangent to a conic or an
* Add a select statement to show a message in the statusbar for
PropertyObjectConstructor, and use this to show an info text
while constructing an angle bisector.
* A new type to calc the difference between two vectors.
* ObjectFactory::sensiblePointCalcer can construct line-line
* Fix a bug that occurs when Kig draw a line that has the same
coordinates in its LineData class.
* Activate Help button in the Script Wizard.
* Some little improvements.
2004-07-03 Dominique Devriese <>
* Make the type edit dialog appear when the edit button is
pressed, not when the user clicks on a type.
2004-06-29 Pino Toscano <>
* Some fixes related to the Kig version change.
* Some fixes in the Dr. Geo filter.
* Fixed a small bug that leads to display "Select the point" when
I reset the name of an object after setting it.
* i18n fixes in tdefile_kig.
2004-06-29 Dominique Devriese <>
* Change the version to 1.0
2004-06-26 Pino Toscano <>
* A new property "Angle" for arcs.
* Many improvements in the Dr. Geo filter.
2004-06-15 Pino Toscano <>
* Add info about whether grid and axes are shown to the kig tdefile
* Now the coordinate system toggleaction is correctly updated
when the coordinate system is changed in another way.
* Disable the page selection in the print dialog.
2004-06-14 Dominique Devriese <>
* Change some more functions that still pass "bool valid&"s around
to using Coordinate::valid().
2004-06-14 Pino Toscano <>
* Add "Tips Of Day" feature.
* A new tab in the Print dialog allow the user to choose whether
to print grid and/or axes.
* Add arc-line intersection type.
2004-06-13 Pino Toscano <>
* Add the possibility to attach a label ( and a point, of
course :) ) to a vector. This because now VectorImp inherits
* Make types modifiable through types dialog. The system is not
complete, because at the moment there is no way to update the UI.
* The user now can choose manually the zoom area.
* Get rid of the Invisible coordinate system; now there are two
actions ( Show Grid and Show Axes ) to show/hide grid and axes
separately. I think this is a better way: the Invisible coordinate
system did not allow to work with polar coordinates and no grid.
2004-06-11 Dominique Devriese <>
* Some improvements by me to Pino's object names code. Mostly,
this includes cleaning the design a bit, and adding support for
the names in some places.
2004-05-31 Dominique Devriese <>
* Fix some memory leaks found by valgrind.
2004-05-30 Dominique Devriese <>
* implement usetexts and select statements for builtin macro's
* Show a text in the statusbar describing what we want the user to
select, in ConstructMode.
* Add an example of a cubic constructed as a locus.
* Clean the status bar text on time in ConstructMode and
* Make SetCoordinateSystemAction into a TDESelectAction, so the user
can see what kind of coordinate system he's currently using.
* Some tuning of the UI: move Transformations and Tests menu into
the Objects menu because the menubar was getting too crowded.
2004-05-29 Dominique Devriese <>
* Fix a crash related to a locus containing some invalid points,
and added the offending test file in filters/tests.
* Fix some --enable-final problems in the filters/ directory.
2004-05-28 Dominique Devriese <>
* Add a test file "testalotofeverything.kig"
* Add a Similitude transformation.
* Add a VectorEqualityTestType.
2004-05-27 Dominique Devriese <>
* Fix so that Kig saves its window settings on exit.
2004-05-24 Pino Toscano <>
* Add the possibility to give a name to every object. The name is
displayed when moving mouse over the object, like "Select this
line (AB)" or choosing the object which attach another object to.
For now there is no label with title displayed with the object.
* Make the Vector Sum of two vectors starting at an arbitrary
2004-05-23 Dominique Devriese <>
* replace the custom configureShortcuts code with the standard KDE
one if the user is running HEAD.
2004-05-18 Pino Toscano <>
* Move ArcBTPType from other_type.* into arc_type.*.
* Add two new types, ArcBCPA ( Arc By Center, starting Point and
Angle ) and CircleBCL ( Circle By Center and Line - via macro ).
* Now every submenu in the RMB menu can have an own icon.
* Add a menu icon for every ExportAction.
* Various little improvements
2004-05-18 Dominique Devriese <>
* Add a --convert-to-native command line option, which converts
the given file to the native Kig file format ( without a GUI ).
* Split up KigDocument into KigPart and KigDocument
2004-05-15 Dominique Devriese <>
* Intersecting with a segment only gives points that really are on
the segment, and an InvalidImp in other cases.
2004-05-12 Pino Toscano <>
* Now circles can display their equation in the form
"( x - x0 )^2 + ( y - y0 )^2 = r^2".
* Add Doxygen comments for AngleImp, VectorImp and ArcImp
classes, to make them documented in scripting-api documentation.
* Add a Copy action to text labels to copy their text ( with
substitutions already made ) into the clipboard.
* Add two little tdefile plugins: tdefile_kig and tdefile_drgeo.
* Various little improvements
2004-05-11 Dominique Devriese <>
* Rename the two Transformation::scaling functions to
scalingOverPoint and scalingOverLine, and export them to python.
* Fix a crash reported by Maurizio: when debugging is enabled, and
one attempts to move an object of a type that inherits
ObjectABType, and depends on a non-movable object.
2004-05-03 Dominique Devriese <>
* Add a DrGeo test file using a locus
2004-05-03 Pino Toscano <>
* More work on Dr. Geo filter: now locuses should work, fix object
2004-04-30 Pino Toscano <>
* Add line and half-line by vector.
* More work on Dr. Geo filter to support some types of On_curve
2004-04-30 Dominique Devriese <>
* properly generate python error output for compile errors.
* make touch screens work by placing a mouseMoved call aboove
every mouseClicked call.
2004-04-28 Dominique Devriese <>
* change the Qt CapStyle used for drawing locuses, conics and
lines to FlatCap, which gives better results with large line
* Add two line styles: DashDotLine and DashDotDotLine
* Remove the KigPainter::drawConic and KigPainter::drawCubic
functions. Conics and cubics are now drawn with the generic
KigPainter::drawCurve function. The performance penalty is not
noticable for me, and I haven't been able to quantify it in any
way, so I assume it negligible. Cubics and conics drawing now
correctly takes line styles into account.
2004-04-27 Pino Toscano <>
* Implement styles and visibility for KSeg filter.
2004-04-27 Dominique Devriese <>
* Make locuses work with the line styles, by drawing them with
drawPolyline instead of drawing the individual segments ourselves.
Thanks to Maurizio for the ideas and the help.
* Fix a stupid bug in the last commit which caused Kig to crash on
older Kig files.
* Make it possible to switch the radical lines of a conic that are
2004-04-24 Dominique Devriese <>
* Add a vector sum object.
* Move VectorType from other_type.* into vector_type.*.
* Fix a bug where some objects were not preliminarily drawn
2004-04-23 Dominique Devriese <>
* Add a segment-midpoint icon from Julien Narboux
* Implement a scheme that automatically instantiates the singleton
ObjectType's. Now, the ObjectType constructor now adds itself to
ObjectTypeFactory, so that we cannot forget to do it. This fixes
loading of files containing property test objects.
* Remove the old code that removed $appdata/kig-types/*.kigt on
exit, as it's not necessary anymore.
2004-04-22 Dominique Devriese <>
* Add a "opposite vector" property to VectorImp.
2004-04-21 Pino Toscano <>
* Add a SameDistanceType, to check whether a point have the same
distance from a second point and from a third point.
2004-04-21 Dominique Devriese <>
* Fix tooltips to not contain "&&" instead of "&" ( closes: 78411 ).
2004-04-20 Dominique Devriese <>
* Various i18n'able string fixes.
* Add some documentation to the functions in misc/conic-common.h
* Rename "Cubic" to "Cubic Curve", as discussed with Maurizio
Paolini and Jaap Woldringh.
* Save and load line and point styles in the native format. Most
of the code comes from Pino.
2004-04-19 Pino Toscano <>
* More work in Dr. Geo filter.
* A new cool (I hope :) ) icon for Python Script.
* Some various improvements.
2004-04-17 Dominique Devriese <>
* Fix the calculation of the rectangle containing the entire
document ( which is used for centering on the document ), to take
into account non-point objects. This is accomplished by adding a
surroundingRect function to ObjectImp, and by implementing it
properly for all objects that can have such a thing.
2004-04-15 Pino Toscano <>
* More work in Dr. Geo filter: add a new object and simplifying a
bit his internal structure.
* Kig now ask the user what to do when he/she tries to save to
a file in another format than Kig's own.
* Improve Python scripting's API: add vectors, angles and arcs.
* Add i18n for TestConstructor's.
* Improved NewScriptAction class to support, without other
changes, other scripting languages.
* Some little here-and-there improvements
2004-04-11 Dominique Devriese <>
* Improve Kig embedded in Konqueror experience: make translations
and icons work by using the correct instanceName(), and using the
iconLoader we get from our TDEInstance instead of from TDEGlobal ( so
that the kig specific dirs are checked for icons as well ).
2004-04-10 Dominique Devriese <>
* Enable the DrGeo input filter.
2004-04-10 Pino Toscano <>
* Improved angle size editing, making possible choosing between
degrees, radians and gradians.
* More work in Dr. Geo filter.
* Some improvements in Goniometry class
2004-04-08 Pino Toscano <>
* More work on types dialog: a new dialog will allow to edit
types that now work in read-only mode.
* Add a 'cross' style for points.
* Some very minor work in Dr. Geo filter.
* Add a new simple class to easily work with goniometric
measures, and adapt Kig to use this class.
* Some #include fixes
2004-04-05 Pino Toscano <>
* A new look for type list in the type dialog: a listview instead
of a listbox that should make easier editing a type.
2004-04-04 Pino Toscano <>
* Now Kig can save icon information of every macro.
* Some work on types dialog: icon of every type is now visible,
and made a sort of skeleton to modify type's data.
* Made buttons of some dialogs like other KDE dialogs ones (with
icons and correct alignment).
* Kig now ask the user when exporting type(s) to an already
existant file.
* Some i18n fixes
2004-04-02 Dominique Devriese <>
* Implement the point-on-curve checking. The code should work,
but the objects using it cannot be built yet.
2004-03-28 Dominique Devriese <>
* Add some non-functional code for point-on-curve checking.
2004-03-28 Pino Toscano <>
* Add point styles
* Some i18n fixes
* More work on the DrGeo import filter
2004-03-27 Dominique Devriese <>
* Apply a patch by Albert Astals Cid <> that gives
focus to the text input on first opening the text dialog.
* Fix a translation issue with internal macro's.
* Make a TextImp transformable by simply transforming its
location, and showing the text label in that location again
(Closes: 78407 ).
2004-03-26 Pino Toscano <>
* Implemented a popup menu submenu for changing the line style of
an object.
* Various i18n fixes
2004-03-15 Dominique Devriese <>
* misc/coordinate_system.cpp: add a simple "Invisible" Coordinate
system, showing no axes or grid at all.
2004-03-10 Dominique Devriese <>
* Don't mess up the order of given objects in a macro
2004-03-09 Dominique Devriese <>
* Fix the macro system to reject macro's where not all of the
given objects are used.
* Fix the macro system to properly check whether the final objects
depend on the given objects, and fix a problem with the wrong
object being selected as the final object in some rare cases.
2004-03-06 Dominique Devriese <>
* Incorporate a patch by Pino Toscano adding some unfinished work
on a Dr.Geo import filter. It's not finished yet, and also not
visible in the UI yet.
* Fix the ObjectHierarchy::resultDoesNotDependOnGiven() function
to do something much less stupid than before. It still only
checks if one of the result objects does not depend on the given
objects, it needs to be changed to properly check whether all the
result objects depend on the given objects.
* Fix the ObjectHierarchy class to generate a correct hierarchy
when a result object depends on another object that does not
depend on the given objects.
2004-02-24 Dominique Devriese <>
* Make the tests stuff generate a proper text label with
property calcers instead of a normal calcer as rest arguments.
* Make the stuff properly detect python on RH
-> many thanks to Maurizio for helping me with this.
* Fix some problems with the useText, that were introduced with
the new tests stuff.
2004-02-23 Dominique Devriese <>
* Add a ContainsTestType, testing whether a given point is on a
given curve.
2004-02-17 Dominique Devriese <>
* Add the possibility to give an item a custom color in the
popup dialog.
2004-02-16 Dominique Devriese <>
* make the usetext in TestConstructMode also appear for all other
arguments than the last one
2004-02-15 Dominique Devriese <>
* Add code by Maurizio Paolini, and some adaptations of his code
by me for supporting property tests like "are these two lines
parallel ?"
* update the aboutdata: Maurizio Paolini did not only help with
math intensive code, and Franco Pasquarelli did some very
important work in the locus code.
2004-02-14 Dominique Devriese <>
* Fix a bug waiting to pop up in, where you
select the same object twice.
* Add documentation about the locus and textlabel design to the
DESIGN document.
2004-02-10 Dominique Devriese <>
* Fix a bug which caused Kig to crash on moving a text label by
removing a wrong assertion in objects/
2004-02-09 Dominique Devriese <>
* Replace the line-line-intersection algorithm with a much simpler
one by Maurizio Paolini
* Add three new transformations by Maurizio Paolini
* Remove people-to-inform-about-kig-releases as no further
separate releases are planned.
2004-02-08 Dominique Devriese <>
* Fix a bug reported by Maurizio Paolini: don't crash on getting
the arguments for a locus in the wrong order.
2004-01-21 Dominique Devriese <>
* replace my own autoconf code in for checking for
boost.python and python by some macro's by Ben Burton which
additionally check whether the python and boost.python combination
found is sane. They're also generally cleaner and such.
* clean up a bit
2004-01-20 Dominique Devriese <>
* Add a new internal "Segment Axis" type, implemented as a macro.
2004-01-18 Dominique Devriese <>
* bump the version number to 0.7.1
2003-12-16 Dominique Devriese <>
* Fix the scrolling for horizontal scrolling using the alt button
or a horizontal scroll wheel.
2003-12-15 Dominique Devriese <>
* Another try at fixing the ArgsParser parsing order. I think
I've tried most problematic cases, and they all seem to work
properly. Let's pray for the best ;)
2003-12-10 Dominique Devriese <>
* Fix a crash when using a macro having the moving point of a
locus as its argument, reported by Marco Zoso.
2003-11-14 Dominique Devriese <>
* Fix two crashes in TextLabelRedefineMode.
2003-11-10 Dominique Devriese <>
* bump the version number to 0.6.1
* Fix bugs #67671 and #67694
2003-10-22 Dominique Devriese <>
* Improve the errors given by the "New Script Wizard", by making
it get a proper error description from the python interpreter.
* fix the ArgsParser parsing order, properly this time..
2003-10-20 Dominique Devriese <>
* Work on the Cabri import filter, so that it actually becomes
usable for some easier files..
* Improve the errors given by the "New Script Wizard", by making
it get a proper error description from the python interpreter.
2003-10-09 Dominique Devriese <>
* Add a lot of documentation to the new classes.
* Fix the moving system again, it now only redraws exactly those
objects that need to be redrawn. E.g. when a constrained point
was moved, before it was assumed that all of its parents, and
their children would move, whereas in reality, a constrained point
does not move the curve it is constrained to. This is now taken
into account for. This much optimizes the case where we move the
constrained point in examples/sine-curve.kig.
* Added a DESIGN document, documenting the Kig object system
design. I think that is rather finished now, and it's probably
about time to try and make some other people than myself get it ;)
* Remove support for the ancient pre-0.4 file format that we still
supported opening. If you still have old files around using it,
you should convert them to the new format, by opening them with a
Kig version between 0.4 to 0.6, and re-saving them. Maintaining
compatibility with these old files doesn't seem very useful,
because I don't think there are many files in this format
available, and therefore I didn't think it was worth the trouble
of porting the code to the new object system.
* Introduce a new file format that matches the new object system
better. Files in the old format can still be opened seamlessly.
* Add undo/redo support for changing visible aspects of an object
( size, color, shown state ). In the new system, this was as easy
as replacing the ObjectDrawer of an ObjectHolder with another one.
* Another ( hopefully the last ) major change to the object
system. Decouple the link between how an object is calced and how
it is drawn. We now have a hierarchy structure of ObjectCalcer's
describing various objects and their interrelations. On top of
that, there are the ObjectHolder's, which hold a link to an
ObjectCalcer from the hierarchy, and keep an ObjectDrawer
describing how to draw it. The document only keeps a list of
ObjectHolder's, nothing else..
* make the New Script Wizard give an error when the script does
not generate a valid ObjectImp.
* fix some issues with the escaping of an & in a translatable
string in an xml file
* fix the generation of the pot translation template file
* fix a problem with the order of arguments in ScalingOverLineType
causing a test file to not be loaded correctly..
* update some test files to the new ( post-0.4 ) kig file format.
* add ( sometimes placeholder ) icons for the remaining actions
that missed icons ( thanks to Maurizio Paolini )
2003-09-08 Dominique Devriese <>
* Fix a bug that prevented Kig from opening its own files,
rejecting them because they were of the 0.6.0 version, which Kig
could not open.. I'm backporting this into Kig 0.6.0 and
informing the packager..
* clean up: Objects now store their parents in order, so that no
parsing has to be done in the calc() function.. Also some more
modifications making that function a bit simpler are included.
Specifically, ArgsParser now does the checking of the arguments,
instead of every single calc function doing it itself..
2003-09-02 Dominique Devriese <>
* rename ArgparserObjectType to ArgsParserObjectType
* remove ArgsChecker class, and rename ArgParser to ArgsParser
2003-09-02 Dominique Devriese <>
* branch off Kig 0.6.0
2003-09-01 Dominique Devriese <>
* only move an object if its parents are not yet moving.. This
fixes bug #63250.
* remove the defective operator| and operator& implementations for
the Objects class
2003-08-31 Dominique Devriese <>
* make the Kig Python Scripting API docs only available online.
It's too much trouble to generate them during the build process,
and I can't add a hard build-time dependency on doxygen anyway...
* keep the Kig version number in a central place, so that it can
easily be changed. Use some autoconf magic to fill it in in the
other places..
2003-08-25 Dominique Devriese <>
* update the* files and remove
README.boost-python1.30-gcc3.2 and boost-python1.30-gcc3.2.patch
because distributing a Boost.Python patch with Kig is really
stupid, and because the Debian packagers have already applied the
patch in their version of Boost.Python, and so should the other
distro's. Seems I need to thank Ben Burton for suggesting to the
Debian packagers to apply the patch.
* fix a wrong "lib not found error" in by removing
-pedantic from CXXFLAGS while trying to compile.
2003-08-15 Dominique Devriese <>
* improve the inline documentation in order to improve the doxygen
generated docs for the python scripting API.
2003-08-03 Dominique Devriese <>
* give Transformation::apply better semantics
2003-07-27 Dominique Devriese <>
* add a warning to about how Boost.Python 1.30
together with GCC 3.2+ is a bad combination, along with a patch.
* add documentation about attaching text labels and locuses to the
index.docbook file
2003-07-23 Dominique Devriese <>
* add a nifty python scripting example that shows the graph of a
sine curve, but can in fact be used to show any function's graph
you would come up with. It uses python scripting and the locus
facility in a clever way to do this. In fact, I stole the idea
from something I saw Hilaire Fernandes do with the Dr.Genius guile
scripting on a presentation at FOSDEM. Kig - of course ;) - does
it way cooler.. :)
* add support for using the python math package in Kig python
scripts, by importing it from PythonScripter's ctor, and by making
Kig load its part library with RTLD_GLOBAL, to eliminate a problem
which caused python to not be able to load its math dll..
2003-07-20 Dominique Devriese <>
* add support for attached text labels.
2003-07-17 Dominique Devriese <>
* fix the "conversion from const char* to char*" problem in This introduces a small, harmless memory leak
because of how the python libs work..
2003-07-16 Dominique Devriese <>
* add documentation about installing the python dev libs to
* adapt some infrastructure regarding text labels to be able to
work with labels that get their location from an invisible Point
object. This will ease the adding of support for attached text
2003-07-12 Dominique Devriese <>
* prevent a crash when kig cannot find its library. It now just
complains and exits properly.
2003-07-03 Dominique Devriese <>
* add Python scripting support. Rather large addition, involving
a lot of autoconf and automake magic..
* make snapToGrid work for PolarCoordinateSystem
* make shift -> snap to grid work in PointConstructionMode and
normal Construction Mode too..
* add the concept of cache objects, which cannot be stored, in
order to support a python compiled script ObjectImp..
2003-07-02 Dominique Devriese <>
* sanitize the ObjectImp inherits() system. It now uses static
objects instead of enum values, this also eliminates some ugly
functions in ObjectImp, and allows for more flexible addition of
new ObjectImp types..
* fix a memory leak in KigDocument, which did not delete its
* fix some use of uninitialised value in dragrectmode, which
caused the dragrect to not work at random times
* fix the clearing of the selection when the user clicks on an
empty point..
2003-06-27 Dominique Devriese <>
* implement helpSlot() in ManageTypesDialog..
* add a "Set Coordinate System" menu to the Settings menu..
* make shift snap to grid in moving mode, and rework the moving
API to something a bit saner in the process..
2003-06-25 Dominique Devriese <>
* add undo support for various view actions like zoom in, zoom
out, recenter screen, select screen rect etc. Check out the
comment in the function KigWidget::slotZoomIn() in
kig/kig_view.cpp for why I implemented this even though it isn't
really "correct".
2003-06-24 Dominique Devriese <>
* fix a crash bug reported by Pino Toscano, that occurs because
TextLabelRedefineMode was not yet updated to the new
reference-counting Object's stuff..
2003-06-21 Dominique Devriese <>
* Implement Select all, Unselect all and Invert selection.
2003-06-20 Dominique Devriese <>
* fix this bug:"17) Add the possiblity, by pressing Esc, to stop
the selection, even of the area to be shown."
* add an icon for Arc's center property, this fixes: "12) Why
don't you use baseCircle.png as icon to show/construct the center
of a circle and (why not?) an arc?"
* fix: a text label constructed using "add text label" from an
object popup wasn't properly calced after construction..
* fix this bug: "2) Add the possibility to set shortcut for all
the actions & objects (For examples: Ctrl+P to construct a point,
Ctrl+R to start a reflection, and so on...).", and add some
default accels too ( "p" for point, "s" for segment etc. ( note :
no control key ).
* fix this bug: "3) When I select a segment, in his popup there are
two same entry in Construct submenu, called Mid point an
Midpoint. Why?" as reported by Pino Toscano
2003-06-11 Dominique Devriese <>
* move transformations to their own menu entry, thanks to Pino
* move angle stuff to their own objects submenu, and toolbar,
thanks to Pino Toscano
* update the images in the docs, thanks to Pino Toscano
2003-06-04 Dominique Devriese <>
* show an appropriate error when trying to open an non-existing
* clean up the object parent-child relation mechanism. Rather
large code cleanup, that simplifies a lot of code.. Needed a
backwards-compatible file format extension. This commit now also
adds proper treatment of internal objects, because it no longer
relies on the inherently wrong isInternal() hack, but features The
Correct Fix(tm).
2003-06-03 Dominique Devriese <>
* bugfix: show default icons for actions that don't have any.. (
fixes bug #59283 )
* release Kig 0.5.1
2003-05-30 Dominique Devriese <>
* Add an option to select the part of the screen that should be
shown by dragging a rect..
2003-05-28 Dominique Devriese <>
* fix warnings when compiling with --disable-debug
2003-05-26 Dominique Devriese <>
* fix a crash bug for a weird cubic situation
2003-05-25 Dominique Devriese <>
* implement another of Stephan Binner's suggestions: in the set
coordinate system popup, show a checked mark next to the
current coordinate system..
* fix a bug that caused the "circle by center and point" type to
not be visible..
2003-05-24 Dominique Devriese <>
* when the user tries to construct a macro that constructs an
object from its children, warn him instead of
crashing... Thanks to Stephan Binner for the bug report
* improve the export to image dialog, as suggested by Stephan Binner
2003-05-23 Dominique Devriese <>
* remove some obsolete code and clean some older code up..
2003-05-22 Dominique Devriese <>
* add simple printing support using the fantastic KDE-Print lib
2003-05-21 Dominique Devriese <>
* fix the full screen mode, to use the correct shortcut for
starting and stopping it, and use QWidget::showFullScreen, instead
of creating a full screen pseudo-dialog etc.
* "branch off" release 0.5, and update the version strings etc.
2003-05-17 Dominique Devriese <>
* add a toolbar icon ( i.e. GUIAction ) for constructing an angle
2003-05-15 Maurizio Paolini <>
* take advantage of the new invalid coordinate when creating circles
and arcs through three aligned points
2003-05-13 Dominique Devriese <>
* fix compilation with --enable-final
2003-05-12 Dominique Devriese <>
* fix a crash bug for macro's involving PropertyImp
* update the AboutData: upgrade some people to authors, and add
credit for some more people..
* add an angle bisector property
2003-05-10 Dominique Devriese <>
* fix the transformation types for cases where the object being
transformed is the same as one of the arguments that the
transformation needs.. E.g. right-click on a
point->transform->reflect over a point works properly
2003-05-09 Maurizio Paolini <>
* the drawLocus is now changed to function as a generic drawCurve.
The changes are very little, and the locusCalcPoint is no
longer necessary. It seems that performance is not affected
significantly. The drawCubic is not used any longer; it is
still there in kigpainter, but can be purged as soon as
no problems arise with the new setup. The generic drawCurve
is used in place of drawCubic.
2003-05-08 Dominique Devriese <>
* add support for quite some more types to the kseg import filter
2003-05-08 Maurizio Paolini <>
* fixed drawing problem while building a cubic by 9 points. The
problem was located in calcCubicRoot when the degree is
less than 3
2003-05-08 Dominique Devriese <>
* add some properties to the arc object
* organise the filters directory more sanely
* fix for deleting: remove deleted objects from their children, so
they don't appear in saved files
2003-05-07 Dominique Devriese <>
* more undo support: redefining text labels and points is undoable
* small undo stuff cleanup
2003-05-06 Dominique Devriese <>
* fix the change text action for text labels to reuse the label
construction dialog. this makes it support multi-line
labels, and changing the parameters
2003-05-05 Dominique Devriese <>
* add zoom in/out icons to the document popup menu
2003-05-03 Dominique Devriese <>
* add support for multiline text labels.. still needs some
further work..
* add a set size action to the angle type
* change the angle size icon..
2003-05-03 Maurizio Paolini <>
* add transformation support for arcs..
2003-05-02 Dominique Devriese <>
* add undo support for changing the coordinate system
* generalize the undo support from the moving mode, and add undo
support for many of the object specific actions..
2003-05-01 Dominique Devriese <>
* perfect the grid..
* fix useless error output on startup
* add scroll bars to the full screen mode
* add zoom actions to the document popup
* add a change text action to text labels
2003-04-28 Dominique Devriese <>
* add undo support for moving
* add a full screen mode
2003-04-27 Dominique Devriese <>
* some PolarCoords improvements
* show a popup menu when the user clicks on the document, and allow
him to change the coordinate system..
2003-04-26 Dominique Devriese <>
* added property icons
2003-04-22 Dominique Devriese <>
* fix the move dependencies..
2003-04-19 Dominique Devriese <>
* Add KSeg file format support
* Start using the ChangeLog for versions after 0.4.1 ;)
ma feb 11 00:12:52 CET 2002 - Dominique Devriese <>
* Initial Creation