ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ Παρουσίαση της LessTif  Μαραγκός ΘοδωρήςΑ.Μ. 557  Καρκάνης ΗλίαςΑ.Μ. 539.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING.
Advertisements

Κληρονομικότητα. Εισαγωγή  Κληρονομικότητα (Inheritance) καλείται ο μηχανισμός με τον οποίο μία νέα κλάση που ονομάζεται παράγωγη (derived class) δημιουργείται.
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Πανεπιστήμιο Αιγαίου Σχολή Επιστημών της Διοίκησης Τμήμα Μηχανικών Οικονομίας & Διοίκησης Computer applications in the modern enterprise Γ. Κούζας, PhD.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 1ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 5 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ – ΜΗΧΑΝΗΣ Εαρινό Εξάμηνο 2007 Παρουσίαση Εργαλείου Ανάπτυξης JBuilder Τσουρού Σταυρούλα, ΑΜ 708 Μαδεμλής Ιωάννης, ΑΜ 669.
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
Message Passing Interface (MPI)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Γλώσσα Προγραμματισμού
29/11/2004Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
1/12/2003Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
24/11/2003Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
22/11/2004Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
File Management και I/O στο UNIX
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 11: Intro to Applets Εβδομάδα 11: Εισαγωγή στα Applets.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 10: Graphical User Interfaces Εβδομάδα 10: Εισαγωγή στα Γραφικά Περιβάλλοντα.
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
Τι είναι Ανάλυση Τι είναι Συστήματα Πληροφορικής
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 6: Το Γραφικό Περιβάλλον Επικοινωνίας (Γ.Π.Ε.)
Σχεδίαση αλγορίθμων (2ο μέρος)
1 Ολυμπιάδα Πληροφορικής Μάθημα 7. 2 Στόχοι μαθήματος Δημιουργία συναρτήσεων από το χρήστη Δομή προγράμματος με συναρτήσεις Συναρτήσεις και παράμετροι.
GTK - ΕΙΣΑΓΩΓΗ ΦΩΤΗΣ ΣΙΤΑΡΑΣ A.M: 1117.
Ολυμπιάδα Πληροφορικής
ΣΥΝΑΡΤΗΣΕΙΣ.
ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ
Τμήμα Πληροφορικής Πανεπιστημίου Κύπρου ΕΠΛ 371 – Προγραμματισμός Συστημάτων Ονόματα: Αντώνης Μαυρής, Γιώργος Ματθαίου, Χρίστος Κυριάκου Ταυτότητες: ,
Message Passing Interface (MPI) Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων Αθήνα, Δεκέμβριος 2002.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Παρουσίαση της Motif Αναστάσιος Κρυσταλλίδης Α.Μ.: 776 Δημήτρης Μπαμπαλίκης Α.Μ.: 941 Επικοινωνία Ανθρώπου-Μηχανής.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: To λογισμικό του υπολογιστή
ΑΝΑΚΕΦΑΛΑΙΩΣΗ 26 Οκτωβρίου Αντικειμενοστρεφής Προγραμματισμός Ένα νέο προγραμματιστικό μοντέλο (paradigm) το οποίο στηρίζεται στις κλάσεις και τα.
Applets Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού.
Κεφάλαιο 10 – Υποπρογράμματα
Έλεγχος Ονομάτων (Name Control) Για ένα πρόγραμμα που αποτελείται από πολλά τμήματα κάποια από τα οποία έχουν πιθανώς γραφτεί από άλλους προγραμματιστές.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
Παρουσίαση Glade Νίκος Δεληγιάννης Α.Μ.: Τι είναι το Glade; Εφαρμογή για την αυτοματοποίηση της σχεδίασης ενός γραφικού περιβάλλοντος χρήστη (GUI).
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Προγραμματισμός με GTK ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ» ΑΛΕΞΑΝΔΡΟΣ Κ. ΓΙΔΑΡΑΚΟΣ
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
Applets Εκτελούνται από τον appletviewer και από Java enabled web browsers Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
On user-defined features Christoph M Hoffmann and Robert Joan-Arinyo Ανδρέας Φωτίου.
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Μαθηματικών “Θεωρητική Πληροφορική & Θεωρία Συστημάτων και Ελέγχου” Ανάπτυξη διαδραστικού περιβάλλοντος (GUI)
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
Εισαγωγή στη C# Μαρίνος Θεμιστοκλέους Ανδρούτσου 150 Γραφείο 206 Τηλ Ώρες Γραφείου: Τετάρτη 5-6 μμ.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
Τ.Ε.Ι. Κεντρικής Μακεδονίας ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε Τίτλος Πτυχιακής Εργασίας: Κατασκευή διδακτικού πακέτου προσομοίωσης των μηχανικών ταλαντώσεων.
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη.
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Κλάσεις και αντικείμενα
ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε.
Τεχνολογία και Προγραμματισμός Υπολογιστών
ΣΥΣΤΗΜΑ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ (QUALITY SYSTEM)
Tkinter Γραφικά στην Python.
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
Swing II Εβδομάδα Νο. 6.
ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό (στη γλώσσα Java)
Μεταγράφημα παρουσίασης:

ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ Παρουσίαση της LessTif  Μαραγκός ΘοδωρήςΑ.Μ. 557  Καρκάνης ΗλίαςΑ.Μ. 539

