Course detail

Graphical User Interfaces in X Window System

FIT-GUXAcad. year: 2017/2018

Interaction between user and application, different application classes. Graphical User Interface in Unix and its history. System X Window, structure, X server concept, graphical operations. Application programming interface, Toolkits. Standard X Toolkit and its usage. Object orientation features in X Toolkit and GTK+. Widget names, attributes and manipulation. Event processing, translation and action table. Base X Toolkit and GTK+ classes. Programming with OSF/Motif and GTK+.

Supervisor

Learning outcomes of the course unit

Students will get knowledge of application programming in X Window, GTK+ and OSF/Motif environment and basic principles of user interface design.

Prerequisites

C language programming in Unix environment.

Co-requisites

Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading


  • Hix, D., Hartson, H., R.: Developing User Interfaces: Ensuring Usability Through Product & Process, John Wiley & Sons, 1993, ISBN 0-471-57813-4
  • Scheifler, R., W., Gettys, J.: X Window System, The Complete Reference to Xlib, X Protocol, ICCCM, XLFD, Digital Press, 1990, ISBN 1-55558-050-5
  • Nye, A., O'Reilly, T.: X Toolkit Intrinsics Programming Manual, OSF/Motif Edition, O'Reilly & Associates, 1990, ISBN 0-937175-62-5
  • Krause, A.: Foundations of GTK+ Development, Apress, 2007, ISBN13: 978-1-59059-793-4
  • Heller, D.: Motif Programming Manual, O'Reilly & Associates, 3rd ed 2002, ISBN 1-56592-016-3
  • Sheets, J.R.: Writing GNOME applications, Addison-Wesley, 2001, ISBN 0-201-65791-0
  • Dallheimer, M.K.: Programming with Qt, O'Reilly Verlag GmbH, 2001, ISBN 0-596-00064-2
  • Warkus, M.: Official GNOME 2 Developer's Guide, O'Reilly, 2004, ISBN: 1-59327-030-5

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

Study evaluation is based on marks obtained for specified items. Minimimum number of marks to pass is 50.

Language of instruction

Czech

Work placements

Not applicable.

Course curriculum

    Syllabus of lectures:
    1. Application classes from the point of view of user interaction.
    2. X Window system structure, X protocol, input and output graphic operations.
    3. Xlib level programming, simple application example, Toolkits, example of application using toolkit.
    4. OOP features in X Toolkit and GTK+, instance and class of widgets, properties, internal implementation.
    5. Widget naming system, resources, convertors.
    6. Built-in X Toolkit widget classes and their usage.
    7. Event processing, translation table, action table.
    8. User interface design rules
    9. Common OSF/Motif features, keyboard navigation, compound strings, font lists and renditions.
    10. Simple widget classes and their usage.
    11. Composite widget classes.
    12. Menu and dialogs.

    Syllabus of computer exercises:
    •  Development of simple application by using GTK+: compilation, link, delivering and handling events, basic graphic items.
    • Development of application by using Qt5 and utilization of modern language QML for implementation of graphic user interface.

    Syllabus - others, projects and individual work of students:
    1. Simple application based on given skeleton and examples, common assignment.
    2. X Toolkit/Motif or GTK+/GNOME application, individual assignment.

Aims

The goal is to make students familiar with the design and programming of graphical user interfaces in Unix/X Window System environment.

Specification of controlled education, way of implementation and compensation for absences

Projects have to be submitted before the deadline, late project submission will be graded 0 points.

Classification of course in study plans

  • Programme IT-MGR-2 Master's

    branch MBI , any year of study, winter semester, 5 credits, elective
    branch MPV , any year of study, winter semester, 5 credits, elective
    branch MGM , any year of study, winter semester, 5 credits, compulsory-optional
    branch MSK , any year of study, winter semester, 5 credits, elective
    branch MIS , any year of study, winter semester, 5 credits, compulsory-optional
    branch MBS , any year of study, winter semester, 5 credits, elective
    branch MIN , any year of study, winter semester, 5 credits, elective
    branch MMI , any year of study, winter semester, 5 credits, elective
    branch MMM , any year of study, winter semester, 5 credits, elective

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus


  1. Application classes from the point of view of user interaction.
  2. X Window system structure, X protocol, input and output graphic operations.
  3. Xlib level programming, simple application example, Toolkits, example of application using toolkit.
  4. OOP features in X Toolkit and GTK+, instance and class of widgets, properties, internal implementation.
  5. Widget naming system, resources, convertors.
  6. Built-in X Toolkit widget classes and their usage.
  7. Event processing, translation table, action table.
  8. User interface design rules
  9. Common OSF/Motif features, keyboard navigation, compound strings, font lists and renditions.
  10. Simple widget classes and their usage.
  11. Composite widget classes.
  12. Menu and dialogs.

Project

26 hours, optionally

Teacher / Lecturer