Difference between revisions of "Features/New Toolbar Design"
(24 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | <noinclude>{{GoogleTrans-en}}{{TOCright}}</noinclude> | + | <noinclude>{{GoogleTrans-en}}{{TOCright}} |
+ | [[Category:FeatureLanded|New Toolbar Design]] | ||
+ | [[Category:Feature Accepted 0.86]]</noinclude> | ||
<!-- All fields on this form are required to be accepted. | <!-- All fields on this form are required to be accepted. | ||
Line 7: | Line 9: | ||
== Summary == | == Summary == | ||
− | + | Redesign the activity toolbar to not use tabs and use toolbar buttons that can reveal secondary functionality instead. | |
− | |||
== Owner == | == Owner == | ||
Line 17: | Line 18: | ||
== Current status == | == Current status == | ||
* Targeted release: 0.86 | * Targeted release: 0.86 | ||
− | * Last updated: | + | * Last updated: 19 Sep 2009 |
− | * Percentage of completion: | + | * Percentage of completion: 100% |
== Detailed Description == | == Detailed Description == | ||
− | '' | + | |
+ | sugar.graphics.toolbar module consists of 2 widgets: | ||
+ | * ''Toolbar'' main widget which represents toolbar itself | ||
+ | * ''ToolbarButton'' tool button to insert to ''Toolbar'', which could be expanded to sub-widget | ||
+ | |||
+ | NOTE: Toolbar was designed to have only one level of sub-widgets. | ||
+ | |||
+ | ==== Toolbar ==== | ||
+ | |||
+ | sugar.graphics.toolbar.Toolbar extends gtk.VBox: | ||
+ | * ''top'' property to access to gtk.Toolbar interface | ||
+ | * ''padding'' horizontal padding for ''top'' toolbar and all sub-widgets | ||
+ | * ''modify_bg'' method to modify background color of toolbar itself and all sub-widgets | ||
+ | |||
+ | ==== ToolbarButton ==== | ||
+ | |||
+ | sugar.graphics.toolbar.ToolbarButton extends sugar.graphics.toolbutton.ToolButton: | ||
+ | * ''toolbar'' RO property, if parent of button is sugar.graphics.toolbar.Toolbar | ||
+ | * ''page'' RW GObject property, sub-widget to expand | ||
+ | * ''expanded'' RW property, if ''page'' expanded | ||
+ | |||
+ | If sugar.graphics.toolbar.Toolbar.palette property wasn't set manually it will contain palette with ''page''. | ||
+ | |||
+ | ==== Example ==== | ||
+ | |||
+ | from sugar.graphics.toolbar import Toolbar, ToolbarButton | ||
+ | |||
+ | toolbar = Toolbar() | ||
+ | |||
+ | tollbarbutton_1 = ToolbarButton( | ||
+ | page=gtk.Button('sub-widget #1'), | ||
+ | icon_name='computer-xo') | ||
+ | toolbar.top.insert(tollbarbutton_1, -1) | ||
+ | |||
+ | tollbarbutton_2 = ToolbarButton( | ||
+ | page=gtk.Button('sub-widget #2'), | ||
+ | icon_name='button_cancel', | ||
+ | tooltip='with custom palette instead of sub-widget') | ||
+ | toolbar.top.insert(tollbarbutton_2, -1) | ||
== Benefit to Sugar == | == Benefit to Sugar == | ||
− | + | ||
+ | Make process of switching between toolbars more clear, use tool buttons that are showing all the time (in main toolbar), i.e., having Close/Help buttons visible all the time could be very useful. | ||
== Scope == | == Scope == | ||
* implementation in sugar-toolkit | * implementation in sugar-toolkit | ||
− | * | + | * provide API in sugar.activity.activity for new toolbars |
− | == | + | One option for new API is supporting bunch of methods to create most useful toolitems/sub-toolbars. (see [http://git.sugarlabs.org/projects/write/repos/toolbars/blobs/master/AbiWordActivity.py#line58] for example usage). |
+ | * ''activity.toolbar()'' toolbutton with activity sub-toolbar | ||
+ | * ''activity.stop_button()'' | ||
+ | * ''activity.undo_button()'' | ||
+ | * ''activity.redo_button()'' | ||
+ | * ''activity.copy_button()'' | ||
+ | * ''activity.paste_button()'' | ||
+ | |||
+ | === Implementation === | ||
− | + | * [http://git.sugarlabs.org/projects/sugar-toolkit/repos/toolbars sugar-toolkit] | |
+ | * Example implementation in [http://git.sugarlabs.org/projects/write/repos/toolbars Write] | ||
+ | * Example implementation in [http://git.sugarlabs.org/projects/terminal/repos/toolbars Terminal] | ||
+ | * Example implementation in [http://git.sugarlabs.org/projects/log/repos/toolbars Log] | ||
+ | * Example implementation in [http://git.sugarlabs.org/projects/read/repos/toolbars Read] | ||
+ | == How To Test == | ||
+ | {{:{{PAGENAME}}/Testing}} | ||
== User Experience == | == User Experience == | ||
''If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice.'' | ''If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice.'' | ||
Line 47: | Line 101: | ||
== Documentation == | == Documentation == | ||
− | '' | + | Gary's [[Design_Team/Proposals/Toolbars/Activity-wide_Toolbar_mock-ups]] proposal. |
+ | Eben's initial [[Design Team/Designs/Toolbars]] mockups. | ||
== Release Notes == | == Release Notes == | ||
− | '' | + | ''Solution for the stop activity issue, pointed out at http://dev.sugarlabs.org/ticket/452'' |
== Comments and Discussion == | == Comments and Discussion == | ||
* See [[{{TALKPAGENAME}}|discussion tab for this feature]] <!-- This adds a link to the "discussion" tab associated with your page. This provides the ability to have ongoing comments or conversation without bogging down the main feature page --> | * See [[{{TALKPAGENAME}}|discussion tab for this feature]] <!-- This adds a link to the "discussion" tab associated with your page. This provides the ability to have ongoing comments or conversation without bogging down the main feature page --> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 14:35, 5 November 2013
Summary
Redesign the activity toolbar to not use tabs and use toolbar buttons that can reveal secondary functionality instead.
Owner
- Name: Aleksey Lim
- Email: send an email
Current status
- Targeted release: 0.86
- Last updated: 19 Sep 2009
- Percentage of completion: 100%
Detailed Description
sugar.graphics.toolbar module consists of 2 widgets:
- Toolbar main widget which represents toolbar itself
- ToolbarButton tool button to insert to Toolbar, which could be expanded to sub-widget
NOTE: Toolbar was designed to have only one level of sub-widgets.
Toolbar
sugar.graphics.toolbar.Toolbar extends gtk.VBox:
- top property to access to gtk.Toolbar interface
- padding horizontal padding for top toolbar and all sub-widgets
- modify_bg method to modify background color of toolbar itself and all sub-widgets
ToolbarButton
sugar.graphics.toolbar.ToolbarButton extends sugar.graphics.toolbutton.ToolButton:
- toolbar RO property, if parent of button is sugar.graphics.toolbar.Toolbar
- page RW GObject property, sub-widget to expand
- expanded RW property, if page expanded
If sugar.graphics.toolbar.Toolbar.palette property wasn't set manually it will contain palette with page.
Example
from sugar.graphics.toolbar import Toolbar, ToolbarButton toolbar = Toolbar() tollbarbutton_1 = ToolbarButton( page=gtk.Button('sub-widget #1'), icon_name='computer-xo') toolbar.top.insert(tollbarbutton_1, -1) tollbarbutton_2 = ToolbarButton( page=gtk.Button('sub-widget #2'), icon_name='button_cancel', tooltip='with custom palette instead of sub-widget') toolbar.top.insert(tollbarbutton_2, -1)
Benefit to Sugar
Make process of switching between toolbars more clear, use tool buttons that are showing all the time (in main toolbar), i.e., having Close/Help buttons visible all the time could be very useful.
Scope
- implementation in sugar-toolkit
- provide API in sugar.activity.activity for new toolbars
One option for new API is supporting bunch of methods to create most useful toolitems/sub-toolbars. (see [1] for example usage).
- activity.toolbar() toolbutton with activity sub-toolbar
- activity.stop_button()
- activity.undo_button()
- activity.redo_button()
- activity.copy_button()
- activity.paste_button()
Implementation
- sugar-toolkit
- Example implementation in Write
- Example implementation in Terminal
- Example implementation in Log
- Example implementation in Read
How To Test
Features/New Toolbar Design/Testing
In progress..
User Experience
If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice.
Dependencies
- only sugar-toolkit
Contingency Plan
None necessary, revert to previous release behaviour.
Documentation
Gary's Design_Team/Proposals/Toolbars/Activity-wide_Toolbar_mock-ups proposal. Eben's initial Design Team/Designs/Toolbars mockups.
Release Notes
Solution for the stop activity issue, pointed out at http://dev.sugarlabs.org/ticket/452