2008-09-04  Quentin Mathe <qmathe@club-internet.fr>

	* ETLayout 
	New work-in-progress protocols ETPositionalLayout and ETCompositeLayout.
	(-isComposite): Added.
	(-resizeLayoutItems:toScaleFactor:, -setItemSizeConstraintStyle:): 
	Documented.
	(-render:isNewContent:): Commented out the call to -setVisibleItems:, so the 
	visibility of the items is only handled in 
	-renderWithLayoutItems:isNewContent:.

2008-09-04  Quentin Mathe <qmathe@club-internet.fr>

	* ETLayout (-resizeLayoutItems:toScaleFactor:): Applied item size contraint 
	only if requested, when -itemSizeConstraintStyle returns another value than 
	ETSizeConstraintStyleNone. This fixes the case where a zero size is 
	returned by -constrainedItemSize and wrongly applied with the scaling.

2008-09-03  Quentin Mathe <qmathe@club-internet.fr>

	Extracted -[ETBasicItemStyle render:layoutItem:dirtyRect:] into two new 
	methods. Enhanced existing code to draw a way more pretty selection 
	indicator (light gray interior, dark gray border), instead of the boring 
	blue square that was playing this role until then.
	* ETStyle.[hm]:
	(-[ETBasicItemStyle render:layoutItem:dirtyRect:]): Modularized the drawing 
	code into two new methods.
	(-[ETBasicItemStyle drawImage:]):
	(-[ETBasicItemStyle drawSelectionIndicatorInRect:]):
	Added.

2008-09-03  Quentin Mathe <qmathe@club-internet.fr>

	Made possible to create application without nibs on Mac OS X, by writing 
	the code that builds and installs the main menu. This will make the 
	maintenance of EtoileUI examples less a burden, no nibs and gorms to 
	keep in sync.
	* ETApplication
	More documentation.
	(-_buildMainMenuIfNeeded, -_createApplicationMenu): New methods.
	(-finishLaunching): Updated to call -_buildMainMenuIfNeeded.

2008-08-31  Quentin Mathe <qmathe@club-internet.fr>

	* ETLayout 
	(-tearDown, -selectionDidChangeInLayoutContext): New methods.
	(-setLayoutContext:): Modified to call -tearDown if needed.
	* ETLayoutItemGroup (-setLayout:): Cleansed. Moved layout view removal code
	to -[ETLayout tearDown] since the layout is responsible of the layout view.
	
2008-08-31  Quentin Mathe <qmathe@club-internet.fr>

	* ETLayout
	(-render:isNewContent:): Cleaned. Extracted the code that sets the initial 
	layout size into a new method -resetLayoutSize.
	(-canRender, -resetLayoutSize): Added.
	(-renderWithLayoutItems:isNewContent:): Moved up the item scaling call 
	from ETComputedLayout, and added a call to -resetLayoutSize so that the 
	initial layout is now set here instead of -render:isNewContent:.
	* ETComputedLayout (-renderWithLayoutItems:isNewContent:): Moved the item 
	scaling back into ETLayout, so that it can be shared with other subclasses.
	* ETFreeLayout: Fixed two compilation warnings (temporary fix).

2008-08-31  Quentin Mathe <qmathe@club-internet.fr>

	* ETLayout, ETComputedLayout:
	(-layoutLineForLayoutItems:, -layoutModelForLayoutItems:, 
	-computeLayoutItemLocationsForLayoutModel:): Moved down to ETComputedLayout 
	subclass from ETLayout.
	(-renderWithLayoutItems:isNewContent:): Moved implementation down to 
	ETComputedLayout.
	* ETPaneLayout, ETPaneSwitcherLayout: Updated to get rid of the compilation
	warnings triggered by these changes. Temporary fix until these classes are
	rewritten.

2008-08-28  Quentin Mathe <qmathe@club-internet.fr>

	* ETLayout (-resizeItems:toScaleFactor:): Fixed by removing an unwanted bit 
	of code, the items should now be scaled even when no item size constraint is 
	set.
	
	* ETFlowLayout, ETLineLayout, ETStackLayout: 
	Defined subclass relative default values for item margin, item size 
	constraint and item constrained size. May need to be tweaked to be really 
	sensible.

2008-08-28  Quentin Mathe <qmathe@club-internet.fr>

	Implemented item margin for flow, line and stack layouts. A big step for a
	real photo view and an incremental step towards form layout :-)
	Added a new abstract class ETComputedLayout, that will be useful to extract 
	state and behavior ETLayout.

	* ETLayout: 
	Declared protocol ETPositionalLayout.
	(-isPositional): Added.
	(-isComputedLayout): Modified to return NO and updated the doc.
	
	* ETFlowLayout, ETStackLayout:
	Modified to inherit from ETComputedLayout and modified the layout 
	rendering methods to take in account the item margin.
	
	* ETComputedLayout.[hm]: Added.
	* EtoileUI.h: Included ETComputedLayout.h.
	* Container.xcodeproj, GNUmakefile: Updated.
	* PhotoViewExample: Added a slider to control the item margin. Only modified 
	the nib but not the gorm file yet.

