2003-08-31 Ales Hvezda <ahvezda@geda.seul.org> * configure.ac: Changed AC_CONFIG_HEADER to AM_CONFIG_HEADER * noweb/x_dialog.nw: Rewrote the exit dialog box to look better under gtk+ 2.2.x and 1.2.x * configure.ac: Removed the use of GUILE_PROGS as it is not part of guile 1.4. Put in a manual check for guile-config. * examples/*.sch: Updated schematics to 20030901 2003-08-24 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_multiattrib.nw: Oops wasn't return true or false in the keypress routine, so no input was going to the entries. Fixed. * noweb/x_attribedit.nw, x_dialog.nw, x_fileselect.nw, x_image.nw x_log.nw, x_menus.nw, x_multiattrib.nw, x_pagesel.nw, x_print.nw, x_window.nw: Add #ifdef HAS_GTK?2 depending on the gtk version so that the code base builds for both gtk+ 1.2.x and 2.2.x. * noweb/g_rc.nw, gschem.nw, x_event.nw, x_window.nw: Changed a few #if ... to #ifdef ... * noweb/x_attribedit.nw: Improved the looks of the bottom buttons in gtk+ 2.2.x while preserving the 1.2.x look. 2003-08-23 Ales Hvezda <ahvezda@geda.seul.org> * include/prototype.h, noweb/x_multiattrib.nw: Applied Carlos Nieves O'nega's multi attribute add/change patch. Thanks! * examples/cmos-invert.sch: Minor tweak * src/parsecmd.c: Cleaned up help message a little. * docs/gschem.1: Updated manpage a little 2003-07-20 Ales Hvezda <ahvezda@geda.seul.org> * configure.ac: Renamed from configure.in. * configure.ac: A whole bunch of changes to support both gtk+-1.2.x and gtk+-2.2.x. * configure.ac: Lots of cleanup and moved to the use of pkg-config for the configuration of almost all libraries (most importantly libgeda). * *.in, *.h, etc: Removed a bunch of old unneeded auto* files. 2003-05-25 Ales Hvezda <ahvezda@geda.seul.org> * noweb/i_basic.nw: Removed unused variable * noweb/o_slot.nw: Changed a include from strings.h to string.h 2003-05-22 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Updated version * examples/*.sch: Updated to latest version 2003-04-27 Ales Hvezda <ahvezda@geda.seul.org> * po/pt_BR.po: Added update translation from Antonio. 2003-04-15 Ales Hvezda <ahvezda@geda.seul.org> * configure.in, noweb/Makefile.am: Removed x_multimulti.nw from the build and removed the dependancy on gtk+extra (also removed references to this file in the docs/ directory) * noweb/x_multimulti.nw: Removed file from CVS 2003-04-06 Ales Hvezda <ahvezda@geda.seul.org> * noweb/g_rc.nw, g_register.nw: Added reset-component-library and reset-source-library rc keywords. These empty the component/source libraries when executed. Useful when a user wants set (override) all the paths themselves from a user rc file. 2003-03-30 Ales Hvezda <ahvezda@geda.seul.org> * noweb/i_callbacks.nw: Fixed bug #43: "If gschemdoc is not install, gschem crashes", by changing exit to _exit. Fix by Mario Klebsch. 2003-03-09 Ales Hvezda <ahvezda@geda.seul.org> * scheme/gschem.scm: Fixed the crashing bug when you press a "no-action" bound key. Patch by Dan McMahill. Thanks. 2003-02-23 Ales Hvezda <ahvezda@geda.seul.org> * noweb/g_rc.nw, noweb/i_vars.nw, noweb/x_print.nw: Applied Antonio's no margin printing patch (with minor modifications). Thanks. * noweb/g_rc.nw, noweb/i_vars.nw, noweb/x_print.nw: Renamed "limits" to "extents". * lib/system-gschemrc.in: Added new example usage of the output-type rc keyword, and also put in a note that "limits" should no longer be used. 2003-02-22 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Added comment to sort-component-library keyword that it is broken and that users should not use it. Filed bug #53. 2003-02-20 Ales Hvezda <ahvezda@geda.seul.org> * noweb/i_callbacks.nw: Fixed the annoying flicker if you keep executing the page next/prev commands. * noweb/gschem.nw: Applied patchlet from Steve Tell for disabling the guile 1.6.3 deprecated warnings. * README: Added note suggestion by Steve Tell about warning users that deprecated guile warnings are turned off. 2003-02-18 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Bumped version to 20030223 * noweb/g_funcs.nw, noweb/x_menus.nw, scheme/gschem.scm: Applied Steve Tell's guile 1.6.3 patch. Thanks. 2003-02-06 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Applied Gabriel Paubert's warning reducing patch with a few minor mods. 2003-01-26 Ales Hvezda <ahvezda@geda.seul.org> * po/ru.po: Updated version from Andy Shevchenko * configure.in: Changed -fnative-struct to -mms-bitfields for gcc 3.2 mingw compiler (older mingw compilers are no longer supported) 2003-01-16 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_image.nw: Added 3200x1600 to the image write dialog box. Suggestions by Karel Kulhavy. 2003-01-11 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_arc.nw: Applied patch by Patrick to fix Bug #45: arc's being drawn incorrectly with snap on. Thanks Patrick. * Makefile.am: Fixed the distclean-local target. * lib/system-gschemrc.in: Fixed typo (gif->png) 2003-01-10 Chris Ellec <chrisATgtx.seul.org> * noweb/o_misc.nw: Find Specific Text, replaced the strcmp used to search for the text with a strstr so that we can search for C12 instead of having to seach for refdes=C12. That way the user doesn't have to know what the symbol internal names are. 2003-01-09 Ales Hvezda <ahvezda@geda.seul.org> * noweb/i_basic.nw: Hierarchy/Up should never be greyed out. Fixed. 2003-01-07 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_arc.nw: Added the first of Patrick's suggestions to fixing bug #45. Not completely fixed yet. * noweb/i_callbacks.nw: Added code to properly output a failed error message when executing File/Save All and one of the files cannot be saved. 2002-12-29 Ales Hvezda <ahvezda@geda.seul.org> * tests/ext_chars.sch: Applied Egil's patch to add the new chars to this test schematic. 2002-12-22 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_attribedit.nw, o_undo.nw, o_misc.nw, o_delete.nw: Added missing calls to i_update_menus() 2002-12-15 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_basic.nw: Added o_draw_list() and o_draw_selected() helper functions (used by below change) * noweb/o_move.nw: Changed the behavior of move: When you start the move, the objects are erased first and then the rubber outline is drawn. This looks a whole lot better, but the downside is that it required the reordering of some operations (namely when things are drawn), so the change is non-trivial. * lib/system-gschemrc.in: Fixed spelling mistake: "Dettach" is not a word. * noweb/x_menus.nw: Added data (via gtk_object_set_data()) to the toplevel menubar. This data is the individual menu items (of all menus) via the menu path. * noweb/x_menus.nw: Added x_menus_sensitivity which given a path to a menu item (using above) allows for the disabled (greyed out) or enabled menu item control. * noweb/x_menus.nw: Removed some cruft which has been around for too long. * noweb/x_window.nw: Added code to store the menubar in the TOPLEVEL structure. Also called i_update_menus when the main window first appears. * noweb/i_basic.nw: Added i_update_menus, which, for now, simply disables or enables menu items depending on if there is something selected or not. This should be improved to take into account what is inside the selection list. * noweb/i_callbacks.nw, o_buffer.nw, o_complex.nw, o_find.nw, o_select.nw, o_text.nw: Added calls to i_update_menus to keep the menu item disabled/enabled state up to date. 2002-12-01 Ales Hvezda <ahvezda@geda.seul.org> * m4/Makefile.am: Added Makefile.in to the maintainer-clean target. 2002-11-30 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Changed the variable names which hold the paths to the data and rc directories. Fixed all references to these variables. * noweb/gschem.nw: Applied Alexandre's latest patch to fix the "i18n bug regarding LC_NUMERIC" caused by gtk_set_locale. * aclocal.m4: Removed file from cvs. * m4/Makefile.in: Removed machine generated file from cvs. 2002-11-26 Ales Hvezda <ahvezda@geda.seul.org> * gschem/noweb.nw: Applied patch by Alexandre P. Nunes for gtk_set_locale bug/misbehaving. 2002-11-23 Ales Hvezda <ahvezda@geda.seul.org> * po/ru.po, LINGUAS: Added Russian translation by Andy Shevchenko. Thank you. 2002-11-03 gettextize <bug-gnu-gettext@gnu.org> * configure.in (AM_GNU_GETTEXT_VERSION): Bump to 0.11.5. 2002-11-03 Ales Hvezda <ahvezda@geda.seul.org> * examples/*.sch, tests/*.sch: Updated schematics to the latest version via gschupdate * configure.in: Updated version to 20021103 (an official version) * noweb/o_net.nw, noweb/x_multiattrib.nw: Got rid of some unused variables. 2002-10-31 Ales Hvezda <ahvezda@geda.seul.org> * docs/gschem.txt: Move this file into ../docs/gschem 2002-10-29 Ales Hvezda <ahvezda@geda.seul.org> * po/nl_NL.po, LINGUAS: Added Dutch translation by Bert Timmerman. 2002-10-28 Ales Hvezda <ahvezda@geda.seul.org> * noweb/gschem.nw, o_net.nw, x_grid.nw, x_log.nw, x_menus.nw, x_multiattrib.nw, po/LINGUAS, po/ja_JP.po: Added Japanese translation done by MIYAMOTO Takanori. Thank you. * configure.in: Bumped version to 20021031 2002-10-27 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_net.nw, o_pin.nw, o_bus.nw: Fixed all hardcoded widths to be #define'd * noweb/o_cue.nw: Fixed all hardcoded sizes for the visual cues to be #define'd * configure and friends: Upgraded to gettext 0.11.5 * configure.in: Added AM_GNU_GETTEXT_VERSION(x.yy.zz) macro to make autopoint happy. * configure and friends: Ran "autoreconf --force --install -v" to really upgrade to the auto* tools. * noweb/g_rc.nw, g_register.nw, i_vars.nw, include/i_vars.h: Added force-boundingbox gschemrc rc variable. Controls if the bounding box is used in the pin auto whichend code. * lib/system-gschemrc.in: Added default for force-boundingbox variable * noweb/x_attribedit.nw: Fixed Bug #28: gschem hangs in loop when adding an attribute, by not trying to attach an attribute to a text item. 2002-10-26 Ales Hvezda <ahvezda@geda.seul.org> * noweb/g_rc.nw, g_register.nw, i_vars.nw, i_vars.h: Added the following rc keywords: bus-ripper-type, bus-ripper-symname, and bus-ripper-rotation * noweb/o_net.nw: Added code to act on the above rc keyword info. * noweb/x_window.nw: Properly init/free some of newly added variables to the TOPLEVEL structure. * noweb/o_line.nw: Properly reset the thickness of lines to zero. * lib/system-gschemrc.in: Added defaults for all the bus ripper keywords. * tests/buses.sch: Added test schematic for buses. 2002-10-22 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_net.nw: Added o_net_add_busrippers function. This function adds the bus rippers after a net addition and after a net is changed via the grips. * noweb/o_net.nw: Added calls to above in o_net_end. * noweb/o_net.nw: Rearranged o_net_end a little to accommodate the bus ripper code. * noweb/o_cue.nw: Added code to render the smaller sized connection cues that connect buses to nets. * noweb/o_grips.nw: Added code to the net case (when ending grip manipulations) to draw the bus rippers when connecting the net to a bus. * noweb/o_bus.nw: Fix to o_bus_add to init the bus_ripper_direction to zero. * noweb/g_rc.nw, g_register.nw, i_vars.nw and friends: Added code to implement the bus-ripper-size rc keyword. * lib/system-gschemrc.in: Added defaults for bus-ripper-size. * tests/nets.sch: Added test schematic for nets. * tests/pins.sch: Added a few more test cases. 2002-10-19 Ales Hvezda <ahvezda@geda.seul.org> * tests/pins.sch: Update test schematic to include single pin components * tests/oldsym2.sch: Added an old single pin symbol, to test that the auto whichend code handles the single pin correctly. * noweb/*.nw, include/*.h: Intergrated patch from Egil for "Snap Off" and "Show Hidden" status indicators (originally written on 10/09/2002). * configure.in, *.m4: Upgraded to automake 1.7.1 and autoconf 2.54 2002-10-17 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_cues.nw: Added patch by Egil Kvaleberg to prevent core dumps when whichend is somehow invalid (added checks in libgeda so this really should NEVER happen). * tests/oldsym.sym: Added test .sym which tests the auto whichend code in libgeda (for older <= 20020825 symbols). The whichends on all the pins should always be correct. Do not update this file to the current gEDA/gaf file format ever. * configure.in, docs/gschem.txt, include/prototype.h, lib/system-gschemrc.in, noweb/g_key.nw, noweb/g_register.nw, noweb/i_callbacks.nw, noweb/rcstrings.nw, noweb/x_menus.nw, noweb/x_multiattrib.nw: Added Egil Kvaleberg's find documentation patch. 2002-10-09 Egil Kvaleberg <egil@kvaleberg.no> * noweb/*, include/*: Implemented "Snap Off" and "Show Hidden" status indicators. 2002-10-07 Egil Kvaleberg <egil@kvaleberg.no> * Added Hierarchy/Documentation * Added Help/Manual 2002-10-07 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Added some missing attributes, noticed and patch by Egil Kvaleberg. Removed "name" from attribute-name list. 2002-09-30 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_menus.nw: Fixed the code so that toplevel menu names are now translated. Also fixed it so that "Help" gets translated as well. 2002-09-26 Ales Hvezda <ahvezda@geda.seul.org> * po/de_DE.po: Updated the Project-Id-Version so that gettext is happy (I hope). * noweb/rcstrings.nw: Added the toplevel menu items into this file so that they can be translated. * po/*.po: Removed geda-gschem.pot which caused the translation files to be rebuilt. 2002-09-25 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_attribedit.nw, x_dialog.nw, x_fileselect.nw: Added a few missing _(" "). Patch by Antonio and Alexandre. * po/geda-gschem.pot, pt_BR.po: Updated these file from what Antonio and Alexandre sent me. * tests/pins.sch: Added test schematic which exercises the pin whichend flag * noweb/rcstrings.nw: Added file which contains all the strings which are related to the menus so that they get translated. The strings are surrounded by _(" "). This file is NOT built. * noweb/Makefile.am: Added above file to EXTRA_DIST= * po/*: Updates to the files from rcstrings.nw 2002-09-22 Ales Hvezda <ahvezda@geda.seul.org> * examples/flipflop_1.sch: Fixed invalid attributes and gave all components a refdes. * configure.in: Bumped version to 20020922, which is NOT a release. * noweb/o_pin.nw: Added a call to draw the cues with pin's draw. This may affect rendering performance a little. This call is needed to update pin's new cues when an object is selected/unselected. * noweb/o_pin.nw: Added default parameters for pin_type and whichend when adding a pin. * noweb/o_cue.nw: Added code to draw the new pin dangling cues. * noweb/o_cue.nw: Added an if in various places so that only the appropriate cue (based on whichend) is drawn or erase. This gets rid of a very annoying visual artifiact which was driving me nuts: parts of symbols were being erased when a connection was being made at the WRONG end. 2002-09-16 Ales Hvezda <ahvezda@geda.seul.org> * noweb/globals.c: Added variable_set_func and quit_func. These are not used by gschem. 2002-09-07 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_multiattrib.nw: Redid the "Flags" column to be now "Vis?" and "SN". Basically added 2 columns instead of one. * noweb/x_multiattrib.nw: Changed the justification of the last two columns to be center * noweb/x_mulitattrib.nw: Fixed the slot changing code to be correct (use the correct column) * noweb/x_multiattrib.nw: After clicking Change, re-highlight the value entry 2002-09-03 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_multiattrib.nw: Redid multi attribute dialog box using glade. Internals very similar, a few widget changes. * noweb/x_multiattrib.nw: Not done yet, still need to redo flags column in the clist (not good enough yet) * noweb/x_attribedit.nw: Removed a static keyword to allow function reuse. 2002-09-02 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_multiattrib.nw: Created new file. * noweb/x_dialog.nw: Moved multi attrib edit dialog box code into above new file. 2002-09-01 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_window.nw: Added code to allows the main window to be resized to any smaller size. 2002-08-29 Ales Hvezda <ahvezda@geda.seul.org> * scheme/auto-uref.scm: Fixed left over "uref". Pointed out/fixed by Antonio A Todo Bom. Thanks. * lib/gschem-lightbg: Fixed the background color for images. Bug pointed out by John Eaton. * noweb/gschem.nw: Added bug fix by Alexandre P. Nunes to get the postscript output working again when you pick a locale which uses ","'s instead of "."'s. 2002-08-25 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_attribedit.nw: Fixed the focus on the value entry to be correct when labeling (naming) nets. * noweb/x_attribedit.nw: Added the key binding for the Escape key * noweb/x_fileselect.nw: Added the key binding for the Escape key * src/Makefile.am: Remove x_attrsel.nw (obsolete file) * lib/system-gschemrc.in: Added setpagedevice-* keywords * noweb/g_rc.nw, and others: Added support for above keywords * noweb/x_pagesel.nw: Added the key binding for the Escape key * noweb/x_print.nw: Added the key binding for the Escape key * noweb/x_image.nw: Added the key binding for the Escape key * noweb/o_misc.nw: Fixed the long standing bug in o_edit_find_text where the found text would sometimes be unlegible because of the zoom factor (pointed out by Dave Lawrence a long long time ago). * noweb/*.nw: Cleaned up -Wall warnings * configure.in: Added -mwindows flag for the mingw port 2002-08-18 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_grips.nw: Fixed a bug where searching for grips would stop if something that did not have grips was selected. * noweb/o_misc.nw: Changed used_list initial value to be 0 so that the number one is used when autonumbering refdes's. * noweb/o_text.nw: Changed the color of the x and I (origin/invisible) graphical cues to be grey (locked color) instead of red. Red is reserved for errors. * noweb/x_attribedit.nw: Changed the cursor focus entry to be the name entry when nothing is selected (i.e. not editing an attribute) 2002-08-05 Ales Hvezda <ahvezda@geda.seul.org> * noweb/i_basic.nw: Added a const to get rid of compiler warnings when compiling with --disable-nls 2002-08-04 Ales Hvezda <ahvezda@geda.seul.org> * noweb/*: Added gettext patch by Alexandre P. Nunes. Thank you for the work on i18n. * intl/ m4/ po/ ABOUT-NLS config.rpath: Added directories / files to support above * configure.in: Updated to support above * include/gettext.h: Added include file to support above * include/globals.h: Added #include for gettext.h 2002-07-27 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_attribedit.nw: Changed the show options to be an option menu instead of a combo box 2002-07-14 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_misc.nw, x_dialog.nw, lib/system-gschemrc.in: Renamed user visible references of uref to refdes * examples/*.sch: Update all schematics using gschupdate 2002-07-09 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_attribedit.nw: Added code so that value entry field is selected if there is something to select (makes replacing the text much faster). * tests/: Created tests directory mainly to hold various tests * examples/*.sch: Moved some of the developer only schematics into the test/ directory * tests/ext_chars.sch: Added a simple little schematic to test the loading of the extended characters. This should not crash gschem anymore. :) 2002-07-06 Ales Hvezda <ahvezda@geda.seul.org> * examples/*.sch: Updated all schematics to use netname instead of label * noweb/x_attribedit.nw: Changed all occurrances of label to netname * lib/system-gschemrc.in: Changed all occurrances of label to netname 2002-07-06 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_basic.c: Added code for o_erase_selected (not used currently) * configure.in and Makefile.am: Upgraded to automake 1.6.2 * noweb/x_dialog.nw: Removed attrib edit dialog box from this file * noweb/x_attribedit.nw: Created new file for attrib edit dialog box * src/Makefile.am, noweb/Makefile.am: Added above file to Makefiles * noweb/x_attribedit.nw: Completely reworked attrib edit dialog box to be much simpler and cleaner * noweb/x_attribedit.nw: Integrated patch from Dave Lawrence which adds a bunch of useful capabilities to the attrib add dialog box, add an attribute to multiple objects, replace existing attributes 2002-07-05 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Fixed spelling mistake * lib/system-gschemrc.in: Fixed the load of the commonrc file to work with --with-rcdir again. * noweb/g_key.nw, g_register.nw, i_callbacks.nw: Added Edit/update command 2002-06-25 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_attrib.nw: Changed o_attrib_add_selected to take a selection list as a parameter (allows for code reuse) * noweb/o_select.nw, o_complex.nw: Updated calls to above to pass in the appropriate selection list. * noweb/o_misc.nw: Added o_update_component which updates a component from disk and forces attributes to be repromoted. * noweb/o_delete.nw: Removed a static keyword from o_delete_complex(...) to allow for code reuse. 2002-06-22 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_misc.nw, i_callbacks.nw: Fixed all u_basic_breakup_string calls to take the extra character which is the delimiter. 2002-06-18 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_slot.nw: Plugged a small memory leak which has been there for a long time. * noweb/i_basic.nw: Added some experimental code which changes the cursor image. Something I'm playing with. 2002-06-13 Ales Hvezda <ahvezda@geda.seul.org> * TODO: A little bit of cleanup, organizing things. I will move most of the critical items into jitterbug * noweb/x_fileselect.nw: Fixed a bug which could have caused a crash. Turn on the preview button with nothing (or just a directory) selected, and gschem tried to open that garbage. * noweb/x_dialog.nw: Fixed add/edit attribute dialog box to not add improper attributes * noweb/x_dialog.nw, i_callbacks.nw: Added a bunch i_update_toolbar calls 2002-06-10 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_fileselect.nw: A bit more work on getting the WinME problem fixed. * noweb/x_preview.nw: A few fixes to address the WinME problem. * noweb/g_rc.nw, gschem.nw, i_callbacks.nw, x_fileselect.nw: Made sure that all of this trailing slash nonsense is only built on mingw and does not impact the unix port. * noweb/x_preview.nw: Made sure the toolbars are disabled in the preview window. Otherwise you get gtk warnings... 2002-06-09 Ales Hvezda <ahvezda@geda.seul.org> * noweb/g_rc.nw, gschem.nw, i_callbacks.nw, x_fileselect.nw: Added a call to u_basic_strip_trailing for the mingw port to make WinME happy (ME was interpreting \\ anywhere in filenames as network paths). 2002-06-07 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_window.nw: Oops forgot to free a temporary string. Fixed. * bitmaps/*.xpm: Updated some of the bitmaps I drew to look a little better. 2002-06-03 Ales Hvezda <ahvezda@geda.seul.org> * lib/gschem-lightbg: Changed green3 to green4 for text and graphics. 2002-05-27 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Fixed incorrect environment variable name "GEDADATARC" to be GEDADATA. * lib/system-gschemrc.in: After reading all the negative opinions of a light colored background, changed default back to a black background. * noweb/x_window.nw: Improved tooltip for Add Component... * noweb/x_dialog.nw: Improved the appearance of the Add Text... dialog box. * noweb/o_line.nw: Added o_line_eraserubber(...) (erase any rubber banding line) * noweb/o_box.nw: Added o_box_eraserubber(...) (erase any rubber banding box) * noweb/o_circle.nw: Added o_circle_eraserubber(...) (erase any rubber banding circle) * noweb/o_basic.nw: Added o_erase_rubber(...) which erases any rubber banding object in progress. * noweb/o_arc.nw: Added o_arc_eraserubber(...) (erase any rubber banding arc) * noweb/i_callbacks.nw: Fixed a whole slew of quirks when you are drawing something and cancel it or start another command (that used to leave ghosts around) * noweb/i_callbacks.nw: Fixed it so that in some modes, the right mouse button no longer completely cancels the mode * noweb/x_dialog.nw: Added modal grab for add arc dialog box. 2002-05-23 Ales Hvezda <ahvezda@geda.seul.org> * noweb/i_basic.nw, o_grips.nw, x_fileselect.nw, i_callbacks.nw, x_event.nw: Add a bunch of i_update_toolbar calls to make sure that the toolbar reflects the current event_state. 2002-05-19 Ales Hvezda <ahvezda@geda.seul.org> * lib/gschem-darkbg, gschem-lightbg: Added these files which allow the user the ability to easily switch between a dark or light background. * lib/system-gschemrc.in: Added code to easily switch between a dark or light background color scheme. * noweb/g_rc.nw, g_register.nw, i_vars.nw, x_window.nw: Implemented the toolbars and handleboxes rc variables * lib/system-gschemrc.in: Add the use of toolbars and handleboxes rc variables * lib/system-gschemrc.in: Adjusted the size of the window to take into account the handleboxes and toolbar. * noweb/x_event.nw: A code to get the toolbar buttons to act correctly. * noweb/i_basic.nw: Added i_update_toolbar_select, which sets the toolbar icon to select. This code needs to be refactored. * noweb/x_window.nw: Commented out the toolbars which are not ready for use yet. 2002-05-16 Ales Hvezda <ahvezda@geda.seul.org> * noweb/g_rc.nw, g_register.nw, i_vars.nw: Added bitmap-directory rc keyword * noweb/x_window.nw: Added the use of bitmap_directory * noweb/x_window.nw, x_preview.nw and others: Fixed a few possible places where something is freed but wasn't be initialized to NULL * lib/system-gschemrc.in: Changed the default background color and all the colors to correspond to a light (almost white) background Commented out the black background colors * noweb/x_window.nw: Much more work on the toolbar. Added Edit, Add Text... Also got some of the callbacks working. * noweb/x_dialog.nw: Improved the label which appears on top of the Text entry dialog box. * noweb/x_window.nw: Much more work on getting toolbar complete. Still need to add the appropriate callbacks to the buttons. 2002-05-14 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Added in white background color theme. Commented out. * noweb/x_window.nw, i_callbacks.nw: Added toolbar with New, Open, Save, Undo, Redo * noweb/x_window.nw: Moved menu bar into a handlebox 2002-05-13 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_color.nw: Fixed outline colors so that they xor properly for non-black backgrounds * noweb/o_arc.nw, o_attrib.nw, o_box.nw, o_bus.nw, o_circle.nw, o_grips.nw, o_line.nw, o_net.nw, o_pin.nw, o_select.nw, o_text.nw: Fixed select color getter so that it returns the dark color which has been corrected for a non-black background. Also did some minor cleanup. * noweb/o_attrib.nw, o_basic.nw, o_buffer.nw o_complex.nw, o_copy.nw, o_move.nw, o_text.nw, x_event.nw: Fixed boundbox color getter so that it returns the dark color which has been corrected for a non-black background. 2002-05-12 Ales Hvezda <ahvezda@geda.seul.org> * noweb/g_rc.nw and friends: Added warp cursor rc keyword and support to disable the warping of the cursor when zooming * lib/system-gschemrc.in: Added warp-cursor rc keyword * noweb/x_menus.nw: Got rid of the requirement to use a fixed width font for the menus etc... Properly calculated the space pad between the item name and hotkey. Also removed code for mingw32 port * lib/gschem-gtkrc: Commented out the setting of the font 2002-04-14 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_dialog.nw: Added the rest of the signal connects for keypresses * lib/system-gschemrc.in: Moved some attribute related items from the Edit/ menu to the Attribute/ menu (Find Specific Text, Hide Specific Text, Show Specific Text) * lib/system-gschemrc.in: Changed the hotkeys for the above items to be under the Attribute/ menu) 2002-04-09 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_dialog.nw: Added a key binding to each dialog box so that Escape closes the dialog box. Suggestion by Mauricio de Alencar. 2002-04-08 Ales Hvezda <ahvezda@geda.seul.org> * noweb/g_rc.nw: Missed a few hardcoded /'s, fixed. * noweb/x_event.nw: Added a few lines of code to support the double click on an object to open up the edit dialog box. Suggestion by Mauricio de Alencar. * noweb/x_dialog.nw: Added a few lines of code to automatically select the value entry on open in the attrib edit dialog box. Suggestion by Mauricio de Alencar. * noweb/o_text.nw: Changed the default color of the little x that marks the origin to red (the detached attribute color). Suggestion by Mauricio de Alencar. * configure.in: Changed the function which is search for libpng. This was needed for the win32 port. * noweb/x_basic.nw: Added x_warp_cursor utility function. * noweb/a_zoom.nw: Used above x_warp_cursor to move the cursor to the right place after a zoom in/out. Suggestion by Mauricio de Alencar. 2002-04-06 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_fileselect.c: More work getting file dialog boxes to work with the new path separater. 2002-04-04 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_fileselect.c: Removed a / which was confusing the mingw32 port 2002-04-03 Ales Hvezda <ahvezda@geda.seul.org> * configure.in and friends: More work on getting the upgrade of autoconf, automake, and libtool to behave correctly. * configure.in: Added PATHSEP variable which holds the proper path separater depending on the platform. * lib/system-*.in: Work on getting rc files to use above variable. 2002-04-01 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Added -liberty for the Mingw32 port * noweb/g_rc.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/gschem.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/i_callbacks.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/o_complex.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/x_filesel.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/x_log.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/x_preview.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * configure.in and friends: Upgraded to autoconf 2.53, libtool 1.5, and automake 1.5. Lots of changes in various places for this upgrade. 2002-02-24 Ales Hvezda <ahvezda@geda.seul.org> * configure.in, config.h.in: Added a few checks for some non-portable #includes * configure.in: Added checks for mingw32 and disabled the cygwin port 2002-02-18 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Removed all trace of GUILE_LIB and GUILE_INCLUDE 2002-02-16 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_event.nw: Added a check in the configure callback to return if gschem hasn't finished setting up the current page. 2002-02-11 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Added "..." to some of the Edit/ menu options which popup a dialog box. 2002-02-09 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_text.nw: Improved o_text_edit_end to loop over all selected objects and change the text size or alignment. If more than one object is selected then only change size and alignment and not the string. String can only be changed if one object is selected. * noweb/x_dialog.nw, noweb/o_text.nw: If you select multiple text strings and you cannot edit the string, so do not give the user that option (I removed the text entry if the number of selected objects > 1) * noweb/x_fileselect.nw: Also applied the changes that Chris Ellec did for checking if a save was successful to the save as mechanism. * noweb/o_select.nw: Fixed an annoying selection behavior, if you select stuff with the selection box while holding down the SHIFT key and you happen to not find anything, any previous selection should be unaffected. Previous behavior was to unselect everything (which is wrong). * noweb/o_misc.nw: Added suggestion by Wojciech Kazubski for a function which just shows hidden text, but doesn't toggle the visibility. This new function is called o_edit_show_hidden. The original function is now called o_edit_make_visible. Added it to the rc/lib (g_*.nw) files as well. * noweb/o_attrib.nw, o_text.nw: Further improved on above to draw a little "I" when showing invisible text * noweb/o_text.nw: Fixed the above behavior to work for text items within placed components. Now you can show all hidden text on a schematic and see exactly what text is within a symbol! :-) * noweb/x_dialog.nw: Put in fix from Dave Lawrence wrt find_text_ok, redraw_all after you find no more text occurances * noweb/*.nw: Removed all -Wall warnings 2002-01-24 Stefan Petersen <spe@stacken.kth.se> * lib/system-gschemrc.in: Fixed bug in path when loading auto-uref. (geda-data => gedarcdir). Thanks to Cris Ellec for spotting this. Code is usually commented out. 2002-01-07 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_misc.nw: Added autonumber_text patch by Dave Lawrence. Reference info (from Dave): "Attached is a patch to the autonumber_text function that I wrote a while back that numbers components starting at the lowest unused component number >0 and skips used component numbers. The earlier version started at the maximum used component number +1. I assume the new functionality is usually what people would want.. if not, I could make a checkbox that would allow people to revert to the old way if you think that would be useful." 2001-11-25 Patrick Bernaud <b-patrick@wanadoo.fr> * noweb/x_dialog.nw: Corrected a bug about arc creation due to the last changes (2001-11-21) : my fault. 2001-11-21 Patrick Bernaud <b-patrick@wanadoo.fr> * configure.in, Makefile.am: Added test to use notangle_guile.scm if notangle is not available. * docs/Makefile.am: Moved the documentation generation here. * src/Makefile.am: Added a rule to produce prototype.h from noweb files and moved the documentation generation to docs/. * scripts/geda_totexi.in: Changed geda_totexi to geda_totexi.in to take benefit from the configure test on AWK. Backend updated to handle cross-references. * scripts/notangle_guile.scm.in: Added guile script to tangle noweb code without the whole noweb package installed. * noweb/o_{arc|box|circle|line}.nw: Full documentation, code clean-up. * noweb/o_grips.nw: Full documentation, code clean-up : old function splitted in one function for each object type. Added function to draw and erase grips. * noweb/o_{bus|net|pin}.nw: Grip stuff modified to suit new grip handling (described above). * include/prototype.h: Automatically updated after above changes. 2001-10-09 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_misc.nw: Changed all instances of strnlen to strlen 2001-10-07 Ales Hvezda <ahvezda@geda.seul.org> * noweb/g_key.nw, g_register.nw: Added first bit of Dave Lawrence's find text patch (hotkey for find text) * noweb/o_misc.nw: Added more of Dave's patch (lowlevel support functions) * noweb/x_dialog.nw: Added more of Dave's patch (new dialog boxes) * lib/system-gschemrc.in: Added Dave's new commands to the menu. * noweb/g_key.nw, g_register.nw: Added some missing hotkey scheme functions * noweb/o_misc.nw: Minor updates to the patch wrt find-text, did a true blue pan instead of calling set_window(...) Also added a zoom extents so that the zoom is about right (still experimental) * src/Makefile.am: Changed the order of source file building, so that g_key.* is before g_register.* 2001-07-24 Ales Hvezda <ahvezda@geda.seul.org> * noweb/g_rc.nw, g_register.nw, i_vars.nw, x_window.nw: Added (window-size w h) keyword to make some users (including myself) happy and in control of the window size (instead of having gschem pick some always too large window size for me) 2001-07-22 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Cleaned up all the data dir variables (to only have two) * noweb/gschem.nw, g_rc.nw: Fixed up code to look for rc files in different place when specifing the rc dirs using --with-rcdir. This used to work, but it was broken me when I added GEDADATA * lib/system-gschemrc.in, noweb/gschem.nw: Added a bunch of code to allow the rc files to live somewhere else * noweb/gschem.nw, g_rc.nw: More work on getting GEDADATA and GEDADATARC environment variables to work right when you move the binaries around * noweb/gschem.nw, i_basic.nw, o_slot.nw, o_undo.nw, x_color.nw, x_grid.nw: Added patch by Dan Mcmahill for 64-bit architectures. * docs/gschem.txt: Misc doc update 2001-07-21 Ales Hvezda <ahvezda@geda.seul.org> * noweb/o_undo.nw: Whoops was hardcoding "/tmp", should look at environment variable TMP instead 2001-07-20 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_menu.nw: Added code for Cygwin to get monospaced fonts for the menus. * noweb/i_callbacks.nw: Fixed the "scrollbar not updating when panning" bug pointed out by Chris; wasn't updating the scrollbars when panning :) * noweb/i_callbacks.nw: Fixed the wasn't updating connections when doing a symbol translate in a schematic (valid and should work) This still does NOT work. :( 2001-07-19 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Fixed all the LDFLAGS to be correct (and only link the libraries once) * configure.in: Bumped up version to 20010722 * configure.in: More updates to get cygwin to build right * src/Makefile.am: Changed the order in which things are linked (guile last) 2001-07-08 Ales Hvezda <ahvezda@geda.seul.org> * noweb/x_fileselect.nw: Changed a constant two days ago in defines.h, but in the code the value was being hard coded which cause a very hard to find (and frustrating) bug to live. Fixed! * lib/system-gschemrc.in: Finished adding menu items * noweb/x_menu.c: More work on the top menu bar code, discovered that some menu actions are not in the keymap (hotkey vs not), so had to add a third item to the menu item list (the hotkey scheme function) * noweb/*.nw: Renamed all *zoom_limits* functions to *zoom_extents* * lib/system-gschemrc.in: Misc updates to some of the key mappings (added options-rubberband : or and added zoom-extents : ze) 2001-07-07 Ales Hvezda <ahvezda@geda.seul.org> * scheme/gschem.scm: Added a bunch of scheme code to search through the global-keymap to find keys which are associated with a scheme procedure * noweb/x_menus.nw: Changed get_main_menu to get its info from the s_menu_* datastructures as well as put the hotkeys into the menu * noweb/g_rc.nw: Added g_rc_add_menu * noweb/g_register.nw: Added register call for above * noweb/gschem.nw: Added s_menu_init() and s_menu_free() calls * lib/gschem-gtkrc: Added gtkrc file to set the font on all dialog boxes to be fixed (this can be another font as long as it is fixed spaced) * lib/system-gschemrc.in: Slowely started adding menu entries using add-menu 2001-07-05 Ales Hvezda <ahvezda@geda.seul.org> * noweb/gschem.nw: Removed the "This is alpha software" message and added the standard gpl/gnu software message * noweb/a_pan.nw: Oops, if you mouse pan around in a corner you get really weird aspect ratio changes. Fixed. * noweb/o_basic.nw: Added a parameter to o_drawbounding which controls if this is the first time this function is being called for this operation, should improve performance a tremendous amount when dealing with bounding boxes (constant time to draw) * noweb/*.nw: Went through all code which references o_drawbounding and set the above parameter to the correct value * noweb/o_copy.nw, o_move.nw: The bounding box (when enabled) was not being erased properly after doing a move or copy. Fixed. 2001-07-02 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: A little more work to get indent vs gindent to be detected correctly * lib/system-gschemrc.in: Added the commented out hook lines 2001-07-01 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Now searching for gindent as well as indent * configure.in: Make sure configure scripts work with autoconf-2.50 (had to fix cygwin check), they do not yet work with 2.50 * Removed all traces of libtool from gschem, libtool is not required to build gschem 2001-06-24 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Added sort-component-library keyword default (disabled) * noweb/g_rc.c: Added code to support the sort-component-library * noweb/x_fileselect.c: Added code to enable/disable the sorting of component libraries 2001-06-16 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: More work on getting build mechanism for noweb working better * src/Makefile.am: Lots of work on getting this makefile up to snuff * docs/Makefile.am: Added target to install gschem.1 2001-06-10 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Minor cleanup * src/Makefile.am: Added support for automatic dependency tracking wrt the noweb files (using VPATH) * noweb/g_rc.c: Changed g_rc_parse_system to look for the *rc file in the right place using GEDADATA environment variables * lib/gschem-systemrc.in: Changed the load of the commonrc file to use the GEDADATA environment variable 2001-06-07 Ales Hvezda <ahvezda@geda.seul.org> * src/gschem.c: Added call to libgeda_init 2001-06-05 Ales Hvezda <ahvezda@geda.seul.org> * noweb/Makefile: misc path changes * scripts/geda_totexi: renamed gawk to just plain awk 2001-06-03 Ales Hvezda <ahvezda@geda.seul.org> * noweb/*: Added .nw files from Patrick B. * Started down the path toward using noweb (still need to integrated noweb tools into the configure mechanism) * scripts/*: Added noweb -> texi backed written by Patrick B. * Moved some files around for above move 2001-05-26 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fileselect.c: Commented out a debugging printf * src/x_fileselect.c: Chris Ellec integrated his component window sort into the code 2001-03-18 Ales Hvezda <ahvezda@geda.seul.org> * Removed all Makefile.in files and configure 2001-03-17 Ales Hvezda <ahvezda@geda.seul.org> * Got make dist and make distcheck working (means all files which are in CVS are in some Makefile) * configure.in: Added DATADIR instead of PACKAGE 2001-03-16 Stefan Petersen <spe@geda.seul.org> * configure.in, configure: didn't build properly if libgdgeda wasn't placed in it' "usual place". * src/x_menus.c: if libgdgeda isn't added, the menu alternative will not appear (silly, but I did it). 2001-03-07 Stefan Petersen <spe@geda.seul.org> * configure.in: Added patch from Bruno Schwander on libgeda also on this library. 2001-03-06 Stefan Petersen <spe@geda.seul.org> * configure.in: Removed some hard coded libraries. Patch and suggestion from Bruno Schwander. 2001-03-04 Ales Hvezda <ahvezda@geda.seul.org> * src/o_complex.c: Fixed the symbol translate code to do a zoom limits first and then the translate, fixes a bug where symbol didn't always get to the origin * src/o_misc.c: Put back the code to call the screen coord version of arc mirror/rotate * lib/system-gschemrc: Removed some old unused keyword options * src/g_rc.c: Removed some old unused keyword options * configure.in: Updated version * configure.in: Added a check to make sure libgeda-config and gesym-config are the right version 2001-03-03 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Fixed a few bugs dealing with the enabling and disabling of features via the command line (pointed out by Karel Kulhavy) 2001-03-02 Ales Hvezda <ahvezda@geda.seul.org> * src/o_copy.c: Oops lines were not being redraw selected after a copy 2001-03-01 Ales Hvezda <ahvezda@geda.seul.org> * src/o_move.c: Fixed a bug (pointed out by Matt Ettus) where an endpoint was added to the netconn rubberband structure when it should not have been. Bug was in an if statement which included an || which was causing a false hit * src/*.c: Changed some // comments to be /* */ * src/*.c: Fixed a bunch of -Wall warnings 2001-02-23 Ales Hvezda <ahvezda@geda.seul.org> * src/x_print.c: Fixed a bug where if you specified portrait printing via the *rc files, you would get incorrect centering of the image. Bug pointed out by Wolfgang Buesser. 2001-02-19 Ales Hvezda <ahvezda@geda.seul.org> * src/o_complex.c: Added code to get symbol translate working with the new connection / cue system 2001-02-17 Ales Hvezda <ahvezda@geda.seul.org> * src/o_move.c: Modified and put back the code which implements netconn rubberbanding * src/o_basic.c: Enabled some code to support above * src/x_event.c: Enabled some code to support above * src/o_grips.c: Added a redraw_single of the original object if you try to create a zero length object with a grip * src/i_callbacks.c, g_*.c, x_menus.c: Integrated patch from Chris Ellec for turning on and off the netconn rubberbanding * src/x_window.c: Integrated patch by Rolf Fiedler, increasing the size of the main window depending on the screen resolution * lib/system-gschemrc.in: Made the default for netconn-rubberband enabled by default 2001-02-11 Ales Hvezda <ahvezda@geda.seul.org> * src/x_print.c: Fixed a filename entry widget bug, filenames are typically longer than 79 characters, so increased size to 200 chars * src/x_image.c: Fixed same bug as above for image dialog box * src/o_buffer.c: Misc code changes to support the new connection and cue system 2001-02-10 Ales Hvezda <ahvezda@geda.seul.org> * src/o_complex.c: Added code to properly update connection / cues when placing complex objects * src/o_complex.c: Found/Fixed a memory leak when placing the individual objects inside a schematic (via "include objects ...") * Started resyncing with the cvs repository. * src/o_grips.c: Got grips to use the new connection / cues system * src/o_grips.c: Removed the global o_redraw at the end of o_grips_end * src/o_grips.c: Finally fixed the "disappearing object" bug when you use a grip on any of the objects. Now the grips behave like they should (finally)! :-) 2001-02-08 Ales Hvezda <ahvezda@geda.seul.org> * src/o_misc.c: Got mirror to use the new connection / cue system * src/o_misc.c: Removed the call to o_complex_mirror2 from the mirror switch. I don't think this special exception is needed anymore. Have to watch out for any breakage. * src/o_misc.c: Finally removed the restriction that you could not mirror embedded components. :-) Have to watch out for any breakage. 2001-02-03 Patrick Bernaud <b-patrick@wanadoo.fr> * src/o_arc.c: Added code to draw grips on an arc * src/o_grips.c : Added code to handle grips on arc with o_grips_<search|start|motion|end>_arc() functions. 2001-02-03 Ales Hvezda <ahvezda@geda.seul.org> * src/o_copy.c: Got copy to use the new connection / cue system * src/o_copy.c: Rearranged things around in the switch statement so that you don't have to do a o_redraw at the end * src/o_basic.c: Minor cleanup * src/o_delete.c: Got delete to use the new connection / cue system * src/o_net.c: Updated o_net_end to use the new connection / cue system (also removed some old obsolete functions) * src/o_pin.c: Updated o_pin_end to use the new connection / cue system (also removed some old obsolete functions) * src/o_bus.c: Updated o_bus_end to use the new connection / cue system (also removed some old obsolete functions) * src/o_misc.c: #if'd out some function calls which don't exist anymore (but I need the place holder to add new functions) 2001-01-27 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Added code to draw the grid when a new window is opened (bug) 2001-01-24 Patrick Bernaud <b-patrick@wanadoo.fr> * src/o_arc.c: Changed the meaning of arc parameters * src/o_circle.c: Modified the calls to arc drawing functions to match the change in the meaning of arc parameters 2001-01-23 Ales Hvezda <ahvezda@geda.seul.org> * src/o_move.c, o_cue.c: Work on getting the new conn system to work with move 2001-01-19 Ales Hvezda <ahvezda@geda.seul.org> * src/o_cue.c: Renamed o_conn.c to o_cue.c (makefile updates etc...) * src/o_cue.c: More work on getting cues done 2001-01-19 Stefan Petersen <spe@geda.seul.org> * scheme/auto-uref.scm: If there wasn't a question mark in the uref string, the auto-ref function blew up. 2001-01-18 Ales Hvezda <ahvezda@geda.seul.org> * src/o_conn.c: A lot of work on getting the visual cues done 2001-01-17 Stefan Petersen <spe@geda.seul.org> * scheme/auto-uref.scm: Made the associative list,used to keep track of used prefixes, using _real_ Guile associative list functions. 2001-01-16 Ales Hvezda <ahvezda@geda.seul.org> * src/x_event.c, g_key.c: Fixed a bug pointed out by Thomas Lundin which was causing a core dump. Basically, g_key_* functions were using a stale w_current pointer; switched them to use the always correct global_window_current pointer. 2001-01-16 Ales Hvezda <ahvezda@geda.seul.org> * docs/gschem.txt: Added a few lines about label= attribute 2001-01-11 Stefan Petersen <spe@geda.seul.org> * lib/system-gschemrc.in: minor paper-sizes bug that will break future typechecking. * src/g_rc.c: minor spell error in boundingbox 2001-01-07 Ales Hvezda <ahvezda@geda.seul.org> * src/o_net.c: Added some text drawing to nets to make debugging easier. This code will not be executed in real builds (needs to #if DEBUG'ed out) 2001-01-01 Ales Hvezda <ahvezda@geda.seul.org> * src/*.c: Removed all trace of conn table (and functions), nethash table (and functions), and temporarily commented out stretch code * src/x_grid.c: Added x_draw_tiles to help in the coding of the tile storage system 2000-12-17 Ales Hvezda <ahvezda@geda.seul.org> * docs/gschem.txt: Misc doc updates * README and INSTALL: minor updates 2000-12-15 Ales Hvezda <ahvezda@geda.seul.org> * src/a_pan.c: Changed o_redraw_all call to o_redraw_all_fast just to speed things up a bit * src/gschem.c: Changed o_redraw_all call to o_redraw_all_fast just to speed things up a bit 2000-12-14 Ales Hvezda <ahvezda@geda.seul.org> * src/x_preview.c: Fixed a bug relating to the preview box randomly not being drawn. Fix by Werner Hoch 2000-12-13 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Added -lregexp for CYGWIN32 build 2000-12-12 Ales Hvezda <ahvezda@geda.seul.org> * src/g_register.c: Added guile helper functions for netlist generation (code by Eduard Moser and Martin Lehmann) * src/g_key.c: Guile bindings to generate netlists on the fly (code by Eduard Moser and Martin Lehmann) * src/g_funcs.c: Added support functions for above (code by Eduard Moser and Martin Lehmann) * scheme/generate_netlist.scm: This is the scheme code which pulls together all of the above (new file added) (code by Eduard Moser and Martin Lehmann) 2000-12-11 Ales Hvezda <ahvezda@geda.seul.org> * src/o_text.c: Added o_text_place_rotate() to support the rotation of text as it is being placed * src/x_event.c: Modified state machine to support the rotation of text as it is being placed * src/o_text.c: More work to support above 2000-12-10 Ales Hvezda <ahvezda@geda.seul.org> * src/o_text.c: Removed all trace of zoom_factor * lib/system-gschemrc.in: Changed default text_zoom_factor to 30 * src/a_zoom.c: Removed one last unused reference to zoom_factor * src/configure.in: Added back the lines (saved_cflags etc...) which caused debug output to be included in the build 2000-12-09 Ales Hvezda <ahvezda@geda.seul.org> * src/o_net.c: Removed all trace of zoom_factor * src/o_pin.c: Removed all trace of zoom_factor * src/o_line.c: Removed all trace of zoom_factor * src/o_grips.c: Removed all trace of zoom_factor * src/o_text.c: Added another lame patch to fix the short storage of X coords problem. Not really a solution, just a lame patch * src/o_circle.c: Removed all trace of zoom_factor * src/o_line.c, o_circle.c, o_arc.c: re-ran indent against these files with -kr flags * src/o_bus.c: Removed all trace of zoom_factor * src/o_box.c: Removed all trace of zoom_factor * src/x_dialog.c: Added some more text to the about dialog box 2000-12-03 Ales Hvezda <ahvezda@geda.seul.org> * src/*.c: Removed some of the DONT_REDRAW from the code (the DONT_* are total hacks) * src/i_callbacks.c, a_zoom.c, a_pan.c and friends: Added a flag to a_zoom_* to control if the display is redraw or not (augmenting the current DONT_REDRAW). Need to fix this properly soon 2000-12-03 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Slightly rearranged things to make cygwin port happy * src/a_pan.c: Integrated changes by Werner Hoch, Panning is now done using a_pan_general * src/a_zoom.c: Integrated changes by Werner Hoch, Panning is now done using a_pan_general * src/i_callbacks.c: Integrated changes by Werner Hoch, Bunch of code cleanup, removed some redundant code * src/x_grid.c: Integrated changes by Werner Hoch, Changed the way the grid spacing is calculated (and drawn) * src/x_basic.c: Integrated changes by Werner Hoch, changed some init variables for the scrollbars * src/x_event.c: Integrated changes by Werner Hoch, rewrote (and fixed) resize callback to properly maintain aspect ratio * src/x_window.c: Integrated changes by Werner Hoch, changed some init variables relating to scrollbars * src/a_pan.c: Put in some code to bound the left and top borders when mouse panning 2000-12-02 Ales Hvezda <ahvezda@geda.seul.org> * src/gschem.c: Changed Cygwin warning message 2000-11-30 Ales Hvezda <ahvezda@geda.seul.org> * src/o_bus.c, o_box.c, o_move.c: Removed unused variable * configure.in: Added -fnative-struct flag for CYGWIN port only * configure.in: Added --enable-debug flag to enable -g flag 2000-11-22 Ales Hvezda <ahvezda@geda.seul.org> * src/o_move.c, x_event.c, o_basic.c: Finished adding the code to support the netconn-rubberband rc keyword 2000-11-21 Ales Hvezda <ahvezda@geda.seul.org> * src/g_rc.c and friends: Added netconn-rubberband rc keyword which controls if the net connection rubberband code is enabled 2000-11-16 Ales Hvezda <ahvezda@geda.seul.org> * src/o_move.c: Added support to the various o_move_* functions for midpoint connections when moving objects around (basically added o_move_check_midpoint) * src/o_move.c: Added calls to the creation and destruction of the nethash table (supporting above) * src/o_move.c: Changed all stretch_tail instances (when passing into s_stretch_add) so that duplicates can be check for (and prevented) 2000-11-12 Ales Hvezda <ahvezda@geda.seul.org> * src/o_move.c: Started working on the first cut of the net/pin/bus stretch while doing a move * src/*.c: Removed all traces of the old stretch callback etc... * include/x_states.c: Removed all traces of the old stretch command * src/o_delete.c: Removed static flag from o_delete_net (for use in o_move_end_rubberband) * src/o_delete.c: Removed static flag from o_delete_bus (for use in o_move_end_rubberband) * src/o_basic.c: Added a call to o_move_stretch_rubberband to erase old rubberbands (when doing a move and switching from free to constrained move) * src/x_event.c: Added calls to o_move_stretch_rubberband * src/o_net.c o_bus.c: Added some routines to support above * src/x_window.c: Oops forgot to init ftwindow which will cause a core dump on some systems, fixed 2000-11-09 Ales Hvezda <ahvezda@geda.seul.org> * src/x_dialog.c: Fixed a core dumper. Basically did not unselect the text attribute before you deleted it via the multi attribute dialog box. (Pointed out by Chris Ellec and Stefan). 2000-11-04 Ales Hvezda <ahvezda@geda.seul.org> * src/o_undo.c: Added code to use the new hierarchy saved state variables * src/i_callbacks.c: Misc variable initing * docs/: Added new directory, and put gschem.txt inside 2000-11-03 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Oops, forgot to save the undo state after pushing down into a hierarchy (schematic and symbol) 2000-10-31 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Added some comments (based on feedback from Arnim Littek). 2000-10-29 Ales Hvezda <ahvezda@geda.seul.org> * src/a_pan.c src/a_zoom.c: Integrated bug fixes and much needed improvement to zoom / pan functions (patch by Werner Hoch) Thanks * src/a_pan.c: Fixed a long standing annoyance with mouse pan: near the borders the display would jitter, very annoying * src/g_register.c etc...: Added support for hotkey for edit_filltype * lib/system-gschemrc.in: Added hotkey for edit_filltype * src/x_dialog.c: Intergate slot change patch by Chris Ellec (change the slot attribute and a the symbol updates; with minor modifications by AVH) 2000-10-26 Patrick Bernaud <b-patrick@wanadoo.fr> * examples/fill_test.sch: Added example schematic to demonstrate fill capabilities * src/o_arc.c, o_line.c: Minor changes to line type support * src/o_box.c, o_circle.c: Added fill (both solid and pattern) to boxes and circles (also misc line type changes). * src/x_dialog.c, x_menu.c, i_callbacks.c: Added fill style dialog box 2000-10-10 Stefan Petersen <spe@geda.seul.org> * src/gschem.c, src/i_callbacks.c, src/x_fileselect.c, src/x_preview.c f_open calls silently ignores the error code returned. 2000-10-07 Ales Hvezda <ahvezda@geda.seul.org> * src/g_rc.c: Removed a #if defined around #include <dirent.h> for CYGWIN32 * src/x_fileselect.c: Removed a #if defined around #include <dirent.h> for CYGWIN32 * configure.in config.h: Removed an old GTK+ test which is not longer used 2000-10-06 Ales Hvezda <ahvezda@geda.seul.org> * src/*.c: Removed all // comments * src/gschem.c: Changed CYGWIN32 warning message * src/o_arc.c: Patrick checked in a rotate fix for arcs * src/o_misc.c: Added *_erase_grips calls to o_rotate_90 and o_mirror * src/o_slot.c: Fixed a core dumper. Basically tried to use text paramters when instead wanted to use the complex structure 2000-10-05 Ales Hvezda <ahvezda@geda.seul.org> * src/x_dialog.c: Also remove the log window and the page manger from the raise dialog function * src/o_move.c: Added a missing erase grip function for boxes * src/o_delete.c: Added a bunch of erase grip functions for all primitives * src/o_circle.c: Added code to support circles * src/o_grips.c: Added code to support circles * src/o_circle.c, o_line.c, o_box.c: Made sure the line width was 0 before drawing all grips * src/*.c: Added draw-grips *rc keyword and enabling/disabling code * src/o_grips.c: Oops forgot to update the CHANGED flag at the end of o_grips_end * src/o_grips.c: Put in a o_redraw at the end of grips; We'll see if this is acceptable * src/o_<primitive>.c: Added some defaults to various error conditions to prevent visual errors and core dumps * src/*.c: Fixed all -Wall warnings * src/o_complex.c: Added o_complex_place_rotate (allows you to rotate a component before you place it) * src/x_event.c: Added code to call o_complex_place_rotate * src/x_dialog.c: Removed some code (o_undo_savestate) which didn't belong * src/x_dialog.c: Added line type / line width dialog box * src/i_callbacks.c: Added code to call new line width / line type dialog box * src/x_menus.c: Added Edit/Line Width & Type menu option * src/*.c, lib/system-gschemrc.in: Added hotkeys for Edit/Line Width & Type 2000-10-04 Ales Hvezda <ahvezda@geda.seul.org> * src/o_line.c: Added code to draw grips * src/o_grips.c: Added new file which will contain code which deals with drawing grips * src/x_event.c: Added calls to grip routines * src/o_net.c: Added code to draw grips * src/o_pin.c: Added code to draw grips * src/o_bus.c: Added code to draw grips * */*: Removed all calls to *stretch functions * src/x_dialog.c: Removed the file/component selection dialog box from the "raise on expose event" * src/o_move.c: Added grip erase function calls to clean up any droppings * src/o_box.c: Added code to draw grips * src/o_grips.c: Added support for box grips 2000-10-02 Ales Hvezda <ahvezda@geda.seul.org> * src/o_arc.c: Renamed all d1 to length and d2 to space Misc number to #define substitutions * src/o_line.c: Renamed all d1 to length and d2 to space Misc number to #define substitutions * src/o_box.c: Renamed all d1 to length and d2 to space * src/o_circle.c: Renamed all d1 to length and d2 to space * src/o_*.c: Found a minor bug in o_*_draw which caused primitives to sometimes not be drawn * src/o_box.c: Renamed box_width to line_width (when it applied to the thickness of a line) * src/o_*.c: Made sure the thickness of all graphic contexts are 0 before starting to draw 2000-09-26 Ales Hvezda <ahvezda@geda.seul.org> * src/o_arc.c: Intergrated changes to the arc primitive by Patrick Bernaud * src/o_box.c: Intergrated changes to the box primitive by Patrick Bernaud * src/o_circle.c: Intergrated changes to the circle primitive by Patrick Bernaud * src/o_line.c: Intergrated changes to the line primitive by Patrick Bernaud * Above files: Removed temporary function prototype * src/create_proto: Update to be more general like libgeda's version (but it is slightly different) 2000-08-30 Stefan Petersen <spe@geda.seul.org> * Added auto-uref.scm and print-NB-attribs.scm scheme programs. Changed scheme/Makefile.am accordingly and reran automake. 2000-08-28 Stefan Petersen <spe@geda.seul.org> * Fixed bug in configure.in. Probably a bug in autoconf. Now it should work to configure when libguile is dependent on other libs. 2000-08-26 Stefan Petersen <spe@geda.seul.org> * Cleaned up configure stuff and added guile.m4 to enhance guile configuration. 2000-08-22 Stefan Petersen <spe@geda.seul.org> * configure.in/configure: Made configure look for scm_run_hook in libguile. 2000-08-21 Ales Hvezda <ahvezda@geda.seul.org> * src/o_text.c: Converted all complex references to use the new complex pointer inside text structure * src/o_text.c: Added o_text_draw_lowlevel * src/o_complex.c *.c: Converted all complex references to use the new complex structure * src/*.c: Went through all code and made sure code compiles with all the renamed variables 2000-08-20 Ales Hvezda <ahvezda@geda.seul.org> * src/o_arc.c: Converted all line_points references to use the new arc structure * src/o_box.c: Converted all line_points references to use the new box structure * src/o_text.c: Converted all text_* references to use the new text structure * src/o_text.c: Found a long hidden bug, wasn't properly recomputing screen_x and screen_y for text items * src/*.c: Converted all text_* references to use the new text structure * src/o_line.c: Converted all line_points references to use the new line structure * src/o_net.c, o_pin.c, o_bus.c: Changed o_line_visible's parameters to be correct (use line structure). * src/o_pin.c: Converted all line_points references to use the new line structure * src/o_net.c: Converted all line_points references to use the new line structure * src/o_bus.c: Converted all line_points references to use the new line structure * src/o_stretch.c: Converted all line_points references to use the new line structure * src/o_attrib.c: Converted all line_points references to use the new line structure * src/o_conn.c: Converted all line_points references to use the new line structure 2000-08-17 Ales Hvezda <ahvezda@geda.seul.org> * src/x_dialog.c: Fixed a bug pointed out by Martin Benes. Martin also provided the bug fix. Thanks. Needed to init the "selected" data item to -1. 2000-08-12 Stefan Petersen <spe@geda.seul.org> * src/g_hook.c: Added. Contains hook support functions. * src/Makefile.am: Added above source file. -> all Makefile* and configure are regenerated. * src/globals.c, include/globals.h: Defined three hooks; *_component_hook * src/g_register.c: Init attrib smob stuff and defines hooks * src/o_complex.c, src/o_copy.c, src/o_move.c: Calls to hooks added * include/prototype.h: two hook support functions. 2000-07-20 Ales Hvezda <ahvezda@geda.seul.org> * src/x_event.c: Fixed a bug in the middle mouse button move when you pressed the shift key and had the mouse over an existing object. Now the object is not selected. 2000-07-04 Ales Hvezda <ahvezda@geda.seul.org> * src/*.c: Updated copyright info in each file * src/*.c: Changed all GNU to GPL in the appropriate places * src/x_multimulti.c: Added copyright banner to file * src/g_rc.c: Added a #ifdef to the #include <dirent.h> to make Cygwin builds happy * configure.in: Bumped version up to 20000704 * src/*.c: Removed all warnings 2000-06-27 Ales Hvezda <ahvezda@geda.seul.org> * src/o_undo.c: DOH! Didn't #include <math.h> which caused rint to cause highly unpredictable behavior (core dumping). Fixed * src/o_undo.c: Added code to look for undo save data when you zoom and then make a schematic change (zoom undo does not store state of schematic), so you have to go looking for the data. * src/g_rc.c: Added component-library-search rc keyword which implements the automatic searching and adding of component libraries given a directory (requested feature for Steve Williams) * src/g_register.c: Added code to support component-library-search rc keyword * src/g_rc.c, src/g_register.c: Added very similar code to above to support source-library-search rc keyword * src/x_dialog.c (bunch of other files): Fixed attribute add bug where when Add/Attribute... is execute from the menu and the attribute text location is weird. * src/g_register.c, src/i_callbacks.c, src/g_key.c: Added new function add-attribute-hotkey to support above * lib/system-gschemrc.in: Added add-attribute-hotkey in the appropriate place (in the keymapping structure) 2000-06-26 Ales Hvezda <ahvezda@geda.seul.org> * src/o_buffer.c: Indentation nit fixed * src/o_undo.c: Added a bunch of code to deal with the new object_head pointer in the undo struct (for doing in memory undo) * src/g_rc.c, src/g_register.c, src/i_vars.c, include/i_vars.h: Added code to support undo-type rc keyword * lib/system-gschemrc.in: Added undo-type rc file /***********************************************************************/ /* NOT DONE */ src/*.c: Removed all traces of the ADDING_SEL flag /* NOT DONE */ /***********************************************************************/ * src/a_zoom.c, src/a_pan.c: Moved some of the redraw functions around * src/x_event.c: Changed one of the o_redraw_all_fast functions to be a plain old simple o_redraw_all * src/o_move.c: Putzed around with the NET move code case to see if I could improve the net_conn drawing problems. Not much success though (probably broke things) * src/a_pan.c, src/a_zoom.c, src/x_event.c, src/i_callbacks.c: Removed o_undo_savestate from zoom and pan functions (for now, eventually routines need to go back in) * src/o_undo.c: Added a flag to the save state function which allows for you to just store viewport info (and not the whole schematic); speeds up zooming/panning a lot * src/o_undo.c: Fixed code so that zoom factor is calculated after an undo 2000-06-23 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fileselect.c, src/i_callbacks.c: Removed the "unselect all before save" call since the lowlevel routines in libgeda now take care of saving primitives correctly * src/o_undo.c: Moved undo_* pointers into page structure * src/o_undo.c: Moved chunks of code into libgeda/src/s_undo.c (init and free function) * src/x_window.c: Removed o_undo* function calls (now the exist in s_page_* in libgeda) * src/o_undo.c: Added global init and clean functions * src/gschem.c: Added some global init and cleanup undo func calls * src/g_rc.c, src/g_register.c, src/i_vars.c, include/i_vars.h: Added code to support undo-levels and undo-control rc keywords * lib/system-gschemrc.in: Added undo-levels and undo-control to rc file * src/gschem.c, src/i_callbacks.c, src/x_fileselect.c, src/x_window.c: Added a o_undo_savestate immediately after you open/create a new page * src/*.c: Added an o_undo_savestate after all code which causes a schematic change * src/a_zoom.c, src/a_pan.c, src/x_events.c: Added an o_undo_savestate after all zoom/pan type code 2000-06-22 Ales Hvezda <ahvezda@geda.seul.org> * src/o_undo.c: Added new file which includes higher level undo management routines * src/x_window.c: Added undo init and free routines * src/o_line.c: Added first call to o_undo_savestate in o_line_end * src/g_key.c, src/i_callbacks.c: Added new key callbacks (for undo and redo) * src/g_register.c, lib/system-gschemrc.in: Added keys U and R for undo and redo * src/x_menus.c: Added undo and redo to the menu 2000-06-08 Ales Hvezda <ahvezda@geda.seul.org> * src/o_buffer.c: Fixed bug which was causing buffers which are pasted to be misaligned * src/x_dialog.c, src/o_attrib.c: Changed the bug fix with o_attrib_add_attrib and gschem crashing to now just not attach the attribute, now o_attrib_add_attrib cannot return NULL (returns the new text object always) * src/o_attrib.c: For some odd reason I wasn't using the color variable in o_attrib_add_attrib, fixed that. Also attributes which are floating should not be yellow (attached color), so they are now red which signify a floating attrib. It is the user's responsibility to change the color to something else. The red is meant as a warning that this attribute isn't attached to anything. 2000-06-04 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Made net-consolidate enabled by default * src/i_vars.c: Made net_consolidate variable enabled (TRUE) * src/x_dialog.c: Added an if to make sure returned object from o_attrib_add_attrib isn't NULL (that can happen if you try to attach an attribute to another text item). This bug caused at least one core dump. 2000-06-03 Ales Hvezda <ahvezda@geda.seul.org> * src/g_rc.c, src/i_vars.c: Added continue-component-place *rc keyword (functions and variables) * lib/system-gschemrc.in: Added continue-component-place keyword 2000-06-01 Ales Hvezda <ahvezda@geda.seul.org> * src/g_rc.c, src/i_vars.c: Added promote-invisible *rc keyword (functions and variables) * lib/system-gschemrc.in: Added promote-invisible keyword * src/o_complex.c: Removed some lame cleverness related to the attribute_promotion variable (it was being used instead of a real flag which lead to some ambiguous code) * src/g_rc.c, src/i_vars.c: Added keep-invisible *rc keyword (functions and variables) * lib/system-gschemrc.in: Added keep-invisible keyword * lib/system-gschemrc.in: Spent a little time cleaning this file up. (more whitespace, a few missing comments) 2000-05-29 Ales Hvezda <ahvezda@geda.seul.org> * src/o_complex.c: Added Martin Benes' changes which implement the promotion and attachment of floating attributes when you instanciate a component. * src/o_complex.c, src/g_rc.c, src/i_vars.c: Made the above code configureable through the *rc files (keyword: "attribute-promotion") * lib/system-gschemrc.in: Added attribute-promotion keyword (enabled by default) 2000-05-27 Ales Hvezda <ahvezda@geda.seul.org> * src/o_misc.c: Oops, had a typo in o_rotate_90 which caused boxes to be rotated but not drawn * src/x_dialog.c: In the multimulti dialog box, give the value entry the keyboard focus by default (when an attribute is selected) Written by Martin Benes * src/x_dialog.c: In the multimulti dialog box, hitting return in the value entry caues the dialog box to close Written by Martin Benes * src/x_dialog.c: In the atribute edit dialog box, give the value entry the keyboard focus by default Written by Martin Benes * src/x_dialog.c: If you add an attribute to a net, the name entry gets a default value of "label" Written by Martin Benes * src/x_dialog.c: When adding an attribute to an object using the attribute add dialog box, the current mouse location is used as the origin point for the new text item. Written by Martin Benes * src/x_event.c: After placing a component (using the place dialog box), immediately starting placing the same dialog again. Written by Martin Benes 2000-05-23 Ales Hvezda <ahvezda@geda.seul.org> * src/globals.c: Renamed buffers to object_buffers * src/x_event.c: Added the beginning of the event states which will be needed to implement the buffer copy/paste * src/x_event.h: Added states (STARTPASTE and ENDPASTE) to the state enumerated type * src/Makefile.am: Added o_buffer.c * src/o_buffer.c: Finished adding o_buffer_paste_* routines * src/o_buffer.c: Finished adding o_buffer_copy and o_buffer_cut routines * src/x_menus.c: Added Buffer pulldown menu as well as the menu items inside * src/globals.c: Added #include ".../globals.h" * src/i_callbacks.c: Added a huge bunch of callbacks to support the buffer paste/copy/cut feature * src/x_window.c: Added o_buffer_free to allow for the tracking down of memory leaks with ccmalloc * src/g_key.c: Added buffer_* calls as guile registered functions * lib/system-gschemrc.in: Added keystroke hotkeys for buffer functions * lib/system-gschemrc.in: Changed raise-dialog-boxes-on-expose to be enabled by default. Let's see if anybody complains 2000-05-22 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Started experimenting with the concept of global (across all windows/pages) buffers to hold cut and paste type objects * src/globals.c include/globals.h: Added OBJECT *buffers[10] array for cut and paste type operations between pages * src/o_copy.c: Found and fixed a bug which caused circles to be copied incorrectly * src/o_complex.c: Removed some #if'ed out ancient code * src/gschem.c: Added some init code to main() to handle the highly experimental buffers * src/i_callbacks.c: Found a minor bug in the new experimental routines (was copying to the wrong end of the object list) 2000-04-21 Ales Hvezda <ahvezda@geda.seul.org> * lib/system-gschemrc.in: Changed the default case to be both (allow both lower and upper case characters when entering text) * lib/system-gschemrc.in: Added footprint attribute name to attribute-name list 2000-04-16 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Worked more on the source= and hierarchy down schematic feature by adding the ability to have multiple filenames (comma seperated) in the source= attribute (Idea by Thepthai Tabtieng) * src/i_callbacks.c: Fixed the Attribute/Attach... segfault (added an if ...) (Bug pointed out by Stefan, Thanks) * src/i_callbacks.c: Added the ability to search for the source= attribute inside the symbol if it isn't found attached to the outside of the symbol (omission pointed out by Thepthai Tabtieng). If you attach source= attribute to the outside, then inside is NEVER searched. * src/x_window.c: Oops forgot to init and destroy w_current->sewindow Oops forgot to init and destroy w_current->mawindow Oops forgot to init and destroy w_current->aewindow * src/x_dialog.c: Added x_dialog_raise_all which raises all dialog boxes if they are displayed * src/g_rc.c: Added raise-dialog-boxes-on-expose rc keyword to control above 2000-04-15 Ales Hvezda <ahvezda@geda.seul.org> * src/create_proto: Updated prototype.h creation script to use gtk/glib paths from my machine (installed in /usr/local ...) 2000-03-23 Ales Hvezda <ahvezda@geda.seul.org> * src/o_net.c: Removed the stupidity of unselecting the selection when we consolidate nets * src/o_text.c: Fixed both instances of the fast text drawing code for 90 and 270 rotated text (line was going the wrong direction). * src/o_text.c: Alsmot got the length of the fast text line right. Still not perfect, but better * src/o_slot.c: o_slot_end, got the changing of sloting to look right with the new selection mechanism 2000-03-20 Ales Hvezda <ahvezda@geda.seul.org> * src/o_misc.c: Got o_embed and o_unembed working with the new selection mechanism * src/o_misc.c: Got o_lock and o_unlock to use a new variable (locked_color) instead of the selection reserved variable saved_color * src/o_misc.c: Added some diag messages to lock and unlock routines * src/o_net.c: Introduced a hack which simplifies the handling of net consolidation and selections (unselect everything before you attempt consolidation) Not a good solution, but for now it will do. * src/*.c: Removed most // comments 2000-03-16 Ales Hvezda <ahvezda@geda.seul.org> * src/o_misc.c: Got o_mirror totally working with new selection mechanism 2000-03-15 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Got the parameters to o_mirror correct * src/o_misc.c: Started getting o_mirror to work with new selection mechanism (still has some serious bugs) 2000-03-12 Ales Hvezda <ahvezda@geda.seul.org> * src/Makefile.am: Removed obsolete i_sbox.c from Makefile * src/x_dialog.c: Got color edit dialog box to work with new selection mechanism 2000-03-10 Ales Hvezda <ahvezda@geda.seul.org> * src/o_basic.c: Added o_redraw_all_fast (which is a faster version of o_redraw_all) * src/a_pan.c: Made mouse pan use the above routine * src/x_event.c src/o_text.c: Added code to increase the speed of the mouse pan (by not drawing all the text) * src/a_zoom.c src/x_event.c: Also speed up zoom box and zoom in/out with new faster redraw function * src/g_rc.c and friends: Added fast-mousepan keyword which controls if text is drawn during a pan or not. * src/o_misc.c: Fixed up o_edit to work with new selection mechanism * src/o_misc.c: Cleanup of code which calls the multi_* functions to be simpler * src/x_dialog.c: Got multi_attrib_edit to work with new selection mechanism * src/x_multimult.c: Got multi_multi_edit to work with new selection mechanism 2000-03-09 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Got attribute attach and detach working with the new selection mechanism 2000-03-08 Ales Hvezda <ahvezda@geda.seul.org> * src/o_copy.c: Got the setting of color on detached attributes right * src/o_attrib.c: Fixed a bug where you could pick an object with attributes and then deselect it and then select it again, and you would end up with invalid colors for the attributes. (in o_attrib_add_selected) 2000-03-07 Matt Ettus <matt@ettus.com> * src/x_multimulti.c: Moving along on dialog box Shouldn't segault anymore, looks nicer. 2000-03-05 Ales Hvezda <ahvezda@geda.seul.org> * src/x_image.c: Unselected all objects first before writing image * src/x_print.c: Unselected all objects first before writing postscript * src/o_text.c: Got text edit to work with new selection mechanism (proper erase before and redraw after the edit) * src/o_text.c: Got attrib text edit to work with new selection mechanism * src/o_attrib.c: Fixed toggle visibility to work with new selection mechanism * src/o_select.c: Fixed a bug where you could select invisible objects using the selection box and caused other invisible objects to be selected (don't consider invisible objects for anything). * src/Makefile.am: Removed old *.h entries * src/o_attrib.c: Fixed o_attrib_toggle_show_name_value to work with the new selection mechanism * src/o_misc.c: Got Edit/Show Hidden... working again. 2000-03-04 Ales Hvezda <ahvezda@geda.seul.org> * src/o_basic.c: Combined o_drawbounding and o_drawbounding_new into a single function. * src/o_complex.c: Put the new o_drawbounding into place (new prototype, which means all instances need to be fixed) * src/o_basic.c: More o_drawbounding cases fixed * src/o_basic.c: Fixed a bug where text would not be draw properly if a redraw came in the middle of a place * src/o_text.c, o_attrib.c: Fixed o_drawbounding in code * src/*.c: Fixed rest of the o_drawbounding[_new] in the code 2000-02-28 Ales Hvezda <ahvezda@geda.seul.org> * src/o_*.c: Added required o_*_erase functions * src/*.c: Continued work on getting new selection mechanism working * src/o_misc.c: Finished a few of the functions for above, but #if 0'ed out the rest * src/o_slot.c: Update function for new selection mechanism * src/o_stretch.c: Update function for new selection mechanism * src/o_copy.c, o_move.c, o_delete.c: Basically working again. Still have lots to work here. * Finished first draft of selection mechanism rewrite... _a lot_ of things still broken 2000-02-28 Matt Ettus <matt@ettus.com> * Makefile.am: Added x_multimulti.c * o_misc.c: Added call to multi_multi_edit * x_multi_multi.c: New File, contains beginnings of multi component attrib editor dialog 2000-02-27 Ales Hvezda <ahvezda@geda.seul.org> * src/o_selection.c: Added new selection code * src/o_find.c: Added new object find function * src/o_select.c: Added new object selection code * src/*.c: Changed #define SELECTION to SELECTION_FLAG in all the code * src/*.c: Changed #define NORMAL to NORMAL_FLAG in all the code * src/*.c: Started work on using new selection mechanism, got basic selection (single/multiple) working * src/o_misc: Fixed a minor bug in o_unlock (will be rewritten anyway) * src/o_attrib.c: Renamed deal_attrib to o_attrib_add_selected * src/o_basic.c: Removed a whole bunch of old functions * src/*.c: Started removing all traces of the old selection mechanism * src/o_basic.c: Removed a bunch of functions which are no longer needed * src/o_move.c: Rewrote the functions to use new selection mechanism * src/o_copy.c: Rewrote the functions to use new selection mechanism * src/o_delete.c: Rewrote the functions to use new selection mechanism * src/o_misc.c: Rewrote the functions to use new selection mechanism * Still todo/broken is o_drawbounding, o_erasebounding, an o_attrib_slot_copy?, referenced to undraw unselect functions, and need to write a bunch of _erase functions 2000-02-25 Ales Hvezda <ahvezda@geda.seul.org> * configure.in: Added gtk+extra widget set (libgtkextra.*) to the link list of gschem (linked in only if it is installed) 2000-02-23 Ales Hvezda <ahvezda@geda.seul.org> * src/gschem.c: Fixed a bug in the parsing/locating of the first schematic filename commandline parameter 2000-02-19 Ales Hvezda <ahvezda@geda.seul.org> * README/INSTALL: Updated files to reflect next release * src/*.c: Removed all // comments (changed to /* */) * src/i_callbacks.c: Got rid of setup_attr_selector, instead now calling attrib_edit_dialog directly * src/*.c: Fixed all warnings (using -Wall -Werror) 2000-02-17 Ales Hvezda <ahvezda@geda.seul.org> * src/o_text.c: Put the text origin markers in the backingstore so they show up when you open up initally in the window. * src/o_text.c and friends: Added text-origin-marker keyword to control if the markers are displayed or not * src/o_text.c: Added the ability to edit the text alignment using Edit/Edit... (or Edit/Edit Text...) * examples/*.sch: Loaded and saved all example schematics so that they use the new text format 2000-02-16 Ales Hvezda <ahvezda@geda.seul.org> * src/o_misc.c: Selecting Edit/Edit... on nets, buses, and pins now brings up the multi-attrib * src/*.c: Update a bunch of files to use call o_text_add with the extra text alignment parameter * src/o_text.c: Added a small x where the origin of a text object is when the text item (only as debugging, might be perm later) 2000-02-16 Matt Ettus <matt@ettus.com> * src/x_dialog.c: Lots of changes to finish and clean up the multi-attrib editor. Code is cleaner now, too. 2000-02-15 Ales Hvezda <ahvezda@geda.seul.org> * src/o_attrib.c: Made o_attrib_add_attrib return a pointer to the attached (or new) attribute. * src/i_callbacks.c: Update one of the misc callbacks to test above change 2000-02-01 Ales Hvezda <ahvezda@geda.seul.org> * src/x_pagesel.c: Added a hierarchy level flag as well as rearranged the page manager dialog box a little bit * src/i_callbacks.c: Added code to go up the hierarchy if you close an underlying page first. * src/i_callbacks.c: Bug fix to make all hierarchy down opened pages be zoomed limits * src/i_callbacks.c: Bug fix to page revert to make sure hierarchy info is preserved when a page is closed and reopened. 2000-01-25 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Added code to allow you to specify a lower (source) schematic use the source= attribute * src/x_dialog.c: Fixed that bug which I introduced in the multi-attrib edit dialog box which caused it to not open if a component with no attached attributes is selected * src/g_rc.c and friends: Added enforce-hierarchy rc keyword which controls if how easy it is to move between hierarchy levels * src/x_dialog.c: Increased the height of the multi-attrib edit dialog box by using gtk_widget_set_usize function * lib/system-gschemrc.in: Add source attribute name to attribute-list * src/x_dialog.c: Gave multi attrib, slot edit, and attrib edit their very own entries in the toplevel structure (mawindow, sewindow, aewindow). Also gave slot edit it's very own entry "entry" (seentry) * src/o_misc.c: Added checks in o_edit to make sure that an attribute is really an attribute (='s not sorrounded by spaces) * src/x_dialog.c: Hopefully got the grab for attribute edit dialog and multi attribute dialog boxes working * src/i_callbacks.c and friends: Added edit_text callback just so that the user an forcely edit text even if that text is an attribute 2000-01-26 Matt Ettus <matt@ettus.com> * src/x_dialog.c: Added capability for Edit Attribute Dialog to handle attribute additions also * src/x_attrsel.c: Commented out old attrib add, made it call new dialog. NOTE: The way it calls the new dialog is kind of indirect. 2000-01-25 Ales Hvezda <ahvezda@geda.seul.org> * src/o_attrib.c: Added o_attrib_add_attrib which takes some parms and adds a text attribute to the selected object. * src/i_callbacks.c: Modified misc-misc callback to test and demo the above function. 2000-01-19 Matt Ettus <matt@ettus.com> * src/x_dialog.c: Merged in Ales's changes * src/x_dialog.c: Lot's of rework on multi-attrib editor 2000-01-18 Ales Hvezda <ahvezda@geda.seul.org> * src/x_dialog.c: Moved some code around and added a check to the multiple attrib edit dialog box so gschem won't crash * src/x_dialog.c: Filled a string (text[1]) with some thing to avoid garbage chars in the multi edit dialog box * src/o_delete.c: Make o_delete_text a non-static function (so that it can be used in routines/files * src/x_dialog.c: Got the delete callback on the attribute edit dialog box working (by calling o_delete_text) * src/x_dialog.c: Moved the "hint" to the multi attrib edit dialog box to place itself at the mouse pointer location (gtk_window_position) to be closer to the creation time of the window to avoid dialog box placement gitter. * src/x_dialog.c: Added a few memory frees to avoid memory leaks 2000-01-17 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Renamed Hierarchy menu options * src/g_*.c: Added Hierarchy/Down Schematic and Hierarchy/Down symbol * src/x_menus.c: Added renamed appropriate menu options for above * lib/system-gschemrc.in: Updated hotkeys for above new callbacks * src/i_callbacks.c: Fixed page next and page prev to look at the page control variable 2000-01-13 Matt Ettus <matt@ettus.com> * src/x_dialog.c: Moved Multi-attribute editor here, improved it * src/o_misc.c: Added call to multi-attrib editor * Removed "Mattribute" menu item 2000-01-12 Matt Ettus <matt@ettus.com> * src/x_dialog.c: Fixed attrib editor dialog to comply with UI guidelines 2000-01-08 Ales Hvezda <ahvezda@geda.seul.org> * src/o_text.c: Fixed o_text.c so that it works with Matt's dialog boxes. * src/x_dialog.c: Minor comment updates 2000-01-07 Matt Ettus <matt@ettus.com> * src/o_text.c: Update o_text_change to properly change the selection as well as the real objects 2000-01-07 Matt Ettus <matt@ettus.com> * Added Individual Attribute Editor (nearly done) * Added Multiple Attribute Editor (only displays) * include/prototype.h: added my proto's. Please regenerate * src/i_callbacks.c: Added callbacks for 2 attrib dialogs * src/o_misc.c: Changed o_edit to call attrib edit dialog on attribs, text edit dialog on text * src/o_text.c: Added show options to o_text_change() * src/x_attrsel.c: Added start of new multiple attribute dialog * src/x_dialog.c: Added new single attribute editor dialog functions (all the attrib_edit_dialog* functions) * src/x_menus.c: Added "Mattribute" menu item for new dialog 2000-01-06 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Created misc-misc2 and misc-misc3 callbacks and hotkeys (src/g_key.c src/g_register.c lib/system-gschemrc.in) * src/o_text.c: Created o_text_change which takes a text object, a new string, and a visiblity flag and recreates that text object. 2000-01-04 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Updated misc-misc callback to use the new o_attrib_return_attribs which now returns an object array 2000-01-03 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Changed misc-misc callback to test out the o_attrib_return_attribs functions 2000-01-02 Ales Hvezda <ahvezda@geda.seul.org> * src/i_callbacks.c: Minor bug fix deal with rotate/mirror modes not updating the status message on the bottom of the screen 1999-12-27 Ales Hvezda <ahvezda@geda.seul.org> * src/x_menus.c: Added File/Revert Page to make Magnus happy. :-) * src/i_callbacks.c: Added code to implement above * lib/system-gschemrc: Added hotkey for revert page. * src/g_key.c and src/g_register: Changes to support above. * lib/system-gschemrc: Changed file script hotkey from "fr" to "ft" "fr" is now used for revert. * src/x_menus.c: Added Zoom limits/Zoom box to the right mouse button popup menu to make Mangus happy. :-) 1999-11-19 Ales Hvezda <ahvezda@geda.seul.org> * src/x_menus.c: Added Zoom in and Zoom out to the third mouse button popup menu * src/parsecmd.c: Add -h (help) flag 1999-11-11 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fileselect.c: Fixed the dialog box title for the SAVEAS_CLOSE case * src/o_net.c: Fixed a nasty bug when enabling net consolidation and drawing non-ortho nets (non-ortho nets would disappear, since gschem thought it could consolidate them; it cannot not) * src/x_menu.c: Change Edit/Stretch to read Edit/Stretch Mode 1999-11-06 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fileselect.c: Fixed all calls to s_clib_getfiles with the right number of arguments (new filter argument) 1999-11-06 Ales Hvezda <ahvezda@geda.seul.org> * examples/adders_1.sch: Fixed a label= attribute which was incorrectly spelled (1abel) 1999-10-19 Ales Hvezda <ahvezda@geda.seul.org> * src/gschem.c: Found/Fixed an old bug which basically was causing the first argument to always be interpreted as a filename which isn't always true. 1999-10-18 Ales Hvezda <ahvezda@geda.seul.org> * src/x_print.c: Added some error checking to properly log a successful print or error 1999-10-17 Ales Hvezda <ahvezda@geda.seul.org> * src/g_rc.c: Fixed component-library and source-library keywords to add the current working directory (conditionally) to the specified path. This fixes the bug which Mike Jarabek pointed out when specifing relative path component/source libraries 1999-10-14 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fileselect.c: Changed Close button to be Cancel when doing Open... or Save As... (Stefan pointed this out) 1999-10-13 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fileselect.c: Fixed the callback setup for the enter key for Save As (so that it calls the save function instead of the open func) 1999-10-12 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fileselect.c: Changed filename_entry to be read-only when the dialog box is a Component place * src/x_fileselect.c: Made the search on files behave the same as on components (getting feedback when you have reached the end of the list) 1999-10-11 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fs.c: Got the component search working * src/x_fs.c: Changed all calls to s_clib_getfiles to use the new prototype (the extra param at the end) * src/x_filesel.c: Removed file from cvs repository * src/x_compsel.c: Removed file from cvs repository * src/x_fs.c: Renamed to x_fileselect.c * src/x_fileselect.c: Fixed all -Wall warnings * src/x_preview.c: Fixed all -Wall warnings * general: You can only place *.sym files as components. * src/o_pin.c: added o_pin_eraserubber() * src/o_stretch.c: Updated _end function to allow for the stretching of pins * src/x_window.c: Used the appropriate #defines for filedialog box init 1999-10-10 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fs.c: Lots of changes related to getting filedialog to act as the component place dialog box * src/i_callback.c: Made the new component place dialog box the default * src/x_log.c: Fixed memory leak (added x_log_free) * src/gschem.c: Added some free()'s for some vars which were allocated but never freed (in gschem_quit) 1999-10-09 Ales Hvezda <ahvezda@geda.seul.org> * src/gschem.c: Added full path to page_filename (if filename doesn't start with a / * src/x_log.c: Added x_log_init to deal with the chdir gschem is doing now * src/x_fs.c: Lots of work to get file selection dialog box to work with saving * src/i_callbacks.c: Changed saveas and open to use new fileselect dialog box * src/x_filesel.c: Removed file from Makefile.am * src/x_dialog.c: Added x_destroy_window * src/x_fs.c: Made sure you can't open up a directory 1999-10-05 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fs.c: Changed filter entry to a filter option box * examples/filter_1.sch: misc updates (moved some symbols around so that they are connected to the right place) 1999-10-04 Ales Hvezda <ahvezda@geda.seul.org> * src/x_fs.c: Fixed a coredump bug in x_fileselect_update_dirfile * src/x_fs.c: Added "enter key" callback to filename entry 1999-10-03 Ales Hvezda <ahvezda@geda.seul.org> * Started serious work on new file/component select dialog box * src/x_preview.c: New file which hold preview window code * src/x_fs.c: New file which hold new fileselect/component place dialog box. * src/x_menu.c: Added File/Open (EXP)... and Add/Component (EXP)... entries in the top menu bar * src/g_rc.c: Added file-preview keyword * src/g_register.c: Registered above file-preview * src/i_vars.c, include/i_vars.h: Added default_file_preview and init * lib/system-gschemrc.in: Added file-preview keyword * In all *.c included defines.h before struct.h * src/x_window.c: Added x_fileselect_free_list_buffers * Much work still remains on the new file/component dialog box 1999-09-28 Ales Hvezda <ahvezda@geda.seul.org> * src/x_menu.c: Added File/Page Close * src/i_callbacks.c: Added code to close the last visible page. Now it opens up a blank page and close the current visible page. * lib/system-gschemrc.in: Added hotkey for File/Close Page (fe) * src/x_dialog.c: Fixed the color selection menu on the color edit dialog box to display the right default color (color 1 - white) 9/25/99 Rearranged right mouse button menu (suggestion by Magnus) 9/23/99 Updated all the man pages (in all the program dirs) warning users to specify options first. 9/21/99 Fixed all the dialog boxes so that they listened to the WM_DELETE signal from the window manager Forgot to init iwindow to NULL Added a few gtk_widget_destroys to x_window_close which I forgot to add when I created the dialog boxes 9/20/99 Changed the project logo to GPL Electronic Design Automation instead of GNU ... 9/19/99 Make sure gschem runs with guile-1.3.2a Misplaced a bracket in x_event.c (gschem would not build if you did not have libstroke installed) Fixed all warnings Added OBJ_BUS and OBJ_PIN to the color change routine in the color edit dialog box 9/18/99 Increased world size to be much much larger. Hopefully this won't break anything. Fixed the extension code in i_callback.c to add the NULL character to the right place. Removed freestyle color 17, it was unnecessary, the IEC417 symbols can use the lock color (15). Fixed the grid drawing to draw the grid at the right zoom levels (since I doubled the world size) 9/17/99 Put some code into i_set_filename which truncates extra long files, so that the window size isn't affected. Changed the botton status bar a bit. - Removed the "Mouse buttons" label - Change the buttons to labels Added the "middle-button" keywork which allows you to control what the middle button is assigned to do. (also added keyword to system rc file) Added code to support the "move" mode of middle-button, which allows you to move stuff around by just clicking the middle button and moving the object. This only work on single objects, unless you select the objects ahead of time and then hold the shift key down and click somewhere OUTSIDE of an object. Renamed [left|middle|right]_button to _label Simplifed i_update_middle_button with using the new middle_button variable Added w_current->ALTKEY (so we know if the alt key is being pressed or not) If middle-button is "action" and you hold down the ALT key, the object will be copied instead of moved. Fixed the RETURN_G_RC_MODE macro. Added a number of entries parameter (size), since gschem was core dumping when you passed an unknown string to the mode functions. (sizeof(mode_table) was always returning # of bytes, not entries. Made the "action" mode the default for the middle-button Created freestyle-color which allows the user to create generic colors which can be used in the schematic. This should be used with great care, since these colors are not attached to any type of object. Fixed a bug in the color scheme used by the symbols, using the freestyle-color (color 7 which is the grid color, should not be used by symbols, created color 17) 9/16/99 Updated all the schematic/symbol opening functions so that only sch's/sym's which are not loaded are actually opened up. If a schematic is loaded and an attempt is made to open it again, gschem displays the original schematic 9/14/99 Fixed a really longstanding bug, you could not close gschem by using window manager functions, now you can. (Matt Ettus convinced me to finally fix this) 9/13/99 Inited hkwindow in all x_window.c and s_project.c (all other programs) Fixed all example schematics to make sure they display the v*-1.sym symbols properly Remove attribute_1.sch example schematic Fixed a keymapping error with show hidden text (renamed show hidden text keymap to "n") 9/12/99 Added g_funcs_key_name which is used in the list-keys.scm script and in the list keys dialog box Added g_funcs_key_value which is used in the list-keys.scm script and in the list keys dialog box Added g_funcs_key_done which is used in the list-keys.scm script and in the list keys dialog box Added x_dialog_hotkeys dialog box Added above dialog box to the menu Modified Stefan's list-key.scm script to fill x_dialog_hotkeys. It's pretty crude, but functional Unmodified Stefan's list-key.scm script and moved modified functions into gschem.scm Added hotkeys for Help/About... and Help/Hotkeys... Put a tear off bar on the Help menu Renamed Shift H (Help) to h (and change Hierarchy to Shift H) in the system-gschemrc file Adding net= attribute to the attribute selection list dialog box (put net in system-gschemrc.in) 9/7/99 Removed all the stupid function pointers I added yesterday Moved huge chunks of x_color.c into libgeda/src/s_color.c Cleaned up the code to reflect the above Re created embedded_1.sch (using all_1.sch) Finished up the color edit dialog box, by doing some rather questionable casting of int's to int *'s. 9/6/99 Finally fixed the very broken color system, now you can allocate any color for any object type (bus, net, background, select color) - Created x_color.c - Removed all global colors from globals.[ch] Except black and white - Fixed up x_window.c, gschem.c to call proper init functions - Fixed up g_rc.c to call proper x_color functions Also fixed up g_register.c - Added logic bubble color keyword / variable / init - Fixed up rc file to use the new system (a lot of cleanup) - Added zoom box color keyword / variable / init - Updated zoom box code to use above color - Added lock color keyword / variable / init - Made output-background-color an official color - A few updates to make the color allocation a bit more robust - Created x_color_ps_string which returns the ps string - Changed the default select color to orange... - Created ptr for image color specifing - You now get feedback that you specified an invalid color With the above changes, users MUST update their rc files to use the new color scheme. Things will fail badly if they try to use the old system Update all example schematic to use the text color (index for that is 9) Fixed a few -1's in the example schematics Almost got the color edit dialog box to work with this new color scheme 9/5/99 Removed some examples schematic from examples/ directory (moved them to the gnetlist/examples directory) Created all74_1.sch for testing purposes 9/4/99 Removed some obsolete stuff from include/globals.h 9/3/99 Update g_key to use gdk_keyval_name instead of XKeysymToString 8/31/99 Renamed ntext to text (finally) Updated the stroke mechanism to what Stefan suggested. Much better 8/30/99 Fixed a bug in the print dialog box, where it wasn't setting the state of the window to the previous states Fixed net stretch to only stretch ONE net for now Finally renamed all ALES -> CONN and ales -> conn 8/29/99 More work on getting bus midpoint cues to work Added bus_gc for bus cue drawing Fixed some bugs related to the visual bus cues Removed all warnings from the code Disabled bus stretching... still doesn't work Fixed stretch_start so that it doesn't try to start a stretch on an unsupported object Commented out the ps/png extension code in i_callbacks.c till it's debugged (next release) 8/28/99 Lots of work to get bus midpoint cues working 8/27/99 Set the program version to 19990829 to force Ales to release on the 29th :) Updated all *.c and *.h files to have the right address for the FSF in the copyright/licence header 8/20/99 Fixed a really really subtle bug in i_sbox.c wasn't checking for the head node. This bug causes some rather nasty coredumps. Hidden for so long, because of the way the selection head node was being initialized in the new leaner object creation scheme. Finished up the below dialog box cleanup Changed the image size from 1280x1024 to 1280x960 in the image/png creation, 1280x960 is the right aspect ratio. Temporarily disabled the extension replacement code in ps and image creation till it gets fixed. Default filename: output.* 8/19/99 Added x_create_dialog_box which is basically just like gtk_dialog_new but will hopefully clean up the code and this will work on the Windows platform. Replaced all instances of gtk_dialog_new with x_create_dialog_box 8/18/99 Added output-capstyle keyword which control the cap style for postscript output Added the idea of an invalid connection to pins Added o_ales_draw_invalid which draws the invalid cue Added code to o_pin to use above new function Removed some old code from o_ales.c Fixed a minor bug when writing an image, wasn't removing .sch from filename 8/17/99 Started adding bus object Added all bus base code Update system-gschemrc.in file 8/12/99 Fixed inconsistant naming of some g_key_*/i_callback_* functions (pointed out by Kazu Hirata, thanks) Started integrating crude net stretch code into the official devel source tree Added o_stretch.c to dist Update x_states.h to include STRETCH event state enums Added o_ales_find_closest Added stretch callbacks (i_callbacks/g_key_*/x_menu.c) Added event state machine code (x_event.c) Added key to keymapping in rc file Filled in some missing functionality Finish getting the above net stretch working, mostly. 8/5/99 Added some stuff to configure.in for win32 builds Added some misc #ifdefs to support the CYGWIN32 port 8/3/99 Added net-consolidate keyword to the rc file, controls if the net consolidation code is used or not. Fixed a very minor bug in x_attrib.c (dealing with order of which attribute combined name/value string) Upgraded to libtool 1.3.3 Due to the unfinishedness of net consolidation, it is turned off by default 8/1/99 Removed my_strdup() from i_vars.c and o_comples.c. (by Kazu Hirata) 7/31/99 Cleaned up *.c. (by Kazu Hirata) 7/27/99 Added o_net_consolidate_segments to o_net_end (so that when you draw nets, you get the minimum number of net segments (if possible)) 7/25/99 Cleaned up r_gc.c and i_callbacks.c. (by Kazu Hirata) 7/21/99 Found an attribute in test_verilog.sch to be attached to two objects, fixed. Removed all traces of s_passing.h 7/16/99 Cleaned up i_sbox.c and i_vars.c o_ales.c (by Kazu Hirata) Increased world coord space to 120x90, don't know if there are any side effects of this. Increased the max zoom factor to 256 Changed x_grid to be draw grid the grid at a larger zoom factor Reverted back to previous world coord space, adjusting above to match. Not ready for a change yet. 7/15/99 Added support for libgdgeda 1.6 (mainly means searching for libpng) Removed all traces of old libgdgeda 1.5 gif support replaced it with png support Changed menu name from Write Image... to Write PNG... Minor bug fix in the x_image dialog box code (o_redraw_all in the wrong place) 7/14/99 Wrote functions to handle file name extention in i_callback.c. Fixed a memory leak in g_funcs_print(). (by Kazu Hirata) 7/13/99 Cleaned up i_callbacks.c (by Kazu Hirata) 7/12/99 Moved the core of a_pan into a_pan_calc Implemented the zoom and pan to where the mouse is (center at the current mouse location). Only works with the hotkeys. Added i_callback_*_zoom_in_hotkey and *_zoom_out_hotkey 7/11/99 Chnaged the return values of the Scheme functions in g_*.c from 0 and -1 to #t and #f. Cleaned up gschem.c and i_basic.c. (by Kazu Hirata) 7/11/99 Cleaned up a_pan.c, a_zoom.c, g_key.c, g_funcs.c. (by Kazu Hirata) 7/10/99 Updated a few places where it's important to call set_window (part of the math speed improvements) Put in code that controls if text is either: xored (completely drawn) when doing a copy/move/place (the outline that's dragged) or a simple line is drawn. This makes the placing/copying/moving of large symbols faster Added an rc keyword to control above: text-feedback (either only-when-readable or always) Added text-display-zoomfactor to *rc file (control at which zoom factor text is displayed completely during operations like copy/move/place) Removed some // comments (should not use // comments in general) 7/6/99 Didn't really disable libgdgeda when using --disable-gdgeda Now fixed. 7/5/99 Added in manually configure.in patch Manu provided to help in his rpm building procedures Added pintype to attribute-name list in system-gschemrc Slightly rearranged attribute-name list Fixed all warnings Fixed some misc problems in configure.in (missing if test to make sure libgeda-config was found) Got configure.in to be almost identical to gnetlist/configure.in Updated man page a tiny bit 7/4/99 Added updated test_verilog_1.sch to the dist from Mike Jarabek Added an options menu to the image write dialog box 7/3/99 Went through all sample schematic and removed all zero length/etc... objects 7/2/99 Fixed the ./configure stuff dealing with libgdgeda so that it works when libgdgeda isn't installed in a system directory 7/1/99 Removed the libgd #include from all files (not needed) Fixed some stuff in configure.in (typos) 6/26/99 Fixed a bug dealing with the font-directory/scheme-directory/etc... which broke opening up a second window Fixed a visual annoyance: Place lots of components and inbetween each place there would be a redraw. Not necessary. Fixed. 6/25/99 Added the rc keyword "image-color" which controls if image is in color (enabled) or black and white (disabled) Added the start of mouse button pan. Added 'third-button' keyword to rc Added support to configure to look for optarg and friends otherwise include the right externs... Forgot to add the hotkey for Edit/Show Hidden Text Removed all traces of GTK_DEVEL Got mouse pan working, with the exception of the once it crashed my X server 6/24/99 Made the Image write dialog box go away once you pressed write 6/23/99 Added the first bits of support for the writing of images Added configure ability to find and turn off libgd support Added image-orientation keyword to control the future ability to write portrait and landscape images 6/19/99 Fixed a bug where you would select something and then visual cues would disappear when you hit redraw 6/10/99 Added support for this idea that hidden text is NOT created, main changes were in the hidding and unhidding of text items 5/31/99 Found a minor bug in move, not all nets were being redrawn Worked a bit more to reduce the flashing of nets/pins when a complex is moved Put a redraw in o_delete, just to make things look better after something is deleted I think I got the flashing (when doing move's under control now) A few updates to the sample schematics Added agile-vfo-block.sch to the dist finally (as an example schematic) Added the ability to change colors of objects from within gschem (finally) Added hotkey assignment for above dialog box 5/29/99 Worked some more on the copy operation for nets Added o_redraw_real (which redraws all objects given a list which might not be the real objects) Started updating the conn hash table in when nets are being drawn Added o_ales_draw_objects Added o_net_ales_erase Added o_net_ales_draw More updates to getting copy/move/rotate/mirror working for nets. Got copy/move/rotate/mirror working for nets only. Worked on getting copy/move/rotate/mirror working for pins Worked on getting copy/move/rotate/mirror working for complex objects (with contain nets/pins) Got pins to properly update visual cues when they are being drawn Got the adding of a component to update the nets properly Started removing the dead code from the previous connection scheme Tried to improve the "flashing" of net cues when you move something, but did not succeed. Added the show all hidden attributes function (useful with the new ability to have toplevel hidden unattached attributes) And everything required to implement the above Fixed that stupid log problem where if you couldn't open the log the log window would lose it's mind (fixed by disabling logging if you can't read/write the log file) If logging is off or disabled, don't show the log window on startup 5/28/99 Got ./configure working with gesym-config Misc integration work 5/16/99 Changed most #include's to include stuff from <libgeda/...> since libgeda is now totally seperate #include some missing includes (in g_rc.c) Removed -I../include from the Makefile just to force all includes to be included using a ../include path or libgeda/... Fixed up ./configure to use libgeda-config 5/99 Removed all traces of the old connection system All removals should be tagged with either CONNECTION or CONN Added new connection (called ALES and st_ales) structures Got gschem to use the includes from libgeda package GTK+ 1.2.x is now required due to the use of g_hash_table_lookup_extended Got misc callback to print out hash table structure Started work on getting delete to delete nets properly fixed old bug when you cancelled the drawing of a net, prog would erase too much started work on getting copy to copy nets properly Got gschem to properly update with nets added comma key to gschemrc files Removed all conn stuff from include/struct.h ---------------- Development division starts here -------------------------- 5/16/99 Removed some redundant labels from the coord window 5/14/99 Fixed an old bug dealing with the erase of the draw in progress net (erased way too much) 5/9/99 Removed some redundant code from o_move.c Fixed log-window keyword code to work with the later option. (didn't work at all) 4/18/99 Added some #ifdefs to the coord dialog box so that it compiles under gtk+ 1.0.x Make sure cowindow was being set to NULL. (caused a core dump otherwise) 4/17/99 Fixed coord dialog box to look right 4/15/99 Added coord dialog box Added callbacks for above Added hotkey (oc) for above 4/11/99 Added some more debugging information when reading in the .scm file Made the log window startup when gschem is run (updated all *rc files) Added log-window keyword which controls if the log window is opened when the program starts up Added the ability to make the log window transient or not (configurable through the log-window-type keyword) (only works with gtk+ 1.2) 4/9/99 Fixed Makefile.am so that gschem.1 is installed 3/27/99 As a request, added a default keymapping (Delete -> edit-delete) 3/25/99 Removed all traces of i_callbacks.h from the C files (haven't removed the actual include file yet) Changed x_window and x_menu so that those warnings about menufactory disappear (by using itemfactory with gtk+ 1.2.0) Involved adding the appropriate new functions to x_menu.c and modifing x_window.c Got rid of warning messages when you start up gschem With the new itemfactory stuff from gtk+ 1.2.x you can now have tear off menus Got the passing of callback data working with the menus Got all the popup menu i_callback_* functions to use the new callback parameter passing order Got all menu structure to work with the gtk+ 1.2.0 itemfactor (major pain) Went through and add the proper parameter passing order to *ALL* i_callback calls (major pain) Found that g_key_edit_mirror was calling the wrong i_callback function Fixed. Added some functions to x_pagesel to wrapper the i_callback_ functions since these i_callback_ functions were used a button click callbacks which take a different (the old one) function prototype. Missed a reference to a callback (last_callback) which is a pointer to a callback function, it too needs the new function prototype Changed the default text size in the C code to be 10, (it was 8, which was a really really old default value) rc file is the same as before (size in there is still 10) Added the ability to change the text size; added this to the Edit/Edit... dialog box Text size and snap size and (as before text edit) dialog boxes once again grab the focus for the whole app. This is because they share common variables 3/23/99 Added a menu option Help/About... Added callback/dialog box for above Put the code back into use which right justified Help menu option 3/21/99 Added code to warn the user if he/she tries to translate a symbol and the snap_size is not set to 100. Minor cosmetic changes to gschem.1 3/19/99 Fixed changed flag so that when you do some attribute associated actions, you are prompted for a save instead of just quitting When opening a symbol using hierarchy, filename at the bottom wasn't being set right 3/18/99 Updated g_rc_parse to use new macro for system-gschemrc file 3/17/99 Found one more instance of a uninit-ed variable (pwindow) (Thanks to Jeff McNeal for pointing out that things were not working under Solaris) 3/10/99 Fixed usage output to be somewhat more accurate 2/26/99 Fixed some labels since we are no longer supporting gtk+ 1.1.x Removed some duplicate strokes from the gschemrc's Made the stroke output (when running with the -t flag) a bit cleaner (and hopefully clearer) 2/25/99 Added stroke_info_mode (enabled with -t flag) so that users can get stroke related info Misc warning updates (missing prototypes) 2/12/99 Removed the o_ntext_free_all from x_window_close (actually just moved it so that it only is called once, when you quit) The call is in the right place now Added x_stroke_free_all which just frees all remaining stroke points Fixed a major bug dealing with multiple windows and the freeing of several common (rc strings) variables, which caused some bad behavior Added some more space to the above variable mallocs, since ccmalloc seemed to have some problems dealing with them, and there was enough space for the strings + null (there is now) Discovered why sometimes if you close a window you lose any subsequent log message (it's because I was closing the log file in the wrong place), fixed (the call is in the right place now) 2/11/99 Added call to s_stroke_free in gschem_quit Forgot to set the mode label to Select mode after a zoom box, fixed Added stroke sequence printing if verbose mode (-v) is on Added x_stroke.c which contains routines to record and erase the stroke points Changed it so that stroke points are only erased when a valid stroke is found. Leave invalid strokes around Added some more basic strokes to gschemrc Put back middle button repeat for when strokes are enabled. Holding down the control key and pressing the middle button executes the repeat command. Added "Stroke/" to the middle button repeat button label (only if strokes are enabled) Added stroke-color keyword (controls color of the mouse droppings) 2/9/99 Started work getting stroke support into gschem (using LibStroke) Added stroke_init to gschem.c Put a #ifndef ... around some code in i_basic.c Added most basic support to x_event.c Added stroke keyword to rc files Added s_stroke_search_exeecute to x_event.c Started adding most basic strokes to gschemrc 1/31/99 Made postscript font text ouput the default (output-text "ps") Updated page manager to work with gtk+ 1.1.x (scrolled window works better, but not 100%) 1/24/99 Added a read/execute guile script option (-s script_filename) Added a script file selection dialog box (for executing scripts) Added menu option and keymapping for File/Script Execute... Added global variable global_window_current, which will be used by various guile functions, since they have no idea which window they are executing for/in. (careful with multi windows anyway) Added command line flag -o (for specifing output an filename) Added file g_funcs.c which will hold basic guile functions Added gschem-print, gschem-exit, gschem-use-rc-values guile functions 1/23/99 Finally changed where the rc file(s) are read -- before the window is created. This allows for much more flexiablity in the user interface Found most of the bugs in above (I hope) Did some further rearranging in x_window.c so that above works better Added "scrollbars" keyword to the rc file, which controls if scrollbars are displayed or not (default will be on for now) Added "output-orientation" keyword to the rc file, which controls the default page orientation (landscape/portrait) Added support for portrait postscript printing to the print dialog box Changed the radio buttons (for print output type, limits/window) to be an options menu instead, much cleaner. Added some labels Fixed a minor bug in above (wrong label being displayed) Added "output-color-background" keyword for controlling the background color in postcript output (also added supporting code) (letter size sheets ONLY) Added "output-color" keyword for controlling if postscript is color or not Added "output-type" keyword which specifies "limits" or "current-window" Renamed keyword "text-output" to "output-text" just to be consistant Might eventually change output to postscript 1/21/98 Added a message to the start of gschem about the warnings when using gtk+ 1.1.x 1/12/98 Worked on x_attrsel.c and x_print.c to get them gtk+ 1.1.x compliant. 1/10/98 Spent some time working on the scrolled_window changes in x_compsel.c for gtk+ 1.1.x, still needs some work though 1/9/98 Started integrating patch for 1.1.x (provided by Egil Kvaleberg) (using GTK_DEVEL #define) GtkAcceleratorTable -> GtkAccelGroup (x_menu.c) GtkAcceleratorTable -> GtkAccelGroup (x_window.c) gtk_window_add_accelerator_table -> gtk_window_add_accel_group (x_window.c) Added a few #include <math.h> where they were missing (compiler warnings for fabs) 1/06/98 Fixed some code in o_erase_* where a constant instead of a variable was being used for a color (BLACK -> w_current->background_color), pointed out by Anatole Sokolov 1/05/98 Incorperated negative grid point display patch by Mike Jarabek Found and fixed (I think) a bug with displaying schematics for the first time (after a load), display wasn't being zoomed limits if there where coordinates with negative values (display will not be zoomed properly, since negative values are not supported for scrollbars) 12/29/98 Changed x_grid_draw to draw to backingstore and then copy that to the drawing area, hopefully that'll speed things up when gschem runs over a lan? Commented out the above code, need to due some further testing. 12/15/98 Fixed line/pin/net to deal with the real clipping code Now all line related objects are being clipped, fixed the disappearing lines/nets/pins when zoomed in really close 12/13/98 Integrated Jeff McNeal transparent zoom/pan patch. It works, but it still needs some work, since panning and zooming while drawing nets/pins leaves xor droppings Added pin-color to gschemrc file. For some odd reason was missing. Also found another bug which was causing the pin color to be saved as -1, fixed Added File/Save All menu option and hotkey to save all documents and not bother asking. Added code to o_complex_end to support the concept of an included component, which basically is the inclusion of all the pieces of a component so they can be edited. Useful in symbol creation; you can reuse other components. Changed the add component dialog box to allow for a selection between the default, embed and now include ways of adding components. I don't like the way it works, so I'm probably going to go with a option menu instead of radio buttons Changed the above radio boxes to an option menu, much cleaner looking Found a place where I was trying to strcpy into a NULL rc_filename doh! 12/10/98 Finished adding the first step for autoconnect to the nearest net point Added o_conn_search_closest to search inside complex objects for the nearest pin Added an event_state = STARTDRAWNET to i_callback_add_net_hotkey to make the o_net_start connection code work Added o_conn_search_closest_range to search for the nearest pin/net with range Removed the net snapping stuff for now, it still needs a lot of work. Added command line argument -r (which specifies an rc file after it tries to read all the other standard rc files) Finally make rc_filename a pointer instead of statically allocating the space 12/9/98 Changed how circles are drawn, specify center point and then the radius. o_circle_start, o_circle_end, o_circle_rubberband Includes a line which shows the radius of the circle when you rubberband Changed the way the width of pins and nets is determined, now using the SCREENabs routine when drawing thick pins/nets Fixed the way the size of the endpoint/midpoint cues is calculated (o_conn_*) Minor circle cleanup: made sure radius is multiple of grid snap if snap is on; made sure final circle is drawn on backingstore 12/8/98 In order to fix the bugs below, have to rewrite some circle code, integrated changes to deal with struct.h changes and libgeda changes (o_circle.c) 12/6/98 Found the reason why dist was working all this time. Another bug with adding in a circle, o_circle_end, sending the wrong coord into the add function (dumb luck circles ever worked) 11/15/98 Changed the way the print dialog box works, no longer grabs the application focus. You can leave it open and print whenever you want Changed the size of the visual cues for nets (in o_conn.c) 11/10/98 Changed a label in the print dialog box: "Current Window" 11/8/98 Found a bug when drawing single point lines (ie line as zero length) Fixed by adding a (few) call for draw point in o_line_draw, not sure that's the best solution. Added zero length error checking code to all primitive objects ( interesting side effect, you can end net draw by drawing a zero length net and that stops the action ) Removed some code in o_arc.c which erased the rubberband line incorrectly You could segfault gschem by inputing a null string (nothing) and then hitting apply and drawing over to the drawing area. Fixed by moving x state change code inside the if "check if not null" (attribute add is okay) 11/7/98 After applying text input, highlight the selection in the dialog box (changed to behave this way) 11/6/98 Added some checks to prevent gschem from core dumping when you hit one of the special "microsoft keys" Added code to handle the new papersize list Added x_print.c (the printing dialog box) and supporting code Added paper-sizes keyword to rc file Added print_output_type init in i_vars.c Called new dialog box from i_callbacks_print Added some ... to the Print entry in the pulldown menu Got print dialog mostly working Added many entries in the *rc files for page-size and page-sizes 11/5/98 Added paper-size to gschemrc file (changes to g_rc, g_register) 10/30/98 Cleaned up (indentation, long lines) a_zoom and a_pan code a lot 10/28/98 Rearranged View menu a bit Applied patch by Manu for a_zoom_limits Had to make minor modifications to make above work on all cases. 10/27/98 Started to add zoom box code (a_zoom_box_*) Modified x_events.c and associated files to support above Finished off a_zoom_box_start/_end and the actual work function a_zoom_box() I think this works okay, but it's not perfect. Added hotkey zoom-box version and added key to keymaps in the *rc files 10/25/98 Cleaned up all warnings 10/24/98 Added slotting update to rotate/mirror code. Got keyboard shortcut implemented for the slotting Re arranged the edit menu Changed a few of the status lines in the copy/move (and hotkey) callbacks 10/22/98 Added code in o_read to update the slot if the last read object was a component Added o_attrib_slot_update in o_copy_end Added code to o_copy_end to deal with slotting (ie copy the info from the object that is being copied) and the selection list Updated o_slot_end to use the new o_attrib_slot_update Added o_erase_single, just as a function to make life easier Attempted to get the slot= attribute to be update and drawn correctly if it is visible. This does not work right yet. Got the first working version of the slotting done bug: Old component outline not being erased if you select a new component from the list (pointed out by Patrick Bertholon, thanks) 10/20/98 Added Stefan's and thi's latest gschem.scm - repeat-last-command doesn't cause a stack overflow - bit more paranoid code. - last-command-sequence (holds what it says) Change rc file guile primitive version to gschem-version 10/18/98 Added callbacks for change Slot... code Added o_slot_start which starts the change of a slot number Added dialog box for slot editing... Added o_slot_end which finished up the slot number change operation Split up some of the bigger functions in a_basic.c into o_move.c, o_copy.c, o_slot.c, and o_delete.c Worked some on o_slot_end, slot attribute value is being changed and added if needed as of today, but schematic not reflected. (to be finished later..) 10/17/98 misc minor fix to the rc file (text-input "ps") Applied patch by Roger which added variable snap spacing. 10/15/98 Increased the size of the component select dialog box Display ONLY symbols with the extension .sym, this implies that u symbols must end .sym to be displayed An attempt fix the arc bound box code of arcs, doesn't quite work 100%. 10/12/98 Added device attribute to the list of default attributes in the rc files Finally fixed an outstanding bug in the arc drawing/adding etc... (this fix might have broken arcs, but so far it looks good) 10/11/98 Added parsecmd.c (command line argument parsing) Simplifed the loading of schematic pages and incorperated above Added quiet_mode and verbose_mode to the command line arguments as well as the usage() function which exits Removed all warnings Added "graphical" as a default attribute in the rc files 10/9/98 Removed some #if 0 code and did some minor code cleanup Fix an asthetic problem (misc pin/net droppings in lower left corner when doing mirrors/rotates) Added thi's improved gschem.scm (not fully using all the new stuff in there yet) 10/8/98 Worked some more on mirroring of complex objects, almost got it completely right except for text inside complex objects I got the above fixed (with really ugly kludge) :-( will eventually get it totally fixed once I figure out how to flip/rotate text in place. 10/6/98 Added code to deal with mirror of complexs (mainly change to complex_add) 10/5/98 Added o_mirror (and all required support code, events, i_callbacks...) Added *_mirror_hotkeys Added g_key *mirror code 10/4/98 Changed default size for a 800x600 sized display Added text-output keyword to control how text is rendered 10/1/98 Fixed all warnings 9/29/98 Today starts the new release system: 19980929 Added code to properly keep attached attributes attached when you rotate a component Fixed a bug that was causing text to be saved twice (once as an attribute and once as a regular text item). 0.0.5 ------- 9/27/98 Discovered that selection_tail wasn't being set to tail in o_select Fixed. I think I got my kludge for rotating complex objects done. Need to de-kludge it one of these days Found a bug in o_complex_end, where the selection tail and the prev pointers where not being set Fixed the same bug in o_ntext_end Found/fixed a really nasty old bug in o_unselect_all where selection_tail wasn't being update at all Found/fixed a whole bunch more places where selection_tail (in o_select_*) wasn't being update (ie it was dangling) Fixed a bunch of places in the i_callback functions where the middle button short cut key wasn't been set to the hotkey version of the function Added selection_list code for rotating complex objects (ie once a complex is rotated, it stays in the selection list) Went back and change Edit/Rotate Primative to Edit/Rotate 90 in all applicable locations (x_menus, g_*, gschemrc.in files) Added code and a message stating that rotating an embedded component isn't possible yet. (it should be, but I'll worry about that later) Changed default pan behavior when you select it from the hotkey-- it pan using the current mouse position as the center Set zoom_scale to a constant in the code which determines whether we are drawing an sbox or just selecting single object Found a few more misused selection_tails in o_attrib (tag new ales) Go rid of net que droppings being left behind by rotate Added needed function call so that nets and pin associations are recalculated after a rotate 9/25/98 Worked some more on o_rotate (a_basic) Missed a zoom_scale/factor bug dealing with sboxes, you couldn't draw an sbox at high zoom factors. Now fixed, by removing multipler Removed all attempts at getting complex's rotating... that will be handled differently. Removed some dead code from i_callbacks.c (old ntext stuff) Changed o_rotate to o_rotate_primitives (fixed in all places) Changed menu option and rc files edit-rotate to edit-rotate-prim Edit/Rotate Primative Successfully intergrated rotate ntext into the o_rotate_primitive command 9/21/98 Minor gschemrc changes (keymapping fixes) Fixed a minor asthetic bug dealing with placing text and seeing a ghost image of the newly placed text (erase the bounding/outline box) (Migrated change to attribute place as well) Fixed a minor bug with the keymapping code, modifiers are no longer passed to the guile code Made the default select color grey Added ENDROTATE define to x_states.h Added i_callback_edit_rotate, g_key_edit_rotate and the guile register function Started changing rotate and "Add *" functions to start their actions the moment the hotkey is pressed Started adding code and support functions for edit-rotate (not finished yet) Fixed o_rotate to at least call the various o_*_rotate funcs 9/19/98 Added a few more hot key defs into the rc files Added no-action guile function to gschem.scm Changed 3rd button cancel for all modes (net/box etc..) so that it changes you into select mode Changed the way text is placed. Now it is similar to the way attributes are placed (dialog box comes up, type in text, move and place text) 9/18/98 Adding code to do the move/copy action change (action starts right away after mouse press Added edit-move-hotkey and edit-copy-hotkey to take above change into account (changed rc files as well) Renamed paper-size to world-size to reflect that paper is no longer specified in the same fashion Fixed the lack of scrollbar updates when you don't specify a schematic to be loaded 9/17/98 Added the modifiers (Alt, Shift, Control) into the string which is passed to the guile key lookup routines Fixed/Added a few misc items to the keymapping in the rc files 9/13/98 Added some feedback (loading message) if you specify schematics at the commandline Added scheme-directory keyword (and supporting code) to the rc file Disabled all GtkAccelerators in x_menu.c Added g_key.c (support functions of guile key mapping support) Added all menu callback functions to g_key (as g_key_*) Added gh_register functions for above (g_register.c) Deleted ifdefd out keymapping code in g_rc.c Added gschem.scm file which has scheme code for keymapping Added data structures to support scheme keymapping (gschemrc.in) 9/12/98 Added Zoom Limits option (and underlying code) experimental Started preliminary change to make zoom_factor represent the magnification, not the zoom number (how many times you zoomed in) Changed zoom functions to take above into account Changed o_conn functions to use return_zoom_number (in libgeda) Also fixed o_pin and o_net thickness Changed x_grid to use return_zoom_number -- also new grid spacing for the different levels, also experimental Changed default page-size to be big, this will change to world-size soon. Made most necessary changes to accomodate this. Found a very very serious bug when the above change was made (copy/move of objects wouldn't copy complex vs nets/pins correctly) Fixed by making all *_translate -> *_translate_world (in a_basic.c) Spent some more time getting size of endpoint cues and friends to look right Added a a_zoom_limits call when schematics are opened from the command line and from the file dialog box Added a few experimantal DONT_REDRAW lines to see if I can prevent the drawing of schematics and connection points when gschem comes up (and when you open schematics) 9/4/98 Added a few more libgeda/prototypes.h in a few missed files Moved f_print.c to libgeda Moved a few misc routines back and forth between gschem and libgeda Renamed some routines to take into account the vectoring of some functions in libgeda Extensive work here and libgeda to get rid of all prototype related warnings Playing some games with the o_pin_conn* and o_net_conn* functions (and revectoring) to see if I can improve the look of reading in of schematics 9/3/98 Major code reoganization with the new libgeda Fixed a bug in o_box, where the new recalc routine wasn't setting some local variables (shouldn't have been using the vars anyways) Removed Add/NEW text menu item (old test code) 8/31/98 More bug fixes to the copy attribute change. . o_ntext_copy does not handle attributes now, it is handled by who ever called it . o_list_copy_to and o_list_copy_all now take a flag which is either NORMAL or SELECTION (we don't want to do attributes) when we are adding stuff to the selection buffer . Text is copied (o_list_* and o_copy_end routines) last to make sure that all the attribute recieving objects exist in the list Fixed another attribute which changed color (to red) at the wrong time (basically all text was changing color, eventhough it wasn't supposed to) (fixed in o_copy_end) Divided the x_create_drawing into the drawing function and a function which sets up the events (x_window_setup_draw_events) Added a check to make sure a widget wasn't null in i_set_filename Added a check to make sure a widget wasn't null in x_hscrollbar_update and x_vscrollbar_update Created x_preview.c, a highly temp file demonstrating the preview capabilities (removed from dist for the time being) 8/30/98 Added support for embedded symbols in schematics loading / saving / copying Added o_embed (embed all object which are selected) Added callback for above and menu option "Embed" Added o_unembed (unembed all object which are selected) Added callback for above and menu option "Unembed" Added embed_complex flag to window structure Added default_embed_complex to i_vars.c Added checkbutton to component place dialog box for embedded components Added embed-components to gschemrc file Robustified the condition if you cannot unembed a component because it was not in the path Propagated p_text_string[0] = '\0' changes from gnetlist to gschem Propagated head node attribs->object change from gnetlist to gschem Started to fix attribute copy problem which has existed for a long time (ie attributes were not being copied) (this is highly unstable I think) Fixed a bug related to the above attribs->object change, bug was in detach routine, making the original object all red... Continued to fix bugs related to attribute copy fix, several in o_list_copy_* and in other places, seems to work now, but highly experimental Changed the way copies are handled. First all non text items are copied and then text items are copied. This is for the attribute copy code, the text copy is the final stage for attribute copies so it has to happen last. Put code back in that make floating text which was an attribute, but no longer the color red. 8/29/98 Added complex_parent pointer to object structure Added code to fill above pointer 8/27/98 Made some further improvements to the grid code so it uses less memory, but is still faster then drawing one point at a time 8/26/98 Changed the grid from drawing one point at a time to drawing all the points with one call (gdk_draw_points) Changed the max zoom factor to 8 instead of 4 Fixed a bug dealing with different paper sizes and the scrollbars (max value on the scrollbars was being set incorrectly) 8/9/98 Added page-size keyword to the rc file (lets you specify the size of the drawing area) 8/8/98 Removed old OBJ_TEXT primitive (replaced by OBJ_NTEXT) Changed OBJ_NTEXT's key code to T (was E so that it could coexist with OBJ_TEXT) Fixed a minor bug with symbol translate and the new text. Basically the origin point wasn't being translated, object were, but not that one point In the code, changed font def files from .sch to .sym You should not symbol translate with the snap off, so put in warnings to log and snap is automatically turned on. Might change this later 8/7/98 Slightly robustified the reading in of font defs, if char isn't found then use something else (only then do you exit) Fixed a minor bug where copying an attached attribute didn't change to the detached attribute color Fixed a bug in o_list_copy_all (new routine) which was nuking the ADDING_SEL (per window variable). Fixed it by saving contents before calling o_list_copy_to Fixed a really old bug in o_text_print (and the new routine for ntext). Invisible text was getting printed (oops)! 8/6/98 Fixed stupid core dump related to freeing a already freed string Fixed g_rc_font_directory to be implemented correctly Changed text_input dialog box to call new o_ntext routines Changed text_input read and save to actually work Added OBJ_NTEXT support to: o_move_end, o_copy_end, o_delete, o_save, o_read, and a whole bunch of o_complex/attribute routines Fixed up o_ntext_translate, o_ntext_xor_draw o_ntext_translate* and the rest of the o_ntext routines Redirected end of a text edit to called o_ntext_edit_end Fixed o_attrib* so that attributes are the right color (ntext attribs) Fixed font_set data structure so that each char has a head. This was needed to make attributes happy. 8/5/98 Added rotate core rotate functions back into source code, not working yet Added o_line_scale_world Added o_line_rotate Added o_scale, not done yet Added o_rotate, not done yet Added/worked on core routines for o_ntext Integrated/indented new g_read_file from thi (thanks!) Added the keyword font-directory which specify where the vector font definitions are contained Added font_directory string to the WINDOW structure Worked on vector text stuff, getting font_set stuff working Added o_list_copy_all Added code to free up the font set 8/3/98 Changed startup behavior of gschem (it doesn't set it position to 0,0) (basically causes most window managers to prompt for the position) Cleaned up o_ntext a bit more 7/26/98 Work continues with a freshly installed Debian GNU/Linux devel box Fixed all #include <gh.h> to #include <guile/gh.h> Added s_clib_uniq and supporting functions to see if a clib path is uniq (if so add it, else don't) Added s_attrib_uniq to make sure attribute names (which are specified in the init file are uniq Changed search order for components. Components are now searched for backwards (ie the last specifed clib path is searched first) Changed search order for source. Source is now searched for backwards (ie the last specifed slib path is searched first) Finished getting all gschemrc keywords converted to new guile format 7/25/98 Added g_basic.c which will contain basic guile setup routines Added code to start up the guile interpreter (gschem.c) guile is now *required* Removed all calls to f_rc_parse (old init file) Added g_rc.c which holds new guile init file functions Started converting all f_rc keywords to g_rc keywords Wrote g_rc_parse (basically it is f_rc_parse) The order of rcfile reading is now: - system-gschemrc - ~/.gEDA/gschemrc - ./gschemrc where latter rc files override previous ones Discovered/fixed a bug in o_net.c, net_style wasn't being used (accidentally left to pin_style), hence you would always get nets which were the same style as pins. oops Removed f_rc.c and lex.l from existance (file and Makefile). Flex/Lex is no longer required Work stopped very abruptly as my machine decided to corrupt /etc (Perfect excuse to try out debian :-) 7/22/98 A user trying to build gEDA on HP-UX discovered that I missed an rint call (it wasn't wrappered by the HAS_RINT define). Fixed it. 7/21/98 Finally fixed arcs so that any start or end angle arcs print properly, involved changing how I handled the translate and rotate (used to be scale) in the output postscript Put back the filename*.sch -> filename*.ps code when you print to postscript. Even fixed it so that it changes the .sch to .ps or if there isn't a .sch extension then just adds it. 7/19/98 Fixed some misc formatting on most case statements (break statement now lined up correctly) and some indentation was wrong as well When through and added OBJ_NTEXT type Stubbed routines for OBJ_NTEXT (in new file o_ntext.c) 0.0.4 ------- 7/11/98 Found and squashed a nasty bug dealing with the object clipping code. Basically objects that were not visible were not being update (ie bounding boxes not being updated) so selections would find fantom objects. Rearranged some code (bounding box recalc) inside the object draws just to be consistent Removed the /* PAGE */ tag from almost every file Fixed the threshold bug when you are zoomed in really close, now the start an sbox or not is based on the zoom scale Removed the STARTSBOX state (fixed states.sch appropriately) Removed some snap_grids from o_arc.c, these were a hack and I am not sure if I broke arcs now. Added some s_log_messages in f_parse_rc so you know which rcfiles were read 7/10/98 Fixed some minor nits in some comments Removed some // accidentally left in 7/6/98 Added x_status.c which implements the status/log window Added s_log.c which holds the log file init/write/close routines Fixed a few bugs with the logging mechanism Added the ability to read the log file from disk when the status window is opened Added the rc keywords LoggingDestination and Logging to control this logging mechanism Added a whole bunch of s_log_message calls through the code so that the user gets some feedback as to what is happening 7/4/98 Moved around some of the *visible functions to improve "the detect if an object is to be drawn" time (determine if, earlier) Added ObjectClipping keyword to control the behavior of the new object clipping code (on or off) Fixed some minor bugs in the *visible functions 7/3/98 Added low level clipping routines in m_basic.c Added high level routine to determine if object is visible Added code in all relavent o_* files to use above routine (execpt o_text, which will be added later) Changed default scrollbar update policy to be continuous (vs delayed) Added ScrollbarUpdate to control above behavior Squashed a few bugs related to above 7/1/98 Fixed a minor bug in selection box, causing selection box to erase underlying schematic Changed open symbol behavior so that the FIRST page of the schematic is left display after all the schematic pages are opened. Fixed a minor memory leak dealing with the allocation of page_filename Fixed a core dump condition (if there was no gschemrc, untiled_name or series_name would be null and doing a strlen of a null doesn't work. 6/30/98 Fixed the page manager core dump (open schematic, open page manager, open another page (page manager now messed up), click on another page) 6/23/98 Integrated patch by Erick Britis Ortiz which fixed the well known selection box problems. Selection boxes could only be drawn in one direction; now you can draw them in all directions. Extended patch to work with boxes, so those work as well now! A similar patch was provided by Jeff McNeal. Thanks! 6/21/98 Added series_name variable to WINDOW structure. This variable lets you set a series filename, especially useful when adding new pages Added series_name and untitled_name to WINDOW structure Added DefaultSeriesName keyword to gschemrc file Added UntitledName keyword to gschemrc file Went through and changed all the places where the above two changes would affect. Slightly changed where defaults are set and where the rc file is read when a new window is opened. 6/20/98 Started working on the Source Library code Added s_slib.c (source library) Added SourceLibrary keyword to the rc file Got basic routines in s_slib working Wrote s_slib_getbasename which strips extenstions and trailing _#'s from the filename Started working on s_slib_search which goes out and hunts for all the associated source files Squashed a nasty stupid bug in the parse filenames startup code was doing: strlen(blah+5) instead of strlen(blah)+5 (still not completely correct but close enough for now) Squashed another nasty bug, which should have been caught by the prototype mechanism, but I didn't update my prototype.h DOH! Wrong number of parameters to update_page_manager 6/14/98 Changed the way the CHANGED flag works. Now you get a single dialog box saying that "there are schematics unsaved!". You now get one exit dialog for each window instead of the mess of multiple exit dialog boxes Added back the window grab for exit dialog boxes. Removed the SaveAs dialog box when you exit / create a new page / open a new schematic Modified x_window_close taking in account the above changes Modified exit_dialog to be larger and give a more blarring warning about unsaved dialog boxes. Removed the all tcl support; all of it was experiemental Found and squashed a minor memory leak, was allocating a structure twice Added code to free *all* pages when you exit the program Found a minor bug in above code which caused a coredump (w_current-> page_current wasn't being reset) Added very prelim ability to load up *all* specified schematics (which are on the commandline) at startup. (try gschem *.sch in ../bin) Found a bug in the calling of s_page_free_all, the last parameter was not page_tail (it has to be) Added back the code which if you hit Save (not saveas) and the filename had an "untitled.sch" in it, you would get a SaveAs dialog box When you create a new filename the cwd is prepended to it. (that wasn't the case till I added the code back to do so) Started work on the page manager (nothing more than a dialog box which makes dealing with all the open pages easier). Added update button and current page tracking to the page manager Added num_untitled counter to keep track of untitled pages (for uniqueness) 6/9/98 Put an #if 0 around TRUE/FALSE defines in defines.h since gtk+ 1.0.4 defines these in glib.h now. Changed page mechanism so that zoom factor and zoom display is included in a per page structure Fixed a minor bug when drawing arc and the new page mechanism, wasn't setting up the world coord system at the right time (too late) Added a check to see if a schematic file exists, if it doesn't then do nothing else load the file. This was causing a core dump. Found a few places where the HAS_TCL wasn't and hence gschem wouldn't compile (added the HAS_TCL #ifdef). 6/8/98 Did some more testing of the page mechanism. Still very crude. Made it so that open adds a new page, instead of replacing current 6/7/98 Got core page mechanism working. Still need to verify free routine and decided on how to have pages created deleted. 6/6/98 Put scripting stuff on hold, worked on getting multi page stuff done - 3 weeks of no significant work :( - 5/18/98 Started experimenting with tcl and gschem, still not convinced this is the way to go. Will look into guile (and swig) 5/17/98 Started adding support for tcl Create interp Delete interp Started adding multi page support Added st_page structure Added stub s_page routines 5/16/98 Fixed several bugs in cancel callbacks for most dialog boxs; was not setting event_state to select mode, but was setting status label to Select Mode 0.0.3 ------- 5/10/98 Changed MOVE/COPY/PAN modes so that they DO NOT stay in MOVE/COPY/PAN Staying after execution of these modes was driving me nuts. Fixed a minor cosmetic bug in the saveas dialog box (wasn't updating the filename at the bottom of the screen) Fixed a nasty (been there since v0.0.1) with the creation of selection lists in o_move_end and o_copy_end. prev link wasn't being set, which caused a segfault in o_attrib_get_name_value Found another bug in change_basename (x_compsel.c) which has a holdout from pre-multiwindow days (caused a coredump). An incorrect pointer was being passed to the apply button callback (should be w_current). 5/9/98 Quit now checks the CHANGED flag properly and prompts you to save. Still some weirdness with multi window quit and dialog boxes Went through the code and changed the interface code so that you stay in a mode unless you change modes (there are exceptions to this) Added some error condition functions (in call callback and event functions) Re-enabled the window grab on the text edit dialog box. This might stay this way for a while. Fixed a minor bug in x_window_close_all, so that you didn't free the window_head node unless next was empty Fixed the names of menu items (New/Close Window etc...) 5/7/98 Worked a bit more on the multi window code, getting it solid Added a head node to window_head just to make my life easier ( head nodes aren't deallocated and so window_head doesn't change) Fixed a nasty bug with the text size dialog box. Had a variable entry which wasn't inited or used, but was being referenced! Fixed another holdover bug (from the days when null entry input caused gtk to coredump) in the text size dialog box 5/6/98 Fixed a few memory leaks, there are still a few, but those are in gtk/my code that doesn't deallocate resources which gtk provides 5/3/98 Fixed a minor bug dealing with not having a default for override_net|pin_color, which caused problems when gschem could not find a gschemrc file. Fixed a minor bug dealing with sending delete events to a window, data parameter wasn't being passed. (disabled both delete and destroy for now) 5/2/98 Finished global cleanup, gschem now builds cleanly, and seems to run and seems to be stable. *All* functionality needs to be checked Added New window menu item 5/1/98 Continued work on global cleanup 4/29/98 Started final cleanup to remove all globals. This involves passing WINDOW * to all function that require the contained variables. Got rid of i_vars.h file, moved contents into defines.h 4/26/98 Worked some more on new WINDOW structure (MAJOR code CHANGE) Got program to compile, works mostly, not completely stable yet. 4/25/98 Further reduced the number of globals in x_dialog.c Created the new WINDOW structure and started changing every file to use this new structure (MAJOR code CHANGE) 4/24/98 Typedefed st_objects, st_attrib, and st_linepts (major code change) Began process of figuring out which variables are getting encapsulated in the "per-window" and "pages" structures 4/23/98 Whole bunch of code cleanup, including making most variables consistant renaming a few functions. 4/20/98 Fixed Makefile.am to not include the math library (-lm) twice 0.0.2 ------- 4/16/98 Tested code with GTK+ 1.0.0. This will be the version of gtk which will work with gschem. Changed the order of init functions in main.c Fixed two nasty bugs that deal with the Add Attribute code 1) wasn't properly checking for no input in the name/value boxes 2) wasn't allocating enough memory for current_attribute. 4/15/98 Added some finishing touches to the Add Attribute dialog box and the code that actually does the work. Removed accelerator keys from popup menu. They were misbehaving (sometimes the accelerator key would be reassigned a new one???) and this way the right mouse button popup will be smaller. 4/14/98 Worked some more on the Add Attribute dialog box Added AttributeName keyword to the rc file(s). This keyword adds the names to the Add/Attribute dialog box. Started putting in the underlying code that is called by the various Add Attribute buttons. Added some low level functions to o_attrib.c to support above activity Changed Arc hotkey to Shift-R and added Add/Attribute as "a" 4/12/98 Added the #ifdefs to things that configure checks for (some of them) Disabled the very broken "get correct filename.ps" code when you print something. Right now all postscript output goes to out.ps Fixed a minor bug: if you are drawing a net and haven't yet placed the first point and then you hit the right button a redraw is not needed. (removed the redraw) Started to add : Add/Attribute dialog box and mechanism(s) 4/11/98 Fixed up most compiler warnings about missing prototypes and unused variables Tested code with gtk version 0.99.10 Due to changes in this version, several changes had to occur: Now forcing a update of scrollbars when you startup Fixed dialog boxes when users enters null string Added scrollbar updates to open and new callback routines Fixed text enter, text edit, text size, translate, arc angles dialog boxes so that enter is equivalent to clicking OK. Added the ability to draw non-orthogonal nets if you press the CONTROL key as you are drawing the nets. Normally you would want to draw nets which are orthogonal but there are exceptions to this. NOTE: if you draw an non-ortho net then you cannot connect to it in the middle; you can only connect to it at the ends. (need to document this) As a result of above, a bug was found in the connection search routine. The fix is highly experimental so if any midpoint nets which should be connected are not, then e-mail the maintainers. Likewise added the ability to draw ortho lines by pressing the CONTROL key as you draw the line. Lines are normally non-ortho, but sometimes it's nice to draw a prefectly straight line without being coordinated. (need to document this) 4/10/98 Added underlying code to implement the scrollbars Minor changes (asthetic code changes) to drawing window size 4/9/98 Added TextCapsStyle rcfile keyword Totally rewrote o_text to allow text to be any point size Added some code to put a few pixels inbetween each text character (right now turned off) Added text size selection dialog Changed Version keyword in rcfile to reflect new version (0.0.2) Changed default text size to be 10 point Removed the code that controlled (limited) text size in rcfiles Fixed most dialog box titles Fixed all example .sch files to have 10 point text labels Fixed postscript printing to deal with new text size system 4/7/98 Fixed minor bug with opening a file and CHANGED flag not being cleared 4/6/98 Relaxed aspectratio calculation (no more aspectratio enforcement) Changed default drawing area min size to 800x600 Merged m_prims.c and m_matrix.c into m_basic.c (new file) Added a pixmap unref to i_callback_file_quit() Added call to hide file ops in all file selection dialog boxes Fixed searching order of rc files Added scroll bars to right and bottom. Underlying code not impl. 0.0.1 ------- 4/1/98 First Release to the public