Programmeren in C ++ met wxwidgets les 5



Vergelijkbare documenten
Zelftest Java concepten

Propa e d e u s e taak 2

Acht stappen voor JSF

Een eerste applicatie

Programmeren in C ++ les 4

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

Er zijn verschillende OS bv: Microsoft Windows Apple Macintosh Linux-versies/distributies zoals Ubuntu en Knoppix

Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware.

Voordat er optimaal gebruik gemaakt kan worden gemaakt van Magister 5 via het web, kan deze FAQ mogelijk van pas komen.

Zelftest Informatica-terminologie

Hoofdstuk 2. - is verantwoordelijk voor de communicatie van de software met de hardware.

Cursus Programmeren en Dataverwerking.

LES 3: XAMPP OF MAMP. Lesoverzicht:

Applicaties voor de consument

6,7. Werkstuk door een scholier 2286 woorden 24 januari keer beoordeeld. Informatica. Algemeen

SBO Nilda Pinto BASISKENNIS BESTURINGSSYTEMEN (MBI 1) PERIODE MATERIAAL BOEK SOFTWARE VOOR ICT SUPPORT 2 EN 3 (HANS VAN RHEENEN)

Erik Poll Martijn Warnier.

Installeren van de Arduino programmeer omgeving

Handleiding Decentrale Validatiemodule istandaarden

iprova Suite Systeemeisen iprova 5 Hosting

Syntra-West. Syntra-West Doorniksesteenweg Kortrijk Tel. 056/ Fax 056/

Handleiding installatie en gebruik. Ahsay OBM. Windows server Apple OS X Linux en UNIX-varianten

Software kan worden ingedeeld in verschillende manieren. Bijvoorbeeld:

Parallelle Poort Aansturen Met Visual Basic

DuboCalc 4.0. Installatie instructie

Software Factories. Toepassing van Domain Specific Languages. achtergrond

Project Owner. Date : Version : 1.1

Inhoudsopgave. Hoofdstuk 1: Ant...4

SuperOffice Systeemvereisten

UBUNTU. Vandaag had ik voorzien om een opstart-cd of usb te maken om je pc op linux op te starten. Open source. Gratis software UBUNTU

Android Development CCSS2011

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

Versturen van vanuit een Delphi VCL toepassing

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat

Terminal Services. Document: Terminal Services T.b.v. relatie: Isaeus Auteur: Martin Waltmans Versie: 2.3 Datum: KB nummer:

Gentoo linux. Introductie. Gentoo is anders. LinuxFocus article number door Guido Socher (homepage) Over de auteur:

Handleiding Geluidsopname maken

Installatiehandleiding AhsayOBM Unix / Linux. v

Technisch Ontwerp W e b s i t e W O S I

SYNTRA-WEST. Initiatiecursus JAVA. Deel

Onderzoek Migratie Windows NT voor Wegontwerpafdelingen in Rijkswaterstaat

1750,00 excl. BTW. analytisch denkvermogen, empathie, assertief, communicatief, aanleg voor formalisme,...

Gebruikershandleiding

Voor externe toegang tot de werkplek zijn een aantal zaken vereist: 1. Open Internet Explorer en ga naar de website:

Software Test Documentation

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)

Waarmaken van Leibniz s droom

Linux en Open Source

Inleiding Visual Basic en VBA. Karel Nijs 2009/01

Installatie Handleiding TWS. Voor Windows en Mac

Producten en prijzen 2012

Wine: Windows voor iedereen

Gebruikershandleiding

Een.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder

INSTALLATIE VAN KING 5.50 STAND ALONE

HANDLEIDING EXTERNE TOEGANG CURAMARE

Agenda. doelstelling situering voor- en nadelen functionaliteit opbouw voorwaarden besluitvorming

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen.

Een eenvoudige webserver maken in Lazarus

SD-Ict BVBA. Tim Suys. AS400 Developer. 1:moedertaal 2:zeer goed 3: gemiddeld 4: basis

Installatie Handleiding

LINUX ZORIN. een alternatief voor MS Windows

SYSTEEMVEREISTEN TRACK VERZUIM 4

Installatie Procedure Femap STAND ALONE & FLOATING LICENTIE

OpenChange. Jelmer Vernooij. LinuxWorld 2009, Utrecht 4 november OpenChange. MAPI MAPI/RPC OpenChange Huidige status Toekomst.

