コード例 #1
0
   State (PluginInfo &theInfo, Log *theLog) :
         Plugin (theInfo),
         RuntimeModule (theInfo),
         info (theInfo),
         discovered (False),
         started (False),
         levelsHead (0),
         levelsTail (0),
         maxLevel (1),
         log (theLog) {

      externTable.store (get_plugin_handle (), this);
   }
コード例 #2
0
   State (PluginInfo &theInfo, Log *theLog) :
         Plugin (theInfo),
         RuntimeModule (theInfo),
         MessageObserver (theInfo),
         observerContext (0),
         convert (theInfo),
         info (theInfo),
         discovered (False),
         started (False),
         levelsHead (0),
         levelsTail (0),
         maxLevel (1),
         log (theLog) {

      externTable.store (get_plugin_handle (), this);

      RuntimeContext *rt = info.get_context ();

      if (rt) {

         observerContext = rt->get_plugin_observer_context ();

         Definitions defs (rt);

         Message msg;

         defs.create_message (PluginObserverActivateMessageName, msg);

         subscribe_to_message (msg);
      }

      if (observerContext) {

         observerContext->ref ();
         observerContext->moduleTable.store (info.get_handle (), this);
      }
   }
コード例 #3
0
ファイル: dmzQtModuleCanvasBasic.cpp プロジェクト: ashok/dmz
void
dmz::QtModuleCanvasBasic::_init (Config &local) {

   qwidget_config_read ("widget", local, this);

   const Int32 MinX = config_to_int32 ("scene.min.x", local, -50000);
   const Int32 MinY = config_to_int32 ("scene.min.y", local, -50000);
   const Int32 MaxX = config_to_int32 ("scene.max.x", local, 100000);
   const Int32 MaxY = config_to_int32 ("scene.max.y", local, 100000);

   _scene.setSceneRect (QRectF (MinX, MinY, MaxX - MinX, MaxY - MinY));
   //_scene.setItemIndexMethod (QGraphicsScene::NoIndex);

   _canvas = new QtCanvasView (this);
   _canvas->setTransformationAnchor (QGraphicsView::AnchorViewCenter);
   _canvas->setResizeAnchor (QGraphicsView::AnchorViewCenter);

   const Boolean ScrollBars = config_to_boolean ("scrollbars.value", local, False);

   if (!ScrollBars) {

      _canvas->setHorizontalScrollBarPolicy (Qt::ScrollBarAlwaysOff);
      _canvas->setVerticalScrollBarPolicy (Qt::ScrollBarAlwaysOff);
   }

   _canvas->setMouseTracking (true);
   //_canvas->setDragMode (QGraphicsView::ScrollHandDrag);

   setObjectName (get_plugin_name ().get_buffer ());
   _scene.setObjectName (objectName () + "Scene");
   _canvas->setObjectName (objectName () + "View");

   _canvas->setScene (&_scene);

   //_canvas->setBackgroundBrush (QPixmap ("/assets/images/background1.png"));

   QVBoxLayout *layout (new QVBoxLayout ());
   layout->addWidget (_canvas);

   setLayout (layout);
   setMouseTracking (true);
   _inputModuleName = config_to_string ("module.input.name", local);

   if (_canvas) {

      _keyEvent.set_source_handle (get_plugin_handle ());
      _mouseEvent.set_source_handle (get_plugin_handle ());

      String value;

      Boolean enableOpenGL (False);

      if (local.lookup_attribute ("canvas.opengl", value)) {

         if (value.to_lower () == "true") { enableOpenGL = True; }
      }

      Boolean enableAntialiasing (False);
      if (local.lookup_attribute ("canvas.antialiasing", value)) {

         if (value.to_lower () == "true") { enableAntialiasing = True; }
      }

      if (enableOpenGL) {

         _canvas->setViewport (new QGLWidget (QGLFormat  (QGL::SampleBuffers)));
         _log.info << "OpenGL enabled" << endl;
      }

      if (enableAntialiasing) {

         if (enableOpenGL) {

            _canvas->setRenderHint (QPainter::HighQualityAntialiasing, true);
            _log.info << "High Quality Antialiasing enabled" << endl;
         }
         else {

            _canvas->setRenderHint (QPainter::Antialiasing, true);
            _log.info << "Antialiasing enabled" << endl;
         }
      }

      if (local.lookup_attribute ("canvas.textantialiasing", value)) {

         if (value.to_lower () == "true") {

            _canvas->setRenderHint (QPainter::TextAntialiasing, true);
            _log.info << "Test Antialiasing enabled" << endl;
         }
      }

      _canvas->setRenderHint (QPainter::SmoothPixmapTransform, true);

      set_zoom_min_value (config_to_float32 ("canvas.zoom.min", local, _zoomMin));
      set_zoom_max_value (config_to_float32 ("canvas.zoom.max", local, _zoomMax));
      set_zoom_step_value (config_to_float32 ("canvas.zoom.step", local, _zoomStep));
      set_zoom (config_to_float32 ("canvas.zoom.default", local, _zoomDefault));
   }
}