Archive:Projects/Plasma/Vocabulary (zh CN)

    From KDE TechBase
    Revision as of 13:35, 18 July 2012 by AnneW (talk | contribs)
    The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


    Plasma

    Plasma指的是两样事情:Plasma类库和Plasma工作区。工作区就是KDE4的缺省桌面,有类库驱动。

    Plasma类库 is generally the more interesting meaning of the word, as it provides a scene/view (much like model/view) approach to presenting a user interface. Widgets sit on the Corona canvas, grouped into Containments. Data is obtained via DataEngines and Runners. The entire scene is designed to be viewed in a flexible manner, including zooming and resolution independence.

    Plasma还提供很多标准作业服务,如美工,展示,校本管理和插件扩展Plasma的规则。

    Plasma的目标是提供一个灵活的,可重定向的,脚本控制,高可移植性和组件化的用户界面。

    窗口小部件

    窗口小部件是画布上的单个组件。还有一些其他的叫法如"小程序"或"图形组件"。Superkaramba主题,苹果的Dashboard, Google Gadgets, Yahoo的Widgets, Vista的边栏窗口小部件, Opera的窗口小部件都是些其他系统的窗口小部件(Plasma也支持其中的一些)。

    Plasmoid

    一个Plasmoid就是一系列在创建的Plasma窗口小部件里的文件。它们包括:

    • 元数据(metadata);(例如: .desktop文件)
    • 图像(svg, png, 等)
    • 配置文件定义(KConfigXT)
    • 代码(C++, ECMA脚本, HTML+JavaScript, Python, ..)
    • ...

    小程序(Applet)

    小程序是Plasmoid代码的一部分,从技术上讲,有Plasma::Applet对象。对用户来说,这也许就是些实现细节,他们不关心也看不到。

    Corona

    Corona,QGraphicsScene的子类,是Plasma的画布。It contains all of the Containments that exist for the application, providing the "model" for the Views to use.

    It handles initiating loading and saving of Containments and Applets and other such canvas-global tasks.

    容器(Containment)

    容器是顶层的系列窗口小部件. 每个容器都有各自的布局和各个窗口小部件的配置文件,与其他容器无关。

    数据引擎

    数据引擎是个插件。 is a plugin that provides a visualization with a standard way to access a body of information. 每个数据单元都是一个"源",源可以按需而建。Sources are updated either when the data changes (例如in response to a hotplug event for the devices DataEngine) or in a timed interval as requested by the visualization.

    数据引擎管理这源的时间和内存管理,管理每次引擎的调用。

    源本身被组织成一列表,每个源都有零个或多个键/值(key/value)对。值都是QVariants(变量)类型的,因此是十分灵活的。

    数据引擎通过"dataUpdated(QString source, Plasma::Data data)"方法 槽把信息发送到每个显示器,每个显示器都要实现这个方法来接受更新。