Handleiding nieuwe werkomgeving SOML. Voor Apple MacOSX 10.9

Lab Webdesign: Javascript 11 februari 2008 JAVASCRIPT

Inleiding Practicum Operating Systems

.NET of.not in de praktijk voorbij het onderbuikgevoel

MC Slotervaart. Handleiding Thuiswerken

Gebruiksaanwijzing installeren software en drivers voor Xstream flex alarmontvanger

OpenChange. Jelmer Vernooij. NLLGG-bijeenkomst 13 december OpenChange. MAPI MAPI/RPC OpenChange Huidige status Toekomst.

Handleiding software USB PIC DEV. BOARD

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT

Inhoudsopgave Voorwoord 7 Nieuwsbrief 7 Introductie Visual Steps 8 Wat heeft u nodig? 8 De website bij het boek 9 Hoe werkt u met dit boek?

BackupAgent Cloud Backup

Programmeren: Visual Basic

Handleiding voor installatie en gebruik van

Tutorial 1, Delphi: Geldspraak

Microsoft WordPad Sinaleri Opleiding

5,5. Werkstuk door een scholier 1934 woorden 3 februari keer beoordeeld. Nederlands

Remote Back-up Personal

... Procedure: Automatische Installatie. Landscape: Het uitrollen van een Server of werkstation middels Improve

Interactief, real time security management

De SAP Cloud Connector 2.0 maakt SAPUI5 ontwikkeling via de WEB-IDE mogelijk met data uit je eigen backend systeem.

FAQ Aura Client/Server

Instalatie Handleiding TWS. Voor Windows en Mac

ZIEZO Remote Back-up Personal

Plan van aanpak Meesterproef 2: Workflowbeheer Voorwoord

Dynamiek met VO-Script

Handleiding Winstore - Inrichting Microsoft Remote Desktop 10. Versie 1.0. Datum 1 januari 2019

Presentatie KNX Professionals. 22 juni 2011 KNX en Apple: een nieuwe twee-eenheid? Presentatie KNX Professionals

Cloud2 Online Backup - CrashplanPRO

React en React Native voor websites en apps

1 TABLE OF CONTENTS 2 2 ALGEMEEN Beschrijving Systeemvereisten 3 3 GEBRUIK VAN DE APPLICATIE Selectie van het inputbestand 4

1 Nieuw in de Filr 2.0 Desktop-toepassing

Veiligheid is een fundamenteel element in het kader van informatie-uitwisseling via internet

ManualMaster Systeem 6.1 (ManualMaster Administrator, ManualMaster WebAccess en ManualMaster WebEdit)

Transcriptie:

Elektrotechniek/Embedded Systems engineering inf2d Programmeren in C ++ met wxwidgets les 5 cursus 2009-2010 ir drs E.J Boks

Les 5 Grafische toolkits Basisbeginselen gebruik grafische toolkit WxWidgets eerste voorbeeld 2

Grafische werkomgeving op een PC Computers waren in de jaren zeventig en tachtig grotendeels tekstgebaseerd. Eerste commercieel verkrijgbaar grafisch platform: Apple Macintosh (128K geheugen) in 1984. Grafische interface bood niet-technische onderlegde mensen de mogelijkheid, een computer te gebruiken. Grafische interface maakt software architectuur complexer en eist meer van computer. 3

Eerste grafische werkstation in 1984 een revolutie voor de maatschappij 4

Populaire grafische omgevingen Apple Apple Microsoft MS Windows Unix/Linux X11 5

Populaire (grafische) toolkits Win32 MFC/.Net (Windows) Borland Visual Component Library (Windows) Cocoa/Carbon/Quartz/OpenGL (Apple) GTK (Unix/Linux) Java (Multi platform, interpreted) Tcl/Tk (Multi platform, interpreted) QT (Multi platform, interpreted/compiled) FLTK (Multi platform, compiled) WxWidgets (Multi platform, interpreted/compiled) 6

Geschiedenis wxwidgets 1992 Start Univ van Edinburgh om ontwikkelaars op Sun OS en Windows 3.1 dezelfde programmatuur te laten ontwikkelen: wxwindows. 1993-1996 Open source ontwikkeling en groei ontwikkelgroep. Doelen: Win32 en Motif/Xt. 1997: wxwindows port naar GTK+ 1998: wxwindows port naar Mac OS 2004: naamswijziging ivm juridische dreigementen Microsoft. 2010: Apple Mac naar Cocoa (64 bit) 7

