Changes

→‎Controls: add link to developer documentation
Line 1: Line 1:  
<div style="background-color: #FFF; margin-left:auto; margin-right: auto; width: 95%;">
 
<div style="background-color: #FFF; margin-left:auto; margin-right: auto; width: 95%;">
 +
<noinclude>{{Translations}}{{GoogleTrans-en}}</noinclude>
 
{{hig-subnav-intra|p_page=Rollovers|c_section=The Sugar Interface|c_page=Controls|n_page=Cursor}}
 
{{hig-subnav-intra|p_page=Rollovers|c_section=The Sugar Interface|c_page=Controls|n_page=Cursor}}
 
+
{{TOCright}}
 
===Controls===
 
===Controls===
    
Sugar defines its own set of control widgets that will create the user interface on the laptops.  Though most of the available controls will match developers' expectations, we've also developed some new controls and altered behaviors of others to better suit the user experience on the machines.  With these new developments comes a new set of guidelines for their usage and placement which both maintains the broader set of goals and metaphors setup within Sugar and aids in the development of collaborative user interface environments.
 
Sugar defines its own set of control widgets that will create the user interface on the laptops.  Though most of the available controls will match developers' expectations, we've also developed some new controls and altered behaviors of others to better suit the user experience on the machines.  With these new developments comes a new set of guidelines for their usage and placement which both maintains the broader set of goals and metaphors setup within Sugar and aids in the development of collaborative user interface environments.
 +
 +
As the control widget specification and guidelines compose a substantial portion of this document, internal page by page navigation is available by clicking on the header for any control set.  In addition, the individual pages provide detailed specifications for the widgets and their various states.  Finally, we're providing developers with an Adobe Illustrator file of the most up to date Sugar Control Specification in [[olpc:Media:sugar_control_spec.ai.zip|.ai (07.04.05)]] and [[olpc:Media:sugar_control_spec.svg.zip|.svg (07.05.18)]] in order to streamline early application layout and design mockups.  Please understand these specifications and their implementations remain in early development, and their designs may change as the UI progresses.  We'll provide links to APIs for the controls as they become available; Thanks for your patience.
 +
