#
deaae5fc |
|
07-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Deskbar: Persist ExpandoMenuBar Add private BMenu::_SetMenuLayout() method. Set TExpandoMenuBar as a friend class in BMenu to call this method. A little hacky, but, this keeps SetMenuLayout() from being exposed as part of the public API. Don't destroy and rebuild the ExpandoMenuBar when switching from horizontal to vertical mode. Instead build the TExpandoMenuBar when the application starts and then switch it from B_ITEMS_IN_ROW to B_ITEMS_IN_COLUMNS by using the newly added _SetMenuLayout() method. When we resize from vertical to horizontal, recalc the max menu item widths, this resizes the application menu items so that they take up the right amount of space. Since we no longer destroy the menu bar we no longer have to save whether menu items are expanded or not in a separate list. Instead we can store that information in directly in TExpandoMenuBar. This removes a lot of code. Fixes #9350
|
#
d6f6b835 |
|
26-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Draw a nice menu background on the inline scroll view and when scroll faster when you push control/option/command and click the little arrow button.
|
#
c07e6ff2 |
|
26-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Make horizontal scrolling work in Deskbar * Split the Leaf menu and seperator into their own menubar. * I got rid of a lot of special cases for horizontal in the ExpandoMenuBar class because now the menubar contains the same items as in vertical mode. However, it also means that the dreaded <none> bug also affects horizontal mode. * Make the application menubar resize itself even in horizontal mode. This means that the view background shows through so I'm going to have to fix this up. * Calculate when to add the scroll arrows and how much to allow the user to scroll by for horizontal. CheckItemSizes() got a big refactoring. * Rework the InlineScrollView class a bit. It no longer requires you to specify the begin and end limits on construction because it can calculate them instead. It also no longer depends on the screen at all, this means this class can be extened to be used more generally and in more places.
|
#
e6d8c22a |
|
26-Jul-2012 |
John Scipione <jscipione@gmail.com> |
WIP: Add support for horizontal scrolling.
|
#
255853fe |
|
25-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Add left and right Scrollers and also an orientation parameter. Set the limit based on the view bottom and not the window bottom.
|
#
32f840b7 |
|
25-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Rename ScrollArrowView to InlineScrollView InlineScrollView takes a BView instead of a BMenu as well, and it no longer has flags to do drawing respond to frame changes since this view does neither of those things.
|
#
deaae5fc20b5cf44115441d34a1e33436df885b2 |
|
07-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Deskbar: Persist ExpandoMenuBar Add private BMenu::_SetMenuLayout() method. Set TExpandoMenuBar as a friend class in BMenu to call this method. A little hacky, but, this keeps SetMenuLayout() from being exposed as part of the public API. Don't destroy and rebuild the ExpandoMenuBar when switching from horizontal to vertical mode. Instead build the TExpandoMenuBar when the application starts and then switch it from B_ITEMS_IN_ROW to B_ITEMS_IN_COLUMNS by using the newly added _SetMenuLayout() method. When we resize from vertical to horizontal, recalc the max menu item widths, this resizes the application menu items so that they take up the right amount of space. Since we no longer destroy the menu bar we no longer have to save whether menu items are expanded or not in a separate list. Instead we can store that information in directly in TExpandoMenuBar. This removes a lot of code. Fixes #9350
|
#
d6f6b835adcb34abfca03207f272614373f38bb1 |
|
26-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Draw a nice menu background on the inline scroll view and when scroll faster when you push control/option/command and click the little arrow button.
|
#
c07e6ff292cbe19ab758ce8bcb6c5cde38a3e662 |
|
26-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Make horizontal scrolling work in Deskbar * Split the Leaf menu and seperator into their own menubar. * I got rid of a lot of special cases for horizontal in the ExpandoMenuBar class because now the menubar contains the same items as in vertical mode. However, it also means that the dreaded <none> bug also affects horizontal mode. * Make the application menubar resize itself even in horizontal mode. This means that the view background shows through so I'm going to have to fix this up. * Calculate when to add the scroll arrows and how much to allow the user to scroll by for horizontal. CheckItemSizes() got a big refactoring. * Rework the InlineScrollView class a bit. It no longer requires you to specify the begin and end limits on construction because it can calculate them instead. It also no longer depends on the screen at all, this means this class can be extened to be used more generally and in more places.
|
#
e6d8c22a7d78f0e47be55db2338083ada4766b2a |
|
26-Jul-2012 |
John Scipione <jscipione@gmail.com> |
WIP: Add support for horizontal scrolling.
|
#
255853fe1593130db397b0923d0c82f1c2924557 |
|
25-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Add left and right Scrollers and also an orientation parameter. Set the limit based on the view bottom and not the window bottom.
|
#
32f840b7684012009c47338da6e00a202388126b |
|
25-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Rename ScrollArrowView to InlineScrollView InlineScrollView takes a BView instead of a BMenu as well, and it no longer has flags to do drawing respond to frame changes since this view does neither of those things.
|