ParaView-3

Paraview工程

Paraview——main.cxx

pqparaviewInitializer pvInitializer;

paraview的初始化功能在这里完成

然后看看源码

pqparaviewInitializer.h

class pqparaviewInitializer

{

public:

  pqparaviewInitializer();

  ~pqparaviewInitializer();

 

  /// Initialize ParaView. It returns false if the initialization failed.

  bool Initialize(int argc,char* argv[]);

private:

  pqPVApplicationCore* PVApp;

  QMainWindow* MainWindow;

  QSplashScreen* Splash;

};

一个初始化函数,三个私有变量,pqPVApplicationCore是继承pqApplicationCore的类,它比后者要有更多的功能,MainWindow主窗体类,ParaViewMainWindow初始化Mainwindow,Splash是登陆界面,防止假死。

位置:pqparaviewInitializer.cxx函数Initialize(int argc,char* argv[])

这里重要的有两点,即MainWindow初始化和加载需要的插件。首先看

  // Create main window.

  this->MainWindow =new ParaViewMainWindow();

位置: ParaViewMainWindow.cxx

首先看 pqInternals,该类是继承UI的一个类,用于装载或者管理界面。然后看构造函数

ParaViewMainWindow::ParaViewMainWindow()

真是一目了然,首先界面装载,

// Set up the dock window corners to give the vertical docks more room.

// Enable automatic creation of representation on accept.

// Enable help for from the object inspector.

然后就是// Populate application menus with actions.菜单 工具栏 等

  // Final step, define application behaviors. Since we want all ParaView

  // behaviors, we use this convenience method.

  new pqParaViewBehaviors(this,this);

先到这儿,回到pqparaviewInitializer.cxx函数Initialize(int argc,char* argv[])

// Load required application plugins.

  QString plugin_string = "";

  QStringList plugin_list = plugin_string.split(';',QString::SkipEmptyParts);

  pqBrandPluginsLoader loader;

  if (loader.loadPlugins(plugin_list) ==false)

    {

    qCritical() << "Failed to load required plugins for this application";

    returnfalse;

    }

 

  // Load optional plugins.

  plugin_string = "";

  plugin_list = plugin_string.split(';',QString::SkipEmptyParts);

  loader.loadPlugins(plugin_list,true); //quietly skip not-found plugins.

 

 

#if 1

  // Load configuration xmls after all components have been instantiated.

  // This configuration part is something that needs to be cleaned up, I haven't

  // given this too much thought.

  QDir dir2(":/paraview/Configuration");//????命名configure这些xml是在paraview下得的文件夹,不知道这里为什么还是加载到了???

  QStringList files = dir2.entryList(QDir::Files);

  foreach (QString file, files)

    {

    this->PVApp->loadConfiguration(QString(":/paraview/Configuration/") + file);

    }

#endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值