PERHAPS A GIFT VOUCHER FOR MUM?: MOTHER'S DAY

Close Notification

Your cart does not contain any items

X und Motif

Einführung in die Programmierung des Motif-Toolkits und des X-Window-Systems

Klaus Gottheil Hermann-Josef Kaufmann Thomas Kern Rui Zhao

$130.95   $105.07

Paperback

Not in-store but you can order this
How long will it take?

QTY:

German
Springer-Verlag Berlin and Heidelberg GmbH & Co. K
23 December 2011
Motif ist eine Software-Umgebung zur Implementierung grafischer Benutzungsoberfl{chen. Mit Motif erstellte Applikationen enthalten alle Elemente, die eine moderne Benutzungsoberfl{che auszeichnen, wie }berlappende Windows, Dialogboxen und Men}s. Motif ist f}r UNIX und VMS erh{ltlich und hat gute Chancen, Standard f}r diese Betriebssysteme zu werden. Motif besteht aus einem Toolkit, einer Beschreibungssprache, einem Window Manager und einem Style Guide. In diesem Buch wird die Programmierung von Applikationen mit Hilfe des Motif-Toolkits beschrieben. Das Motif-Toolkit stellt Grundbausteine f}r grafische Benutzungsoberfl{chen zur Verf}gung, die sogenannten Widgets. Es baut dabei auf dem X-Window-System und den X-Toolkit-Intrinsics des MIT

auf. Das Toolkit deckt aber nicht alle Aspekte einer Applikation ab. Daher

