History log of /haiku/headers/libs/alm/Area.h
Revision Date Author Comments
# 04b1c44b 17-Oct-2012 czeidler <haiku@clemens-zeidler.de>

Use a tab BReference as argument in Area::Set{Left, Top, Right, Bottom}.
Using a normal pointer is dangerous when creating a new tab directly in the method call because the tab gets deleted to early.


# 0a5e1307 01-Feb-2012 Alex Wilson <yourpalal2@gmail.com>

Make SharedSolver BArchivable to save extra user constraints.


# f6db102e 19-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Make BALMLayout respect its position when nested.


# 20cc993a 17-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Remove BALM::Area::fConstraints field, which is not needed.

It's easier to just delete all the constraints in the dtor, the ones that
wouldn't have been in fConstraints are NULL at this point anyway.


# 895414da 17-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

In BALM::Area rename fTopLeftInset to fLeftTopInset.

This is consistent with for instance, the BSize ctor.


# 324ce285 16-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Add FBC padding to ALM classes.


# 0da6f2e9 16-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Rename BALM::GroupItem to BALM::ALMGroup, and move it to its own files.

Also make ALMGroup totally self-contained, i.e. BALMLayout no longer
does the parsing, and is completely unaware of ALMGroup. A small touch
of refactoring as well.


# a25ffa4f 16-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Style cleanup in alm: mostly clean includes.


# 7dd17203 16-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Make Area insets more consistent with other HAIKU inset APIs.


# 8b527479 15-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

In Area, remove unused ItemFrame() method.

Also modify Frame() method to return a rect with rounded coordinates.


# c3e57dc3 10-Jan-2012 czeidler <haiku@clemens-zeidler.de>

Give the area an id.


# 57014d1f 29-Nov-2011 czeidler <haiku@clemens-zeidler.de>

Make tabs BReferenceable. Maintain a list of tabs.


# ef93b55d 13-Mar-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Areas with same tabs are put in a column/row automtically. Move preferred size constraint from Area to the column/row. This avoids a "spring" effect of the
quadratic solver if multiple Areas are in the same column/row.
- Replace GetString by ToString.
- some clean up



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40941 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 82867791 08-Feb-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Make kp_solve interface work again.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40384 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7583db5a 24-Jan-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add an alternative solver to lp_solve. The solver based on Ingo's active set solver but is able to handle arbitrary hard and soft constraints. The advantage to lp_solve is that the active set solver can optimize variable in respect to a quadratic objective function. This makes it possible to minimise the quadratic derivation to a desired value e.g. \Sum_i(x_i - x_{i,pref})^2 -> min.

The solver part has been refactored in this way that both solver can be used with the same layout specifications. The active set solver is default now; the performance is not as good as lp_solve, though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40285 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c97cd0f4 25-Nov-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Also update the preferred size constraints correctly when replacing the tabs.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39644 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8fa4fd37 25-Nov-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Keep the preferred size ratio into account. This make layout behaviour much more intuitive when resizing a window. Thanks Christof.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39641 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6751b488 04-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Fix gcc2 build + warnings.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38885 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 37344020 03-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Add a alternative method to setup a group layout. BLayoutItem / BView are wrapped into a GroupItem. GroupItem overloads the | (horizontal tiling) and / (vertical tiling) operators. In this manner you can create a group layout using these operators, e.g. GroupItem item = GroupItem(button1) | (GroupItem(button2) / GroupItem(button3)); would layout button1 at the left and button2 and button3 at the right in a vertical layout. All the layout information is stored in the GroupItem item, to setup the final layout you have to call BuildLayout(item). If you like it it could also be added to the BGroupLayout.
- Add operator test app.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38877 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 70e20761 29-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Add helper functions to get the tabs of a view or a layout item.
- AddView only require the top, left tabs now.
- Remove the TwoViews test and replace it with a slightly more complex test.
- Merge XTab and YTab files into one header file.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38860 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 19ddd4f1 23-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

