Difference between revisions of "Features/New Toolbar Design"
(5 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 16: | 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 == | ||
Line 62: | Line 64: | ||
== Benefit to Sugar == | == Benefit to Sugar == | ||
− | Make process of switching between toolbars more clear, use tool buttons that are showing all time(in main toolbar) i.e. having Close/Help buttons visible all time could be very useful. | + | 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 == | ||
Line 83: | Line 85: | ||
* Example implementation in [http://git.sugarlabs.org/projects/terminal/repos/toolbars Terminal] | * 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/log/repos/toolbars Log] | ||
+ | * Example implementation in [http://git.sugarlabs.org/projects/read/repos/toolbars Read] | ||
== How To Test == | == 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 99: | Line 101: | ||
== Documentation == | == Documentation == | ||
− | Gary's [[Design_Team/Proposals/Toolbars]] proposal. | + | Gary's [[Design_Team/Proposals/Toolbars/Activity-wide_Toolbar_mock-ups]] proposal. |
Eben's initial [[Design Team/Designs/Toolbars]] mockups. | Eben's initial [[Design Team/Designs/Toolbars]] mockups. | ||
Line 107: | Line 109: | ||
== 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