: See this developer documentation page, [https://github.com/sugarlabs/sugar/blob/master/docs/controls.txt controls.txt].
    
====Control Regions====
 
====Control Regions====
Line 10: Line 14:  
In sugar, a predefined set of control regions provide the surfaces upon which controls may be placed.  Limiting the background colors that the controls sit on allows for a consistent set of visual rules to define both the type and state of various controls while maintaining sufficient contrast even without the use of color.  Shown to the right, the basic regions are the Canvas, Panel, Toolbar, and Palette.
 
In sugar, a predefined set of control regions provide the surfaces upon which controls may be placed.  Limiting the background colors that the controls sit on allows for a consistent set of visual rules to define both the type and state of various controls while maintaining sufficient contrast even without the use of color.  Shown to the right, the basic regions are the Canvas, Panel, Toolbar, and Palette.
   −
[[Image: control_regions.jpg|thumb|300px|right]]
+
[[Image:control_regions.jpg|left|500px|Basic control regions]]
    
'''Canvas:'''  The canvas is the general purpose "creation" space within any activity &mdash; the region for drawing, writing, or otherwise working within it.  Since creation ranks high among our goals, we also hope that this is the dominant region of the screen in most activities.  The canvas region is specifically for generating content and 'should not' have any controls placed upon it.  As such, the canvas may be any color the activity or the user desires, though Sugar specifies both white and black as the basic defaults.
 
'''Canvas:'''  The canvas is the general purpose "creation" space within any activity &mdash; the region for drawing, writing, or otherwise working within it.  Since creation ranks high among our goals, we also hope that this is the dominant region of the screen in most activities.  The canvas region is specifically for generating content and 'should not' have any controls placed upon it.  As such, the canvas may be any color the activity or the user desires, though Sugar specifies both white and black as the basic defaults.
Line 22: Line 26:  
'''Controls:''' The remainder of this section focuses largely on the specific controls and guidelines for their usage within your activity's UI.  The designs of all controls presented here follow a basic set of rules regarding colors, line weights, and sizing for each of its various states.  More detail about these broader design decisions is discussed in the custom controls section.
 
'''Controls:''' The remainder of this section focuses largely on the specific controls and guidelines for their usage within your activity's UI.  The designs of all controls presented here follow a basic set of rules regarding colors, line weights, and sizing for each of its various states.  More detail about these broader design decisions is discussed in the custom controls section.
   −
====Buttons====
+
<div style="position: relative">
=====Text Buttons=====
+
<!--<div style="position: absolute; right: 0px; width: 300px; height: 100%; background: #4b4b4b;"></div>-->
=====Text with Icon Buttons=====
+
====[[Human Interface Guidelines/The Sugar Interface/Controls/Buttons|Buttons]]====
=====Icon Buttons=====
+
{{:Human Interface Guidelines/The Sugar Interface/Controls/Buttons}}
 
  −
====Selection controls====
  −
=====Checkboxes=====
  −
=====Segmented Controls=====
  −
=====Popup Lists=====
  −
=====Combination Popup Lists=====
  −
=====Tokenized Combination Popup Lists=====
  −
=====Color Picker=====
  −
=====Drop Targets=====
     −
====Adjustment Controls====
+
====[[Human Interface Guidelines/The Sugar Interface/Controls/Basic Selection Controls|Basic Selection Controls]]====
=====Steppers=====
+
{{:Human Interface Guidelines/The Sugar Interface/Controls/Basic Selection Controls}}
=====Sliders=====
     −
====Indicator Controls====
+
====[[Human Interface Guidelines/The Sugar Interface/Controls/Advanced Selection Controls|Advanced Selection Controls]]====
=====Determinate Progress Indicator=====
+
{{:Human Interface Guidelines/The Sugar Interface/Controls/Advanced Selection Controls}}
=====Indeterminate Progress Indicators=====
  −
=====Level Indicators=====
  −
=====Rating Indicators=====
     −
====Text Controls====
+
====[[Human Interface Guidelines/The Sugar Interface/Controls/Adjustment Controls|Adjustment Controls]]====
=====Static Text Fields=====
+
{{:Human Interface Guidelines/The Sugar Interface/Controls/Adjustment Controls}}
=====Input Field=====
  −
=====Tokenized Input Field=====
  −
=====Search Fields=====
     −
====Separator Controls====
+
====[[Human Interface Guidelines/The Sugar Interface/Controls/Indicators|Indicators]]====
=====Horizontal Rule=====
+
{{:Human Interface Guidelines/The Sugar Interface/Controls/Indicators}}
=====Vertical Rule=====
  −
=====Logical Grouping=====
     −
====Custom Controls====
+
====[[Human Interface Guidelines/The Sugar Interface/Controls/Text Controls|Text Controls]]====
=====When to Use Custom Controls=====
+
{{:Human Interface Guidelines/The Sugar Interface/Controls/Text Controls}}
=====Custom Colors=====
  −
=====Control Sizing=====
     −
====Toolbars====
+
====[[Human Interface Guidelines/The Sugar Interface/Controls/View Controls|View Controls]]====
 +
{{:Human Interface Guidelines/The Sugar Interface/Controls/View Controls}}
   −
====Rollovers and Palettes====
+
====[[Human Interface Guidelines/The Sugar Interface/Controls/Grouping Controls|Grouping Controls]]====
 +
{{:Human Interface Guidelines/The Sugar Interface/Controls/Grouping Controls}}
    +
====[[Human Interface Guidelines/The Sugar Interface/Controls/Custom Controls|Custom Controls]]====
 +
{{:Human Interface Guidelines/The Sugar Interface/Controls/Custom Controls}}
 +
</div>
    
{{hig-subnav-intra|p_page=Rollovers|c_section=The Sugar Interface|c_page=Controls|n_page=Cursor}}
 
{{hig-subnav-intra|p_page=Rollovers|c_section=The Sugar Interface|c_page=Controls|n_page=Cursor}}
 +
</div>