docs: Remove widget_geometry.txt
The information in that file is all outdated.
This commit is contained in:
@@ -1,836 +0,0 @@
|
||||
This file is some notes about how different widgets are drawn.
|
||||
|
||||
=============
|
||||
|
||||
GtkMenu
|
||||
|
||||
=============
|
||||
+----------------------------------------------------------------------------+
|
||||
| A |
|
||||
| +------------------------------------------------------------------------+ |
|
||||
| |############################# C ########################################| |
|
||||
| |# D #| |
|
||||
| |# +-------------------------------------------------------------------+#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | Item 1 |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# +-------------------------------------------------------------------+#| |
|
||||
| |# +-------------------------------------------------------------------+#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
|A|B | |B|A|
|
||||
| |# | Item 2 |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# +-------------------------------------------------------------------+#| |
|
||||
| |# [...] #| |
|
||||
| |# +-------------------------------------------------------------------+#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | Item n |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# | |#| |
|
||||
| |# +-------------------------------------------------------------------+#| |
|
||||
| |# D #| |
|
||||
| |############################# C ########################################| |
|
||||
| +------------------------------------------------------------------------| |
|
||||
| A |
|
||||
+----------------------------------------------------------------------------+
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: xthickness
|
||||
C: ythickness
|
||||
D: vertical_padding
|
||||
|
||||
=============
|
||||
|
||||
GtkMenuItem
|
||||
|
||||
=============
|
||||
|
||||
+----------------------------------------------------------------------------+
|
||||
| A |
|
||||
| +------------------------------------------------------------------------+ |
|
||||
| |############################# C ########################################| |
|
||||
| |#+-+------------+--+-------------------------------+--+-------------+-+#| |
|
||||
| |#| |\\\\\\\\\\\\| | /|\ |**| | |#| |
|
||||
| |#| |<------E------>| | |**| G | |#| |
|
||||
| |#| |\\\\\\\\\\\\| | | |**| | |#| |
|
||||
| |#| |\\\\\\\\\\\\| | | |**| >> | |#| |
|
||||
| |#| |\\\\\\\\\\\\| | | |**| >>>> | |#| |
|
||||
| |#| |\\\\\\\\\\\\| | | |**| >>>>>> | |#| |
|
||||
|A|B|D|\\\\\\\\\\\\| F| Child G |*H| >>>>>>>> |D|B|A|
|
||||
| |#| |\\\\\\\\\\\\| | | |**| >>>>>> | |#| |
|
||||
| |#| |\\\\\\\\\\\\| | | |**| >>>> | |#| |
|
||||
| |#| |\\\\\\\\\\\\| | | |**| >> | |#| |
|
||||
| |#| |\\\\\\\\\\\\| | | |**| | |#| |
|
||||
| |#| |\\\\\\\\\\\\| | | |**| | |#| |
|
||||
| |#| |\\\\\\\\\\\\| | \|/ |**| | |#| |
|
||||
| |#+-+------------+--+-------------------------------+--+-------------+-+#| |
|
||||
| |############################# C ########################################| |
|
||||
| +------------------------------------------------------------------------+ |
|
||||
| A |
|
||||
+----------------------------------------------------------------------------+
|
||||
|
||||
A: GtkContainer:border_width
|
||||
B: xthickness
|
||||
C: ythickness
|
||||
D: horizontal_padding
|
||||
E: toggle_size
|
||||
F: toggle_spacing
|
||||
G: Requested height of child (also used for width of arrow
|
||||
H: arrow_spacing spacing (when the item has a non-vertical submenu)
|
||||
|
||||
|
||||
=============
|
||||
|
||||
GtkOptionMenu:
|
||||
|
||||
=============
|
||||
|
||||
Geometry parameters
|
||||
|
||||
Style properties
|
||||
|
||||
GtkWidget::interior_focus = TRUE
|
||||
GtkWidget::focus_width = 1
|
||||
GtkWidget::focus_padding = 0
|
||||
GtkOptionMenu::indicator_size = { 7, 13 }
|
||||
GtkOptionMenu::indicator_spacing = { 7, 5, 2, 2 }
|
||||
|
||||
Properties
|
||||
|
||||
GtkContainer::border_width = 0
|
||||
|
||||
#defines
|
||||
|
||||
CHILD_LEFT_SPACING = 5
|
||||
CHILD_RIGHT_SPACING = 1
|
||||
CHILD_TOP_SPACING = 1
|
||||
CHILD_BOTTOM_SPACING = 1
|
||||
|
||||
|
||||
I) interior_focus = TRUE
|
||||
|
||||
+--------------------------------------------------+
|
||||
+ A |
|
||||
| +----------------------------------------------+ |
|
||||
| |\\\\\\\\\\\\\\\\\\\\ H ///////////////////////| |
|
||||
| |\+------------------------------------------+/| |
|
||||
| |\| C |/| |
|
||||
| |\| +------------------------------+ |/| |
|
||||
| |\| |################ D ###########| L |/| |
|
||||
| |\| |#+--------------------------+#| |/| |
|
||||
| |\| |#| K |#| |/| |
|
||||
| |\| |#| +----------------------+ |#| +-----+ |/| |
|
||||
| |\| |#| | | |#| | /#\ | |/| |
|
||||
| |\| |#| | | |#| | === | |/| |
|
||||
|A|B|C|D|E| Child |F|D|G| IxJ |O|B|A|
|
||||
| |/| |#| | | |#| | === | |\| |
|
||||
| |/| |#| | | |#| | \#/ | |\| |
|
||||
| |/| |#| +----------------------+ |#| +-----+ |\| |
|
||||
| |/| |#| M |#| |\| |
|
||||
| |/| |#+---------------------------#| |\| |
|
||||
| |/| |################ D ###########| N |\| |
|
||||
| |/| +------------------------------+ |\| |
|
||||
| |/| C |\| |
|
||||
| |/+------------------------------------------+\| |
|
||||
| |//////////////////// H \\\\\\\\\\\\\\\\\\\\\\\| |
|
||||
| +----------------------------------------------+ |
|
||||
| A |
|
||||
+--------------------------------------------------+
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: xthickness
|
||||
C: GtkWidget::focus_pad
|
||||
D: GtkWidget::focus_width
|
||||
E: CHILD_LEFT_SPACING
|
||||
F: CHILD_RIGHT_SPACING
|
||||
G: GtkOptionMenu::indicator_spacing::left
|
||||
H: ythickness
|
||||
I: GtkOptionMenu::indicator_size::width
|
||||
J: GtkOptionMenu::indicator_size::height
|
||||
K: CHILD_TOP_SPACING
|
||||
L: GtkOptionMenu::indicator_spacing::top + GtkWidget::focus_width + GtkWidget::focus_pad + CHILD_TOP_SPACING
|
||||
M: CHILD_BOTTOM_SPACING
|
||||
N: GtkOptionMenu::indicator_spacing::bottom + GtkWidget::focus_width + GtkWidget::focus_pad + CHILD_BOTTOM_SPACING
|
||||
O: GtkOptionMenu::indicator_spacing::right
|
||||
|
||||
|
||||
II) interior_focus = FALSE
|
||||
|
||||
+--------------------------------------------------+
|
||||
+ A |
|
||||
| +----------------------------------------------+ |
|
||||
| |#################### B #######################| |
|
||||
| |#+------------------------------------------+#| |
|
||||
| |#| C |#| |
|
||||
| |#| +--------------------------------------+ |#| |
|
||||
| |#| |\\\\\\\\\\\\\\\\ H ///////////////////| |#| |
|
||||
| |#| |\+----------------------------------+/| |#| |
|
||||
| |#| |\| K L |/| |#| |
|
||||
| |#| |\| +----------------------+ +-----+ |/| |#| |
|
||||
| |#| |\| | | | /#\ | |/| |#| |
|
||||
| |#| |\| | | | === | |/| |#| |
|
||||
|A|B|C|D|E| Child |F| IxJ |G|D|C|B|A|
|
||||
| |#| |/| | | | === | |\| |#| |
|
||||
| |#| |/| | | | \#/ | |\| |#| |
|
||||
| |#| |/| +----------------------+ +-----+ |\| |#| |
|
||||
| |#| |/| M N |\| |#| |
|
||||
| |#| |/+----------------------------------+\| |#| |
|
||||
| |#| |//////////////// H \\\\\\\\\\\\\\\\\\\| |#| |
|
||||
| |#| +--------------------------------------+ |#| |
|
||||
| |#| C |#| |
|
||||
| |#+------------------------------------------+#| |
|
||||
| |#################### B #######################| |
|
||||
| +----------------------------------------------+ |
|
||||
| A |
|
||||
+--------------------------------------------------+
|
||||
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: GtkWidget::focus_width
|
||||
C: GtkWidget::focus_padding
|
||||
D: xthickness
|
||||
E: CHILD_LEFT_SPACING
|
||||
F: CHILD_RIGHT_SPACING + GtkOptionMenu::indicator_spacing::left
|
||||
G: GtkOptionMenu::indicator_spacing::right
|
||||
H: ythickness
|
||||
I: GtkOptionMenu::indicator_size::width
|
||||
J: GtkOptionMenu::indicator_size::height
|
||||
K: CHILD_TOP_SPACING
|
||||
L: CHILD_TOP_SPACING + GtkOptionMenu::indicator_spacing::top
|
||||
M: CHILD_BOTTOM_SPACING
|
||||
N: CHILD_BOTTOM_SPACING + GtkOptionMenu::indicator_spacing::bottom
|
||||
|
||||
|
||||
III) interior_focus = FALSE, !HAVE_FOCUS
|
||||
|
||||
+--------------------------------------------------+
|
||||
+ A |
|
||||
| +----------------------------------------------+ |
|
||||
| |\\\\\\\\\\\\\\\\\\\\ H ///////////////////////| |
|
||||
| |\+------------------------------------------+/| |
|
||||
| |\| |/| |
|
||||
| |\| |/| |
|
||||
| |\| |/| |
|
||||
| |\| |/| |
|
||||
| |\| K L |/| |
|
||||
| |\| +----------------------+ +-----+ |/| |
|
||||
| |\| | | | /#\ | |/| |
|
||||
| |\| | | | === | |/| |
|
||||
|A|D| E| Child |F| IxJ |G |D|A|
|
||||
| |/| | | | === | |\| |
|
||||
| |/| | | | \#/ | |\| |
|
||||
| |/| +----------------------+ +-----+ |\| |
|
||||
| |/| M N |\| |
|
||||
| |/| |\| |
|
||||
| |/| |\| |
|
||||
| |/| |\| |
|
||||
| |/| |\| |
|
||||
| |/+------------------------------------------+\| |
|
||||
| |//////////////////// H \\\\\\\\\\\\\\\\\\\\\\\| |
|
||||
| +----------------------------------------------+ |
|
||||
| A |
|
||||
+--------------------------------------------------+
|
||||
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: GtkWidget::focus_width
|
||||
C: GtkWidget::focus_padding
|
||||
D: xthickness
|
||||
E: CHILD_LEFT_SPACING + GtkWidget::focus_width + GtkWidget::focus_padding
|
||||
F: CHILD_RIGHT_SPACING + GtkOptionMenu::in+icator_spacing::left
|
||||
G: GtkOptionMenu::indicator_spacing::right + GtkWidget::focus_width + GtkWidget::focus_padding
|
||||
H: ythickness
|
||||
I: GtkOptionMenu::indicator_size::width
|
||||
J: GtkOptionMenu::indicator_size::height
|
||||
K: CHILD_TOP_SPACING + GtkWidget::focus_width + GtkWidget::focus_padding
|
||||
L: CHILD_TOP_SPACING + GtkOptionMenu::indicator_spacing::top + GtkWidget::focus_width + GtkWidget::focus_padding
|
||||
M: CHILD_BOTTOM_SPACING + GtkWidget::focus_width + GtkWidget::focus_padding
|
||||
N: CHILD_BOTTOM_SPACING + GtkOptionMenu::indicator_spacing::bottom + GtkWidget::focus_width + GtkWidget::focus_padding
|
||||
|
||||
|
||||
|
||||
=====================
|
||||
|
||||
GtkButton
|
||||
|
||||
=====================
|
||||
|
||||
NOTE: Due to a bug that is basically unfixable in a sufficiently compatible
|
||||
NOTE: way, the button gives the space requested for focus_width and
|
||||
NOTE: focus_padding to the child (in addition to the space requested by
|
||||
NOTE: the child), if the button is !CAN_FOCUS.
|
||||
|
||||
Style properties
|
||||
|
||||
GtkWidget::interior_focus = TRUE
|
||||
GtkWidget::focus_width = 1
|
||||
GtkWidget::focus_padding = 0
|
||||
GtkButton::default_border = { 1, 1, 1, 1 };
|
||||
GtkButton::default_outside_border = { 0, 0, 0, 0 };
|
||||
GtkButton::child_displacement_x = 0;
|
||||
GtkButton::child_displacement_y = 0;
|
||||
|
||||
Properties
|
||||
|
||||
GtkContainer::border_width = 0
|
||||
|
||||
#defines
|
||||
|
||||
CHILD_SPACING 1
|
||||
|
||||
I) HAS_DEFAULT && (!GtkWidget::interior-focus || !HAVE_FOCUS)
|
||||
|
||||
+----------------------------------------------+
|
||||
| A |
|
||||
| +------------------------------------------+ |
|
||||
| |@@@@@@@@@@@@@@@@@@@ I @@@@@@@@@@@@@@@@@@@@| |
|
||||
| |@+--------------------------------------+@| |
|
||||
| |@|\\\\\\\\\\\\\\\\\ J //////////////////|@| |
|
||||
| |@|\+----------------------------------+/|@| |
|
||||
| |@|\| E |/|@| |
|
||||
| |@|\| +------------------------------+ |/|@| |
|
||||
| |@|\| |############# F ##############| |/|@| |
|
||||
| |@|\| |#+--------------------------+#| |/|@| |
|
||||
| |@|\| |#| L |#| |/|@| |
|
||||
| |@|\| |#| +----------------------+ |#| |/|@| |
|
||||
| |@|\| |#| | | |#| |/|@| |
|
||||
| |@|\| |#| | | |#| |/|@| |
|
||||
|A|B|D|E|F|G| Child |M|F|E|D|C|A|
|
||||
| |@|/| |#| | | |#| |\|@| |
|
||||
| |@|/| |#| | | |#| |\|@| |
|
||||
| |@|/| |#| +----------------------+ |#| |\|@| |
|
||||
| |@|/| |#| N |#| |\|@| |
|
||||
| |@|/| |#+--------------------------+#| |\|@| |
|
||||
| |@|/| |############# F ##############| |\|@| |
|
||||
| |@|/| +------------------------------+ |\|@| |
|
||||
| |@|/| E |\|@| |
|
||||
| |@|/+----------------------------------+\|@| |
|
||||
| |@|///////////////// J \\\\\\\\\\\\\\\\\\|@| |
|
||||
| |@+--------------------------------------+@| |
|
||||
| |@@@@@@@@@@@@@@@@@@@ K @@@@@@@@@@@@@@@@@@@@| |
|
||||
| +------------------------------------------+ |
|
||||
| A |
|
||||
+----------------------------------------------+
|
||||
|
||||
A: GtkContainer::border-width
|
||||
B: GtkButton::default-border::left
|
||||
C: GtkButton::default-border::right
|
||||
D: xthickness
|
||||
E: GtkWidget::focus-padding
|
||||
F: GtkWidget::focus-line-width
|
||||
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0)
|
||||
I: GtkButton::default-border::top
|
||||
J: ythickness
|
||||
K: GtkButton::default-border::bottom
|
||||
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0)
|
||||
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0)
|
||||
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0)
|
||||
|
||||
|
||||
II) !HAS_DEFAULT && (!GtkWidget::interior-focus || !HAVE_FOCUS)
|
||||
|
||||
+----------------------------------------------+
|
||||
| |
|
||||
| I |
|
||||
| |
|
||||
| +--------------------------------------+ |
|
||||
| |\\\\\\\\\\\\\\\\\ J //////////////////| |
|
||||
| |\+----------------------------------+/| |
|
||||
| |\| E |/| |
|
||||
| |\| +------------------------------+ |/| |
|
||||
| |\| |############# F ##############| |/| |
|
||||
| |\| |#+--------------------------+#| |/| |
|
||||
| |\| |#| L |#| |/| |
|
||||
| |\| |#| +----------------------+ |#| |/| |
|
||||
| |\| |#| | | |#| |/| |
|
||||
| |\| |#| | | |#| |/| |
|
||||
| B |D|E|F|G| Child |M|F|E|D| C |
|
||||
| |/| |#| | | |#| |\| |
|
||||
| |/| |#| | | |#| |\| |
|
||||
| |/| |#| +----------------------+ |#| |\| |
|
||||
| |/| |#| N |#| |\| |
|
||||
| |/| |#+--------------------------+#| |\| |
|
||||
| |/| |############# F ##############| |\| |
|
||||
| |/| +------------------------------+ |\| |
|
||||
| |/| E |\| |
|
||||
| |/+----------------------------------+\| |
|
||||
| |///////////////// J \\\\\\\\\\\\\\\\\\| |
|
||||
| +--------------------------------------+ |
|
||||
| |
|
||||
| K |
|
||||
| |
|
||||
+----------------------------------------------+
|
||||
|
||||
|
||||
a) CAN_DEFAULT
|
||||
|
||||
B: GtkContainer::border-width + GtkButton::default-outside-border::left
|
||||
C: GtkContainer::border-width + GtkButton::default-outside-border::right
|
||||
D: xthickness
|
||||
E: GtkWidget::focus-padding
|
||||
F: GtkWidget::focus-line-width
|
||||
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0) +
|
||||
(GtkButton::default-outside-border - GtkButton::default-outside-border)::left
|
||||
I: GtkContainer::border-width + GtkButton::default-outside-border::top
|
||||
J: ythickness
|
||||
K: GtkContainer::border-width + GtkButton::default-outside-border::bottom
|
||||
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0) +
|
||||
(GtkButton::default-outside-border - GtkButton::default-outside-border)::top
|
||||
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0) +
|
||||
(GtkButton::default-outside-border - GtkButton::default-outside-border)::right
|
||||
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0) +
|
||||
(GtkButton::default-outside-border - GtkButton::default-outside-border)::bottom
|
||||
|
||||
|
||||
b) !CAN_DEFAULT
|
||||
|
||||
B: GtkContainer::border-width
|
||||
C: GtkContainer::border-width
|
||||
D: xthickness
|
||||
E: GtkWidget::focus-padding
|
||||
F: GtkWidget::focus-line-width
|
||||
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0)
|
||||
I: GtkContainer::border-width
|
||||
J: ythickness
|
||||
K: GtkContainer::border-width
|
||||
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0)
|
||||
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0)
|
||||
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0)
|
||||
|
||||
|
||||
|
||||
|
||||
III) HAS_DEFAULT && (GtkWidget::interior-focus && HAVE_FOCUS)
|
||||
|
||||
+----------------------------------------------+
|
||||
| A |
|
||||
| +------------------------------------------+ |
|
||||
| |@@@@@@@@@@@@@@@@@@@ I @@@@@@@@@@@@@@@@@@@@| |
|
||||
| |@+--------------------------------------+@| |
|
||||
| |@|################# F ##################|@| |
|
||||
| |@|#+----------------------------------+#|@| |
|
||||
| |@|#| E |#|@| |
|
||||
| |@|#| +------------------------------+ |#|@| |
|
||||
| |@|#| |\\\\\\\\\\\\\ J //////////////| |#|@| |
|
||||
| |@|#| |\+--------------------------+/| |#|@| |
|
||||
| |@|#| |\| L |/| |#|@| |
|
||||
| |@|#| |\| +----------------------+ |/| |#|@| |
|
||||
| |@|#| |\| | | |/| |#|@| |
|
||||
| |@|#| |\| | | |/| |#|@| |
|
||||
|A|B|F|E|D|G| Child |M|D|E|F|C|A|
|
||||
| |@|#| |/| | | |\| |#|@| |
|
||||
| |@|#| |/| | | |\| |#|@| |
|
||||
| |@|#| |/| +----------------------+ |\| |#|@| |
|
||||
| |@|#| |/| N |\| |#|@| |
|
||||
| |@|#| |/+--------------------------+\| |#|@| |
|
||||
| |@|#| |///////////// J \\\\\\\\\\\\\\| |#|@| |
|
||||
| |@|#| +------------------------------+ |#|@| |
|
||||
| |@|#| E |#|@| |
|
||||
| |@|#+----------------------------------+#|@| |
|
||||
| |@|################# F ##################|@| |
|
||||
| |@+--------------------------------------+@| |
|
||||
| |@@@@@@@@@@@@@@@@@@@ K @@@@@@@@@@@@@@@@@@@@| |
|
||||
| +------------------------------------------+ |
|
||||
| A |
|
||||
+----------------------------------------------+
|
||||
|
||||
A: GtkContainer::border-width
|
||||
B: GtkButton::default-border::left
|
||||
C: GtkButton::default-border::right
|
||||
D: xthickness
|
||||
E: GtkWidget::focus-padding
|
||||
F: GtkWidget::focus-line-width
|
||||
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0)
|
||||
I: GtkButton::default-border::top
|
||||
J: ythickness
|
||||
K: GtkButton::default-border::bottom
|
||||
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0)
|
||||
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0)
|
||||
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0)
|
||||
|
||||
|
||||
IV) !HAS_DEFAULT && (GtkWidget::interior-focus && HAVE_FOCUS)
|
||||
|
||||
+----------------------------------------------+
|
||||
| |
|
||||
| I |
|
||||
| |
|
||||
| +--------------------------------------+ |
|
||||
| |################# J ##################| |
|
||||
| |#+----------------------------------+#| |
|
||||
| |#| E |#| |
|
||||
| |#| +------------------------------+ |#| |
|
||||
| |#| |\\\\\\\\\\\\\ F //////////////| |#| |
|
||||
| |#| |\+--------------------------+/| |#| |
|
||||
| |#| |\| L |/| |#| |
|
||||
| |#| |\| +----------------------+ |/| |#| |
|
||||
| |#| |\| | | |/| |#| |
|
||||
| |#| |\| | | |/| |#| |
|
||||
| B |D|E|F|G| Child |M|F|E|D| C |
|
||||
| |#| |/| | | |\| |#| |
|
||||
| |#| |/| | | |\| |#| |
|
||||
| |#| |/| +----------------------+ |\| |#| |
|
||||
| |#| |/| N |\| |#| |
|
||||
| |#| |/+--------------------------+\| |#| |
|
||||
| |#| |///////////// F \\\\\\\\\\\\\\| |#| |
|
||||
| |#| +------------------------------+ |#| |
|
||||
| |#| E |#| |
|
||||
| |#+----------------------------------+#| |
|
||||
| |################# J ##################| |
|
||||
| +--------------------------------------+ |
|
||||
| |
|
||||
| K |
|
||||
| |
|
||||
+----------------------------------------------+
|
||||
|
||||
|
||||
a) CAN_DEFAULT
|
||||
|
||||
B: GtkContainer::border-width + GtkButton::default-outside-border::left
|
||||
C: GtkContainer::border-width + GtkButton::default-outside-border::right
|
||||
D: xthickness
|
||||
E: GtkWidget::focus-padding
|
||||
F: GtkWidget::focus-line-width
|
||||
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0) +
|
||||
(GtkButton::default-outside-border - GtkButton::default-outside-border)::left
|
||||
I: GtkContainer::border-width + GtkButton::default-outside-border::top
|
||||
J: ythickness
|
||||
K: GtkContainer::border-width + GtkButton::default-outside-border::bottom
|
||||
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0) +
|
||||
(GtkButton::default-outside-border - GtkButton::default-outside-border)::top
|
||||
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0) +
|
||||
(GtkButton::default-outside-border - GtkButton::default-outside-border)::right
|
||||
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0) +
|
||||
(GtkButton::default-outside-border - GtkButton::default-outside-border)::bottom
|
||||
|
||||
|
||||
b) !CAN_DEFAULT
|
||||
|
||||
B: GtkContainer::border-width
|
||||
C: GtkContainer::border-width
|
||||
D: xthickness
|
||||
E: GtkWidget::focus-padding
|
||||
F: GtkWidget::focus-line-width
|
||||
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0)
|
||||
I: GtkContainer::border-width
|
||||
J: ythickness
|
||||
K: GtkContainer::border-width
|
||||
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0)
|
||||
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0)
|
||||
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0)
|
||||
|
||||
|
||||
======================
|
||||
|
||||
GtkCheckButton
|
||||
|
||||
======================
|
||||
|
||||
Note: This is the draw_indicator=TRUE case; draw_indicator=FALSE
|
||||
is like GtkButton)
|
||||
|
||||
Style properties
|
||||
|
||||
GtkWidget::interior_focus = TRUE
|
||||
GtkWidget::focus_width = 1
|
||||
GtkWidget::focus_padding = 0
|
||||
GtkButton::indicator-size = 13
|
||||
GtkButton::indicator-spacing = 2
|
||||
|
||||
Properties
|
||||
|
||||
GtkContainer::border_width = 0
|
||||
|
||||
#defines
|
||||
|
||||
CHILD_SPACING 1
|
||||
|
||||
interior_focus
|
||||
|
||||
+-------------------------------------------+
|
||||
| F |
|
||||
| G +------------------------+ |
|
||||
| |########### D ##########| |
|
||||
| +------------+ |#+--------------------+#| |
|
||||
| | | |#| E |#| |
|
||||
| | | |#| +----------------+ |#| |
|
||||
| | | |#| | | |#| |
|
||||
|A| BxB |C|D|E| Child |E|#|F|
|
||||
| | | |#| | | |#| |
|
||||
| | | |#| +----------------+ |#| |
|
||||
| | | |#| E |#| |
|
||||
| +------------+ |#+--------------------+#| |
|
||||
| |########### D ##########| |
|
||||
| G +------------------------+ |
|
||||
| F |
|
||||
+-------------------------------------------+
|
||||
|
||||
A: GtkContainer::border-width + GtkCheckButton::indicator-spacing
|
||||
B: GtkCheckButton::indicator-size
|
||||
C: 2 * GtkCheckButton::indicator-spacing
|
||||
D: GtkWidget::focus-line-width
|
||||
E: GtkWidget::focus-padding
|
||||
F: GtkContainer::border-width
|
||||
G: GtkConainer::border-width + GtkCheckButton::indicator-spacing
|
||||
|
||||
!interior_focus
|
||||
|
||||
+-------------------------------------------+
|
||||
| A |
|
||||
| +---------------------------------------+ |
|
||||
| |################ D ####################| |
|
||||
| |#+-----------------------------------+#| |
|
||||
| |#| G E |#| |
|
||||
| |#| +------------+ +---------------+ |#| |
|
||||
| |#| | | | | |#| |
|
||||
| |#| | | | | |#| |
|
||||
|A|D|F| BxB |C | Child |E|D|A|
|
||||
| |#| | | | | |#| |
|
||||
| |#| | | | | |#| |
|
||||
| |#| +------------+ +---------------+ |#| |
|
||||
| |#| G E |#| |
|
||||
| |#+-----------------------------------+#| |
|
||||
| |################ D ####################| |
|
||||
| +---------------------------------------+ |
|
||||
| A |
|
||||
+-------------------------------------------+
|
||||
|
||||
A: GtkContainer::border-width
|
||||
B: GtkCheckButton::indicator-size
|
||||
C: 2 * GtkCheckButton::indicator-spacing
|
||||
D: GtkWidget::focus-line-width
|
||||
E: GtkWidget::focus-padding
|
||||
F: GtkWidget::focus-padding + GtkCheckButton::indicator-spacing
|
||||
G: GtkWidget::focus-padding + GtkCheckButton::indicator-spacing
|
||||
|
||||
===============
|
||||
|
||||
GtkEntry
|
||||
|
||||
===============
|
||||
|
||||
Style properties
|
||||
|
||||
GtkWidget::interior_focus = TRUE
|
||||
GtkWidget::focus_width = 1
|
||||
GtkWidget::focus_padding = 0
|
||||
|
||||
Properties
|
||||
|
||||
GtkContainer::border_width = 0
|
||||
|
||||
#defines
|
||||
|
||||
INNER_BORDER 2
|
||||
|
||||
|
||||
|
||||
interior_focus
|
||||
|
||||
+--------------------------------------+
|
||||
|\\\\\\\\\\\\\\\\\ B //////////////////|
|
||||
|\+----------------------------------+/|
|
||||
|\| D |/|
|
||||
|\| +------------------------------+ |/|
|
||||
|\| | | |/|
|
||||
|\| | | |/|
|
||||
|A|D| |D|A|
|
||||
|\| | | |/|
|
||||
|\| | | |/|
|
||||
|\| +------------------------------+ |/|
|
||||
|\| D |/|
|
||||
|\+----------------------------------+/|
|
||||
|///////////////// B \\\\\\\\\\\\\\\\\/|
|
||||
+--------------------------------------+
|
||||
|
||||
A: xthickness
|
||||
B: ythickness
|
||||
D: INNER_BORDER
|
||||
|
||||
!interior_focus
|
||||
|
||||
+------------------------------------------+
|
||||
|####################C#####################|
|
||||
|#+--------------------------------------+#|
|
||||
|#|\\\\\\\\\\\\\\\\\ B //////////////////|#|
|
||||
|#|\+----------------------------------+/|#|
|
||||
|#|\| D |/|#|
|
||||
|#|\| +------------------------------+ |/|#|
|
||||
|#|\| | | |/|#|
|
||||
|#|\| | | |/|#|
|
||||
|C|A|D| |D|A|C|
|
||||
|#|\| | | |/|#|
|
||||
|#|\| | | |/|#|
|
||||
|#|\| +------------------------------+ |/|#|
|
||||
|#|\| D |/|#|
|
||||
|#|\+----------------------------------+/|#|
|
||||
|#|///////////////// B \\\\\\\\\\\\\\\\\/|#|
|
||||
|#+--------------------------------------+#|
|
||||
|####################C#####################|
|
||||
+------------------------------------------+
|
||||
|
||||
A: xthickness
|
||||
B: ythickness
|
||||
C: GtkWidget::focus-line-width
|
||||
D: INNER_BORDER + (HAVE_FOCUS ? 0 : GtkWidget::focus-line-width
|
||||
|
||||
Note - effect here for !interior_focus is that bevel moves in
|
||||
by focus-line-width when entry gains focus
|
||||
|
||||
===============
|
||||
|
||||
GtkExpander
|
||||
|
||||
===============
|
||||
|
||||
Style properties
|
||||
GtkWidget::focus_line_width
|
||||
GtkWidget::focus_padding
|
||||
GtkExpander::expander_size
|
||||
GtkExpander::expander_spacing
|
||||
|
||||
Properties
|
||||
GtkContainer::border_width
|
||||
GtkExpander::spacing
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (bin->child) && interior_focus)
|
||||
|
||||
+-------------------------------------+
|
||||
| A |
|
||||
| +---------+-----------------------+ |
|
||||
| | C |##########E############| |
|
||||
| | +-----+ |#+-------------------+#| |
|
||||
| | | | |#| F |#| |
|
||||
| | | | |#| +---------------+ |#| |
|
||||
|A|C| BxB |C|E|F| label_widget |F|E|A|
|
||||
| | | | |#| +---------------+ |#| |
|
||||
| | | | |#| F |#| |
|
||||
| | +-----+ |#+-------------------+#| |
|
||||
| | C |##########E############| |
|
||||
| +---------+-----------------------+ |
|
||||
| | D | |
|
||||
| +---------------------------------+ |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
|A| bin->child |A|
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| +---------------------------------+ |
|
||||
| A |
|
||||
+-------------------------------------+
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: GtkExpander::expander_size
|
||||
C: GtkExpander::expander_spacing
|
||||
D: GtkExpander::spacing
|
||||
E: GtkWidget::focus_line_width
|
||||
F: GtkWidget::focus_padding
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (bin->child) && !interior_focus)
|
||||
|
||||
+-------------------------------------------+
|
||||
| A |
|
||||
| +---------------------------------------+ |
|
||||
| |##################E####################| |
|
||||
| |#+-----------------------------------+#| |
|
||||
| |#| F |#| |
|
||||
| |#| +---------+---------------------+ |#| |
|
||||
| |#| | C | | |#| |
|
||||
| |#| | +-----+ | | |#| |
|
||||
|A|E|F|C| BxB |C| label_widget |F|E|A|
|
||||
| |#| | +-----+ | | |#| |
|
||||
| |#| | C | | |#| |
|
||||
| |#| +---------+---------------------+ |#| |
|
||||
| |#| F |#| |
|
||||
| |#+-----------------------------------+#| |
|
||||
| |##################E####################| |
|
||||
| +---------------------------------------+ |
|
||||
| | D | |
|
||||
| +---------------------------------------+ |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
|A| bin->child |A|
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| +---------------------------------------+ |
|
||||
| A |
|
||||
+-------------------------------------------+
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: GtkExpander::expander_size
|
||||
C: GtkExpander::expander_spacing
|
||||
D: GtkExpander::spacing
|
||||
E: GtkWidget::focus_line_width
|
||||
F: GtkWidget::focus_padding
|
||||
|
||||
if (!GTK_WIDGET_VISIBLE (bin->child) && interior_focus)
|
||||
|
||||
+-------------------------------------+
|
||||
| A |
|
||||
| +---------+-----------------------+ |
|
||||
| | C |##########E############| |
|
||||
| | +-----+ |#+-------------------+#| |
|
||||
| | | | |#| F |#| |
|
||||
| | | | |#| +---------------+ |#| |
|
||||
|A|C| BxB |C|E|F| label_widget |F|E|A|
|
||||
| | | | |#| +---------------+ |#| |
|
||||
| | | | |#| F |#| |
|
||||
| | +-----+ |#+-------------------+#| |
|
||||
| | C |##########E############| |
|
||||
| +---------+-----------------------+ |
|
||||
| A |
|
||||
+-------------------------------------+
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: GtkExpander::expander_size
|
||||
C: GtkExpander::expander_spacing
|
||||
E: GtkWidget::focus_line_width
|
||||
F: GtkWidget::focus_padding
|
||||
|
||||
if (!GTK_WIDGET_VISIBLE (bin->child) && !interior_focus)
|
||||
|
||||
+-------------------------------------------+
|
||||
| A |
|
||||
| +---------------------------------------+ |
|
||||
| |##################E####################| |
|
||||
| |#+-----------------------------------+#| |
|
||||
| |#| F |#| |
|
||||
| |#| +---------+---------------------+ |#| |
|
||||
| |#| | C | | |#| |
|
||||
| |#| | +-----+ | | |#| |
|
||||
|A|E|F|C| BxB |C| label_widget |F|E|A|
|
||||
| |#| | +-----+ | | |#| |
|
||||
| |#| | C | | |#| |
|
||||
| |#| +---------+---------------------+ |#| |
|
||||
| |#| F |#| |
|
||||
| |#+-----------------------------------+#| |
|
||||
| |##################E####################| |
|
||||
| +---------------------------------------+ |
|
||||
| A |
|
||||
+-------------------------------------------+
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: GtkExpander::expander_size
|
||||
C: GtkExpander::expander_spacing
|
||||
E: GtkWidget::focus_line_width
|
||||
F: GtkWidget::focus_padding
|
||||
Reference in New Issue
Block a user