package templates

0.6.20100510

Authors:
Marius Stene

Brukerveiledning

For å lage et programtillegg fra grunnen av, forutsatt at Qt SDK med QtCreator er installert, så starter man QtCreator og lager et tomt Qt prosjekt. Hvis multiphaseplot/src/plugins/-mappen velges som grunnmappe for prosjektet så vil de relative adressene i dette eksempelet være korrekte, dette vil være den enkleste løsningen å velge.

Deretter må det legges til en ny klasse via { File -> Add New... -> New Class}. Det enkleste er bare å kalle klassen det samme som prosjektet. Deretter må navnet på programtillegg-grensesnittet som skal arves skrives under Base Class. Alternativene er:

I dette tilfellet velges InterfaceFrictionInterface. (Navnet kan virke noe forvirrende, Interface på starten av ordet refererer til overflaten mellom fasene, mens Interface på slutten av ordet refererer til at dette er et av grensesnittene som programtilleggene bruker, alle programtilleggklassene har navn som slutter med Interface.

De tre første programtilleggrensesnittene er friksjonsprogramtillegg, CalculateRegimeInterface er beregningsmetoder for et spesifikt regime, for eksempel unit cell-modellen for slug-strøm. RegimeTransitionInterface brukes av programtillegg som finner regimeoverganger.

Det er viktig at Inherits QObject blir valgt under Type Information. Resten fylles ut av seg selv.

I header filen til den nye klassen må de riktige header-filene fra Qt og MultiPhaseSupport inkluderes.

Ved å klikke F2 når interfacefrictioninterface.h er fokusert av tekstmarkøren åpnes denne filen. Alle funksjonene som her er definert med = 0 på slutten, såkalte pure virtual-funksjoner, må reimplementeres i vårt programtillegg.

Vi ser at denne klassen arver PluginInterface så vi må åpne denne filen for å se om også denne har funksjoner som må implementeres. Dette kan også gjøres ved å trykke F2 når PluginInterface-teksten er markert.

I tillegg til å legge til disse funksjonene må det i header filen til prosjektet spesifiseres at vi bruker InterfaceFrictionInterface-interfacet ved hjelp av Q_INTERFACE()-makroen. Klassedefinisjonen vår vil da bli seende slik ut.

Bortsett fra implementeringen av konstruktoren vil en enkel implementering av disse funksjonene se som følgende ut. Også her ser vi at vi må legge til en makro (Q_EXPORT_PLUGIN2()) for at programtillegget skal fungere riktig. Det kan være verdt å legge merke til at det som blir returnert fra pluginName()-funksjonen vil være det som dukker opp som programtilleggets navn i MultiPhasePlot senere.

Det aller siste som må gjøres før programtillegget kan kompileres er å fortelle kompilatoren at det er en .dll-filen vi vil ha, ikke en .exe fil som er det som er standard. Dette gjøres ved å legge to linjer til prosjektfilen ProsjektTilleggEksempel.pro. Den andre linjen forteller hvor .dll-filen skal havne. Prosjektfilen vil da bli seende slik ut.

Deretter er det bare å trykke F5 for å kompilere programtillegget. Hvis filadressene er riktige bør programtillegget automatisk havne på riktig sted og ved å starte MultiPhasePlot kan vi verifisere dette.

 All Classes Functions Variables

Generated by  doxygen 1.6.2