2008-08-25  Quentin Mathe <qmathe@club-internet.fr>

	Modularized the drawing of the layout items, the default rendering style 
	is now encoded in a new ETStyle subclass named ETBasicItemStyle.

	* ETStyle:
	(-render:): Modified the return type to be void.
	(-render:layoutItem:dirtyRect:): New method.
	New class ETBasicItemStyle which encapsulates the code previously located
	in -[ETLayoutItem renderLayoutItem:].
	
	* ETLayoutItem
	Modified to inherit from ETStyle rather than ETStyleRenderer. Modified 
	the type of renderer property to ETStyle.
	(-initWithView:value:representedObject:): Modified to set ETBasicItemStyle 
	shared instance as the renderer.
	(-renderLayoutItem:): Removed by moving the code to 
	-[ETBasicItemStyle render:layoutItem:dirtyRect].
	(-render:dirtyRect:inView:): Modified to call the equivalenet ETStyle 
	method rather than -renderLayoutItem:.
	(-render:): Removed.
	
	* ETLayoutItemGroup
	Updated various part of the documentation related to the drawing.
	(-render:dirtyRect:inView:): Fixed to avoid the drawing of the item style 
	when a layout view is taking over the whole drawing. For example, switching 
	from a line layout to a table layout resulted in a visible row of items on 
	top of the table layout.
	
	* ETView: Documented INTERLEAVED_DRAWING.
	
	* ETStyleRenderer, ETRenderer: Removed various stuff (before getting rid 
	of these files at a later point).
	
	* PhotoViewExample: Tweaked to use no image views when the data source is 
	disabled, this example can now easily be used to test the direct drawing of 
	the layout item tree.

2008-08-25  Quentin Mathe <qmathe@club-internet.fr>

	Implemented the direct drawing of the layout items, so items without view can
	now draw themselves directly into the closest enclosing view. As a byproduct, 
	this also implies every items with or without a view can also be styled (for 
	stuff such as selection indicator, border etc.). The item style is currently 
	hardcoded but it is going to be modularized in order to be fully pluggable at 
	runtime. This feature can also be useful for implementing a graphics editor or 
	a photo browser, whose contents may consist of thousands of elements, hence 
	require lightweight items to diplay fast enough.
	Fixed selection handling in layouts that doesn't use a layout view and reenabled 
	the display of a visual indicator for selected items... a crude blue square :)
	WARNING: When scrolling a container made of items without views, the redisplay 
	doesn't occur transparently right now, clicking or resizing allows to workaround 
	this issue. In a similar vein, pick and drop work for both items with or without 
	view, but the result only becomes visible when you click or resize the container 
	if the picked items have no views.

	* ETLayout (-itemAtLocation:): Added a basic implementation to handle the 
	case where an item has no view.

	* ETView 
	(-drawRect:, -_recursiveDisplayAllDirtyWithLockFocus:visRect:, 
	-displayRectIgnoringOpacity:inContext:): Modified to take control of the 
	drawing once the subviews are drawn and ask the layout item to render itself.
	(-renderer): Used the layout item as the view renderer.

	* ETLayoutItem
	(-description): Tweaked the detailed description to print the frame.
	(-setImage:): Modified -setImage: to update the item size if needed.
	(-firstDecoratorItemWithSupervisorView, -drawingFrame, -renderLayoutItem:): 
	New methods.
	(-render:dirtyRect:inView:): Finished to implement and largely rewrote by 
	letting the parent item adjusting the graphic context to match our needs.
	(-renderer): Used the layout item as the view renderer.

	* ETLayoutItemGroup
	Documented several methods.
	(-render:dirtyRect:inView:): Finished to implement and largely rewrote. Now 
	calls -display:dirtyRect:inView: for adjusting the graphic context to each 
	child item.
	(-display:dirtyRect:inView:): New method.
	(-collectSelectionIndexPaths): Renamed  to
	-collectSelectionIndexPaths:relativeToItem: and modified to correctly 
	compute relative index paths of the selected items, rather than index paths 
	relative to the root item.
	(-applySelectionIndexPaths): Renamed to
	-applySelectionIndexPaths:relativeToItem: and fixed to correctly set the 
	selected items by interpreting the index paths as relative to the receiver.

2008-04-02  Quentin Mathe <qmathe@club-internet.fr>	

	* Headers/UKPluginsRegistry+Icons.h: Added.
        * Source/UKPluginsRegistry+Icons.m: Updated.
        * GNUmakefile:
        * Source/GNUmakefile:
        Updated to take in account the new header, cleaned a bit and modified 
        to link EtoileFoundation correctly with LIBRARIES_DEPEND_UPON.

2007-05-03 Yen-Ju Chen <yjchenx at gmail _dot_ com>

        * Toplevel GNUmakefile make the frameworks
          while Source/GNUmakefile make the subproject

2007-05-01 Yen-Ju Chen <yjchenx at gmail _dot_ com>

	* Turn into framework.

2007-02-28 Yen-Ju Chen <yjchenx at gmail _dot_ com>

	* Move UKNibOwner from EtoileFoundation (bug #8511).

2007-02-19 Yen-Ju Chen <yjchenx at gmail _dot_ com>

        * Format README in reStructuedText

2006-11-25  Quentin Mathe <qmathe@club-internet.fr>	

	* Source/NSImage+NiceScaling.m (-scaledSize:toFitSize:): Fixed ratio 
	computation bug that translated in a slight image distorsion.

2006-10-31  Quentin Mathe <qmathe@club-internet.fr>
	
	* Headers/Cocoa/Cocoa.h:
	* Headers/NSBezierPathCappedBoxes.h:
	* Headers/NSImage+NiceScaling.h:
	* Source/NSBezierPathCappedBoxes.m:
	* Source/NSImage+NiceScaling.m:
    * Source/GNUmakefile:
    * Source/GNUmakefile.postamble:
	* README:
	* INSTALL:
	* GNUmakefile:
	Imported this new framework resulting from the split of EtoileExtensionsKit
	in three modules (EtoileUI, EtoileFoundation, DistributedView).
	The framework has been created with svn cp on EtoileExtensionsKit to keep 
	files history.
