GAMGI 0.15
16th December 2010
Wrote Plane->Select, Direction->Select, Plane->Copy and Direction->Copy.
Fixed bugs in Group->Modify, Group->Copy and elsewhere. All dialogs
now support lists except the Modify dialogs for Group, Plane, Direction,
as these objects must be rethinked anyway.
What is new:
- Found and removed a bug in Group->Modify: even auxiliary
groups need a number, to avoid corruption when removed.
- Found and removed a bug in Group->Modify: central atom
existence was not properly checked, resulting in possible crashes.
- Group->Link is now working fine with single objects and
lists of objects.
- The new Plane->Link and Direction->Link dialogs are now
working fine with single objects and lists of objects.
- Updated interface for Plane->Link and Direction->Link dialogs.
- Error handling improvements on Plane->Copy, Direction->Copy
and Group->Copy.
- Implemented and tested dialog Group->Copy.
- Futurely Object->Copy dialogs should allow copies to
other destinations, not just layers.
- Implemented and tested dialogs Plane->Copy and Direction->Copy.
- O1, O2, O3, O4 node coordinates can now be used to select
lists of planes. Tested Plane->Select for all specific
direction properties.
- O1, O2, O3, O4 node coordinates can now be used to select
lists of directions. Tested Direction->Select for all specific
direction properties.
- All relevant Plane and Direction properties are now available
in Plane->Select adn Direction->Select, except O1, O2, O3, O4.
- Fixed two interface bugs in Plane->Create and Plane->Modify
related with O4 node combo box: no default and no Local option.
- Added Autonomy Partial to Group objects and Style (Wired|Solid)
to Plane, Direction objects, in Object->Select dialogs, although
these properties have not been implemented yet.
- Added all relevant properties properties to Group->Select,
Plane->Select, Direction->Select dialogs (not working yet).
- Fixed a little bug in all Object->Select dialogs.
- Plane->Select and Direction->Select can now
be used to select lists of Planes and Directions.
- Rewrote Group->Modify, to support lists of objects.
It is working again, currently only for one object.
- Designed a simple data model to handle focus
of single objects or lists of objects.
- Designed a simple way for users to set focus to
arbitrary lists of objects (so they can be rotated,
moved, scaled simultaneosuly).
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
GAMGI 0.14.11
26th October 2010
Implemented Object->Link for lists of objects, for all classes of objects supported
by GAMGI, except Plane and Direction. All GAMGI objects seem to be working fine now,
with lists of objects, for all suitable tasks (Object->Copy, Object->Link, Object->Modify,
Object->remove) except Planes and Directions (next release!). In general, the code
to handle lists of objects is becoming simpler and more robust.
What is new:
- Found and removed a bug in the lists code: the color of
object labels was not updated when new windows were created.
- Redesigned the code to update top menu label colors,
to indicate which objects have lists currently active.
- Found and removed two interface bugs in Cell->Link related with node
occupancy.
- Cell->Link is now working fine for all methods, Object, Crystal and
Glass (renamed from Random), for one Cell or for a list of Cells.
- Simplified Object->Link code with gamgi_gtk_object_raise.
- Bond->Link is now working fine for all cases.
- Molecule->Link is now working fine for all cases.
- Text->Link, Group->Link, Cluster->Link,
Assembly->Link are now working fine for all cases.
- Light->Link is now working fine for all cases.
- More improvements for Atom->Link and Layer->Link dialogs.
- Layer->Link is now working fine for all cases.
- Found and removed a bug in all Object->Copy dialogs
affecting the mouse interaction with the dialog.
- Improved Atom->Link: static_apply and static_ok_global.
- Working on Object->Link dialogs. Window->Link is now
working fine for all cases.
- Synced gamgi and gamgi_exp files: src/ and doc/.
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
GAMGI 0.14.10
20th September 2010
Added more criteria to create lists of objects in Object->Select
dialogs. Added functionality to Object->Copy dialogs, for objects
and lists of objects. Added functionality to Object->Link dialogs.
Atom->Link is now working for lists of objects. Improved the Cell->Link
interface, to support important new functionality. Removed three bugs,
two graphic ones, the other in the lists of objects code.
We are now counting down to GAMGI 0.15.
What is new:
- Replaced Shift by Change in Cell->Link, to keep Shift for Object
mode in Object->Link dialogs, similar to Object->Copy dialogs.
- All Object->Copy dialogs are now working fine with the new
features and visual.
- Redesigned the Layer/Local options in Object->Copy dialogs.
- Many small refinements in Object->Copy dialogs and Atom->Link.
- Layer->Copy is now working fine: a variable was not initialized.
- Atom->Link is now working fine for all possible cases.
- Improved code for Object->Modify and Object->Copy dialogs.
- Added functionality to Atom->Link: lists of objects can be
linked above and below, linked objects can be shifted.
- After Atom->Link, started preparing the other Object->Link
dialogs to support lists of objects. Updated the button selecting
an object or an object list, for all Object->Link dialogs.
- Mouse handling in Object->Copy and Object->Select
dialogs is working fine, with the new functionality.
- Replaced labels Atom, Bond, etc. in Object->Create dialogs
by label Name as this is more consistent with Object->Modify
dialogs.
- Implemented all the functionality for Object->Copy dialogs,
including lists of objects (seems fine but needs more testing).
- Improved GTK code for dialogs: Atom->Copy, Light->Copy,
Text->Copy, Cell->Copy, Cluster->Copy, Molecule->Copy, Assembly-Copy,
Group->Copy.
- All working Object->Select dialogs support now selection by name
and by parent.
- Atoms can now be selected by name and by parent using Atom->Select.
- Found and removed a typo bug in the code to set the color of
object selection rectangles. With some positional lights, a white
color in a selection rectangle might look black (mesa bug?).
- Found and removed a bug in Undo,Save code: when pressing
Cancel, in some cases the image was not immediately updated.
- Found and removed a bug in the lists code: Gamgi->Reset tried
to change a Gtk label after removing its own Gtk parent window.
- Atom->Copy is now working with new (name, location) functionality.
- Link->Atom is now working with both atoms and lists of atoms.
- The interface to translate and rotate Wyckoff positions,
in Cell->Link, is now available through a simple netbook page,
instead of second-level dialogs as before.
- Researching CIF file format: we plan to export GAMGI to this format.
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
GAMGI 0.14.9
24th August 2010
Lists of Cells, Lights, Layers (previously selected using the Object->Select
dialogs) can now be easily modified using the Object->Modify dialogs. Lists of
Atoms, Texts, Lights, Layers, Windows, Cells, Molecules, Clusters (previously
selected using the Object->Select dialogs) can now be easily copied using the
Object->Copy dialogs. Removed two bugs in the new lists code that crashed GAMGI
is some situations.
What is new:
- Copy->Cluster is now working with clusters and lists of clusters.
- Copy->Molecule is now working with molecules and lists of molecules.
- Copy->Cell is now working with cells and lists of cells.
- Copy->Window is now working with windows and lists of windows.
- Copy->Layer is now working with layers and lists of layers.
- Copy->Light is now working with lights and lists of lights.
- Found and removed a crashing bug in the lists code, with more than
one window: the gtk window is removed before the window child objects,
so when removing these, the gtk window is not there anymore.
- Copy->Text is now working with texts and lists of texts.
- Copy->Atom is now working with atoms and lists of atoms.
- Improved the way current object and layer are handled, for objects
and lists of objects, in dialogs Atom->Modify, Bond->Modify, Text->Modify,
Cell->Modify, Light->Modify and Layer->Modify. Deprecated
gamgi_gtk_statusbar_modify and gamgi_gtk_statusbar_layer, added
gamgi_global_selection_layer.
- Lists of layers (previously created with Layer->Select)
can now be easily modified with Layer->Modify.
- Found and removed a crashing bug introduced last release in Text->Modify:
when handling lists with more than one text, with undefined style but defined
font, the new font became corrupted.
- More improvements in the lists code, in Atom->Modify,
Bond->Modify, Text->Modify, Cell->Modify, Light->Modify,
Layer->Modify: common error handling, focus change in the end, etc.
- Added local enumerations to the lists code in Light->Modify,
Text->Modify, Atom->Modify, Bond->Modify, Cell->Modify, Layer->Modify.c,
making the code much easier to read and maintain.
- Light colors can now be modified in Absolute or Relative modes.
- Lists of lights (previously created with Light->Select)
can now be easily modified with Light->Modify.
- Cleaned the lists code in Atom->Modify, Bond->Modify,
Text->Modify, Cell->Modify and Light->Modify.
- Lists of cells (previously created with Cell->Select)
can now be easily modified with Cell->Modify.
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
GAMGI 0.14.8
19th July 2010
The properties of arbitrary lists of atoms, bonds, texts (previously selected with Select dialogs) can now be easly specified with the Modify dialogs (pressing the List button). In the next releases, this will be extended to the other objects. Replaced deprecated macros GTK_WIDGET_VISIBLE, GTK_WIDGET_SENSITIVE by gtk_widget_get_visible, gtk_widget_is_sensitive calls. Replaced direct addressing widget->window, widget->allocation by gtk_widget_get_window and gtk_widget_get_allocation calls (GAMGI needs now GTK 2.18 to compile). Removed a buffer overflow that crashed GAMGI when building crystals of the space group 230.
What is new:
- Lists of texts (previously created with Text->Select) can now be
easily modified (for any property recognized by Gamgi) with Text->Modify.
- Lists of bonds (previously created with Bond->Select)
can now be easily modified with Bond->Modify.
- Lists of atoms can now be easily modified with Atom->Modify!
For efficiency reasons, dialog data is first imported to a cache,
from where atoms or lists of atoms are modified.
- GTK 3.0: replaced widget->window direct addressing
by gtk_widget_get_window calls (since GTK 2.14).
- GTK 3.0: replaced deprecated macros GTK_WIDGET_VISIBLE by
gtk_widget_get_visible calls (since GTK 2.18).
- GTK 3.0: Replaced deprecated macros GTK_WIDGET_SENSITIVE by
gtk_widget_is_sensitive calls (since GTK 2.18).
- GTK 3.0: replaced widget->allocation direct addressing
by gtk_widget_get_allocation calls (since GTK 2.18).
- Removed a buffer overflow, found when building crystals with
group 230: some wyckoff strings do not fit in a 20 char array.
- www. gamgi.org and ftp.gamgi.org hardware failure: replaced,
reinstalled system disk, copied previous data.
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.14.7
4th April 2010
This is a bug-fix release. Fixed a GL context bug when multiple windows were open, that could produce no rendering. Fixed memory leaks in handling fonts. Fixed how messages were produced when DejaVu fonts were not found, that could crash GAMGI. Updated old documentation, and the Help system, that could crash GAMGI. Fixed the way mouse dragging is handled that could stop mouse dragging. Corrected ionic radius for S and Sb. Prepared a new, experimental, release that does not require the GTKGLExt library (for X Window System only).
What is new:
- Found and removed a bug in gamgi_chem_property.c: the ionic
radius for S and Sb were wrong. Checked all ionic radius.
- Improved www.gamgi.org front page.
- Truetype fonts are now checked in the same way in Text->Create, Text->Modify
and importing from file, in a slightly more robust way than before. Error messages
are handled in a much better way. Fixed a bug in Text->Modify resulting in text
object names not being properly updated.
- Found and removed a memory leak in gamgi_mesa_text_font_increase:
when an error occurs, remove font glyph array created before.
- Found and removed a memory leak in gamgi_gtk_text_create and
gamgi_gtk_atom_modify: contents is allocated and must be freed.
- Found and removed a nasty bug, introduced some time ago in the
code handling the mouse, in gamgi_mesa_area_notify.c, that in many
cases could stop the mouse from dragging.
- Updated www.gamgi.org/interfaces/, some documentation was old.
- Found and removed a bug introduced when moving to DejaVu fonts:
for some fonts the filename had more chars than those expected
in the error string message, resulting in crashs when those fonts
were not found.
- Updated documentation for installation: in some systems
(Ubuntu 9.10 for example) the environment variables must be
set in ~/.profile, instead of ~/.bashrc.
- Updated gamgi_gtk_help_current.c and gamgi_gtk_help_topic.c:
code for atom copy files was too old, resulting in crashes
when calling documentation for Atom->Copy.
- Updated and fixed typos on doc/tutorials: for example the method
Independent in Cell->Link is now called Crystal.
- The new code that does not require GTKGLExt is working fine with GAMGI
on Fedora 8 (Gtk 2.12.8), including creating and removing multiple contexts
on the fly, and sharing pre-compiled OpenGL lists.
- Wrote a GTK/OpenGL program that seems to work without GTKGLExt!
Tested so far on Fedora 8 (Gtk 2.12.8) and Ubuntu 9.10 (Gtk 2.18.3).
It requires only glx.h (distributed with Mesa) and gdkx.h (distributed
with GTK). We need to test this much more, namely with shared lists,
removing and adding GLcontexts, etc., but if we managed to succeed,
it could be really good news for users and maintainers!
- Added initialization tests for GTK, GTKGLExt and OpenGL.
- Rewrote gamgi_mesa_area_create: gamgi->glconfig and gamgi->glcontext
are no longer needed.
- Added "et al." in Gamgi->About dialog.
- Found and fixed a nasty, old bug, introduced when moving from GtkGLArea
to GtkGLExt: when a top window was removed, Open GL lists previously
created no longer worked in new windows. Solution: instead of using
the GL context of the window that was created in first place, just use
the GL context of the window that is currently the first one.
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.14.6
9th February 2010
Improved Object->Select dialogs. All Object->Remove dialogs can now handle
lists of objects with the same functionality as for single objects (this is
the first application of the selection lists that we have been implementing
since Gamgi 0.14). Cell->Link now supports shifts in translations and rotations
for each node, in Crystal mode (this is very useful, to change the lattice origin
and for people doing research on Defects in Crystals). Adapted the ruler code for
Gtk 3.0. Fixed a few bugs in Cell->Modify, Cell->Link and in the Tools section.
What is new:
- Added error message for empty lists in all Object->Remove dialogs.
- Layer->Remove can now be used to remove lists of layers.
- In Object->Remove dialogs, in List mode, the selection lists
are now automatically removed only when objects of that class are
actually removed (and not its child objects).
- Window->Remove can now be used to remove lists of windows.
- Implemented new dialogs Cluster->Select, Molecule->Select
and Group->Select.
- Removed useless, old dialogs Orbital->Select, Graph->Select,
Arrow->Select and Shape->Select.
- Cluster->Remove, Molecule->Remove, Group->Remove, Plane->Remove
and Direction->Remove can now be used to remove lists of objects.
- Text>Remove can now be used to remove lists of texts.
- Implemented lists in Cell->Remove, Assembly->Remove and Light->Remove.
- Improved layout for Text->Select, Bond->Select, Atom->Select,
Light->Select, Layer->Select, Window->Select, Assembly->Select and
Cell->Select dialogs.
- Simplified the code to remove lists of objects.
- Improved the mechanism to remove lists of objects:
no need to copy the list of objects before removing them.
This works fine even for recursive objects.
- Text>Remove can now be used to remove lists of texts.
- Bond>Remove can now be used to remove lists of bonds.
- The very first application of the selection lists is now in place:
Atom->Remove can now be used to remove an atom or a list of atoms.
- Implemented functions to copy lists of dlist and slist nodes.
- Found and removed a bug in Cell->Modify: the cell origin was not
correctly reset to zero, resulting in wrong center coordinates for cell.
- Changed the way Wyckoff positions are handled: they should be in the
range ]-1, +1[ when rotation shift is applied (not in [0, +1[ as before).
- Implemented Rotation Shift in Cell->Link (in Method Crystal).
- Found and removed a bug in Scale tool button (added when converting to
Gtk 3.0): passed button instead of label, resulting in wrong behaviour.
- Gtk 3.0: replaced ruler->position direct access by
calls to gtk_ruler_get_range and gtk_ruler_set_range.
- Implemented Translation Shift in Cell->Link (in Method Crystal).
- Improved significantly the layout for dialogs Translation Shift,
Rotation Shift and Cell->Link, resulting from the new Shift functionality.
- Wrote most of the code to handle Translation and Rotation Shifts,
when building Crystals in Cell->Link. This is important for researchers
working in Defects in Crystals.
- Found and removed two little bugs in gamgi_io_file.c, afecting
the error message produced when a file could not be exported.
- Found and removed two bugs in static_type, in gamgi_gtk_cell_modify.c,
related with Projection (introduced when changing to GTK 2.0).
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.14.5
20th January 2010
Implemented a simple and powerful method to select any class of visual objects inside an arbitrary rectangle on any window. Improved the behaviour of Object->Select dialogs. Implemented the new dialogs Window->Select and Assembly->Select.
What is new:
- Removed two visual bugs in Method comboboxes in all Objet->Select
dialogs: submenus now have no titles and have all the same size.
- Selection inside a mouse defined rectangle is now working fine also
in Text->Select (recursive), Bond->Select, Assembly->Select (recursive)
and Cell->Select.
- The new Assembly->Select dialog is fully working.
- Changed atom Type by atom Label, in Atom->Create, Atom->Modify,
Atom->Config and XML files (attribute "type" was replaced by "label").
Changed Element by Type in notebook tags, and Name by Element in
notebook pages. Updated documentation accordingly.
- The new Window->Select dialog is fully working.
- Completed the code to grab objects inside mouse defined rectangles.
And it seems to be working fine! Needs much more testing though.
We are much closer to version 0.15!
- We have a good method to add Atoms to Cells with translations
and rotations relatively to their normal positions. This is important
for people doing research in Defects in Crystals.
- Found and removed a bug in expat export code for window:
either export both x,y or none. The same for width,height.
- Improved gamgi_mesa_grab.c, to select objects by region.
- gamgi->box[4,5] are useless: use window->begin_x, window->begin_y
instead.
- Debugged the selection rectangle behaviour, everything is working fine
now. All the Mesa/GTK code related with the user interaction is done.
- Added "button_release_event" signal to OpenGL area.
- Increased partially visible layer merging factor from 0.2 to 0.4
- Wrote and tested selection rectangle alpha blending for object
selection by region. This completes the static part of this code.
- Wrote and tested 2D pixel accurate selection rectangle for object
selection by region, including move and resize little squares.
- Objects can be picked only in Pick mode. Until now, this was
confusing for users.
- Wrote the code to scan objects by color, with unlimited depths,
to implement object selection by region.
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.14.4
29th December 2009
Implemented the new dialogs: Text->Select, Bond->Select, Cell->Select,
Light->Select, Layer->Select. Improved Atom->Select. Updated some GTK
code to work with GTK 3.0. Updated documentation, fixed bugs.
What is new:
- Synced with www.gamgi.org/: dat/, doc/formats/, doc/interfaces,
doc/tutorials, doc/bibliography, doc/installation and doc/man.
- The new Light->Select dialog is fully working.
- Found and removed a bug in Cell->Align (in Cell->Modify): rotation and
translation alignment are working again for all transformed Cells and current
Layer.
- Found (Valgrind) and removed a bug in gamgi_gtk_window_create.c:
window->mode was used before initialization.
- Synced documentation and Help system, regarding Bond->Create, Bond->Modify,
Cell->Create, Cell->Modify and all the Object->Link dialogs.
- Improved labels in Object->Link dialogs: Method instead of Link.
- Improved make_rules, as suggested by Adriano Couto.
- Fixed a bug in gamgi_gtk_group_modify.c: the selection
pointer recently added, was not initialized here.
- Simplified and reduced code for dialogs: Atom->Select, Bond->Select,
Text->Select, Layer->Select, Cell->Select.
- Converted dialog Cell->Select to combo box submenus.
- Converted dialog Text->Select to combo box submenus.
- Converted dialog Bond->Select to combo box submenus.
- Converted dialog Atom->Select to combo box submenus.
- Tested new combo box submenus with Gtk 2.18.3: they work fine.
- Improved label consistency in Layer->Create, Layer->Modify,
Bond->Create and Bond->Modify.
- Improved make_rules, as suggested by Jasper Lievisse Adriaanse
from OpenBSD.
- Completed the new Layer->Select dialog, with combo box submenus.
- Improved the position and size of the top menus in main windows.
- The new Layer->Select dialog is working.
- The new Cell->Select dialog is now working fine for all methods.
- Added more methods to Text->Select and Bond->Select.
- Implemented and tested new Bond->Select dialog.
- Improved Text->Select and Atom->Select functionality.
- The new Text->Select dialog is now working fine, with improvements
over Atom->Select: Method values can now be selected from combo boxes
or combo box entries, not just entries.
- Daniel Leidert, from Debian, updated man/page, mainly bold
and italic highlighting. Thanks Daniel!
- GTK 3.0: Removed all 181 instances in GAMGI of deprecated
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT)
- GTK 3.0: Replaced all 67 instances in GAMGI of deprecated
GTK_BIN (widget)->child by gtk_bin_get_child (GTK_BIN (widget));
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.14.3
30th November 2009
The new Atom->Select is now fully working for all methods, except
selecting objects by region. The infrastructure to handle global
lists of objects is in place. Replaced Vera by DeJaVu Truetype
fonts. Updated documentation, fixed bugs.
What is new:
- Updated Help->Current, Help->Topic and doc/interfaces
for File->Import, File->Export, Atom->Select documentation.
- Updated technical links in www.gamgi.org.
- Wrote documentation for new dialogs: File->Import, File->Export,
Atom->Select.
- New objects can now be added to List Current in Atom->Select.
- Found and removed a bug related with new gamgi_global_selection
code: on exit, selection lists were removed too late.
- Found and removed a bug in new gamgi_gtk_atom_select.c:
the list Before was not always removed.
- Removed directory io/fonts, as the 12 DejaVu fonts are too
large to be distributed with GAMGI. They come with every Linux
distribution and can be easily obtaned from dejavu-fonts.org or
www.gamgi.org, ftp.gamgi.org.
- Updated the INSTALL file coming with GAMGI distribution,
regarding Vera to DejaVu font changes.
- Updated documentation for Extruded fonts: 12 DejaVu fonts instead of 10
Vera fonts, plus two new labels, "serif_italic" and "serif_bold_italic".
- Replaced default path for TrueType fonts, in GAMGI_IO_PATH_TRUETYPE,
from "/usr/X11/lib/X11/fonts/truetype/" to "/usr/share/fonts/truetype/ttf-dejavu/".
- DejaVu Truetype fonts used to build 3D extruded fonts are no longer
distributed with Gamgi, due to space reasons. Although these files come
with most Linux distributions, they are also available from www.gamgi.org
and ftp.gamgi.org, as a convinience.
- Replaced BitStream Vera by DejaVu TrueType fonts for 3D Solid
(extruded) fonts. DejaVu fonts are derived from Vera, so visual
differences are minimal and the license is based on the previous one.
- Improved the model used to flag which atoms are selected: this
works now also with lists of recursive objects, such as texts, groups,
which would crash before when objects removed recursively appeared
later in the selected list.
- Atom->Select, our prototype for Object->Select dialogs, is now
robust, simple, elegant and definitely ready for general usage.
Three methods for object selection have been implemented so far:
1) property ranges (16 properties implemented for Atom objects),
2) GTK list clicking and 3) OpenGL representation clicking.
We expect to add futurely a very useful fourth method: selecting
objects inside a rectangle indicated with the mouse in a OpenGL
graphic area.
- More tests on Atom->Select: fixed a logical bug in static_press.
- Cleaned gamgi_gtk_atom_select.c, replaced signal "unmap" by
"destroy" to free Before list, actually removed node list Before.
- Implemented and tested the third selection method in Atom->Select:
press Ctrl and click on the OpenGL visual representation of an atom
with the mouse, if this atom is in the Current list it gets
automatically selected on the GtkTreeView.
- All *_press global functions receive now the pointer to
GdkEventButton that fully describes the button press.
- How to get Ctrl-Click events is now clear, thanks
to Emmanuel Rodriguez from gtk-app-devel-list.
- Replaced scale limits 0.0, DBL_MAX by GAMGI_MESA_SCALE_LOWER,
GAMGI_MESA_SCALE_UPPER in all Object->Create and Object->Modify
dialogs, plus all Expat import object functions.
- All the selection-by-property functions in Atom->Select are now implemented.
- Simplified selection-by-property functions in Atom->Select.
- Atom->Select now has selection methods for Mass, Radius,
Charge, Temperature and Occupancy.
- The GTK functions to select object rows from code are
working! This is very important because we need this to
select objects directly from the OpenGL graphic area.
- Wrote functions gamgi_engine_slist_invert and gamgi_engine_dlist_invert,
to invert slist and dlist lists.
- Improved gamgi_gtk_atom_select.c code: the Pick code is much simpler
and faster, the Undo list is removed everytime Atom->Select is unmaped,
all lists of atoms are now properly ordered, in a elegant way.
- Object selection by mouse clicking directly on the Treeview is working.
- Added a (hidden) object column to treeviews listing objects,
this is needed to speedup object selection from the treeview.
- Improved and tested Atom->Select: this is now ready for general usage.
- Added -lgdkglext-x11-1.0 to make_rules, as GAMGI failed to build with the
new linker binutils-gold, already used in some Unix systems. Many thanks to
Peter Fritzsche, from Debian, who found and fixed the problem.
- The new Atom->Select dialog is already working: list of atoms
can be selected, according to property criteria choosen by users.
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.14.2
31th October 2009
This is mainly a bug-fix release: replaced two deprecated castings
preventing GAMGI from compiling in newer systems, simplified the visual
layout for all the 161 notebook pages in task dialogs, fixed several
glitches and bugs related with GTK interfaces, wrote the interface for
the new Atom->Select dialog. Compiles on Ubuntu 9.10 (x86) without warnings,
at the -O3 -Wall -ansi -DGTK_DISABLE_DEPRECATED level.
What is new:
- Improved parsing and security in gamgi_gtk_file_chooser.
- Added some lateral padding into all GAMGI GtkTextView widgets:
it looks better.
- GAMGI is now compiling without warnings on brand new Ubuntu 9.10
(Gtk 2.18.3), with options: -O3 -Wall -ansi -DG*_DISABLE_DEPRECATED.
- Removed several warnings due to non used return values, in functions
write, system, getcwd. GAMGI is now compiling without warnings (Gtk 2.16)
on Ubuntu 9.04, with options: -g -O3 -Wall -ansi -DG_DISABLE_DEPRECATED
-DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
-DGTK_DISABLE_DEPRECATED.
- All Text dialogs in GAMGI have now the same contour width.
- Removed frames and cleaned Cell dialogs.
- Removed frames and cleaned Plane, Direction dialogs.
- Removed frames and cleaned all Measure dialogs.
- Replaced N by Zn in ZNS Blenda data files distributed with GAMGI.
- Removed frames and cleaned Assembly, Molecule, Cluster dialogs.
- Removed frames and cleaned Layer, Bond dialogs.
- Wrote the new GTK layout for Atom->Select dialog. This is another
step in the way to implement real selection of objects in GAMGI.
- Removed frames and cleaned all Link, Copy, Remove dialogs.
- Removed Xterm and Console buttons from the Tools bar:
this functionaliy can easily be called from outside GAMGI
and is difficult to get right, because it deppends
of the WM and of personnal preferences.
- Removed frames and cleaned Window, Text, Light dialogs.
- Replaced deprecated GtkSignalFunc by G_CALLBACK() on gamgi_gtk_select.c.
In new systems, with GTK 2.18.3, GAMGI fails to compile because of this.
Thanks to Daniel Leidert (from Debian) and Pedro Isidoro, who directed
my attention to this!
- Removed frames and cleaned Gamgi, Help, Atom dialogs.
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
GAMGI 0.14.1
22nd October 2009
Implemented and tested (Linux/Mac OS X) new GtkFileChooser dialogs,
using only GTK 2.* low-level widgets, so we have the new technology
without the constrainments imposed by the oficial GTK 2.* gtkFileChooser
dialog. GAMGI is now compiling fine with flags -DG_DISABLE_DEPRECATED
-DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED
and should be ready for GTK 3.0. Added most of the low-level engine code
to handle multiple object selection.
What is new:
- Completed the new File->Import and File->Export dialogs.
- Implemented all the security checks needed to handle
files and folders coming from an hostile environment.
- All the functionality used in the new file chooser
is available and running fine on Mac OS X.
- Sorting Folders and Files in the new file chooser is now working fine.
- Filtering Folders and Files in the new file chooser is now working fine.
- All the technical issues related with the new file chooser dialogs
to implement in Gamgi seem now to be solved (famous last words!).
- The basic infra-structure to handle the new File->Import
and File->Export file choosers seems to be working fine.
- The low-level infra-structure to handle global selection
of objects is now in place.
- Active modes such as Axes, Rotate, Move, Scale (tools menu)
and Lists of objects (main menu) are now shown in green
to distinguish from highlights, represented in red.
- Improved the way ruler data is shown in the statusbar:
always present and shown in default color.
- New screenshots!
What is next:
- Rewrite the About dialog, in the notebook form, to
include pages for Developers, Contributors, Supporters.
- Add a task id to operactions involving multiple scans to
guarantee that there is no flag corruption when bonds are
created between different molecules.
- Add a bond angle, which is useful to control double bonds
in solid mode.
- Add plane area and direction length to Plane->Measure and
Direction->Measure.
- Write tutorials about crystalographic and atomic Plane,Direction usage.
- Implement dynamic text objects, to measure distances,
angles, etc. on real time.
- Improve selection dialogs, including list selection methods.
- Implement multiple object picking, including a
dynamic frame with moving ants and dragging anchors,
to select multiple objects and images from the screen.
Changelogs for older releases can be found here.