You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Foundational: Basic us of desktop graphical user interfaces
14
+
Foundational: Basic use of desktop graphical user interfaces
15
15
16
16
Main: Different forms of IO and accessibility
17
17
@@ -24,7 +24,7 @@ Advanced: Internationalization and customization
24
24
_Why is this important?_
25
25
_Why do we want to learn/teach this topic?_
26
26
27
-
For some applications a graphical user interface is beneficial. However, graphical user interfaces are not part of the C++ standard and external libraries are needed. We provide generic teaching goals and do not focus on a specific external library. Some mentionable libraries are:[Qt](https://www.qt.io/), [Cairo](https://www.cairographics.org/), and [wxWidgets](https://www.wxwidgets.org/).
27
+
For some applications a graphical user interface is beneficial. However, graphical user interfaces are not part of the C++ standard and external libraries are needed. We provide generic teaching goals and do not focus on a specific external library. Some mentionable platform-independent libraries are [Qt](https://www.qt.io/) and [wxWidgets](https://www.wxwidgets.org/) for interface development or [Cairo](https://www.cairographics.org/) and [OpenGL](https://www.opengl.org/) for graphics.
28
28
29
29
### Topic introduction
30
30
@@ -36,9 +36,9 @@ _Very brief introduction to the topic._
36
36
37
37
A student:
38
38
39
-
1. should know linking libraries
40
-
2. should know[header files](../compilation-model/headers.md)
41
-
3. should know about[build systems](../compilation-model/buildsystems.md)
39
+
1. should have a foundational knowledge of [linkage](../compilation-model/linkage.md)
40
+
2. should have a foundational knowledge of[header files](../compilation-model/headers.md)
41
+
3. should have a foundational knowledge of[build systems](../compilation-model/buildsystems.md)
42
42
43
43
#### Student outcomes
44
44
@@ -48,32 +48,31 @@ _Max 5 items._
48
48
49
49
A student should be able to:
50
50
51
-
1. link against the external library
52
-
2. write an application with one window
53
-
3. add simple widgets like text boxes and buttons to the window
54
-
4. catch events of buttons or other elements
55
-
5. explain the mechanics of event-driven programming
51
+
1. write an application with one window
52
+
2. add simple widgets like text boxes and buttons to the window
53
+
3. respond to events of buttons or other widgets
54
+
4. explain the mechanics of event-driven programming
56
55
57
56
#### Points to cover
58
57
59
58
* use basic API functions
60
59
* layout of the window
61
-
* handle events by callbacks
60
+
* handle events by callbacks
62
61
63
62
#### Caveats
64
63
65
64
_This section mentions subtle points to understand, like anything resulting in
66
65
implementation-defined, unspecified, or undefined behavior._
67
66
68
-
* programming user interfaces in C++ and in general require plenty of boiler plate code
67
+
* programming user interfaces in C++ and in general require significant boiler plate code
69
68
* API calls are specific to one library and might not be transferable to other libraries
70
-
*Some libraries are written in C
69
+
*some libraries are written in C or other languages
71
70
72
-
### Main: Different forms of IO and accessibility
71
+
### Main: Different forms of I/O and accessibility
73
72
74
73
#### Background/Required Knowledge
75
74
76
-
*All of the above.
75
+
*all of the above
77
76
78
77
#### Student outcomes
79
78
@@ -82,23 +81,27 @@ A student should be able to:
82
81
1. add more advanced elements, like tables or images
83
82
2. handle multiple windows
84
83
3. show error and warning popups
85
-
4. use different forms of IO, like keyboard, mouse, or touch pad
86
-
5. explain basic of fonts and accessibility
84
+
4. use different forms of input and output (I/O), such as keyboard, mouse, or touch pad
85
+
5. explain basics of fonts and accessibility
87
86
88
87
#### Caveats
89
88
90
-
*programming user interfaces is rather complex and might not applicable for most students
89
+
* programming user interfaces is rather complex and might not be applicable for most students
91
90
92
91
#### Points to cover
93
92
94
-
* More advanced API calls and design patterns
93
+
* more advanced API calls and design patterns
94
+
* modal vs non-modal dialogs
95
95
96
96
### Advanced: Technicalities and tools
97
97
98
98
_These are important topics that are not expected to be covered but provide
99
99
guidance where one can continue to investigate this topic in more depth._
100
100
101
-
* Internationalization
102
-
* Font designers
103
-
* Hardware acceleration
104
-
* Custom widget generation
101
+
* internationalization
102
+
* font designers
103
+
* hardware acceleration
104
+
* custom widget generation
105
+
* event-driven programming using non-UI elements, such as timers or sockets
0 commit comments