Mogelijkheden met wxwidgets -1 Zonder kosten en licenties gratis te downloaden vanaf internet buffer tussen applicatie en onderliggend systeem. Wijzigingen in systeem leiden niet tot wijzigingen in applicatiecode Multi platform een keer schrijven, meerdere releases voor verschillende systemen Sneller en veiliger dan interpreted code zoals Java Te gebruiken met meerdere talen: C ++, Python, Perl Meer dan grafische interface alleen applicatie ondersteuning op meerdere vlakken 8

WxWidgets mogelijkheden - 2 Applicatie ondersteuning voor: Event-driven grafische interface met adaptieve vormgeving Muis/toetsenboard support Standaard en zelf-gedefinieerde Dialogen Afbeeldingen Ondersteunende data structuren Bestanden en streams Geheugen mgmt en debugging Internationalisatie 9

WxWidgets mogelijkheden - 3 Applicatie ondersteuning voor: Multithreaded applicaties Internet programmeren sockets en html Documenten Alles natuurlijk eenduidig ongeacht het onderliggende systeem! 10

GUI the Graphical User Interface Een GUI werkt, anders dan een command-line interface, altijd wachtend op input vanuit meerdere bronnen. Een GUI is dan ook gebouwd om zogenaamde events te verwerken. Een event wordt opgewekt door : Muisbeweging en muistoetsen Toetsenbord aanslagen Touchscreen input Trackball Stem controle 11

WxWidgets eerste applicatie ter introductie Doel: een kleine applicatie om de tijd af te beelden Analyseer het probleem: gebruiker moet een moment aangeven om de tijd te zien te krijgen. Bovendien moet de gebruiker de applicatie kunnen afsluiten. 12

WxWidgets met Codeblocks Codeblocks kan wxwidgets code genereren. Start een nieuw project keuze is wxwidgets. Kies GCC compiler Gebruike de wxsmith vormgever. Zorg voor Unicode en Dyn Lib gebruik Op FreeBSD: zorg er voor dat Codeblocks wx-config kan vinden ga naar ~/bin directory. Als deze niet bestaat, maak deze aan met mkdir ~/bin. In ~/bin, maak een symlink naar wx-config op FreeBSD: ln -s /usr/local/bin/wxgtk2u-2.8-config wx-config 13

Codeblocks dialogen-1 14

Codeblocks dialogen -2 15

Bouwen en compileren Bouwen en compileren wordt uitgevoerd met de knoppen linksboven onder de menubalk: 16

WxWidgets bouw de form 17

WxWidgets properties edit 18

WxWidgets evt handler maken 19

WxWidgets koppeling aan OS EVT handling Codeblocks koppelt zelf de event handler aan het onderliggende Event systeem van het Operating Systeem. Het is wel zaak om elk event een eigen ID te geven, hetzij via Codeblocks, hetzij via een eigen ID lijst (meestal een enumeratie). 20

WxWidgets mogelijkheden dialoog en tijd In de event handler funktie definieëren wij de code om de tijd af te beelden. Daar is voor nodig: Een methode om de tijd te lezen. WxWidgets biedt hiervoor de klasse wxdatetime aan. Een methode om een klein dialoogschermpje te maken. WxWidgets heeft hiervoor de klasse wxmessagedialog. Alle klassen en funkties die de wxwidgets bibliotheek biedt zijn uitvoerig gedocumenteerd op: http://docs.wxwidgets.org/stable/wx_contents.html En ook op een systeem waar wxwidgets geinstalleerd is. 21

WxMessageDialog - structuur 22

wxdatetime WxDateTime is gedefineerd in <wx/datetime.h>, dit moet dus bovenaan in ons door Codeblocks gegenereerde bestand worden toegevoegd. In de documentatie staat : 23

WxDateTime omzetting naar String DateTime moet in de dialoog worden geprint. Er moet dus een methode zijn om naar het wxstring formaat te gaan, waar de dialoog mee werkt. Kijken in de wxdatetime documentatie leert dat er een output methode is, die automatisch formatteert naar het formaat waarin de gebruiker een tijd leest. 24

Implementatie in event handler 25

WxWidgets tijddemo uitvoering 26

Aan de slag! Begin met practicumopdracht 3