Additions to the documentation
This commit is contained in:
parent
72bcce87b7
commit
722be333df
|
@ -1,3 +1,7 @@
|
|||
2020-09-27 Markus Gans <guru.mail@muenster.de>
|
||||
* An explanation of the widget tree was added to the document
|
||||
of the first steps
|
||||
|
||||
2020-09-26 Markus Gans <guru.mail@muenster.de>
|
||||
* FData improvements
|
||||
* The number of FObject children can now be limited with
|
||||
|
|
|
@ -0,0 +1,361 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
id="svg61"
|
||||
version="1.1"
|
||||
width="189.15524mm"
|
||||
viewBox="0 0 189.15524 79.081643"
|
||||
height="79.081642mm">
|
||||
<metadata
|
||||
id="metadata67">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs65">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path4659" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
id="path4671" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path4650" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path4659-6" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-9-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path4659-6-0" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-9-7-1"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path4659-6-0-3" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-9-7-1-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path4659-6-0-3-2" />
|
||||
</marker>
|
||||
</defs>
|
||||
<linearGradient
|
||||
y2="222.78156"
|
||||
y1="296.49637"
|
||||
x2="34.111275"
|
||||
x1="33.698196"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="a">
|
||||
<stop
|
||||
style="stop-color:#e8a7a7;stop-opacity:1"
|
||||
id="stop2"
|
||||
stop-color="#dbdbdc"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4"
|
||||
stop-color="#fff"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<g
|
||||
id="g59"
|
||||
transform="translate(22.717556,-254.08671)">
|
||||
<rect
|
||||
y="254.29825"
|
||||
x="7.8681464"
|
||||
height="10.661442"
|
||||
width="57.783382"
|
||||
id="rect4522"
|
||||
style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.42306876;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
|
||||
<text
|
||||
id="text47"
|
||||
y="261.55215"
|
||||
x="37.113487"
|
||||
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0">
|
||||
<tspan
|
||||
y="261.55215"
|
||||
x="37.113487"
|
||||
id="tspan4512">FApplication</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g
|
||||
transform="translate(30.374168,-0.28964391)"
|
||||
id="g4560">
|
||||
<rect
|
||||
y="19.022009"
|
||||
x="15.875"
|
||||
height="10.661442"
|
||||
width="26.458334"
|
||||
id="rect4522-3"
|
||||
style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.4230687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
|
||||
<text
|
||||
id="text47-6"
|
||||
y="26.275915"
|
||||
x="29.24534"
|
||||
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0">
|
||||
<tspan
|
||||
id="tspan4555"
|
||||
x="29.24534"
|
||||
y="26.275915">FDialog</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g
|
||||
id="g4560-9"
|
||||
transform="translate(46.035751,18.23119)">
|
||||
<rect
|
||||
y="19.022009"
|
||||
x="15.875"
|
||||
height="10.661442"
|
||||
width="26.458334"
|
||||
id="rect4522-3-7"
|
||||
style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.4230687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
|
||||
<text
|
||||
id="text47-6-3"
|
||||
y="26.275915"
|
||||
x="29.24534"
|
||||
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0">
|
||||
<tspan
|
||||
id="tspan4555-5"
|
||||
x="29.24534"
|
||||
y="26.275915">FDialog</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g
|
||||
id="g4560-9-0"
|
||||
transform="translate(14.499168,18.23119)">
|
||||
<rect
|
||||
y="19.022009"
|
||||
x="15.875"
|
||||
height="10.661442"
|
||||
width="26.458334"
|
||||
id="rect4522-3-7-9"
|
||||
style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.4230687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
|
||||
<text
|
||||
id="text47-6-3-8"
|
||||
y="26.275915"
|
||||
x="29.24534"
|
||||
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0">
|
||||
<tspan
|
||||
y="26.275915"
|
||||
x="29.24534"
|
||||
id="tspan4610">FLabel</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g
|
||||
transform="translate(30.374168,-0.28964391)"
|
||||
id="g6273">
|
||||
<rect
|
||||
y="56.063679"
|
||||
x="31.75"
|
||||
height="10.661442"
|
||||
width="26.458334"
|
||||
id="rect4522-3-7-8"
|
||||
style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.4230687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
|
||||
<text
|
||||
id="text47-6-3-6"
|
||||
y="63.317585"
|
||||
x="45.120338"
|
||||
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0">
|
||||
<tspan
|
||||
id="tspan4555-5-2"
|
||||
x="45.120338"
|
||||
y="63.317585">FButton</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<text
|
||||
style="font-style:italic;font-weight:bold;font-size:4.93888855px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0"
|
||||
x="75.241615"
|
||||
y="78.968048"
|
||||
id="text47-6-3-6-5">
|
||||
<tspan
|
||||
style="stroke-width:0.42300001"
|
||||
y="78.968048"
|
||||
x="75.241615"
|
||||
id="tspan4555-5-2-2">etc.</tspan>
|
||||
</text>
|
||||
<path
|
||||
id="path4648"
|
||||
d="m 59.477394,11.08451 v 6.992555"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.42306876;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
|
||||
<path
|
||||
id="path4648-0"
|
||||
d="m 51.540836,29.605341 v 6.983024"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.42306873;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-9)" />
|
||||
<path
|
||||
id="path4648-0-0"
|
||||
d="M 67.309127,29.605246 V 36.58827"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.4230687;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-9-7)" />
|
||||
<path
|
||||
id="path4648-0-0-7"
|
||||
d="m 75.31979,48.126173 v 6.704683"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.42306867;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-9-7-1)" />
|
||||
<path
|
||||
id="path4648-0-0-7-6"
|
||||
d="M 75.31979,66.647017 V 73.3517"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.42306867;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-9-7-1-7)" />
|
||||
<g
|
||||
transform="translate(30.374168,-0.28964391)"
|
||||
id="level">
|
||||
<text
|
||||
style="font-weight:bold;font-size:4.93888855px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:left;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0"
|
||||
x="-22.323967"
|
||||
y="8.7182531"
|
||||
id="text47-7">
|
||||
<tspan
|
||||
style="stroke-width:0.42300001"
|
||||
id="tspan4512-1"
|
||||
x="-22.323967"
|
||||
y="8.7182531">Parent:</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-weight:bold;font-size:4.93888855px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:left;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0"
|
||||
x="-23.795216"
|
||||
y="27.239086"
|
||||
id="text47-7-2">
|
||||
<tspan
|
||||
style="stroke-width:0.42300001"
|
||||
id="tspan4512-1-2"
|
||||
x="-23.795216"
|
||||
y="27.239086">Child:</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-weight:bold;font-size:4.93888855px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:left;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0"
|
||||
x="-19.464041"
|
||||
y="44.796837"
|
||||
id="text47-7-0">
|
||||
<tspan
|
||||
style="stroke-width:0.42300001"
|
||||
id="tspan4512-1-21"
|
||||
x="-19.464041"
|
||||
y="44.796837">Subchild:</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-weight:bold;font-size:4.93888855px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:left;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0"
|
||||
x="-14.216478"
|
||||
y="63.317669"
|
||||
id="text47-7-7">
|
||||
<tspan
|
||||
style="stroke-width:0.42300001"
|
||||
id="tspan4512-1-5"
|
||||
x="-14.216478"
|
||||
y="63.317669">Sub-subchild:</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g
|
||||
id="level-7"
|
||||
transform="translate(130.08273,-0.28964391)">
|
||||
<text
|
||||
style="font-weight:bold;font-size:4.93888855px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:left;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0"
|
||||
x="-2.4976854"
|
||||
y="8.7182531"
|
||||
id="text47-7-4">
|
||||
<tspan
|
||||
style="stroke-width:0.42300001"
|
||||
id="tspan4512-1-1"
|
||||
x="-2.4976861"
|
||||
y="8.7182531">Application widget (= 1)</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-weight:bold;font-size:4.93888855px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:left;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0"
|
||||
x="-10.570067"
|
||||
y="27.239086"
|
||||
id="text47-7-2-7">
|
||||
<tspan
|
||||
style="stroke-width:0.42300001"
|
||||
id="tspan4512-1-2-1"
|
||||
x="-10.570068"
|
||||
y="27.239086">Main widget (= 1)</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-weight:bold;font-size:4.93888855px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:left;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0"
|
||||
x="9.3612423"
|
||||
y="44.796837"
|
||||
id="text47-7-0-1">
|
||||
<tspan
|
||||
style="stroke-width:0.42300001"
|
||||
id="tspan4512-1-21-1"
|
||||
x="9.3612432"
|
||||
y="44.796837">Widget(s) of the main widget (≥ 0)</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-weight:bold;font-size:4.93888855px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:left;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0"
|
||||
x="14.415886"
|
||||
y="63.317669"
|
||||
id="text47-7-7-7">
|
||||
<tspan
|
||||
style="stroke-width:0.42300001"
|
||||
id="tspan4512-1-5-0"
|
||||
x="14.415885"
|
||||
y="63.317669">Widget(s) from the parent widget (≥ 0)</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 16 KiB |
|
@ -7,6 +7,8 @@ Table of Contents
|
|||
|
||||
<!-- TOC -->
|
||||
- [Basic functions](#basic-functions)
|
||||
- [Widgets](#widgets)
|
||||
- [Widget tree](#widget-tree)
|
||||
- [How to use the library](#how-to-use-the-library)
|
||||
- [Memory Management](#memory-management)
|
||||
- [Event Processing](#event-processing)
|
||||
|
@ -55,6 +57,48 @@ emulator. It uses various optimization methods to improve the drawing speed.
|
|||
</figure>
|
||||
|
||||
|
||||
Widgets
|
||||
-------
|
||||
|
||||
FINAL CUT has many widgets. It offers buttons, input fields, menus, and
|
||||
dialog boxes that cover the most common use cases. Widgets are visual
|
||||
elements that are combined to create user interfaces. Own widgets can be
|
||||
easily created by creating a derived class of `FWidget` or other existing
|
||||
widgets. All widgets are instances of
|
||||
[FWidget](https://codedocs.xyz/gansm/finalcut/classfinalcut_1_1FWidget.html)
|
||||
or its subclasses.
|
||||
|
||||
A widget can contain any number of child widgets. Child widgets are displayed
|
||||
in the display area of the parent widget. Window widgets based on `FWindow`
|
||||
have their own virtual display area and are independent of the parent widget.
|
||||
|
||||
When a parent widget is disabled, hidden, or deleted, the same operation is
|
||||
used recursively to all its child widgets. The base class `FObject` implements
|
||||
the self-organized object tree behavior. For example, `addChild()` removes
|
||||
the child ownership from an existing parent object before assigning it to
|
||||
the new target. When a child becomes deleted, the parent-child relationship
|
||||
causes its reference in the parent object to be removed. An explicit
|
||||
`delChild()` is no longer required here.
|
||||
|
||||
|
||||
Widget tree
|
||||
-----------
|
||||
|
||||
An `FApplication` widget is the top-level widget of an application. It is
|
||||
unique and can not have a parent widget. The class `FApplication` manages
|
||||
all settings and assigns keyboard and mouse input to the different widgets.
|
||||
|
||||
<figure class="image">
|
||||
<img src="final-cut-widget tree.svg" alt="application structure">
|
||||
<figcaption>Figure 2. Widget tree of a FINAL CUT application</figcaption>
|
||||
</figure>
|
||||
|
||||
The main widget of a FINAL CUT application is the only object that
|
||||
`FApplication` can have as a child. This main widget is usually a window
|
||||
object that contains all sub-widgets of the application. A sub-widget can
|
||||
also be another window.
|
||||
|
||||
|
||||
How to use the library
|
||||
----------------------
|
||||
|
||||
|
@ -82,7 +126,7 @@ int main (int argc, char* argv[])
|
|||
```
|
||||
<figure class="image">
|
||||
<img src="first-steps_dialog.cpp.png" alt="dialog.cpp">
|
||||
<figcaption>Figure 2. A blank dialog</figcaption>
|
||||
<figcaption>Figure 3. A blank dialog</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -229,7 +273,7 @@ int main (int argc, char* argv[])
|
|||
```
|
||||
<figure class="image">
|
||||
<img src="first-steps_memory.cpp.png" alt="memory.cpp">
|
||||
<figcaption>Figure 3. FObject manages its child objects</figcaption>
|
||||
<figcaption>Figure 4. FObject manages its child objects</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -369,7 +413,7 @@ int main (int argc, char* argv[])
|
|||
```
|
||||
<figure class="image">
|
||||
<img src="first-steps_timer.cpp.png" alt="timer.cpp">
|
||||
<figcaption>Figure 4. FObject::onTimer event handler</figcaption>
|
||||
<figcaption>Figure 5. FObject::onTimer event handler</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -482,7 +526,7 @@ int main (int argc, char* argv[])
|
|||
```
|
||||
<figure class="image">
|
||||
<img src="first-steps_user-event.cpp.png" alt="user-event.cpp">
|
||||
<figcaption>Figure 5. User event generation</figcaption>
|
||||
<figcaption>Figure 6. User event generation</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -753,7 +797,7 @@ int main (int argc, char* argv[])
|
|||
```
|
||||
<figure class="image">
|
||||
<img src="first-steps_callback-function.cpp.png" alt="callback-function.cpp">
|
||||
<figcaption>Figure 6. Button with a callback function</figcaption>
|
||||
<figcaption>Figure 7. Button with a callback function</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -816,7 +860,7 @@ int main (int argc, char* argv[])
|
|||
```
|
||||
<figure class="image">
|
||||
<img src="first-steps_callback-lambda.cpp.png" alt="callback-lambda.cpp">
|
||||
<figcaption>Figure 7. Button with lambda expression callback.</figcaption>
|
||||
<figcaption>Figure 8. Button with lambda expression callback.</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -875,7 +919,7 @@ int main (int argc, char* argv[])
|
|||
```
|
||||
<figure class="image">
|
||||
<img src="first-steps_callback-method.cpp.png" alt="callback-method.cpp">
|
||||
<figcaption>Figure 8. Button with a callback method</figcaption>
|
||||
<figcaption>Figure 9. Button with a callback method</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -996,7 +1040,7 @@ int main (int argc, char* argv[])
|
|||
```
|
||||
<figure class="image">
|
||||
<img src="first-steps_emit-signal.cpp.png" alt="emit-signal.cpp">
|
||||
<figcaption>Figure 9. Callbacks with custom signals</figcaption>
|
||||
<figcaption>Figure 10. Callbacks with custom signals</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -1037,7 +1081,7 @@ If you want to ignore padding spaces, you must force this with the
|
|||
|
||||
<figure class="image">
|
||||
<img src="widget-coordinates.svg" alt="widget coordinates">
|
||||
<figcaption>Figure 10. Widget coordinates</figcaption>
|
||||
<figcaption>Figure 11. Widget coordinates</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -1087,7 +1131,7 @@ methods.
|
|||
|
||||
<figure class="image">
|
||||
<img src="widget-lengths.svg" alt="widget lengths">
|
||||
<figcaption>Figure 11. Width and height of a widget</figcaption>
|
||||
<figcaption>Figure 12. Width and height of a widget</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -1140,7 +1184,7 @@ absolute geometry values as a `FRect` object, you can call the method
|
|||
|
||||
<figure class="image">
|
||||
<img src="widget-geometry.svg" alt="widget geometry">
|
||||
<figcaption>Figure 12. Geometry of widgets</figcaption>
|
||||
<figcaption>Figure 13. Geometry of widgets</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -1267,7 +1311,7 @@ int main (int argc, char* argv[])
|
|||
```
|
||||
<figure class="image">
|
||||
<img src="first-steps_size-adjustment.cpp.png" alt="size-adjustment.cpp">
|
||||
<figcaption>Figure 13. Dynamic layout</figcaption>
|
||||
<figcaption>Figure 14. Dynamic layout</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
@ -1395,7 +1439,7 @@ int main (int argc, char* argv[])
|
|||
```
|
||||
<figure class="image">
|
||||
<img src="first-steps_scrollview.cpp.png" alt="scrollview.cpp">
|
||||
<figcaption>Figure 14. Dialog with a scrolling viewport</figcaption>
|
||||
<figcaption>Figure 15. Dialog with a scrolling viewport</figcaption>
|
||||
</figure>
|
||||
<br /><br />
|
||||
|
||||
|
|
Loading…
Reference in New Issue