Difference between revisions of "Features/New Toolbar Design"

From Sugar Labs
Jump to navigation Jump to search
 
(15 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.
Implement widgets for [[Design Team/Designs/Toolbars]] proposal.
 
  
 
== Owner ==
 
== Owner ==
Line 17: Line 18:
 
== Current status ==
 
== Current status ==
 
* Targeted release: 0.86
 
* Targeted release: 0.86
* Last updated: Sun Jul 12 02:22:30 UTC 2009
+
* Last updated: 19 Sep 2009
* Percentage of completion: 75%
+
* Percentage of completion: 100%
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 63: 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 ==
  
 
* implementation in sugar-toolkit
 
* implementation in sugar-toolkit
* use new toolbars in Journal
+
* 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 ==
 
== How To Test ==
''In progress..''
+
{{:{{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 85: Line 101:
  
 
== Documentation ==
 
== Documentation ==
Eben's [[Design_Team/Proposals/Toolbars]] proposal.
+
Gary's [[Design_Team/Proposals/Toolbars/Activity-wide_Toolbar_mock-ups]] proposal.
Gary's additional [[Design Team/Designs/Toolbars]]] mockups.
+
Eben's initial [[Design Team/Designs/Toolbars]] mockups.
  
 
== Release Notes ==
 
== Release Notes ==
Line 93: 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 -->
 
[[Category:FeaturePageIncomplete]]
 
[[Category:Feature]]
 
[[Category:FeatureReadyForReleaseManager]]
 

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

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

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

Comments and Discussion