SetDefaultBehavior is not needed since all views handled in this function have min and max size equal the pref size (despite of the status bar length, which is ok). As a result they don't grow or shrink undesirable as assumed previously. As a result also the AutoPreferredContentSize is not needed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38795 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 21f083af 23-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Implement all Add* function of the BLayout class properly. If the Add* functions of the BLayout class are called add the item to the right upper corner of the previous area. That is at least better than ignore this functions.
- Add more convenience AddViewTo{Right, Left, Top, Bottom} functions to add a item to the sides of an existing area.
- Need to add the Jamfile hack again to include the ViewLayoutItem.h header. I thing about to add the ALMLayout.* files to the interface dir when its a little bit more matured. Then the problem will be solved. Till I made a decision or somebody tell me its a bad idea to add the ALMLayout to the official interface stuff or the ViewLayoutItem.h should be in a shared header dir I will keep this hack.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38793 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 96e2013e 22-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add inset and spacing to BALMLayout. Each Area is able to overwrite this global values and use his own inset. Add spacing and inset to the tests.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38792 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 40d939a4 22-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Add some checks if the Area is initialized.
- Init some more variables in the constructor.
- Rename HasSame*As to Set*As. The old one is more a question. Also add an optional factor and remove the HasSameSizeAs function which tempt the user to leak a BList.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38790 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9503cf19 22-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Don't pass a min size in the Area _Init function. The min size is updated before solving the layout so we don't have to set it in the beginning. This also simplifies the BALMLayout api.
- Header include style fixes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38788 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f60d419 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Remove unused Constraint variables.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38781 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eb4dd1a2 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Clean up Area header a bit more and remove unused functions.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38780 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5f15562e 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Use the AlignInFrame BLayoutItem function to do the item alignment. The child area is not needed any more.
Don't leak the fConstraints list.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38775 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3a3c1d82 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Removed unused min, max, pref variables.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38774 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8d9b6ef4 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Rename BALMLayout.* file to ALMLayout.*.
- Fix some copyrights.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38771 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8ec03898 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

BALMLayout now takes the view min, max and pref values into account. Previously it managed its own values.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38769 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 248bbad2 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

First step to make the ALM layout engine more compatible with the haiku layout API. Many stuff was/is managed by ALM which could and should be done by the standard layout facilities.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38753 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b3b7b663 20-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Encapsulate the solver in the ALM layout class.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38750 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cd88ee00 20-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

More cleanup and BList -> BObjectList.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38742 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 601eded9 20-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Hide constraint header in Area file.
- Start to replace BList with BObjectList.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38741 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b8ec67f4 06-Dec-2009 Stephan Aßmus <superstippi@gmx.de>

* Simplified and optimized a lot the "ToString()" debugging facilities.
* *::Index() is now const, thanks to the BList improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34521 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ea607d6f 28-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Applied a patch by Christof Lutteroth that updates ALM, and brings new test
apps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33805 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5bced18e 10-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

ALM/linprog patch by Christof Lutteroth:
* Got rid of class ObjFunctionSummand. Both the constraint summands and
the objective function summands are now stored using class Summand.
* Some method names are more BeOS compliant now: SetX instead of ChangeX.
* linprog test code now uses new AddConstraint methods.
* CalculateMinSize and CalculateMaxSize did not free the memory they
allocated.
* Removed inappropriate setter and getter methods.
* Memory allocated in class Constraint is freed now.
* Other small changes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24351 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 03069455 24-Feb-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Christof Lutteroth:
* copyright headers for the files of the libraries linprog and alm
* new class Summand for representing summands in a linear constraint
* merged class SoftConstraint into class Constraint; Constraint now
supports both soft and hard constraint functionality
* new AddConstraint methods in class LinearSpec for directly setting
constraints with 1 to 4 summands
* code cleanups by using aforementioned AddConstraint methods
* a new very simple test application for alm
* some style corrections


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24108 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a101e99a 06-Feb-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added libalm.so and its dependency liblinprog.so. libalm.so provides a
BLayout implementation (BALMLayout) using the Auckland Layout Model
(ALM). The original ALM was implemented by Christof Lutteroth, the
Haiku/C++ version by James Kim.
The code needs some review, but the test programs seem to work fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23889 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04b1c44b89086a9521bb478c8e99d024cef8f6a6 17-Oct-2012 czeidler <haiku@clemens-zeidler.de>

Use a tab BReference as argument in Area::Set{Left, Top, Right, Bottom}.
Using a normal pointer is dangerous when creating a new tab directly in the method call because the tab gets deleted to early.


# 0a5e130725e2e8997bc0d9db9717f0a7874da8f3 01-Feb-2012 Alex Wilson <yourpalal2@gmail.com>

Make SharedSolver BArchivable to save extra user constraints.


# f6db102e4762ea9b85e9de9add21f6e5adb5b99c 19-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Make BALMLayout respect its position when nested.


# 20cc993ab504286d6c59bcbe273a040e61eafe7f 17-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Remove BALM::Area::fConstraints field, which is not needed.

It's easier to just delete all the constraints in the dtor, the ones that
wouldn't have been in fConstraints are NULL at this point anyway.


# 895414da9d7ffb377c7fc0622054ec3ce9e1893a 17-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

In BALM::Area rename fTopLeftInset to fLeftTopInset.

