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 not. 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 files. 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 objects. 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 Allen. * Better handling of unexistant types found when loading a document. * 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 calcpath.cc; 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 circle. 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 polygons. 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 freedesktop.org'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 kigpartui.rc. * 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 "www.dmf.unicatt.it/~paolini/kig/cicloide.kig" 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 transport. 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 documents. 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 evolute. 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 font. 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 arc. * 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 intersections. * 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 thing. * 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 CurveImp. * 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 TestConstructMode. * 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 point. 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 visibility. 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 points. 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 widths. * 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 shown. 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 correctly. 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. Closes:78409. * 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 construction. 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 configure.in.in 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 construct_mode.cc, 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/object_calcer.cc 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 configure.in.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 configure.in.bot 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 configure.in.* 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 configure.in.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 configure.in.bot 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 python_scripter.cc. 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 configure.in.bot * 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 labels.. 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 KCommandHistory.. * 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 Toscano * 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 file.. * 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 bisector.. 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 point->transform->now.. 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 now.. * 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