Linux · User Manual SANTARO-1.44.4-0 Linux · User Manual · SANTARO-1.44.4-0

Total Page:16

File Type:pdf, Size:1020Kb

Linux · User Manual SANTARO-1.44.4-0 Linux · User Manual · SANTARO-1.44.4-0 Linux · User Manual SANTARO-1.44.4-0 Linux · User Manual · SANTARO-1.44.4-0 Important hints Thank you very much for purchasing a Garz & Fricke product. Our products are dedicated to professional use and therefore we suppose extended technical knowledge and practice in working with such products. The information in this manual is subject to technical changes, particularly as a result of continuous product upgrades. Thus this manual only reflects the technical status of the products at the time of printing. Before design-in the device into your or your customer’s product, please verify that this document and the therein described specification is the latest revision and matches to the PCB version. We highly recommend contacting our technical sales team priorto any activity of that kind. A good way getting the latest information is to check the release notes of each product and/or service. Please refer to the chapter[ I 10 Related documents and online support]. The attached documentation does not entail any guarantee on the part of Garz & Fricke GmbH with respect to technical processes described in the manual or any product characteristics set out in the manual. We do not accept any liability for any printing errors or other inaccuracies in the manual unless it can be proven that we are aware of such errors or inaccuracies or that we are unaware of these as a result of gross negligence and Garz & Fricke has failed to eliminate these errors or inaccuracies for this reason. Garz & Fricke GmbH expressly informs that this manual only contains a general description of technical processes and instructions which may not be applicable in every individual case. In cases of doubt, please contact our technical sales team. In no event, Garz & Fricke is liable for any direct, indirect, special, incidental or consequential damages arising out of use or resulting from non-compliancy of therein conditions and precautions, even if advised of the possibility of such damages. Before using a device covered by this document, please carefully read the related hardware manual and the quick guide, which contain important instructions and hints for connectors and setup. Embedded systems are complex and sensitive electronic products. Please act carefully and ensure that only qualified personnel will handle and use the device at the stage of development. In the event of damage to the device caused by failure to observe the hints in this manual and on the device (especially the safety instructions), Garz & Fricke shall not be required to honour the warranty even during the warranty period and shall be exempted from the statutory accident liability obligation. Attempting to repair or modify the product also voids all warranty claims. Before contacting the Garz & Fricke support team, please try to help yourself by the means of this manual or any other documentation provided by Garz & Fricke or the related websites. If this does not help at all, please feel free to contact us or our partners as listed below. Our technicians and engineers will be glad to support you. Please note that beyond the support hours included in the Starter Kit, various support packages are available. To keep the pure product cost at a reasonable level, we have to charge support and consulting services per effort. Shipping address: Garz & Fricke GmbH Tempowerkring 2 21079 Hamburg Germany Support contact: Phone +49 (0) 40 / 791 899 - 30 Fax +49 (0) 40 / 791 899 - 39 Email I [email protected] URL I www.garz-fricke.com © Copyright 2012 by Garz & Fricke GmbH. All rights are reserved. Copies of all or part of this manual or translations into a different language may only be made with the prior written approval. 2 Contents Important hints 2 1 Introduction 4 2 Overview 5 2.1 The bootloader 5 2.2 The Linux kernel 5 2.3 The root file system 5 2.4 The device configuration 6 2.5 The partition layout 6 2.6 Further information 6 3 Accessing the target system8 3.1 Serial console 8 3.2 SSH console 8 3.3 Telnet console 9 3.4 Uploading files with TFTP 9 3.5 Uploading files with FTP 10 4 Services and utilities 11 4.1 Services 11 4.1.1 Udev 11 4.1.2 Services only starting once after system installation 11 4.1.3 D-Bus 12 4.1.4 Banner 12 4.1.5 System time initialization 12 4.1.6 SSH service 13 4.1.7 Telnet service 13 4.1.8 FTP service 14 4.1.9 Module loading 14 4.1.10 Network initialization 14 4.1.11 Garz & Fricke shared configuration 15 4.1.12 Garz & Fricke Autocopy 15 4.1.13 Garz & Fricke Autostart 16 4.2 Utilities 18 4.2.1 Garz & Fricke system configuration 18 4.2.2 Installing a custom bootlogo 19 5 Accessing the hardware 21 5.1 Digital I/O 21 5.2 Serial interfaces (RS-232 / RS-485 / MDB) 22 5.3 Ethernet 22 5.4 Real Time Clock (RTC) 23 5.5 SPI 23 5.6 I2C 24 5.7 CAN Bus 24 5.8 USB 25 5.8.1 USB Host 26 5.8.2 USB Device 26 5.9 Display backlight 26 5.10 SD cards and USB mass storage 27 5.11 Touchscreen 27 5.11.1 tslib 27 5.11.2 Input subsystem 28 5.12 Audio 28 5.13 SRAM 29 5.14 Video 29 5.15 HDMI 30 5.15.1 Configuring Qt to use an HDMI display 30 5.15.2 Setting the HDMI display resolution 30 3 Linux · User Manual · SANTARO-1.44.4-0 5.15.3 Configuring Phonon/gstreamer to use an HDMI audio device 31 5.15.4 Additional information 31 5.16 WLAN 31 6 Building a Garz & Fricke embedded Linux system from source 33 6.1 General information about Garz & Fricke embedded Linux systems 33 6.2 Installing PTXDist 34 6.3 Installing the GNU cross toolchain for the target architecure 36 6.3.1 Installing a pre-compiled toolchain 36 6.4 Building the toolchain with PTXDist 37 6.5 Building the BSP for the target platform with PTXDist 38 7 Deploying the Linux system to the target 40 7.1 Development deployment 40 7.1.1 Host configuration 40 7.1.2 Target configuration 40 7.2 Release deployment 41 8 Building a user application for the target system 46 8.1 Non-GUI user application 46 8.1.1 Non-GUI user application outside from PTXDist 46 8.1.2 Non-GUI user application integrated into PTXDist 47 8.1.3 Using the Eclipse IDE 51 8.2 Qt-based GUI user application 70 8.2.1 Qt-based GUI user application outside from PTXDist 70 8.2.2 Qt-based GUI user application integrated into PTXDist 72 8.2.3 Using the Qt Creator IDE 76 8.3 Autostart mechanism for user applications 94 8.4 Configuring the Qt Webkit demo 95 9 Garz & Fricke Support Libraries 97 10 Related documents and online support 98 A GNU General Public License v2 99 A.1 Preamble 99 A.2 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 99 A.3 END OF TERMS AND CONDITIONS 102 A.3.1 How to Apply These Terms to Your New Programs 102 4 Linux · User Manual · SANTARO-1.44.4-0 1 Introduction Garz & Fricke systems based on Freescale i.MX6 can be used with an adapted version of Linux, a royalty- free open-source operating system. The Linux kernel as provided by Garz & Fricke is based on extensions by Freescale that currently have not been contributed back into the mainline kernel. Furthermore, Garz & Fricke has made several modifications and extensions to the kernel which are currently not contributed back to the mainline kernel as well. Nevertheless, the full source code is available as a board support package (BSP) from Garz & Fricke. A Garz & Fricke device normally comes with a pre-installed Garz & Fricke Linux operating system. However, since Linux is an open source system, the user is able to build the complete BSP from source, modify it according to his needs and replace the pre-installed Linux system with a custom one. This manual contains information about the usage of the Garz & Fricke Linux operating system for SANTARO- 1.44.4-0, as well as the build process of the Garz & Fricke Linux BSP and the integration of custom software components. The BSP can be downloaded from the Garz & Fricke support server: I http://support.garz-fricke.com/projects/Santaro It does not include the complete source code to all packages. Instead, several external packages are downloaded during the build process from the Garz & Fricke packages mirror: I support.garz-fricke.com/mirror Modifications to these packages are provided as source code patches, which are part of the BSP. Please note that Linux development at Garz & Fricke is always in progress. Thus, there are new releases of the BSP at irregular intervals. Due to differences between the various Linux BSP platforms and versions, a separate manual is available for every platform/version combination above version 1.29.0. To avoid confusion, the version number of the manual exactly matches the BSP version number. In addition to this manual, please also refer to the dedicated hardware manuals which can be found on the Garz & Fricke website as well. 5 Linux · User Manual · SANTARO-1.44.4-0 2 Overview A Garz & Fricke Linux System generally consists of four basic components: the bootloader the Linux kernel the root file system the device configuration These software components are usually installed on separate partitions on the backing storage of the embedded system.
Recommended publications
  • Red Hat Enterprise Linux 6 Developer Guide
    Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Dave Brolley William Cohen Roland Grunberg Aldy Hernandez Karsten Hopp Jakub Jelinek Developer Guide Jeff Johnston Benjamin Kosnik Aleksander Kurtakov Chris Moller Phil Muldoon Andrew Overholt Charley Wang Kent Sebastian Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Edition 0 Author Dave Brolley [email protected] Author William Cohen [email protected] Author Roland Grunberg [email protected] Author Aldy Hernandez [email protected] Author Karsten Hopp [email protected] Author Jakub Jelinek [email protected] Author Jeff Johnston [email protected] Author Benjamin Kosnik [email protected] Author Aleksander Kurtakov [email protected] Author Chris Moller [email protected] Author Phil Muldoon [email protected] Author Andrew Overholt [email protected] Author Charley Wang [email protected] Author Kent Sebastian [email protected] Editor Don Domingo [email protected] Editor Jacquelynn East [email protected] Copyright © 2010 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
    [Show full text]
  • C/C++ Programming with Qt 5.12.6 and Opencv 4.2.0
    C/C++ programming with Qt 5.12.6 and OpenCV 4.2.0 Preparation of the computer • Download http://download.qt.io/archive/qt/5.12/5.12.6/qt-opensource-windows- x86-5.12.6.exe and http://www.ensta-bretagne.fr/lebars/Share/OpenCV4.2.0.zip (contains OpenCV with extra modules built for Visual Studio 2015, 2017, 2019, MinGW Qt 5.12.6 x86, MinGW 8 x64), run Qt installer and select Qt\Qt 5.12.6\MinGW 7.3.0 32 bit and Qt\Tools\MinGW 7.3.0 32 bit options and extract OpenCV4.2.0.zip in C:\ (check that the extraction did not create an additional parent folder (we need to get only C:\OpenCV4.2.0\ instead of C:\OpenCV4.2.0\OpenCV4.2.0\), right-click and choose Run as administrator if needed). For Linux or macOS, additional/different steps might be necessary depending on the specific versions (and the provided .pro might need to be tweaked), see https://www.ensta-bretagne.fr/lebars/Share/setup_opencv_Ubuntu.pdf ; corresponding OpenCV sources : https://github.com/opencv/opencv/archive/4.2.0.zip and https://github.com/opencv/opencv_contrib/archive/4.2.0.zip ; Qt Linux 64 bit : https://download.qt.io/archive/qt/5.12/5.12.6/qt-opensource-linux-x64-5.12.6.run (for Ubuntu you can try sudo apt install qtcreator qt5-default build-essential but the version will probably not be the same); Qt macOS : https://download.qt.io/archive/qt/5.12/5.12.6/qt-opensource-mac-x64-5.12.6.dmg .
    [Show full text]
  • Qt Long Term Support
    Qt Long Term Support Jeramie disapprove chorally as moreish Biff jostling her canneries co-author impassably. Rudolfo never anatomise any redemptioner sauces appetizingly, is Torre lexical and overripe enough? Post-free Adolph usually stetted some basidiospores or flutes effeminately. Kde qt versions to the tests should be long qt term support for backing up qt company What will i, long qt term support for sale in the long. It is hard not even wonder what our cost whereas the Qt community or be. Please enter your support available to long term support available to notify others of the terms. What tests are needed? You should i restarted the terms were examined further development and will be supported for arrhythmia, or the condition? Define ad slots and config. Also, have a look at the comments below for new findings. You later need to compile your own Qt against a WEC SDK which is typically shipped by the BSP vendor. If system only involve half open the features of Qt Commercial, vision will not warrant the full price. Are you javer for long term support life cycles that supports the latter occurs earlier that opens up. Cmake will be happy to dry secretions, mutation will i could be seen at. QObjects can also send signals to themselves. Q_DECL_CONSTEXPR fix memory problem. Enables qt syndrome have long term in terms and linux. There has been lots of hype around the increasing role that machine learning, and artificial intelligence more broadly, will play in how we automate the management of IT systems. Vf noninducible at qt and long term in terms were performed at.
    [Show full text]
  • Kde-Guide-De-Developpement.Web.Pdf
    KDE Published : 2017-06-26 License : GPLv2+ 1 KDE DU POINT DE VUE D'UN DÉVELOPPEUR 1. AVEZ-VOUS BESOIN DE CE LIVRE ? 2. LA PHILOSOPHIE DE KDE 3. COMMENT OBTENIR DE L'AIDE 2 1. AVEZ-VOUS BESOIN DE CE LIVRE ? Vous devriez lire ce livre si vous voulez développer pour KDE. Nous utilisons le terme développement très largement pour couvrir tout ce qui peut conduire à un changement dans le code source, ce qui inclut : Soumettre une correction de bogue Écrire une nouvelle application optimisée par la technologie KDE Contribuer à un projet existant Ajouter de la fonctionnalité aux bibliothèques de développement de KDE Dans ce livre, nous vous livrerons les bases dont vous avez besoin pour être un développeur productif. Nous décrirons les outils que vous devrez installer, montrer comment lire la documentation (et écrire la vôtre propre, une fois que vous aurez créé la nouvelle fonctionnalité !) et comment obtenir de l'aide par d'autres moyens. Nous vous présenterons la communauté KDE, qui est essentielle pour comprendre KDE parce que nous sommes un projet « open source », libre (gratuit). Les utilisateurs finaux du logiciel n'ont PAS besoin de ce livre ! Cependant, ils pourraient le trouver intéressant pour les aider à comprendre comment les logiciels complexes et riches en fonctionnalités qu'ils utilisent ont vu le jour. 3 2. LA PHILOSOPHIE DE KDE Le succès de KDE repose sur une vue globale, que nous avons trouvée à la fois pratique et motivante. Les éléments de cette philosophie de développement comprennent : L'utilisation des outils disponibles plutôt que de ré-inventer ceux existants : beaucoup des bases dont vous avez besoin pour travailler font déjà partie de KDE, comme les bibliothèques principales ou les « Kparts », et sont tout à fait au point.
    [Show full text]
  • Camcorder Multimedia Framework with Linux and Gstreamer
    Camcorder multimedia framework with Linux and GStreamer W. H. Lee, E. K. Kim, J. J. Lee , S. H. Kim, S. S. Park SWL, Samsung Electronics [email protected] Abstract Application Applications Layer Along with recent rapid technical advances, user expec- Multimedia Middleware Sequencer Graphics UI Connectivity DVD FS tations for multimedia devices have been changed from Layer basic functions to many intelligent features. In order to GStreamer meet such requirements, the product requires not only a OSAL HAL OS Layer powerful hardware platform, but also a software frame- Device Software Linux Kernel work based on appropriate OS, such as Linux, support- Drivers codecs Hardware Camcorder hardware platform ing many rich development features. Layer In this paper, a camcorder framework is introduced that is designed and implemented by making use of open Figure 1: Architecture diagram of camcorder multime- source middleware in Linux. Many potential develop- dia framework ers can be referred to this multimedia framework for camcorder and other similar product development. The The three software layers on any hardware platform are overall framework architecture as well as communica- application, middleware, and OS. The architecture and tion mechanisms are described in detail. Furthermore, functional operation of each layer is discussed. Addi- many methods implemented to improve the system per- tionally, some design and implementation issues are ad- formance are addressed as well. dressed from the perspective of system performance. The overall software architecture of a multimedia 1 Introduction framework is described in Section 2. The framework design and its operation are introduced in detail in Sec- It has recently become very popular to use the internet to tion 3.
    [Show full text]
  • LINUXBUILD User's Manual
    LEON Linux Linux for LEON processors 2020 User's Manual The most important thing we build is trust LINUXBUILD User's Manual Linux build environment for LEON systems LINBUILD 1 www.cobhamaes.com/gaisler December 2020, Version 2.1.1 Table of Contents 1. LINUXBUILD ...................................................................................................................... 3 1.1. Introduction ................................................................................................................ 3 1.2. Requirements .............................................................................................................. 3 1.3. Download Location ...................................................................................................... 3 1.4. Using the LINUXBUILD GUI ....................................................................................... 3 1.5. Mini Quickstart Guide .................................................................................................. 4 1.6. References .................................................................................................................. 4 2. Installing .............................................................................................................................. 5 2.1. Toolchain ................................................................................................................... 5 2.2. Linux kernel ..............................................................................................................
    [Show full text]
  • KDE Galaxy 4.13
    KDE Galaxy 4.13 - Devaja Shah About Me ●3rd Year Alienatic Student at DA- !"# Gandhinagar ●Dot-editor %or KDE &romo "ea' ●Member of KDE e.(. ●&a))ion for Technology# Literature ●+un the Google Developer Group in !olle$e ●-rganizin$ Tea' of KDE Meetup# con%./de.in 14 -/ay, sooooo....... ●Ho1 many of you are %an) of Science Fiction3 ●Astronomy3 ● 0o1 is it Related to KDE3 ●That i) precisely 1hat the talk is about. ●Analogy to $et you to kno1 everythin$ that you should about ● “Galaxy KDE 4.13” 4ait, isn't it 4.14? ●KDE5) late)t ver)ion S! 4.14 6 7ove'ber 8914 ●KDE Soft1are !o',ilation ::.xx ●Significance o% +elea)e) ●- -r$ani.ed# )y)te'atic co',ilation o% %eature) < develo,'ent) ●- 2ive )erie) of relea)e) till date. ●7o Synchronized +elea)e) Any lon$er: ● - KDE 2ra'e1ork) > ?'onthly@ ● - KDE &la)'a > ?3 'onth)@ ● - KDE Ap,lication) ?date ba)ed@ ●Au)t *i/e Ap, (er)ion) But, 1hat am I to do o% the Galaxy 7umber? ●4ork in a "eam ●4ork acros) a Deadline ●-%;ce Space Si'ulation ●Added 'petus %or Deliverin$ your 2eature) ●You 1ork a) a ,art of the C!oreD Developer "ea' ● nstils Discipline ●Better +e),onse# Better 2eedbac/ ●Better Deliverance ●Synchronized 1ork with other C)ea)onedD developer) Enough of the bore....... ●Ho1 do $et started3 ● - Hope you didn't )nooze yesterday ● +!# Subscribe to Mailing Lists ●Mentoring Progra') ●GsoC# Season of KDE, O2W Progra') ●Bootstra,pin$ Training Session) Strap yourself onto the Rocket ●And Blast O%%......... ● ● ● Entered A 4ormhole and Ea,ped into the KDE Galaxy ●No1 what? ●Pick a Planet to nhabit ●But....
    [Show full text]
  • National Semiconductor Is Pleased to Bring You This Kit in Cooperation with the Following Partners
    September 2001 Revision 1.0 Introducing Our Partners National Semiconductor is pleased to bring you this kit in cooperation with the following partners: Century Software Century Software, a fifteen-year veteran in the software industry, has developed core technologies for the new and fast-paced embedded Linux industry. These technologies include: a graphical develop- ment environment; customized Internet browsers and HTML viewers; multimedia, including MP3 audio players and MPEG video viewers; and a PDA development suite. These core technologies were designed specifically to allow both hardware designers and their customers to use either a small footprint graphical API (Microwindows), or the larger and more complex X-Window system, while maintaining compatibility with upper-level applications. Our technologies center around two core open source projects, Microwindows and ViewML. http://www.centurysoftware.com Datalight A world leader in embedded system software since 1983, Datalight has over 15 years of experience in developing reliable, small-footprint system software. In that time, Datalight has earned a reputation for providing ultra-compact, turnkey software solutions for OEMs of dedicated and multi-purpose information appliances from various industries worldwide. Hidden almost everywhere, Datalight soft- ware can be found in products representing: Computer Telephony, Electronic Data Interchange, Thin Clients, Point-of-Sale Systems, Medical Equipment, Single Board Computers, Gaming/ Entertain- ment Systems, Diagnostics and many more. http://www.datalight.com DT Research DT Research is an industry-leading provider of information access devices featured in a wide range of commercial and consumer deployments involving Intranet access, Internet connectivity, and offline applications. These display-centric systems emphasize wireless connectivity together with hardware and software integration to offer mobility, functionality and superior user experience on a thin client platform.
    [Show full text]
  • 1 Australian Synchrotron
    EPICS Qt Update Paul Martin 1 Australian Synchrotron • 3GeV, 216m circumference synchrotron • 8 Beamlines • 12 Software Engineers • IMBL – Worlds Widest Beam - MRT Clinical Program – Safety Critical • Melbourne, Australia • Nearest other facilities: Taiwan, Thailand, Japan • 16th Most Urbanized Country • World’s most livable cities • Hosting ICALEPCS in 2015 2 Qt • Qt is a cross-platform application and UI framework for developers using C++ – Windows,OS X, Linux, Embedded Linux, Android, iOS, vxWorks, Win CE, Amiga OS • Open Source (LPGL v2.1) Qt Designer • Trolltech -> Nokia -> Digia, • Development tools: Qt Creator, Qt Designer, Qmake, Qt Linguist, Qt Assistant, Integration into Visual Studio • Rich set of Widgets and other classes (1000+), Qwt (125+) • Very Good Documentation, help, examples • All Qt Objects contain powerful object communication Qt Creator mechanism (Signal+Slots) • GUI Layout widgets • Qt Project: www.qt-project.org 3 EPICS Qt – Team • Started 2009 – Anthony Owen, Andrew Rhyder, Glenn Jackson • Joined 2011 – Andy Starritt • Joined 2012 – Ricardo Fernandez • Joined 2013 – Zai Wang (1 year contract) 4 EPICS Qt – Rapid GUI Development • Adds Channel Access to standard Qt Widgets and Data Classes • Rapid GUI Dev – Drag and Drop EPICS aware components in Qt Designer • Macro Substitutions for PV names and other GUI functions Qt Designer Channel Access running at design time .ui file – presented using QEGui on any platform (windows / linux) 5 EPICS Qt – Other App Types QCaString Qt Creator QCaInteger QCaFloating QCaByteArray
    [Show full text]
  • Kdesrc-Build Script Manual
    kdesrc-build Script Manual Michael Pyne Carlos Woelz kdesrc-build Script Manual 2 Contents 1 Introduction 8 1.1 A brief introduction to kdesrc-build . .8 1.1.1 What is kdesrc-build? . .8 1.1.2 kdesrc-build operation ‘in a nutshell’ . .8 1.2 Documentation Overview . .9 2 Getting Started 10 2.1 Preparing the System to Build KDE . 10 2.1.1 Setup a new user account . 10 2.1.2 Ensure your system is ready to build KDE software . 10 2.1.3 Setup kdesrc-build . 12 2.1.3.1 Install kdesrc-build . 12 2.1.3.2 Prepare the configuration file . 12 2.1.3.2.1 Manual setup of configuration file . 12 2.2 Setting the Configuration Data . 13 2.3 Using the kdesrc-build script . 14 2.3.1 Loading project metadata . 14 2.3.2 Previewing what will happen when kdesrc-build runs . 14 2.3.3 Resolving build failures . 15 2.4 Building specific modules . 16 2.5 Setting the Environment to Run Your KDEPlasma Desktop . 17 2.5.1 Automatically installing a login driver . 18 2.5.1.1 Adding xsession support for distributions . 18 2.5.1.2 Manually adding support for xsession . 18 2.5.2 Setting up the environment manually . 19 2.6 Module Organization and selection . 19 2.6.1 KDE Software Organization . 19 2.6.2 Selecting modules to build . 19 2.6.3 Module Sets . 20 2.6.3.1 The basic module set concept . 20 2.6.3.2 Special Support for KDE module sets .
    [Show full text]
  • Multiplatformní GUI Toolkity GTK+ a Qt
    Multiplatformní GUI toolkity GTK+ a Qt Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI GUI toolkit (widget toolkit) (1) = programová knihovna (nebo kolekce knihoven) implementující prvky GUI = widgety (tlačítka, seznamy, menu, posuvník, bary, dialog, okno atd.) a umožňující tvorbu GUI (grafického uživatelského rozhraní) aplikace vlastní jednotný nebo nativní (pro platformu/systém) vzhled widgetů, možnost stylování nízkoúrovňové (Xt a Xlib v X Windows System a libwayland ve Waylandu na unixových systémech, GDI Windows API, Quartz a Carbon v Apple Mac OS) a vysokoúrovňové (MFC, WTL, WPF a Windows Forms v MS Windows, Cocoa v Apple Mac OS X, Motif/Lesstif, Xaw a XForms na unixových systémech) multiplatformní = pro více platforem (MS Windows, GNU/Linux, Apple Mac OS X, mobilní) nebo platformově nezávislé (Java) – aplikace může být také (většinou) událostmi řízené programování (event-driven programming) – toolkit v hlavní smyčce zachytává události (uživatelské od myši nebo klávesnice, od časovače, systému, aplikace samotné atd.) a umožňuje implementaci vlastních obsluh (even handler, callback function), objektově orientované programování (objekty = widgety aj.) – nevyžaduje OO programovací jazyk! Jan Outrata (Univerzita Palackého v Olomouci) Multiplatformní GUI toolkity duben 2015 1 / 10 GUI toolkit (widget toolkit) (2) language binding = API (aplikační programové rozhraní) toolkitu v jiném prog. jazyce než původní API a toolkit samotný GUI designer/builder = WYSIWYG nástroj pro tvorbu GUI s využitím toolkitu, hierarchicky skládáním prvků, z uloženého XML pak generuje kód nebo GUI vytvoří za běhu aplikace nekomerční (GNU (L)GPL, MIT, open source) i komerční licence např. GTK+ (C), Qt (C++), wxWidgets (C++), FLTK (C++), CEGUI (C++), Swing/JFC (Java), SWT (Java), JavaFX (Java), Tcl/Tk (Tcl), XUL (XML) aj.
    [Show full text]
  • Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference
    USENIX Association Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference Monterey, California, USA June 10-15, 2002 THE ADVANCED COMPUTING SYSTEMS ASSOCIATION © 2002 by The USENIX Association All Rights Reserved For more information about the USENIX Association: Phone: 1 510 528 8649 FAX: 1 510 548 5738 Email: [email protected] WWW: http://www.usenix.org Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. XCL : An Xlib Compatibility Layer For XCB Jamey Sharp Bart Massey Computer Science Department Portland State University Portland, Oregon USA 97207–0751 fjamey,[email protected] Abstract 1 The X Window System The X Window System [SG86] is the de facto standard technology for UNIX applications wishing to provide a graphical user interface. The power and success of the X model is due in no small measure to its separation of The X Window System has provided the standard graph- hardware control from application logic with a stable, ical user interface for UNIX systems for more than 15 published client-server network protocol. In this model, years. One result is a large installed base of X applica- the hardware controller is considered the server, and in- tions written in C and C++. In almost all cases, these dividual applications and other components of a com- programs rely on the Xlib library to manage their inter- plete desktop environment are clients.
    [Show full text]