This is consistent with for instance, the BSize ctor.


# 324ce2851d93d3f1311498517b4cc67fb3d9ebfd 16-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Add FBC padding to ALM classes.


# 0da6f2e916c5912ab5b2bd2d8aa271cf31a3300a 16-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Rename BALM::GroupItem to BALM::ALMGroup, and move it to its own files.

Also make ALMGroup totally self-contained, i.e. BALMLayout no longer
does the parsing, and is completely unaware of ALMGroup. A small touch
of refactoring as well.


# a25ffa4f046fb495c316d29f0645bd00c82751c8 16-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Style cleanup in alm: mostly clean includes.


# 7dd17203c872a017368509c4891b074409c388e0 16-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Make Area insets more consistent with other HAIKU inset APIs.


# 8b52747974b85d4377376fe51ef925ebedbf51d9 15-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

In Area, remove unused ItemFrame() method.

Also modify Frame() method to return a rect with rounded coordinates.


# c3e57dc36d5d18673ed9c49d9a3790091852fa0a 10-Jan-2012 czeidler <haiku@clemens-zeidler.de>

Give the area an id.


# 57014d1ff77c40a32732075f23a322c2ce32a4d7 29-Nov-2011 czeidler <haiku@clemens-zeidler.de>

Make tabs BReferenceable. Maintain a list of tabs.


# ef93b55df49f5296bdb03867215cb1793596e845 13-Mar-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Areas with same tabs are put in a column/row automtically. Move preferred size constraint from Area to the column/row. This avoids a "spring" effect of the
quadratic solver if multiple Areas are in the same column/row.
- Replace GetString by ToString.
- some clean up



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40941 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8286779101e70df778f5f086dd5bb5a997e4dc6f 08-Feb-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Make kp_solve interface work again.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40384 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7583db5a1ec81636829331e5fc7cae81ca7a7ba7 24-Jan-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add an alternative solver to lp_solve. The solver based on Ingo's active set solver but is able to handle arbitrary hard and soft constraints. The advantage to lp_solve is that the active set solver can optimize variable in respect to a quadratic objective function. This makes it possible to minimise the quadratic derivation to a desired value e.g. \Sum_i(x_i - x_{i,pref})^2 -> min.

The solver part has been refactored in this way that both solver can be used with the same layout specifications. The active set solver is default now; the performance is not as good as lp_solve, though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40285 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c97cd0f4daea9ee3744ef3cce626ea73cbdbcb80 25-Nov-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Also update the preferred size constraints correctly when replacing the tabs.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39644 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8fa4fd37b76486e5baa22f594c883a7f94ce3c61 25-Nov-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Keep the preferred size ratio into account. This make layout behaviour much more intuitive when resizing a window. Thanks Christof.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39641 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6751b48834620dd17d380ec679a80fcbddf323af 04-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Fix gcc2 build + warnings.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38885 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 37344020ef592f58c61b7de8cd2c83dd31203aca 03-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Add a alternative method to setup a group layout. BLayoutItem / BView are wrapped into a GroupItem. GroupItem overloads the | (horizontal tiling) and / (vertical tiling) operators. In this manner you can create a group layout using these operators, e.g. GroupItem item = GroupItem(button1) | (GroupItem(button2) / GroupItem(button3)); would layout button1 at the left and button2 and button3 at the right in a vertical layout. All the layout information is stored in the GroupItem item, to setup the final layout you have to call BuildLayout(item). If you like it it could also be added to the BGroupLayout.
- Add operator test app.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38877 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 70e207613508fb5b562405c4edc33ddfe77fbfdf 29-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Add helper functions to get the tabs of a view or a layout item.
- AddView only require the top, left tabs now.
- Remove the TwoViews test and replace it with a slightly more complex test.
- Merge XTab and YTab files into one header file.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38860 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 19ddd4f1cbfa94c7ef0cd23c1de1f12077036a46 23-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

