#
26fbc34f |
|
24-Oct-2012 |
czeidler <haiku@clemens-zeidler.de> |
Max size constraints can be NULL.
|
#
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.
|
#
25e1abc3 |
|
31-Aug-2012 |
czeidler <haiku@clemens-zeidler.de> |
Use soft inequality constraints for the max area size. Only if the alignment is set to use the full width/ height a hard inequality constraint is used.
|
#
df2ad520 |
|
01-Feb-2012 |
Alex Wilson <yourpalal2@gmail.com> |
Archive more details about areas in BALMLayout.
|
#
6169a6e3 |
|
23-Jan-2012 |
Alex Wilson <yourpalal2@gmail.com> |
Minimize the effect invisible items have on a BALMLayout. There seems to still be some effect on positioning, but invisible items no longer constrain the layout.
|
#
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.
|
#
f0307e76 |
|
16-Jan-2012 |
Alex Wilson <yourpalal2@gmail.com> |
Fix spacing before first header in src/libs/alm. Also add copyright header in ALMGroup.cpp.
|
#
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.
|
#
75e2dcf8 |
|
15-Jan-2012 |
Alex Wilson <yourpalal2@gmail.com> |
In BALMLayout, allow for more flexibility in spacing and insets. * allow for independent left, top, right and bottom insets * allow for independent vertical and horizontal spacing between tabs * allow for the usage of Haiku's spacing constants such as B_USE_WINDOW_INSETS
|
#
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.
|
#
efbd73e6 |
|
26-Apr-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Fix a bug in RowColumnManager when adding / removing views to / from a layout. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41284 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
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
|
#
9ef9c027 |
|
08-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Remove debug left over. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40387 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
459ab043 |
|
08-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
No pref constraints for sizes equal -1. This works better with items like glue. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40385 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a0ad88e0 |
|
26-Jan-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Fix min/ max calculation by removing all soft constraints before doing so. Smaller fixes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40297 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
|
#
5440f6fe |
|
13-Dec-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Refactor the linear programming class to use a minimal solver interface class and implement the interface for lp_solve. As a result lp_solve is not visible to the outside any more. This interface could be used to use other solvers as well. Rename operator constants to no clash with lp_solve constants. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39829 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bf5d4070 |
|
29-Nov-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Fix bug spotted by Christian Lippka, thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39676 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
|
#
8ecf0b8b |
|
12-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Change the semantic of the SetSame*As function. I think its easier to understand now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38959 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc691d7d |
|
05-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
- Remove lp_solve dependencies form Variable class and put everything into LinearSpec. As a side effect Variable management is a bit more consistence now. We want to replace lp_solve soon so it will be easier to replace it just in LinearSpec. - Update copyrights. - Lot of small things related to the Variable refactoring. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38892 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
|
#
5b6fca06 |
|
28-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
- Rework the ALM layout api. The AddItemTo* function are now related to the current Area. On default the current Area is the last added Area. - Add some more const where appreciated. - Fix some style issues and a leak in Row and Column. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38842 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
03034505 |
|
23-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Handle layout items like glue correct. Update the preferred size constraint if a tab has been replaced. Fix coding style (thanks Axel). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38804 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2adb769e |
|
23-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Add the possibility to unset the aspect ratio again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38796 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
|
#
33c82c1e |
|
21-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Compare the correct orientation and add a comment about it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38778 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
|
#
1d1e47de |
|
21-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Should be part of the last commit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38772 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
|
#
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
|
#
f2be4e8c |
|
28-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Patch by Vasilis Kaoutsis: Fixed warnings. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25683 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
|
#
6be75ff2 |
|
07-Feb-2008 |
Jérôme Duval <korli@users.berlios.de> |
fix gcc4 build git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23922 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
|
#
26fbc34f1b8ec7508e5809c7cbae9df27eb879ad |
|
24-Oct-2012 |
czeidler <haiku@clemens-zeidler.de> |
Max size constraints can be NULL.
|
#
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.
|
#
25e1abc33cf97fa29501de74738b7a4a874df82e |
|
31-Aug-2012 |
czeidler <haiku@clemens-zeidler.de> |
Use soft inequality constraints for the max area size. Only if the alignment is set to use the full width/ height a hard inequality constraint is used.
|
#
df2ad5204067ff611bc87a453aafa2f005c1e145 |
|
01-Feb-2012 |
Alex Wilson <yourpalal2@gmail.com> |
Archive more details about areas in BALMLayout.
|
#
6169a6e3d148db0d281a085e514abe6f28a64d9b |
|
23-Jan-2012 |
Alex Wilson <yourpalal2@gmail.com> |
Minimize the effect invisible items have on a BALMLayout. There seems to still be some effect on positioning, but invisible items no longer constrain the layout.
|
#
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.
|
#
f0307e765ed63a07ff0ad29df44b8d5d2f354acb |
|
16-Jan-2012 |
Alex Wilson <yourpalal2@gmail.com> |
Fix spacing before first header in src/libs/alm. Also add copyright header in ALMGroup.cpp.
|
#
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.
|
#
75e2dcf8fe478ac43fecff5b72049fe500c804dc |
|
15-Jan-2012 |
Alex Wilson <yourpalal2@gmail.com> |
In BALMLayout, allow for more flexibility in spacing and insets. * allow for independent left, top, right and bottom insets * allow for independent vertical and horizontal spacing between tabs * allow for the usage of Haiku's spacing constants such as B_USE_WINDOW_INSETS
|
#
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.
|
#
efbd73e63dfa850b1b424305c7835d72d68df590 |
|
26-Apr-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Fix a bug in RowColumnManager when adding / removing views to / from a layout. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41284 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
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
|
#
9ef9c027aab505819a76f5910dec7810d1721a14 |
|
08-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Remove debug left over. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40387 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
459ab0435806c09cb38bd9a8cc8d40505d80f873 |
|
08-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
No pref constraints for sizes equal -1. This works better with items like glue. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40385 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a0ad88e0020787e69b41080af9d707db42aad924 |
|
26-Jan-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Fix min/ max calculation by removing all soft constraints before doing so. Smaller fixes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40297 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
|
#
5440f6fee398073e8359b992a17b0943d39e6ff0 |
|
13-Dec-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Refactor the linear programming class to use a minimal solver interface class and implement the interface for lp_solve. As a result lp_solve is not visible to the outside any more. This interface could be used to use other solvers as well. Rename operator constants to no clash with lp_solve constants. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39829 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bf5d40704edc56d88aa26fa6fb63e7c2895f50e8 |
|
29-Nov-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Fix bug spotted by Christian Lippka, thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39676 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
|
#
8ecf0b8b09ed21fb0649526c02980762140b4255 |
|
12-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Change the semantic of the SetSame*As function. I think its easier to understand now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38959 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc691d7de2182d23659b86d87c9c36b0feaa6b40 |
|
05-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
- Remove lp_solve dependencies form Variable class and put everything into LinearSpec. As a side effect Variable management is a bit more consistence now. We want to replace lp_solve soon so it will be easier to replace it just in LinearSpec. - Update copyrights. - Lot of small things related to the Variable refactoring. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38892 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
|
#
5b6fca06392320a9c32d542b519d8f4fe876aef2 |
|
28-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
- Rework the ALM layout api. The AddItemTo* function are now related to the current Area. On default the current Area is the last added Area. - Add some more const where appreciated. - Fix some style issues and a leak in Row and Column. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38842 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
030345058e1fc808c6efc72b7b5799702ef9d5d7 |
|
23-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Handle layout items like glue correct. Update the preferred size constraint if a tab has been replaced. Fix coding style (thanks Axel). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38804 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2adb769e33671e518f0d6c894033d19ed799cf34 |
|
23-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Add the possibility to unset the aspect ratio again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38796 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
|
#
33c82c1e9d470386ea220281e4f1b8fc1a0f0f84 |
|
21-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Compare the correct orientation and add a comment about it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38778 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
|
#
1d1e47de0c8f435ce67c485fc7cb34c401706324 |
|
21-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Should be part of the last commit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38772 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
|
#
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
|
#
f2be4e8c4dae5168e3135ecf290bc543b910a275 |
|
28-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Patch by Vasilis Kaoutsis: Fixed warnings. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25683 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
|
#
6be75ff2375884d83a984dfd4859b2fc5aff4da7 |
|
07-Feb-2008 |
Jérôme Duval <korli@users.berlios.de> |
fix gcc4 build git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23922 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
|