Εισαγωγή Η LessTif είναι ένα σύνολο εργαλείων ( toolkit ) για την ανάπτυξη εφαρμογών σε περιβάλλον X Windows, το οποίο εφαρμόζεται στα περισσότερα λειτουργικά συστήματα ( Windows, Unix, Macintosh κ.α. ) Είναι η open source εκδοχή της OSF / Motif. Έχει σχεδιαστεί έτσι, ώστε ο ίδιος πηγαίος κώδικας να είναι συμβατός με τα δύο σύνολα εργαλείων και να επιτελεί τις ίδιες ακριβώς λειτουργίες σε αυτά. Η ανάπτυξή της είναι εξ’ ολοκλήρου αποτέλεσμα εθελοντικής εργασίας. Χρησιμοποιείται για Graphical User Interface ( GUI ) εφαρμογές, παρέχοντας μια πολύ ευέλικτη βάση για αυτές.

Η LessTif επικεντρώνεται κυρίως στο σχεδιασμό των αντικειμένων που συνθέτουν το interface του χρήστη ( menus, buttons, dialog boxes, text entry, display areas ). Υπάρχουν κάποιοι γενικοί κανόνες, αλλά κυρίως η εγκυρότητα ενός interface εξαρτάται από τη συνεπή συμπεριφορά των αντικειμένων που το αποτελούν, παρά από την ακριβή διάταξή τους. Το αντικείμενο της LessTif αποτελείται από δύο βασικά μέρη: a)Το μοντέλο εξόδου, το οποίο περιγράφει τον τρόπο με τον οποίο τα αντικείμενα εμφανίζονται στην οθόνη (π.χ σχήμα κουμπιών, θέση παραθύρων). b)Το μοντέλο εισόδου, το οποίο καθορίζει πώς ο χρήστης αλληλεπιδρά με τα στοιχεία της οθόνης.

Βασικά στοιχεία της LessTif H Lesstif χρησιμοποιεί όπως αναφέρθηκε το Χ Window System ως περιβάλλον και το X Toolkit Intrinsics ως πλατφόρμα για τη διεπιφάνεια εφαρμογής του προγραμματιστή ( API ). Η Xt παρέχει ένα αντικειμενοστρεφές πλαίσιο εργασίας για τη δημιουργία επαναχρησιμοποιήσιμων και διαμορφώσιμων στοιχείων της διεπαφής, τα οποία ονομάζονται widgets. Ένα widget λειτουργεί ανεξάρτητα από την εφαρμογή, εκτός από προκαθορισμένες αλληλεπιδράσεις. Για παράδειγμα, ένα button widget «γνωρίζει» πώς να σχεδιάσει τον εαυτό του, καθώς και τον τρόπο με τον οποίο θα φωτίσει τον εαυτό του και θα αποκριθεί όταν ο χρήστης κάνει κλικ με το mouse σε αυτό. Η γενική συμπεριφορά ενός widget είναι μέρος των βιβλιοθηκών της Lesstif.

Υπάρχουν widgets για στοιχεία διεπαφής με το χρήστη, όπως menus, buttons, dialog boxes, text entry, display areas. Επιπρόσθετα, υπάρχουν widgets των οποίων η μοναδική λειτουργία είναι να ελέγχουν τη διάταξη άλλων widgets. Τα widgets αυτά ονομάζονται managers ή manager widgets. H Xt ορίζει κάποιες βασικές κλάσεις widgets, των οποίων η συμπεριφορά μπορεί να κληρονομηθεί και να προσαυξηθεί ή να τροποποιηθεί από άλλες κλάσεις widgets ( υπο – κλάσεις ). Ένα σύνολο widgets, όπως η βιβλιοθήκη LessTif Xm, ορίζει ένα πλήρες σύνολο widgets κλάσεων, που επαρκούν για τις βασικές ανάγκες των user – interfaces. H Xt επίσης υποστηρίζει αντικείμενα τα οποία ονομάζονται gadgets. Τα gadgets κατά μεγάλο μέρος μοιάζουν και ενεργούν σαν τα widgets, αλλά η συμπεριφορά τους ορίζεται από το manager widget που τα περιέχει. Γι’ αυτό και θεωρούνται «χαμηλότερης αξίας» αντικείμενα από τα widgets.

