VR-Forces 4.0.4 Class Documentation
Unit Status Widget

The class DtUnitStatus class is repsonsible for displaying information about the currently selected entity


Header file:

/*******************************************************************************
** Copyright (c) 2011 MAK Technologies, Inc.
** All rights reserved.
*******************************************************************************/

//\file DtUnitStatus.h
//\brief Contains makVrf::makVrfUnitStatusExample::DtUnitStatus class.

#pragma once

#include <vrvUtil/signalslib.h>

#include "statusWidgetUi.hpp"
#include "DtUnitStatusInterface.h"

#include <vrvCoreQt/DtDockable.h>
#include <vrvCore/DtUserInterfaceAssembler.h>
#include <vrvCoreQt/DtPage.h>

namespace makVrv
{
   class DtDe;
}

namespace makVrfUnitStatusExample
{
   class DtUnitStatusLogic;
      
   //A widget class for managing different camera views the currently selected observer can be placed in.
   class DtUnitStatus
      : public makVrv::DtPage
      , public DtUnitStatusInterface
      , public makVrv::DtDockable
   {
   public:
      //\brief CTOR
      DtUnitStatus( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);

      //\brief DTOR
      virtual ~DtUnitStatus();

      //Get the icon of the page.
      virtual QIcon icon();

      //Get the title of the page.
      virtual QString title();

      //Get the class name of the page.
      virtual const std::string& pageClassName() const;

      //Called when the page is displayed.
      virtual void activate();

      //Called when the page is hidden.
      virtual void deactivate();

      static std::string thePageClassName();

   protected:
      //\brief Sets up the contents of the widget onto the supplied parent
      void setupUi(QWidget* p);

      //\brief Clears out widget
      virtual void clear();

      virtual void setUnitName(const std::string&);
      virtual void setIcon(const QPixmap&);
      virtual void setLocation(const std::vector<std::string>& position);

      virtual void setVelocity(const QString&);
      virtual void setAcceleration(const QString&);
      virtual void setHeading(const QString&);
      virtual void setMarkingText(const QString&);

   public:
      Ui_DtUnitStatusUi myUi;

   protected:
      DtUnitStatusLogic*   myLogic;
         
   };

   //Create a "creator" helper class using the template.
   typedef makVrv::DtPageCreatorTemplate<DtUnitStatus> DtUnitStatusWidgetCreator;
}

Implementation:

/*******************************************************************************
** Copyright (c) 2011 MAK Technologies, Inc.
** All rights reserved.
*******************************************************************************/

//\file DtUnitStatus.cxx
//\brief Contains makVrf3DUnitStatusExample::DtUnitStatus class.


#include "DtUnitStatus.h"
#include "DtUnitStatusLogic.h"

#include <vrfGuiCoreQt/vrfGuiCoreQt.h>

#include <QtGui/QPixmap>

namespace makVrfUnitStatusExample
{
   DtUnitStatus::DtUnitStatus( makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags flags)
   : DtPage(de, parent, flags)
   , makVrv::DtDockable(de, "DtUnitStatus")
   {
      setObjectName(tr("Unit Status"));
      setupUi(this);
      myLogic = new DtUnitStatusLogic(de, this);
   }

   DtUnitStatus::~DtUnitStatus()
   {
   }

   QIcon DtUnitStatus::icon()
   {
      return QIcon(QString::fromStdString(DtPage::myDe.dePathConfiguration().dataPath() +"/Icons/?.svg"));
   }

   QString DtUnitStatus::title()
   {
      return tr("Unit Status");
   }

   const std::string& DtUnitStatus::pageClassName() const
   {
      return myClassName;
   }

   void DtUnitStatus::activate()
   {
   }

   void DtUnitStatus::deactivate()
   {
   }

   std::string DtUnitStatus::thePageClassName()
   {
      return "DtUnitStatus";
   }

   void DtUnitStatus::setupUi(QWidget* p)
   {
      myUi.setupUi(this);
   }

   void DtUnitStatus::clear()
   {
      myUi.myUnitName->setText(tr("No Selected Object"));
      myUi.myVelocity->setText("");
      myUi.myMarking->setText("");
      myUi.myLocationX->setText("");
      myUi.myLocationY->setText("");
      myUi.myLocationZ->setText("");
      myUi.myAcceleration->setText("");
      myUi.myHeading->setText("");

      QPixmap backgroundPix(myUi.myPicFrame->size());
      backgroundPix.fill(myUi.myPicFrame->palette().color(myUi.myPicFrame->backgroundRole()));
      myUi.myPicFrame->setPixmap(backgroundPix);
   }

   void DtUnitStatus::setLocation(const std::vector<std::string>& position)
   {
      myUi.myLocationX->setText(position[0].c_str());
      myUi.myLocationY->setText(position[1].c_str());
      myUi.myLocationZ->setText(position[2].c_str());
   }

   void DtUnitStatus::setVelocity(const QString& s)
   {
      myUi.myVelocity->setText(s);
   }

   void DtUnitStatus::setAcceleration(const QString& s)
   {
      myUi.myAcceleration->setText(s);
   }

   void DtUnitStatus::setHeading(const QString& s)
   {
      myUi.myHeading->setText(s);
   }

   void DtUnitStatus::setMarkingText(const QString& s)
   {
      myUi.myMarking->setText(s);
   }

   void DtUnitStatus::setIcon(const QPixmap& p)
   {
      myUi.myPicFrame->setPixmap(p);
   }

   void DtUnitStatus::setUnitName(const std::string& name)
   {
      myUi.myUnitName->setText(QString::fromLocal8Bit(name.c_str()));
   }
   }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)