Gtk Version 2.15.93, Updated 2 September 2007

Total Page:16

File Type:pdf, Size:1020Kb

Gtk Version 2.15.93, Updated 2 September 2007 Guile-GNOME: Gtk version 2.15.93, updated 2 September 2007 Damon Chaplin many others This manual is for (gnome gtk) (version 2.15.93, updated 2 September 2007) Copyright 1997-2007 Damon Chaplin and others This work may be reproduced and distributed in whole or in part, in any medium, physical or electronic, so as long as this copyright notice remains intact and unchanged on all copies. Commercial redistribution is permitted and encouraged, but you may not redistribute, in whole or in part, under terms more restrictive than those under which you received it. If you redistribute a modified or translated version of this work, you must also make the source code to the modified or translated version available in electronic form without charge. However, mere aggregation as part of a larger work shall not count as a modification for this purpose. All code examples in this work are placed into the public domain, and may be used, modified and redistributed without restriction. BECAUSE THIS WORK IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE WORK, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRIT- ING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE WORK "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. SHOULD THE WORK PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY REPAIR OR CORREC- TION. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE WORK AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAM- AGES ARISING OUT OF THE USE OR INABILITY TO USE THE WORK, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. i Short Contents 1 Overview :::::::::::::::::::::::::::::::::::::::::::: 1 2 GtkDialog ::::::::::::::::::::::::::::::::::::::::::: 2 3 GtkInvisible ::::::::::::::::::::::::::::::::::::::::: 7 4 GtkMessageDialog :::::::::::::::::::::::::::::::::::: 8 5 GtkWindow ::::::::::::::::::::::::::::::::::::::::: 10 6 GtkWindowGroup ::::::::::::::::::::::::::::::::::: 36 7 GtkAboutDialog ::::::::::::::::::::::::::::::::::::: 37 8 GtkAssistant :::::::::::::::::::::::::::::::::::::::: 42 9 GtkAccelLabel :::::::::::::::::::::::::::::::::::::: 48 10 GtkImage :::::::::::::::::::::::::::::::::::::::::: 51 11 GtkLabel ::::::::::::::::::::::::::::::::::::::::::: 60 12 GtkProgressBar:::::::::::::::::::::::::::::::::::::: 72 13 GtkStatusbar ::::::::::::::::::::::::::::::::::::::: 76 14 GtkStatusIcon ::::::::::::::::::::::::::::::::::::::: 79 15 GtkButton:::::::::::::::::::::::::::::::::::::::::: 86 16 GtkCheckButton ::::::::::::::::::::::::::::::::::::: 92 17 GtkRadioButton ::::::::::::::::::::::::::::::::::::: 93 18 GtkToggleButton :::::::::::::::::::::::::::::::::::: 96 19 GtkLinkButton ::::::::::::::::::::::::::::::::::::: 100 20 GtkEntry :::::::::::::::::::::::::::::::::::::::::: 102 21 GtkEntryCompletion :::::::::::::::::::::::::::::::: 109 22 GtkHScale ::::::::::::::::::::::::::::::::::::::::: 113 23 GtkVScale ::::::::::::::::::::::::::::::::::::::::: 114 24 GtkSpinButton ::::::::::::::::::::::::::::::::::::: 115 25 GtkEditable:::::::::::::::::::::::::::::::::::::::: 122 26 GtkTextIter :::::::::::::::::::::::::::::::::::::::: 126 27 GtkTextMark :::::::::::::::::::::::::::::::::::::: 141 28 GtkTextBuffer :::::::::::::::::::::::::::::::::::::: 143 29 GtkTextTag :::::::::::::::::::::::::::::::::::::::: 159 30 GtkTextTagTable ::::::::::::::::::::::::::::::::::: 164 31 GtkTextView::::::::::::::::::::::::::::::::::::::: 166 32 GtkTreeModel :::::::::::::::::::::::::::::::::::::: 179 33 GtkTreeSelection:::::::::::::::::::::::::::::::::::: 191 34 GtkTreeViewColumn :::::::::::::::::::::::::::::::: 195 35 GtkTreeView ::::::::::::::::::::::::::::::::::::::: 203 ii 36 GtkTreeView drag-and-drop::::::::::::::::::::::::::: 222 37 GtkCellView ::::::::::::::::::::::::::::::::::::::: 224 38 GtkIconView ::::::::::::::::::::::::::::::::::::::: 227 39 GtkTreeSortable :::::::::::::::::::::::::::::::::::: 239 40 GtkTreeModelSort :::::::::::::::::::::::::::::::::: 240 41 GtkTreeModelFilter ::::::::::::::::::::::::::::::::: 243 42 GtkCellLayout:::::::::::::::::::::::::::::::::::::: 245 43 GtkCellRenderer :::::::::::::::::::::::::::::::::::: 247 44 GtkCellEditable :::::::::::::::::::::::::::::::::::: 252 45 GtkCellRendererAccel ::::::::::::::::::::::::::::::: 253 46 GtkCellRendererCombo :::::::::::::::::::::::::::::: 254 47 GtkCellRendererPixbuf :::::::::::::::::::::::::::::: 255 48 GtkCellRendererProgress ::::::::::::::::::::::::::::: 256 49 GtkCellRendererSpin :::::::::::::::::::::::::::::::: 257 50 GtkCellRendererText :::::::::::::::::::::::::::::::: 258 51 GtkCellRendererToggle::::::::::::::::::::::::::::::: 261 52 GtkListStore ::::::::::::::::::::::::::::::::::::::: 263 53 GtkTreeStore::::::::::::::::::::::::::::::::::::::: 269 54 GtkComboBox ::::::::::::::::::::::::::::::::::::: 274 55 GtkComboBoxEntry ::::::::::::::::::::::::::::::::: 282 56 GtkMenu :::::::::::::::::::::::::::::::::::::::::: 284 57 GtkMenuBar ::::::::::::::::::::::::::::::::::::::: 290 58 GtkMenuItem :::::::::::::::::::::::::::::::::::::: 291 59 GtkMenuShell :::::::::::::::::::::::::::::::::::::: 295 60 GtkImageMenuItem ::::::::::::::::::::::::::::::::: 299 61 GtkRadioMenuItem ::::::::::::::::::::::::::::::::: 301 62 GtkCheckMenuItem ::::::::::::::::::::::::::::::::: 303 63 GtkSeparatorMenuItem :::::::::::::::::::::::::::::: 305 64 GtkTearoffMenuItem :::::::::::::::::::::::::::::::: 306 65 GtkToolbar :::::::::::::::::::::::::::::::::::::::: 307 66 GtkToolItem ::::::::::::::::::::::::::::::::::::::: 312 67 GtkSeparatorToolItem ::::::::::::::::::::::::::::::: 318 68 GtkToolButton ::::::::::::::::::::::::::::::::::::: 319 69 GtkMenuToolButton :::::::::::::::::::::::::::::::: 324 70 GtkToggleToolButton :::::::::::::::::::::::::::::::: 326 71 GtkRadioToolButton :::::::::::::::::::::::::::::::: 327 72 GtkUIManager ::::::::::::::::::::::::::::::::::::: 328 73 GtkActionGroup :::::::::::::::::::::::::::::::::::: 337 iii 74 GtkAction ::::::::::::::::::::::::::::::::::::::::: 343 75 GtkToggleAction :::::::::::::::::::::::::::::::::::: 350 76 GtkRadioAction :::::::::::::::::::::::::::::::::::: 352 77 GtkColorButton :::::::::::::::::::::::::::::::::::: 355 78 GtkColorSelection ::::::::::::::::::::::::::::::::::: 358 79 GtkColorSelectionDialog ::::::::::::::::::::::::::::: 360 80 GtkFileSelection :::::::::::::::::::::::::::::::::::: 361 81 GtkFileChooser ::::::::::::::::::::::::::::::::::::: 364 82 GtkFileChooserButton ::::::::::::::::::::::::::::::: 380 83 GtkFileChooserDialog:::::::::::::::::::::::::::::::: 382 84 GtkFileChooserWidget ::::::::::::::::::::::::::::::: 385 85 GtkFileFilter ::::::::::::::::::::::::::::::::::::::: 386 86 GtkFontButton ::::::::::::::::::::::::::::::::::::: 389 87 GtkFontSelection ::::::::::::::::::::::::::::::::::: 393 88 GtkFontSelectionDialog :::::::::::::::::::::::::::::: 395 89 GtkInputDialog ::::::::::::::::::::::::::::::::::::: 396 90 GtkAlignment :::::::::::::::::::::::::::::::::::::: 397 91 GtkAspectFrame :::::::::::::::::::::::::::::::::::: 400 92 GtkHBox :::::::::::::::::::::::::::::::::::::::::: 402 93 GtkVBox :::::::::::::::::::::::::::::::::::::::::: 403 94 GtkHButtonBox :::::::::::::::::::::::::::::::::::: 404 95 GtkVButtonBox :::::::::::::::::::::::::::::::::::: 405 96 GtkFixed :::::::::::::::::::::::::::::::::::::::::: 406 97 GtkHPaned :::::::::::::::::::::::::::::::::::::::: 408 98 GtkVPaned :::::::::::::::::::::::::::::::::::::::: 409 99 GtkLayout ::::::::::::::::::::::::::::::::::::::::: 410 100 GtkNotebook::::::::::::::::::::::::::::::::::::::: 413 101 GtkTable :::::::::::::::::::::::::::::::::::::::::: 425 102 GtkExpander::::::::::::::::::::::::::::::::::::::: 429 103 GtkFrame ::::::::::::::::::::::::::::::::::::::::: 434 104 GtkHSeparator ::::::::::::::::::::::::::::::::::::: 437 105 GtkVSeparator ::::::::::::::::::::::::::::::::::::: 438 106 GtkHScrollbar :::::::::::::::::::::::::::::::::::::: 439 107 GtkVScrollbar :::::::::::::::::::::::::::::::::::::: 440 108 GtkScrolledWindow ::::::::::::::::::::::::::::::::: 441 109 GtkPrintOperation :::::::::::::::::::::::::::::::::: 446 110 GtkPrintContext :::::::::::::::::::::::::::::::::::: 455 111 GtkPrintSettings :::::::::::::::::::::::::::::::::::: 458 iv 112 GtkPageSetup :::::::::::::::::::::::::::::::::::::: 469 113 GtkPaperSize :::::::::::::::::::::::::::::::::::::: 474 114 GtkPrinter ::::::::::::::::::::::::::::::::::::::::: 477 115 GtkPrintJob ::::::::::::::::::::::::::::::::::::::: 478 116 GtkPrintUnixDialog ::::::::::::::::::::::::::::::::: 479 117 GtkPageSetupUnixDialog ::::::::::::::::::::::::::::: 480 118 GtkAdjustment ::::::::::::::::::::::::::::::::::::: 481 119 GtkArrow ::::::::::::::::::::::::::::::::::::::::: 484 120 GtkCalendar ::::::::::::::::::::::::::::::::::::::: 485 121 GtkDrawingArea :::::::::::::::::::::::::::::::::::: 488 122 GtkEventBox::::::::::::::::::::::::::::::::::::::: 490 123 GtkHandleBox ::::::::::::::::::::::::::::::::::::: 492 124 GtkIMContextSimple :::::::::::::::::::::::::::::::: 495 125 GtkIMMulticontext:::::::::::::::::::::::::::::::::: 496 126 GtkSizeGroup :::::::::::::::::::::::::::::::::::::: 497 127 GtkTooltips :::::::::::::::::::::::::::::::::::::::: 500 128 GtkViewport ::::::::::::::::::::::::::::::::::::::: 503 129 GtkAccessible :::::::::::::::::::::::::::::::::::::: 505 130 GtkBin::::::::::::::::::::::::::::::::::::::::::::
Recommended publications
  • Porting a Window Manager from Xlib to XCB
    Porting a Window Manager from Xlib to XCB Arnaud Fontaine (08090091) 16 May 2008 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version pub- lished by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Contents List of figures i List of listings ii Introduction 1 1 Backgrounds and Motivations 2 2 X Window System (X11) 6 2.1 Introduction . .6 2.2 History . .6 2.3 X Window Protocol . .7 2.3.1 Introduction . .7 2.3.2 Protocol overview . .8 2.3.3 Identifiers of resources . 10 2.3.4 Atoms . 10 2.3.5 Windows . 12 2.3.6 Pixmaps . 14 2.3.7 Events . 14 2.3.8 Keyboard and pointer . 15 2.3.9 Extensions . 17 2.4 X protocol client libraries . 18 2.4.1 Xlib . 18 2.4.1.1 Introduction . 18 2.4.1.2 Data types and functions . 18 2.4.1.3 Pros . 19 2.4.1.4 Cons . 19 2.4.1.5 Example . 20 2.4.2 XCB . 20 2.4.2.1 Introduction . 20 2.4.2.2 Data types and functions . 21 2.4.2.3 xcb-util library . 22 2.4.2.4 Pros . 22 2.4.2.5 Cons . 23 2.4.2.6 Example . 23 2.4.3 Xlib/XCB round-trip performance comparison .
    [Show full text]
  • Google Docs Reference
    Google Drive Quick Reference Guide Google Drive Homepage Overview 1. Search Drive: Enter your search text and click on the Search icon to find your files. Select the folder first if you would like to search within a specific folder. 2. New & Upload: Click New and choose from the list of documents, presentations, etc. that you can create or upload using Google Drive. 3. My Drive: The section of Google Drive on the web that syncs to your computer. Any time you modify a file or folder in My Drive, these changes will be mirrored in the local version of your Google Drive folder. 4. Navigation Panel: Links to your starred items and trash. Shared with me lets you view files, folders, and Google Docs that others have shared with you. 5. Download Google Drive (under settings in new drive): Download and install the Google Drive Client for your Mac/PC to sync files from your computer to Google Drive on the web. (won’t work on SBCSC computers) 6. Details Pane: Here you can see a preview of the select- ed file, the time of your last view, when it was last modi- fied, and by whom. You can also view and update the file’s sharing settings and organize it into folders. (right click (i) view details-or (i) on top menu top open pane) Upload Files and Folders into Google Drive You can upload and convert the following file types into Google Drive for online editing and sharing. • Documents: Microsoft Word, OpenOffice, StarOffice, RTF (.rtf), HTML, or plain text (.txt).
    [Show full text]
  • The Glib/GTK+ Development Platform
    The GLib/GTK+ Development Platform A Getting Started Guide Version 0.8 Sébastien Wilmet March 29, 2019 Contents 1 Introduction 3 1.1 License . 3 1.2 Financial Support . 3 1.3 Todo List for this Book and a Quick 2019 Update . 4 1.4 What is GLib and GTK+? . 4 1.5 The GNOME Desktop . 5 1.6 Prerequisites . 6 1.7 Why and When Using the C Language? . 7 1.7.1 Separate the Backend from the Frontend . 7 1.7.2 Other Aspects to Keep in Mind . 8 1.8 Learning Path . 9 1.9 The Development Environment . 10 1.10 Acknowledgments . 10 I GLib, the Core Library 11 2 GLib, the Core Library 12 2.1 Basics . 13 2.1.1 Type Definitions . 13 2.1.2 Frequently Used Macros . 13 2.1.3 Debugging Macros . 14 2.1.4 Memory . 16 2.1.5 String Handling . 18 2.2 Data Structures . 20 2.2.1 Lists . 20 2.2.2 Trees . 24 2.2.3 Hash Tables . 29 2.3 The Main Event Loop . 31 2.4 Other Features . 33 II Object-Oriented Programming in C 35 3 Semi-Object-Oriented Programming in C 37 3.1 Header Example . 37 3.1.1 Project Namespace . 37 3.1.2 Class Namespace . 39 3.1.3 Lowercase, Uppercase or CamelCase? . 39 3.1.4 Include Guard . 39 3.1.5 C++ Support . 39 1 3.1.6 #include . 39 3.1.7 Type Definition . 40 3.1.8 Object Constructor . 40 3.1.9 Object Destructor .
    [Show full text]
  • Drag-And-Guess: Drag-And-Drop with Prediction
    Drag-and-Guess: Drag-and-Drop with Prediction Takeshi Nishida Takeo Igarashi Department of Computer Science, Department of Computer Science, The University of Tokyo The University of Tokyo / PREST JST [email protected] [email protected] ABSTRACT is presented to the user as an animation; the user can start the Drag-and-guess is an extension of drag-and-drop that uses next operation before the animation terminates. predictions. As the user starts dragging an object, the system predicts the drop target and presents the result. If the target is hidden in a closed folder or beneath other windows, the system makes it temporarily visible to free the user from manual preparation. The user can accept the prediction by releasing the mouse button and the object flies to the target, or reject it by continuing the dragging operation, thereby switching to traditional drag-and-drop seamlessly. Keywords: Drag-and-drop, Drag-and-guess, Prediction INTRODUCTION We demonstrate an extension of traditional drag-and-drop Figure 1 Drag-and-guess in action. that uses predictions, called drag-and-guess (DnG) (Figure 1). As the user starts dragging an object, the system predicts the drop target and responds by revealing the predicted result. If the target is not visible (e.g., hidden in nested hierarchical folders or outside the area visible on the screen), -The user starts dragging the system automatically makes the target location -The system checks the situation temporarily visible. If the prediction is correct, the user can System : confident System : unconfident accept it by releasing the mouse button, when the object Task : difficult Task : easy automatically drops on the target.
    [Show full text]
  • Development Environment for the Raspberry Pi Using a Cross Compiling Toolchain and Eclipse | Hertaville 07.10.13 13:37
    Development Environment for the Raspberry Pi using a Cross Compiling Toolchain and Eclipse | Hertaville 07.10.13 13:37 Hertaville Welcome to Hertaville! Development Environment for the Raspberry Pi using a Cross Compiling Toolchain and Eclipse Posted on September 28, 2012 by halherta UPDATED July 15th 2013 In this blog entry the setup of a cross-compiling development environment for the Raspberry Pi will be demonstrated. This will include the Official Raspbian (armhf) cross compiling toolchain (available from github) Eclipse for C/C++ Developers (Linux) We will finally write a simple Hello World program on our development PC, compile it using the cross compiler and then deploy it onto our Raspberry Pi board to run it. I’m going to assume that you have already installed a Raspbian Wheezy image on your RPi board and that you have Linux installed on your desktop PC. For this tutorial I am using the Crunchbang 11 Linux OS (64-bit) on my PC. The instructions provided should work on most Debian/Ubuntu based Linux distributions running directly on a PC or as a a guest operating system via VMWare/ VirtualBox . A remote debugging tutorial; which I consider to be the continuation of this tutorial, can be found here. Finally, Derek Molloy has a great video tutorial on setting up a similar environment for the Beaglebone. Watching this video was incredibly informative and helped me set up this tutorial. So what is a cross compiling toolchain and why use one ? A native compiler such as the default gcc tool on the PC is a compiler that runs on an Intel machine, as well as creates binaries intended to be run on an Intel machine.
    [Show full text]
  • Drawing in GTK+
    CSci493.70 Graphical User Interface Programming Prof. Stewart Weiss Drawing in GTK+ Drawing in GTK+ Background In order to understand how to draw in GTK, you rst have to understand something about how GTK draws widgets, because how GTK draws widgets has an important role in how you design your drawing application. An understanding of how GTK draws widgets is also required if you ever plan to build your own custom widgets. Windows and Clipping Most windowing systems are designed around the idea that an application's visual display lies within a rectangular region on the screen called its window. The windowing system, e.g. Gnome or KDE or Explorer, does not automatically save the graphical content of an application's windows; instead it asks the application itself to repaint 1 its windows whenever it is needed. For example, if a window that is stacked below other windows gets raised to the top, then a client program has to repaint the area that was previously obscured. When the windowing system asks a client program to redraw part of a window, it sends an exposure event to the program that contains that window. An exposure event is simply an event sent from the underlying windowing system to a widget to notify it that it must redraw itself. In this context, a "window" means "a rectangular region with automatic clipping", not a top-level application window. Clipping is the act of removing portions of a window that do not need to be redrawn, or looked at the other way, it is determining which are the only regions of a window that must be redrawn.
    [Show full text]
  • Gtk Marries Ada: the GUI Technology Revolution
    GtkGtk MarriesMarries AdaAda:: TheThe GUIGUI TechnologyTechnology RevolutionRevolution [email protected] OverviewOverview History of GtkAda GtkAda Features Why Gtk Rather Than Other Toolkits? Why GtkAda rather than Gtk+? GtkAdaGtkAda -- HistoryHistory á The GIMP – GNU Photoshop clone á The Gtk+ library – Becomes independent á GtkGlade: a Gtk+ GUI builder á Gnome: a desktop manager á GVD: the GNU Visual Debugger GtkAdaGtkAda FeaturesFeatures ááHigh-level binding to the Gtk+ library – object-oriented – type safety – small and efficient ááHighly portable – Unixes: Linux, Solaris, … – Windows NT ááNative GtkAdaGtkAda FeaturesFeatures (2)(2) ááEvent handling ááDrawing services – Lines, rectangles, … – OpenGL (3D graphics) ááStyle support ááLarge set of widgets GtkAdaGtkAda -- WidgetWidget setset á Two types of widgets – containers and visual objects á About 100 widgets are provided á High-level widgets – notebook, text widget, tree, spin button, table, toolbar, ... GtkAdaGtkAda -- ScreenshotsScreenshots á Ctree GtkAdaGtkAda -- ScreenshotsScreenshots (2)(2) á OpenGL WhyWhy Gtk+?Gtk+? á Portable á Native á Extensible á Open Source á Actively developped á Thread-safe WhyWhy Gtk+?Gtk+? (2)(2) á High level widgets á Easy to use scrolling capabilities á Wide range of users á Very powerful layout capabilities – Complete set of containers á Powerful and easy to use GUI builder á Easy to bind TheThe GUIGUI BuilderBuilder ááMulti-language GUI builder – Language-independent save file (XML). – Code-generation specific to each language. – Dynamic loading
    [Show full text]
  • Pick-And-Drop: a Direct Manipulation Technique for Multiple Computer
    Pick-and-Drop: A Direct Manipulation Technique for Multiple Computer Environments tun ekimoto ony gomputer iene v ortory snF QEIREIQ rigshigotndD hingwEkuD okyo IRI tpn CVIEQESRRUERQVH rekimotodslFsonyFoFjp httpXGGwwwFslFsonyFoFjpGp ersonGrekimotoFhtml ABSTRACT This paper proposes a new field of user interfaces called multi-computer direct manipulation and presents a pen-based direct manipulation technique that can be used for data transfer between different computers as well as within the same computer. The proposed Pick-and-Drop allows a user to pick up an object on a display and drop it on another display as if he/she were manipulating a physical object. Even though the pen itself does not have storage capabilities, a combination of Pen-ID and the pen manager on the network provides the illusion that the pen can physically pick up and move a computer object. Based on this concept, we have built several experimental applications using palm-sized, desk- top, and wall-sized pen computers. We also considered the importance of physical artifacts in designing user interfaces in a future computing environment. KEYWORDS: direct manipulation, graphical user inter- Figure 1: A typical ªmouse jungleº in a multi-computer faces, input devices, stylus interfaces, pen interfaces, drag- environment and-drop, multi-computer user interfaces, ubiquitous com- puting, computer augmented environments writing a program on a UNIX while editing a diagram on a INTRODUCTION Mac). In a ubiquitous computing (UbiComp) environment [18], we no longer use a single computer to perform tasks. Instead, However, using multiple computers without considering the many of our daily activities including discussion, documen- user-interface introduces several problems.
    [Show full text]
  • Review of Service Composition Interfaces
    Sanna Kotkaluoto, Juha Leino, Antti Oulasvirta, Peter Peltonen, Kari‐Jouko Räihä and Seppo Törmä Review of Service Composition Interfaces DEPARTMENT OF COMPUTER SCIENCES UNIVERSITY OF TAMPERE D‐2009‐7 TAMPERE 2009 UNIVERSITY OF TAMPERE DEPARTMENT OF COMPUTER SCIENCES SERIES OF PUBLICATIONS D – NET PUBLICATIONS D‐2009‐7, OCTOBER 2009 Sanna Kotkaluoto, Juha Leino, Antti Oulasvirta, Peter Peltonen, Kari‐Jouko Räihä and Seppo Törmä Review of Service Composition Interfaces DEPARTMENT OF COMPUTER SCIENCES FIN‐33014 UNIVERSITY OF TAMPERE ISBN 978‐951‐44‐7896‐3 ISSN 1795‐4274 Preface This report was produced in the LUCRE project. LUCRE stands for Local and User-Created Services. The project is part of the Flexible Services research programme, one of the programmes of the Strategic Centre for Science, Technology and Innovation in the ICT field (TIVIT) and funded by Tekes (the Finnish Funding Agency for Technology and Innovation) and the participating organizations. The Flexible Service Programme creates service business activity for global markets. The programme has the aim of creating a Web of Services. The programme creates new types of ecosystems, in which the producers of services, the people that convey the service and the users all work together in unison. As part of such ecosystems, LUCRE will develop an easy-to-use, visual service creation platform to support the creation of context aware mobile services. The goal is to support user-driven open innovation: the end- users (people, local businesses, communities) will be provided with tools to compose new services or to modify existing ones. The service creation platform will build on the technology of existing mashup tools, widget frameworks, and publish/subscribe mechanisms.
    [Show full text]
  • Gnustep-Gui Improvements
    GNUstep-gui Improvements Author: Eric Wasylishen Presenter: Fred Kiefer Overview ● Introduction ● Recent Improvements ● Resolution Independence ● NSImage ● Text System ● Miscellaneous ● Work in Progress ● Open Projects 2012-02-04 GNUstep-gui Improvements 2 Introduction ● Cross-platform (X11, Windows) GUI toolkit, fills a role similar to gtk ● Uses cairo as the drawing backend ● License: LGPLv2+; bundled tools: GPLv3+ ● Code is copyright FSF (contributors must sign copyright agreement) ● Latest release: 0.20.0 (2011/04) ● New release coming out soon 2012-02-04 GNUstep-gui Improvements 3 Introduction: Nice Features ● Objective-C is a good compromise language ● Readable, Smalltalk-derived syntax ● Object-Oriented features easy to learn ● Superset of C ● OpenStep/Cocoa API, which GNUstep-gui follows, is generally well-designed 2012-02-04 GNUstep-gui Improvements 4 Recent Improvements: Resolution Independence ● Basic problem: pixel resolution of computer displays varies widely 2012-02-04 GNUstep-gui Improvements 5 Resolution Independence ● In GNUstep-gui we draw everything with Display PostScript commands and all graphics coordinates are floating-point, so it would seem to be easy to scale UI graphics up or down ● Drawing elements ● Geometry ● Images ● Text 2012-02-04 GNUstep-gui Improvements 6 Resolution Independence ● Challenges: ● Auto-sized/auto-positioned UI elements should be aligned on pixel boundaries ● Need a powerful image object which can select between multiple versions of an image depending on the destination resolution (luckily NSImage is capable) 2012-02-04 GNUstep-gui Improvements 7 Recent Improvements: NSImage ● An NSImage is a lightweight container which holds one or more image representations (NSImageRep) ● Some convenience code for choosing which representation to use, drawing it, caching..
    [Show full text]
  • Printing Support in GNOME and Gtk+
    Printing support in GNOME and Gtk+ Gtk+ Print Dialog Print dialog used in Gtk+ applications. Gtk+ Print Dialog Basics ● Gtk+ print dialog allows users to set printing options at one place before actual print ● Paper size and format ● Page layout (multiple pages per sheet, odd / even pages, duplex printing, ...) ● Job informations (priority, time, cover pages, ...) ● Print quality ● Color profile ● Options specific to selected printer (stapling) Gtk+ Print Dialog Backends ● CUPS backend ● Uses IPP operations ● It still uses PPD files for getting printer options ● File backend ● Prints to PDF, Postscript and SVG files ● Pages are arranged by Gtk+ on the output sheets (e.g. multiple pages per sheet) Gtk+ Print Dialog Backends ● LPR backend ● Not enabled by default ● PAPI backend ● Not enabled by default Gtk+ Print Dialog's DNS-SD Support ● Gtk+ supports direct printing to DNS-SD printers from 3.8 ● Lists printers advertised by DNS-SD protocol – Uses Avahi library ● Shows basic options of DNS-SD printers – Uses IPP protocol implemented in CUPS ● Prints to DNS-SD printers – Uses IPP protocol implemented in CUPS Common Printing Dialog and Gtk+ Print Dialog ● DBUS – Gtk+ print dialog uses direct calls not DBus ● Option Icons – Gtk+ print dialog doesn't show icons for options ● Preview format – Gtk+ uses “cairo_t” together with some other info for getting pages for preview and passes them to an external application as PDF Common Printing Dialog and Gtk+ Print Dialog ● DBus Service Name – Gtk+ print dialog doesn't expose its functionality over
    [Show full text]
  • C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield
    C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield Publisher: Prentice Hall Pub Date: February 04, 2008 Print ISBN-10: 0-13-235416-0 Print ISBN-13: 978-0-13-235416-5 eText ISBN-10: 0-13-714397-4 eText ISBN-13: 978-0-13-714397-9 Pages: 752 Table of Contents | Index Overview The Only Official, Best-Practice Guide to Qt 4.3 Programming Using Trolltech's Qt you can build industrial-strength C++ applications that run natively on Windows, Linux/Unix, Mac OS X, and embedded Linux without source code changes. Now, two Trolltech insiders have written a start-to-finish guide to getting outstanding results with the latest version of Qt: Qt 4.3. Packed with realistic examples and in-depth advice, this is the book Trolltech uses to teach Qt to its own new hires. Extensively revised and expanded, it reveals today's best Qt programming patterns for everything from implementing model/view architecture to using Qt 4.3's improved graphics support. You'll find proven solutions for virtually every GUI development task, as well as sophisticated techniques for providing database access, integrating XML, using subclassing, composition, and more. Whether you're new to Qt or upgrading from an older version, this book can help you accomplish everything that Qt 4.3 makes possible. • Completely updated throughout, with significant new coverage of databases, XML, and Qtopia embedded programming • Covers all Qt 4.2/4.3 changes, including Windows Vista support, native CSS support for widget styling, and SVG file generation • Contains
    [Show full text]