Για παράδειγμα, μια πλευρά ενός pulldown menu μπορεί να αποτελείται από button gadgets αντί για widgets, με την πλευρά να εκτελεί μεγάλος μέρος της λειτουργίας που κανονικά θα γινόταν από τα button widgets. Τα περισσότερα widgets και gadgets κληρονομούν χαρακτηριστικά από αντικείμενα που βρίσκονται ψηλότερα στην ιεραρχία κλάσεων. Για παράδειγμα, η κλάση LessTif PushButton κληρονομεί την ικανότητα να εμφανίζει ένα label από την κλάση widget Label, η οποία με τη σειρά της κληρονομεί ακόμη πιο βασικά χαρακτηριστικά των widgets από τις δικές της υπερκλάσεις. Ο προγραμματιστής έχει πρόσβαση σε συναρτήσεις που δημιουργούν ή καταστρέφουν widgets, καθώς και σε public μεταβλητές των widgets που ονομάζονται resources ( πόροι ).

Κατά τη δημιουργία ενός widget, στην ουσία το διαμορφώνουμε στιγμιαία, ρυθμίζοντας τα resources του. Δημιουργούμε δηλαδή ένα instance του widget. Τα widgets όμως είναι σχεδιασμένα κατά τέτοιο τρόπο, ώστε τα resources τους να μπορούν να τροποποιούνται δυναμικά κατά τη διάρκεια της εκτέλεσης ενός προγράμματος. Μια σημαντική κατηγορία resources των widgets είναι τα callback resources. Ένα widget που αναμένεται να αλληλεπιδράσει με την εφαρμογή παρέχει ένα callback resource για κάθε τύπο αλληλεπίδρασης που υποστηρίζει. Η αντιστοίχιση γεγονότων με λειτουργίες γίνεται από ρουτίνες που ονομάζονται callbacks. Μια εφαρμογή σε LessTif κατασκευάζεται με τη χρήση των βιβλιοθηκών Lesstif Xm και Intrinsics’ Χt. H Xt παρέχει συναρτήσεις για τη δημιουργία και τον προσδιορισμό των resources στα widgets, ενώ η Xm παρέχει τα widgets και επιπρόσθετα ένα σύνολο κατάλληλων συναρτήσεων για τη δημιουργία widget groups.

Ιεραρχία κλάσεων του συνόλου widgets της Lesstif

Ένα πρόγραμμα σε LessTif ακολουθεί το εξής πλάνο: 1) Αρχικοποίηση του X Toolkit Intrinsics. 2) Δημιουργία και διαχείριση widgets. 3) Κατασκευή widgets με τον καθορισμό των resources τους. 4) Καταγραφή callbacks στις λειτουργίες της εφαρμογής. 5) Υλοποίηση των widgets και μεταφορά ελέγχου στο event loop της Xt.

Προγραμματισμός Σε LessTif Ο πιο εύκολος τρόπος για να κατανοήσουμε το βασικό μοντέλο προγραμματισμού της LessTif είναι να εξετάσουμε ένα απλό παράδειγμα. /* hello.c -- initialize the toolkit using an application context ** and a toplevel shell widget, then create a pushbutton that says ** Hello using the varargs interface. */ #include main (int argc, char *argv[]) { Widget toplevel, button; XtAppContext app; void button_pushed(Widget, XtPointer, XtPointer); XmString label; Arg args[2];

XtSetLanguageProc (NULL, NULL, NULL); toplevel = XtVaOpenApplication (&app, "Hello", NULL, 0, &argc, argv, NULL,sessionShellWidgetClass, NULL); label = XmStringCreateLocalized ("Push here to say hello"); XtSetArg(args[0], XmNlabelString, label); button = XmCreatePushButton (toplevel, "pushme", args, 1); XmStringFree (label); XtAddCallback (button, XmNactivateCallback, button_pushed, NULL); XtManageChild (button); XtRealizeWidget (toplevel); XtAppMainLoop (app); } void button_pushed (Widget widget, XtPointer client_data, XtPointer call_data) { printf ("Hello Yourself!\n"); } Η έξοδος του παραπάνω προγράμματος είναι η εξής:

Παρατηρήσεις επί του προγράμματος Ένα πρόγραμμα σε Lesstif πρέπει να περιλαμβάνει ένα header αρχείο για κάθε αντίστοιχο widget που χρησιμοποιεί. Στο παράδειγμά μας χρησιμοποιούμε ένα PushButton widget, γι’ αυτό και περιλαμβάνουμε το αρχείο. Με την εντολή XtVaOpenApplication δημιουργούμε το λεγόμενο shell widget της εφαρμογής. Το widget αυτό λειτουργεί ως το top – level window της εφαρμογής και χειρίζεται τις αλληλεπιδράσεις της εφαρμογής με τον window manager. Όλα τα άλλα widgets της εφαρμογής δημιουργούνται ως απόγονοι του shell widget. Η συνάρτηση XmStringCreateLocalized ( ) δημιουργεί τις σύνθετες συμβολοσειρές των menu labels.

Η συνάρτηση XmCreatePushButton ( ) δημιουργεί το button, ως παιδί του top – level shell widget.  Το πρώτο όρισμα της συνάρτησης πρέπει να είναι manager widget. Στο παράδειγμά μας, δεν υπάρχει manager widget και το ρόλο αυτό αναλαμβάνει το shell widget, το οποίο μπορεί να έχει μόνο ένα παιδί.  Το δεύτερο όρισμα είναι ένα string που χρησιμοποιείται ως όνομα του widget.  Το τρίτο όρισμα είναι ο πίνακας args και το τέταρτο ο αριθμός των στοιχείων του πίνακα αυτού.

Η συνάρτηση XtAddCallback ( ) συνδέει τη λειτουργία μιας εφαρμογής με ένα callback resource.  To πρώτο όρισμα της συνάρτησης ορίζει το widget για το οποίο εγκαθιστάται το callback.  Το δεύτερο όρισμα είναι το όνομα του callback resource.  Το τρίτο όρισμα είναι ένας δείκτης στην callback συνάρτηση.  Το τέταρτο όρισμα ονομάζεται client data.

Η συνάρτηση XtRealizeWidget () δημιουργεί το πραγματικό παράθυρο του widget. Όταν τη καλέσουμε με όρισμα το top-level widget τότε η Xt αναδρομικά διατρέχει την ιεραρχία των widget στην εφαρμογή και δημιουργεί ένα παράθυρο για το καθένα. Πριν κληθεί η XtRealizeWidget () τα widgets υπήρχαν μόνο ως δομές δεδομένων. Η συνάρτηση XtAppMainLoop() δίνει τον έλεγχο της εφαρμογής στο X Toolkit Intrinsics. Το Xt χειρίζεται τη μεταβίβαση των γεγονότων στο κατάλληλο widgets, τα οποία με τη σειρά τους τα περνάνε στις εφαρμογές μέσω των callbacks.

Τύποι δεδομένων και δομές που υποστηρίζει η Lesstif Στη Lesstif μπορούμε να χρησιμοποιήσουμε όλους τους τύπους δεδομένων που υποστηρίζει η C (int, char, πίνακες κτλ.). Επιπρόσθετα υποστηρίζει κάποιους ειδικούς τύπους δεδομένων τα οποία χρησιμοποιούνται σαν ορίσματα ή σαν τιμές επιστροφής στις ρουτίνες που χρησιμοποιούνται (XmString, XmTextPosition κ.α.). Η Lesstif υποστηρίζει δομές επανάληψης και επιλογής (for, while, if, switch).

Μερικά παραδείγματα widgets Scrolledwindow Το Scrolledwindow widget παρέχει τη δυνατότητα παρουσίασης δεδομένων (κείμενο, γραφικά). Αν τα δεδομένα που πρέπει να παρουσιαστούν είναι μεγαλύτερα από το Scrolledwindow, τότε οι Scrollbars παρέχουν στο χρήστη τη δυνατότητα να δει το πλήρες περιεχόμενό τους.

Mainwindow widget To Mainwindow widget καθορίζει τη διάταξη του main window της εφαρμογής. Είναι έτσι διαμορφωμένο ώστε να παρέχει Menubar, Command area, Message area, Scrollbars κ.α., αν και η ύπαρξη των συγκεκριμένων widgets είναι προερετική.

Τέλος Παρουσίασης