werden auch die notwendigen Kenntnisse }ber X und die Intrinsics vermittelt, ohne die eine erfolgreiche Motif-Applikation nicht realisiert werden kann. Das auf die Praxis zugeschnittene Buch wendet sich an all diejenigen, die Applikationen mit grafischen Benutzungsoberfl{chen entwickeln wollen. Die Konzepte des Toolkits werden anhand realistischer Beispiele vorgestellt. Dabei werden Grund-Schemata entwickelt, die auch auf andere Motif-Applikationen anwendbar sind.

By:   , , ,
Imprint:   Springer-Verlag Berlin and Heidelberg GmbH & Co. K
Country of Publication:   Germany
Edition:   Softcover reprint of the original 1st ed. 1992
Dimensions:   Height: 242mm,  Width: 170mm,  Spine: 36mm
Weight:   1.184kg
ISBN:   9783642773099
ISBN 10:   3642773095
Pages:   694
Publication Date:  
Audience:   Professional and scholarly ,  Undergraduate
Format:   Paperback
Publisher's Status:   Active
1 Einleitung.- 1.1 Das Motif-Toolkit.- 1.2 Lesehinweise.- 1.3 Weiterführende Literatur.- A Überblick und Konzepte.- 2 Fenster zur Welt.- 2.1 Wozu Windows?.- 2.2 Window-Historie.- 3 X-Windows machen’s möglich.- 3.1 Server und Client.- 3.2 Windows.- 3.3 Grafik im Raster.- 3.3.1 Grundlagen der Rastergrafik.- 3.3.2 Grafikausgaben mit der Xlib.- 3.4 Ereignisse werfen ihre Schatten voraus.- 3.5 Wunschlisten für Benutzer.- 3.6 Ein kleines Beispiel.- 4 Das Motif-Toolkit.- 4.1 Die Begriffswelt der Widgets.- 4.1.1 Klassen und Instanzen.- 4.1.2 Ein Baum von Klassen.- 4.1.3 Widgets, Windows und Shells.- 4.2 Widgets konkret.- 4.2.1 Das Hauptprogramm von xtime.- 4.2.2 Die Widgets erzeugen.- 4.2.3 Den Dialog organisieren.- 4.2.4 Der letzte Schliff.- B Programmieren mit Motif.- 5 Arbeiten mit X.- 5.1 Starten von X.- 5.1.1 Server, Clients und Displays.- 5.1.2 Die Maus.- 5.1.3 Das Programm xinit.- 5.1.4 Erweiterungen für .login und .cshrc.- 5.2 Terminals im Fenster.- 5.3 Schneiden und Kleben.- 5.4 Fenstergeometrie.- 5.5 Farben.- 5.6 Zeichensätze.- 5.7 Ressourcen.- 5.8 Ressourcen in den Server laden.- 5.9 Motif-Window-Manager.- 5.9.1 Starten des mwm.- 5.9.2 Mwm-Ressourcen.- 5.9.3 Menüs.- 5.9.4 Funktionen.- 5.9.5 Beispiel für ein Konfigurations-File.- 5.9.6 Im Brennpunkt: der Tastaturfokus.- 5.9.7 Icons selbstgemacht.- 6 Programmieren mit Xt und Motif.- 6.1 Hello World zum zweiten.- 6.1.1 Namenskonventionen und Bibliotheken.- 6.1.2 Include-Files.- 6.1.3 Initialisierung.- 6.1.4 Einfache Fehlerbehandlung.- 6.1.5 Keine Applikation ohne Shell.- 6.1.6 Das Label-Widget.- 6.1.7 Realisierung einer Widget-Hierarchie.- 6.1.8 Ereignisse ohne Ende: die Event-Schleife.- 6.2 Initialisierung mit Komfort.- 6.3 Der Default-Application-Context.- 6.4 Optionen.- 6.5 Wichtige Datentypen.- 6.6 Argumentlisten.- 6.7 Mehr über Argumentlisten.- 6.8 Erzeugen und Zerstören von Widgets.- 6.9 Callbacks.- 6.10 Variable Parameterlisten.- 7 Der Aufbau von Formularen.- 7.1 Das Beispiel „Software-Entwicklung”.- 7.1.1 Bedienung und Aufbau.- 7.1.2 Dialogobjekte und Layout-Widgets.- 7.1.3 Ein ganz normales Hauptprogramm.- 7.1.4 Ein einzeiliges Formular.- 7.1.5 Geschachtelte Formulare.- 7.1.6 Callback-Routinen für die Kommandos.- 7.2 Allgemeines zur Beschreibung von Widget-Klassen.- 7.3 Geometrie und Farben der Dialogobjekte.- 7.4 Das Label-Widget.- 7.4.1 Compound-Strings im Label-Widget.- 7.4.2 Bilder im Label-Widget.- 7.4.3 Ausrichten des Label-Inhaltes.- 7.4.4 Trennen mit einem Separator-Widget.- 7.5 PushButton- Widgets.- 7.5.1 Verschiedene Callback-Listen.- 7.5.2 Das Erscheinungsbild eines Push-Buttons.- 7.5.3 Ein Widget abschalten: Die Ressource XmNsensitive.- 7.5.4 Vorgefertigte Buttons.- 7.6 Der Toggle-Button.- 7.6.1 Zustand eines Toggle-Buttons.- 7.6.2 Zustandsänderungen im Programm.- 7.6.3 Markierungen und Radio-Buttons.- 7.7 Das Text-Widget.- 7.7.1 Bedienung eines Text-Widgets.- 7.7.2 Der Text im Widget.- 7.7.3 Das Aussehen des Text-Widgets.- 7.7.4 Die Callback-Routinen eines Text-Widgets.- 7.7.5 Ein einfacher Text-Editor.- 7.7.6 Text-Widgets mit Scrollbars.- 7.7.7 Text-Widgets für Fortgeschrittene.- 7.7.8 Eine spezielle Widget-Klasse für einzeilige Texte.- 7.8 Piazieren mit dem RowColumn-Widget.- 7.8.1 Die verschiedenen Varianten eines RowColumn-Widgets.- 7.8.2 Freies Piazieren im RowColumn-Widget.- 7.8.3 Kinder einheitlicher Größe.- 7.8.4 Kinder gleicher Höhe oder Breite.- 7.8.5 Einheitliche Ressourcen für die Kinder.- 7.9 Ein universelles Layout-Widget, das Form-Widget.- 7.9.1 Constraint-Ressourcen.- 7.9.2 Plazierung der oberen Kante eines Kindes.- 7.9.3 Kinder flexibler Größe.- 7.10 Form-Widgets im Einsatz.- 7.10.1 Ein Form-Widget anstelle eines RowColumn-Widgets.- 7.10.2 Dehnbare Eingabezeilen.- 7.10.3 Layout im Ressourcen-File.- 7.10.4 Tabellen mit dem Form-Widget.- 7.11 Die Superklassen der Layout-Widgets.- 7.11.1 Layout-Widgets im Motif-Toolkit.- 7.11.2 Verschiedene Maßeinheiten.- 7.11.3 Schatten am Layout-Widget.- 8 Formulare im Zusammenspiel.- 8.1 Shell-Widgets als „Tor“zum Window-Manager.- 8.1.1 Ende nur auf Bestätigung.- 8.1.2 Dialoghierarchie.- 8.1.3 Shell-Hierarchie und Popup-Shells.- 8.1.4 Klassenhierarchie der Shell-Widgets.- 8.1.5 Zusammenspiel mit dem Window-Manager.- 8.1.6 Spezielle Ressourcen für den Fensterrahmen.- 8.1.7 Tastaturfokus und Tab-Groups.- 8.1.8 Begriffe.- 8.2 Meldungen für den Benutzer.- 8.2.1 Die Bestandteile einer Message-Box.- 8.2.2 Verschiedene Formen einer Message-Box.- 8.3 Das Bulletin-Board.- 8.3.1 Das Bulletin-Board als Metaklasse für Layout-Widgets.- 8.3.2 Bulletin-Boards und Shell-Widgets.- 8.3.3 Modale Formulare.- 8.3.4 Rahmen, Buttons und Fonts.- 8.4 Mehrere Formulare mit gleichem Aufbau.- 8.4.1 Interaktive Erzeugung eines Formulars.- 8.4.2 Das Formular und die Formulardatenstruktur.- 8.4.3 Eine Shell wird zerstört.- 8.4.4 Hierarchien.- 8.4.5 Mehrere Application-Shells.- 8.5 Dateien auswählen.- 8.5.1 Zur Bedienung einer File-Selection-Box.- 8.5.2 Die Widget-Klasse XmFileSelectionBox.- 8.5.3 Eine File-Selection-Box für jedes Arbeitsformular.- 8.5.4 Toggle-Buttons zur Steuerung des Datenflusses.- 8.6 Strings auswählen.- 8.6.1 Die Widget-Klasse XmSelectionBox.- 8.6.2 String-Listen und Callbacks der Selection-Box.- 8.6.3 Anwendungen einer Selection-Box.- 8.6.4 Die Work-Area einer Selection-Box.- 8.6.5 Prompt-Dialog-Box als leere Dialogbox.- 8.6.6 Die Widget-Klasse XmList.- 8.6.7 Verschiedene Selektionsarten.- 8.6.8 Ein List-Widget mit Scrollbars.- 8.7 Das Scrollbar-Widget.- 8.7.1 Widgets mit dem Scrollbar verschieben.- 8.7.2 Eine universelle Zeichenfläche.- 8.7.3 Die Länge des Balkens.- 8.7.4 Ein Widget verschieben.- 8.7.5 Andere Widgets mit Scrollbars.- 8.7.6 Weitere Ressourcen eines Scrollbars.- 8.7.7 Zahlen auf einer Skala darstellen.- 8.8 Aspekte der Fehlerbehandlung.- 8.8.1 Vorsorge gegen Fehlbedienung.- 8.8.2 Fehler im Text-Widget.- 8.8.3 Jede Änderung im Text prüfen.- 8.8.4 Fehlermeldungen aus dem Ressourcen-File.- 8.8.5 X-Toolkit- und Xlib-Fehler.- 8.8.6 Die lokale Event-Schleife — einfach, aber unsauber.- 8.9 Die letzte Version des Programms soft.- 8.10 Auf der Suche nach Widgets und Ressourcen.- 8.10.1 Die richtige Widget-Klasse.- 8.10.2 Die Ressourcen für den gewünschten Effekt.- 8.10.3 Widgets ohne Window: Gadgets.- 9 Grafik.- 9.1 Der Grafik-Testrahmen grtest.- 9.2 Farben.- 9.2.1 Was kann der Bildschirm?.- 9.2.2 Farben erfragen.- 9.2.3 Öffentliche Einträge in der Farbtabelle.- 9.2.4 Private Einträge in der Farbtabelle.- 9.2.5 Einträge in der Farbtabelle freigeben.- 9.2.6 Farbtabellen einrichten.- 9.3 Muster.- 9.3.1 Pixmaps erzeugen und zerstören.- 9.3.2 Pixel-Daten in der Applikation bearbeiten.- 9.3.3 Bitmap-Files.- 9.4 Buchstaben.- 9.4.1 Fonts suchen.- 9.4.2 Fonts laden und wieder freigeben.- 9.4.3 Informationen über Fonts einholen.- 9.5 Grafikkontexte.- 9.5.1 Grafikkontexte verwalten.- 9.5.2 Attribute von allgemeinem Interesse.- 9.6 Die Grafikressourcen für grtest.- 9.7 Grafik ausgeben.- 9.7.1 Linien zeichnen.- 9.7.2 Flächen füllen.- 9.7.3 Text schreiben.- 9.7.4 Pixmaps ausgeben.- 9.7.5 Flächen löschen.- 9.8 Die Grafikprimitiven für grtest.- 9.9 Der Cursor.- 10 Grafikdaten verwalten.- 10.1 Grafikdaten in Listenform.- 10.2 Grafikdaten als Objekte.- 10.2.1 Objektorientierte Programmierung.- 10.2.2 Objekte und Klassen in C.- 10.2.3 Die grafische Datenstruktur.- 11 Ereignisse intim.- 11.1 Datentypen für Events.- 11.2 Events auswählen.- 11.3 Event-Typen im Detail.- 11.3.1 Tastatur- und Maus-Events.- 11.3.2 Window-Eintritt und-Austritt.- 11.3.3 Expose-Events.- 11.3.4 Tastaturfokus.- 11.3.5 Window-Änderungen.- 11.3.6 Sonstige Events.- 11.4 Der Grafikeditor gredi.- 11.5 Events selbst behandeln.- 11.6 gredi mit Event-Handlern.- 11.7 Actions.- 11.7.1 Action-Routinen bekannt machen.- 11.7.2 Translation-Tables in der Applikation ändern.- 11.7.3 Eigene Translation-Tables schreiben.- 11.7.4 Tasten umcodieren.- 11.8 gredi mit Action-Routinen.- 11.9 Eingaben beschleunigen.- 12 Menüs à la carte.- 12.1 Pulldown-Menüs.- 12.1.1 Pulldown-Menüs im Detail.- 12.1.2 Ein einfaches Pulldown-Menü.- 12.1.3 Hierarchische Pulldown-Menüs.- 12.2 Popup-Menüs.- 12.2.1 Erzeugung einer Popup-Pane.- 12.2.2 Testrahmen für Popup-Menüs.- 12.3 Option-Menüs.- 12.3.1 Der Aufbau eines Option-Menüs.- 12.3.2 Ein Beispiel für das Option-Menü.- 12.4 Beschleunigung.- 12.4.1 Mnemonics.- 12.4.2 Accelerators.- 13 Prozeßkommunikation.- 13.1 Grundlagen.- 13.2 Atome speichern Namen.- 13.3 Fenster haben Properties.- 13.3.1 Properties lesen.- 13.3.2 Properties erzeugen und verändern.- 13.3.3 Portabilitätsprobleme bei Strukturen.- 13.3.4 Properties löschen.- 13.3.5 Properties und Events.- 13.3.6 Vordefinierte Property-Namen.- 13.4 Kommunizieren mit Events.- 13.4.1 Properties und ClientMessage-Events im Zusammenspiel.- 13.5 Selektionen.- 13.6 Das Motif-Clipboard.- 13.6.1 Die Clipboard-Schnittstelle.- 13.6.2 Daten auf das Clipboard kopieren.- 13.6.3 Daten vom Clipboard lesen.- 13.6.4 Verschiedene Formate.- 13.6.5 Große Datenmengen.- 13.7 Kommunikation mit dem Window-Manager.- 13.7.1 Properties für den Window-Manager.- 13.7.2 Ein Property für Protokolle.- 13.7.3 Window-Manager-Protokolle am Beispiel.- 14 Spezielle Callbacks.- 14.1 Callback-Routinen mit Verzögerung.- 14.2 Callbacks an File-Descriptoren.- 14.3 Callbacks für die Wartezeiten.- C Programmierung von Widget-Klassen.- 15 Klassengesellschaft.- 15.1 Die Klassenhierarchie von Motif.- 15.2 Der Aufbau einer Widget-Klasse.- 16 Die Basisklassen der Toolkit-Intrinsics.- 16.1 Die Klasse Core.- 16.1.1 Der Klassen-Record von Core.- 16.1.2 Der Instanzen-Record von Core.- 16.2 Die Klasse Composite.- 16.2.1 Der Klassen-Record von Composite.- 16.2.2 Der Instanzen-Record von Composite.- 16.3 Die Klasse Constraint.- 16.3.1 Der Klassen-Record von Constraint.- 16.3.2 Der Instanzen-Record von Constraint.- 16.4 Abarbeitung der Felder des Klassen-Records.- 16.5 Das Ressourcen-Array eines Widgets.- 16.6 Die Funktionen einer Widget-Klasse.- 16.6.1 Die Funktion initiaiize().- 16.6.2 Die Funktion resize().- 16.6.3 Die Funktion expose().- 16.6.4 Die Funktion set_values().- 16.6.5 Die Funktion destroy().- 16.7 Klassen- und Instanzenzeiger.- 17 Die Klasse XmIconButton.- 17.1 IconB.h — das öffentliche Include-File.- 17.2 IconBP.h — das private Include-File.- 17.3 IconB.c — das Source-File.- 17.3.1 Das Ressourcen-Array.- 17.3.2 Initialisierung des Klassen-Records.- 17.3.3 Funktionen des Icon-Buttons.- Anhang: Quelltexte.- A.1 Textausgaben in Callback-Routinen mit langer Ausführungszeit.- A.2 Benutzungsoberfläche für Bourne-Shells.

Reviews for X und Motif: Einführung in die Programmierung des Motif-Toolkits und des X-Window-Systems

. ..der Einstieg ins Thema ist sehr steil, doch die Verfasser haben sich bem ht und die Didaktik ist ihnen gut gelungen.... man findet das Wichtigste ber X. Ein ausgezeichnetes Buch. (mc) Insgesamt ist der Text leicht lesbar, wozu auch der ungew hnlich lockere Stil beitr gt.... eine rundum gelungene Einf hrung in die Programmierung dreier Software-Systeme. (iX) Das Buch gef llt durch seinen klaren und bersichtlichen Aufbau. Die zahlreichen Programmierbeispiele und praktischen Hinweise hinterlassen einen sehr guten Eindruck. F r eine Einf hrung in das Motif-Toolkit ist das Buch daher sehr zu empfehlen. (HMD)


See Also