Functions
warangps/main.cpp File Reference
#include <QGpGuiTools.h>
#include "warangpsVersion.h"
#include "warangpsInstallPath.h"
#include "WaranGpsWidget.h"

Functions

ApplicationHelphelp ()
int main (int argc, char **argv)
 PACKAGE_INFO (warangps, WARANGPS)

Function Documentation

int main ( int  argc,
char **  argv 
)

References QGpCoreTools::endl(), WaranGpsWidget::Gps, help(), mode, WaranGpsWidget::NoGps, WaranGpsWidget::setCoordinates(), WaranGpsWidget::setGpsStations(), WaranGpsWidget::setMode(), QGpCoreTools::CoreApplicationPrivate::setStream(), QGpCoreTools::tr(), and w.

{
  Application a(argc, argv, help);

  // Options
  WaranGpsWidget::Mode mode=WaranGpsWidget::NoGps;
  QString stationFile;
  QString coordinateFormat;
  qint16 port=2974;

  // Check arguments
  int i, j=1;
  for(i=1; i<argc; i++) {
    QByteArray arg=argv[i];
    if(arg[0]=='-') {
      if(arg=="-no-gps") {
        mode=WaranGpsWidget::NoGps;
      } else if(arg=="-gps") {
        mode=WaranGpsWidget::Gps;
      } else if(arg=="-format") {
        CoreApplication::checkOptionArg(i, argc, argv);
        coordinateFormat=argv[i];
      } else if(arg=="-port") {
        CoreApplication::checkOptionArg(i, argc, argv);
        port=atoi(argv[i]);
      } else {
        App::stream() << tr("warangps: bad option %1, see -help").arg(argv[i]) << endl;
        return 2;
      }
    } else {
      argv[j++]=argv[i];
    }
  }
  if(j < argc) {
    argv[j]=0;
    argc=j;
  }
  if(argc>2) {
    App::stream() << tr("No more than one file accepted for station list") << endl;
    return 2;
  }
  if(argc==2) {
    stationFile=argv[1];
  }

  a.setStream(new StandardStream(stdout));
  SciFigsGlobal s;

  // Create main widget and start gui
  WaranGpsWidget * w=new WaranGpsWidget;
  w->setObjectName( "warangps" );
  Settings::getWidget(w, "warangps");
  w->show();

  if(mode==WaranGpsWidget::NoGps) {
    if(stationFile.isEmpty()) {
      // No option go to home
      w->tab->setCurrentIndex(0);
    } else {
      w->setCoordinates(stationFile, coordinateFormat);
    }
  } else if(!stationFile.isEmpty()){
    w->setGpsStations(port);
  }
  w->setMode(mode);
  w->arrayCoordinateFactor->setValue(1.0);

  int appReturn=a.exec();
  Settings::setWidget(w, "warangps");
  delete w;
  return appReturn;
}
PACKAGE_INFO ( warangps  ,
WARANGPS   
)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines