Archive:Projects/Plasma/Vocabulary (zh CN)

From KDE TechBase
Revision as of 05:12, 28 September 2009 by Hualiang.miao (talk | contribs) (Created page with '{{Template:I18n/Language Navigation Bar|Projects/Plasma/Vocabulary}} ====Plasma==== Plasma指的是两样事情:Plasma类库和Plasma工作区。工作区就是KDE4的缺省...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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.


Projects/Plasma/Vocabulary


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的目标是提供一个灵活的,可重定向的,脚本控制,高可移植性和组件化的用户界面。

Widget

A widget is a single component on the canvas. Other common names that are analogous are "applet" or "gadget". Superkaramba主题,苹果的Dashboard, Google Gadgets, Yahoo的Widgets, Vista的边栏Widgets, Opera的Widgets是些其他系统的Widget(Plasma也支持其中的一些)。

Plasmoid

A Plasmoid is the combination of files that go into creating a native Plasma widget. 它们包括:

  • 元数据(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)

A Containment is a top level grouping of widgets. Each Containment manages the layout and configuration data of its set of widgets independently from other Containments.

数据引擎

数据引擎是个插件。 is a plugin that provides a visualization with a standard way to access a body of information. Each unit of data is called a "source", and source may be created on demand. Sources are updated either when the data changes (such as in response to a hotplug event for the devices DataEngine) or in a timed interval as requested by the visualization.

The timings and memory management of the sources are handled by DataEngine, making implementation of DataEngines trivial.

The sources themselves are organized into a list, and each source can have zero or more key/value pairs. The values are QVariants and therefore quite flexible.

数据引擎 send information to visualizations via the dataUpdated(QString source, Plasma::Data data) slot that all visualizations must implement to receive updates.