Difference between revisions of "Work in progress"
(→Tool options widgets) |
(add gtkexpander) |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | == Tool | + | = Tool Options redesign = |
+ | |||
+ | == Vision == | ||
+ | |||
+ | Tools in GIMP enable hands-on manipulation of the compostion, direct on the canvas. | ||
+ | |||
+ | The tool options enable the fine and precise configurations that make the tool fit the job. | ||
+ | |||
+ | Configuring tool parameters can happen anywhere from almost continuously during a work session - to once in a user's lifetime. | ||
+ | |||
+ | Changing tool set-ups will never break user’s workflows. | ||
+ | |||
+ | == Tool Option widgets == | ||
All UI elements are built from a few basic UI building blocks called widgets. A list with images of all current available GTK+ 2 widgets can be found at [http://developer.gnome.org/gtk/2.24/ch02.html] and their respective GTK+ 3 counterparts at [http://developer.gnome.org/gtk3/3.4/ch03.html]. Since GIMP has special needs it also has quite a few widgets of it's own, a number of them (the external accessible ones) can be found at [http://developer.gimp.org/api/2.0/libgimpwidgets/libgimpwidgets-gallery.html]. | All UI elements are built from a few basic UI building blocks called widgets. A list with images of all current available GTK+ 2 widgets can be found at [http://developer.gnome.org/gtk/2.24/ch02.html] and their respective GTK+ 3 counterparts at [http://developer.gnome.org/gtk3/3.4/ch03.html]. Since GIMP has special needs it also has quite a few widgets of it's own, a number of them (the external accessible ones) can be found at [http://developer.gimp.org/api/2.0/libgimpwidgets/libgimpwidgets-gallery.html]. | ||
− | GIMP also has a number of additional internally used widgets, quite a few just extend basic GTK+ | + | GIMP also has a number of additional internally used widgets, quite a few just extend basic GTK+ widgets for a specific need, without altering the visual look and feel. However, there are also completely new widgets for specific needs like those used for pressure curves or the gimpspinscale, a mix of a spin and scale button that is now used by a lot of tool options. A third category are ''meta'' widgets that mix together a few basic widgets in a certain fashion for a particular purpose, an example is the gimpscaleentry which consists of a label, scale slider and spinbutton (look at Tools->Color Tools->Brightness-Contrast menu). |
− | |||
+ | An exhaustive list of widgets is unneeded as most tool options only use a basic subset of aforementioned widgets, the following table is a list of those common widgets used in tool options and their GIMP counterparts if applicable. | ||
− | {| class="wikitable" | + | {| class="wikitable" style="border: 1px solid darkgray;" |
− | |+ List of widgets | + | |+ List of widgets used by GIMP tools |
|- | |- | ||
! GTK+ | ! GTK+ | ||
Line 22: | Line 34: | ||
|- | |- | ||
| GtkSpinButton | | GtkSpinButton | ||
+ | |- | ||
+ | | | ||
| GimpSpinScale | | GimpSpinScale | ||
|- | |- | ||
Line 36: | Line 50: | ||
|- | |- | ||
| GtkRadioButton | | GtkRadioButton | ||
+ | |- | ||
+ | | GtkCheckButton | ||
+ | |- | ||
| | | | ||
+ | | GimpFrame | ||
+ | |} | ||
+ | |||
+ | === Currently used === | ||
+ | |||
+ | ==== GtkLabel ==== | ||
+ | |||
+ | {| style="border: 1px solid #BBB;" | ||
+ | | [[Image:tkr_GtkLabel.png]] | ||
+ | |} | ||
+ | |||
+ | Widget to display small to medium amount of text. | ||
+ | * can be selectable | ||
+ | * can be ellipsized | ||
+ | |||
+ | ==== GtkComboBox ==== | ||
+ | |||
+ | {| style="border: 1px solid #BBB;" | ||
+ | | [[Image:tkr_GtkComboBox.png]] | ||
+ | |} | ||
+ | |||
+ | Widget used to choose from a list of items | ||
+ | * can have textentry | ||
+ | * relevant GIMP specific subclasses | ||
+ | ** GimpUnitComboBox<br>a convience combobox for measurement units | ||
+ | |||
+ | ==== GtkButton ==== | ||
+ | |||
+ | {| style="border: 1px solid #BBB;" | ||
+ | | [[Image:tkr_GtkButton.png]] | ||
+ | |} | ||
+ | |||
+ | Widget that creates a signal when clicked on. | ||
+ | * can have image and/or text | ||
+ | * relevant GIMP specific subclasses | ||
+ | ** GimpButton<br>adds click modifier keys | ||
+ | ** GimpChainButton<br>button for (un)chain action used in conjunction with other widgets | ||
+ | |||
+ | ==== GtkToggleButton ==== | ||
+ | |||
+ | Similar to GtkButton, but retains state. | ||
+ | |||
+ | ==== GtkSpinButton ==== | ||
+ | |||
+ | {| style="border: 1px solid #BBB;" | ||
+ | | [[Image:tkr_GtkSpinButton.png]] | ||
+ | |} | ||
+ | |||
+ | Widget to retrieve number from user. | ||
+ | |||
+ | ==== GtkEntry ==== | ||
+ | |||
+ | {| style="border: 1px solid #BBB;" | ||
+ | | [[Image:tkr_GtkEntry.png]] | ||
+ | |} | ||
+ | |||
+ | Widget for single line keyboard entry. | ||
+ | * relevant GIMP specific subclass | ||
+ | ** GimpNumberPair<br>entry widget for ratios | ||
+ | |||
+ | ==== GtkScale ==== | ||
+ | |||
+ | {| style="border: 1px solid #BBB;" | ||
+ | | [[Image:tkr_GtkScale.png]] | ||
|} | |} | ||
+ | Slider widget to select value from a range. | ||
− | === | + | ==== GtkRadioButton ==== |
− | + | {| style="border: 1px solid #BBB;" | |
+ | | [[Image:tkr_GtkRadioButton.png]] | ||
+ | |} | ||
+ | |||
+ | Widget to select one from a multiplechoice options list. | ||
+ | * In tool options sometimes used to hide widgets like a GtkExpander | ||
+ | |||
+ | ==== GtkCheckButton ==== | ||
+ | |||
+ | {| style="border: 1px solid #BBB;" | ||
+ | | [[Image:tkr_GtkCheckButton.png]] | ||
+ | |} | ||
+ | |||
+ | Discrete toggle button. | ||
+ | |||
+ | ==== GtkExpander ==== | ||
+ | |||
+ | {| style="border: 1px solid #BBB;" | ||
+ | | [[Image:tkr_GtkExpander.png]] | ||
+ | |} | ||
+ | |||
+ | {| style="border: 1px solid #BBB;" | ||
+ | | [[Image:tkr_GtkExpander_closed.png]] | ||
+ | |} | ||
+ | |||
+ | Widget to show or hide a widget container. | ||
+ | |||
+ | ==== GimpSpinScale ==== | ||
+ | |||
+ | {| style="border: 1px solid #BBB;" | ||
+ | | [[Image:tkr_GimpSpinScale.png]] | ||
+ | |} | ||
− | + | A mixture of scale and spin button in one. | |
− | + | ==== GimpFrame ==== | |
− | + | {| style="border: 1px solid #BBB;" | |
+ | | [[Image:tkr_GimpFrame.png]] | ||
+ | |} | ||
− | + | GNOME HIG compliant frame [http://developer.gnome.org/hig-book/3.4/design-window.html.en#window-layout-spacing]. | |
+ | =previously…= | ||
* [[work in progress on text]] | * [[work in progress on text]] | ||
* [[work in progress on paths]] | * [[work in progress on paths]] |
Revision as of 11:48, 18 May 2012
Contents
Tool Options redesign
Vision
Tools in GIMP enable hands-on manipulation of the compostion, direct on the canvas.
The tool options enable the fine and precise configurations that make the tool fit the job.
Configuring tool parameters can happen anywhere from almost continuously during a work session - to once in a user's lifetime.
Changing tool set-ups will never break user’s workflows.
Tool Option widgets
All UI elements are built from a few basic UI building blocks called widgets. A list with images of all current available GTK+ 2 widgets can be found at [1] and their respective GTK+ 3 counterparts at [2]. Since GIMP has special needs it also has quite a few widgets of it's own, a number of them (the external accessible ones) can be found at [3]. GIMP also has a number of additional internally used widgets, quite a few just extend basic GTK+ widgets for a specific need, without altering the visual look and feel. However, there are also completely new widgets for specific needs like those used for pressure curves or the gimpspinscale, a mix of a spin and scale button that is now used by a lot of tool options. A third category are meta widgets that mix together a few basic widgets in a certain fashion for a particular purpose, an example is the gimpscaleentry which consists of a label, scale slider and spinbutton (look at Tools->Color Tools->Brightness-Contrast menu).
An exhaustive list of widgets is unneeded as most tool options only use a basic subset of aforementioned widgets, the following table is a list of those common widgets used in tool options and their GIMP counterparts if applicable.
GTK+ | GIMP |
---|---|
GtkLabel | |
GtkComboBox | Gimp{Int,Unit,Sttring,ColorProfile,Enum}ComboBox |
GtkButton | Gimp{,Chain,Pick,Color}Button |
GtkSpinButton | |
GimpSpinScale | |
GtkExpander | |
GtkEntry | |
GtkToggleButton | |
GtkScale | |
GtkRadioButton | |
GtkCheckButton | |
GimpFrame |
Currently used
GtkLabel
Widget to display small to medium amount of text.
- can be selectable
- can be ellipsized
GtkComboBox
Widget used to choose from a list of items
- can have textentry
- relevant GIMP specific subclasses
- GimpUnitComboBox
a convience combobox for measurement units
- GimpUnitComboBox
GtkButton
Widget that creates a signal when clicked on.
- can have image and/or text
- relevant GIMP specific subclasses
- GimpButton
adds click modifier keys - GimpChainButton
button for (un)chain action used in conjunction with other widgets
- GimpButton
GtkToggleButton
Similar to GtkButton, but retains state.
GtkSpinButton
Widget to retrieve number from user.
GtkEntry
Widget for single line keyboard entry.
- relevant GIMP specific subclass
- GimpNumberPair
entry widget for ratios
- GimpNumberPair
GtkScale
Slider widget to select value from a range.
GtkRadioButton
Widget to select one from a multiplechoice options list.
- In tool options sometimes used to hide widgets like a GtkExpander
GtkCheckButton
Discrete toggle button.
GtkExpander
Widget to show or hide a widget container.
GimpSpinScale
A mixture of scale and spin button in one.
GimpFrame
GNOME HIG compliant frame [4].