SetDefaultBehavior is not needed since all views handled in this function have min and max size equal the pref size (despite of the status bar length, which is ok). As a result they don't grow or shrink undesirable as assumed previously. As a result also the AutoPreferredContentSize is not needed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38795 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 21f083af820b453b24eab10bb8134e2c0e48d0e4 23-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Implement all Add* function of the BLayout class properly. If the Add* functions of the BLayout class are called add the item to the right upper corner of the previous area. That is at least better than ignore this functions.
- Add more convenience AddViewTo{Right, Left, Top, Bottom} functions to add a item to the sides of an existing area.
- Need to add the Jamfile hack again to include the ViewLayoutItem.h header. I thing about to add the ALMLayout.* files to the interface dir when its a little bit more matured. Then the problem will be solved. Till I made a decision or somebody tell me its a bad idea to add the ALMLayout to the official interface stuff or the ViewLayoutItem.h should be in a shared header dir I will keep this hack.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38793 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 96e2013e70880101f5b2324ae73cb5b9bf88a972 22-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add inset and spacing to BALMLayout. Each Area is able to overwrite this global values and use his own inset. Add spacing and inset to the tests.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38792 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 40d939a43f9af0fbd3c6440830c2bb8cb26889d4 22-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Add some checks if the Area is initialized.
- Init some more variables in the constructor.
- Rename HasSame*As to Set*As. The old one is more a question. Also add an optional factor and remove the HasSameSizeAs function which tempt the user to leak a BList.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38790 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9503cf19be94b5a8297ecd73ab50e7acd92a98f6 22-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Don't pass a min size in the Area _Init function. The min size is updated before solving the layout so we don't have to set it in the beginning. This also simplifies the BALMLayout api.
- Header include style fixes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38788 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f60d419c588166c93b5de178b08eb9a22f7e873 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Remove unused Constraint variables.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38781 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eb4dd1a2a9728c1b653cecc3d474d99548a30bab 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Clean up Area header a bit more and remove unused functions.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38780 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5f15562e7047a59ee579ee58a0d8ed3a72fcaa72 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Use the AlignInFrame BLayoutItem function to do the item alignment. The child area is not needed any more.
Don't leak the fConstraints list.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38775 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3a3c1d82225e8d82d3317548a8faf7aec13834e6 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Removed unused min, max, pref variables.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38774 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8d9b6ef4284d47e3bea44ba8c64e4e8c84be4e1a 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Rename BALMLayout.* file to ALMLayout.*.
- Fix some copyrights.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38771 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8ec038986a1ce59cc27975df3af261f305b7e4b6 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

BALMLayout now takes the view min, max and pref values into account. Previously it managed its own values.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38769 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 248bbad27c63febeb5545b460248b19dffe41ebd 21-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

First step to make the ALM layout engine more compatible with the haiku layout API. Many stuff was/is managed by ALM which could and should be done by the standard layout facilities.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38753 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b3b7b663e029d636b6d54977e3459f2315a79329 20-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Encapsulate the solver in the ALM layout class.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38750 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cd88ee006ddb309d3c0b96698d04a9a515c27aea 20-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

More cleanup and BList -> BObjectList.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38742 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 601eded950be7b7abf8fe5ce8c5b0064f631e10d 20-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Hide constraint header in Area file.
- Start to replace BList with BObjectList.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38741 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b8ec67f491da3c6ddad3e1c55d70400fdab4961b 06-Dec-2009 Stephan Aßmus <superstippi@gmx.de>

* Simplified and optimized a lot the "ToString()" debugging facilities.
* *::Index() is now const, thanks to the BList improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34521 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ea607d6f7f342e9e7ff706fbc0182046f143a1d2 28-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Applied a patch by Christof Lutteroth that updates ALM, and brings new test
apps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33805 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5bced18eab0b1318f3293c1c5c5b1a9d52fa3770 10-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

ALM/linprog patch by Christof Lutteroth:
* Got rid of class ObjFunctionSummand. Both the constraint summands and
the objective function summands are now stored using class Summand.
* Some method names are more BeOS compliant now: SetX instead of ChangeX.
* linprog test code now uses new AddConstraint methods.
* CalculateMinSize and CalculateMaxSize did not free the memory they
allocated.
* Removed inappropriate setter and getter methods.
* Memory allocated in class Constraint is freed now.
* Other small changes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24351 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0306945545b0fc20ec4da7cff2e99ac39f48d726 24-Feb-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Christof Lutteroth:
* copyright headers for the files of the libraries linprog and alm
* new class Summand for representing summands in a linear constraint
* merged class SoftConstraint into class Constraint; Constraint now
supports both soft and hard constraint functionality
* new AddConstraint methods in class LinearSpec for directly setting
constraints with 1 to 4 summands
* code cleanups by using aforementioned AddConstraint methods
* a new very simple test application for alm
* some style corrections


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24108 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a101e99aada54cf545bbf25e0cbb6329ad45535e 06-Feb-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added libalm.so and its dependency liblinprog.so. libalm.so provides a
BLayout implementation (BALMLayout) using the Auckland Layout Model
(ALM). The original ALM was implemented by Christof Lutteroth, the
Haiku/C++ version by James Kim.
The code needs some review, but the test programs seem to work fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23889 a95241bf-73f2-0310-859d-f6bbb57e9c96