[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/design
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2009-11-27 3:11:58
Message-ID: 1259291518.151266.11749.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1054899 by aseigo:
more docu
M +317 -9 plasmoids-javascript
--- trunk/KDE/kdebase/workspace/plasma/design/plasmoids-javascript #1054898:1054899
@@ -92,28 +92,74 @@
Painting and Layout
-------------------
+To paint directly on to the canvas, a widget may implement the paintInterface \
function in the plasmoid object: +
+ plasmoid.paintInterface = function(painter) { /* painting code goes here */ }
+
+See the Painting section below for information about helpful classes and functions \
that can be used when implementing a paintInterface function. +
Functions:
* update() triggers a full repaint of the Plasmoid
- * update(QRectF) triggers a repaint of the rect area of the Plasmoid
+ * update(QRectF rect) triggers a repaint of the rect area of the Plasmoid
* failedToLaunch(bool failed, string reason) sets the launch status of the \
Plasmoid; if set to true, the script will stop executing and the reason message, if \
any, will be displayed to the user
Properties:
* layout: the QGraphicsLayout associated with the Plasmoid for laying out top level \
items; this property is read-write, though the property is not usually set as one can \
simply do "new LinearLayout" (or one of the other layout classes provided) and it \
will be automatically associated with the Plasmoid
+
Access To Packaged Files
------------------------
Functions:
* string file(string type, string fileName): returns the path to a file named \
fileName in the Plasmoid package of the given type; e.g. file("images", \
"mypixmap.png")
-
* string file(string type): returns the path to a file named as part of the \
package, e.g.: file("mainscript")
-
* bool include(string filename): attempts to include the script defined from the \
package's scripts directory
User Interface Elements
=======================
-Types of Widgets
-----------------
+Plasma Widgets
+--------------
+The Plasma framework provides a set of standard user interface elmenets such as \
pushbuttons and checkboxes for use in Plasmoids, and these are available from the \
Simplified Javascript API as well. These elements follow the Plasma style and other \
conventions. By default, all widgets have the following properties: +
+Properties
+----------
+stylesheet
+objectName
+opacity
+enabled
+visible
+pos
+x
+y
+z
+rotation
+scale
+transformOriginPoint
+palette
+font
+size
+focusPolicy
+windowFlags
+windowTitle
+geometry
+
+Signals
+------
+opacityChanged()
+visibleChanged()
+enabledChanged()
+xChanged()
+yChanged()
+zChanged()
+rotationChanged()
+scaleChanged()
+
+Undocumented Properties and Functions
+-------------------------------------
+There are a handful of other undocument properties and functions available to UI \
elements. These are not supported or guaranteed to exist in future versions however, \
and as such should be used or relied upon. +
+UI Element Gallery
+------------------
BusyWidget
* boolean running
* string label
@@ -439,21 +485,275 @@
Painting
========
+See the "Painting and Layout" section, part of the Global Plasmoid chapter, for \
information on using these classes within a widget.
+Pixmaps
+-------
+The QPixmap object allows widgets to use pixmaps for painting. Widgets may include \
pixmaps in various common formats (PNG, JPEG, GIF, etc.) in the contents/images/ \
directory of the Plasmoid package and load them by passing the name of the file into \
the pixmap contrustor: +
+ var pixmap = new QPixmap("myimage.png")
+
+In addition to being used as a file load, some objects return or take pixmaps and \
the QPixmap object facilitates that as well. +
+Properties
+ * bool isNull: returns true if the pixmap is empty or not
+ * QRectF rect: the rect of the pixmap
+ * QPixmap scaled(width, height): returns a scaled version of the pixmap with width \
and height dimensions +
+
SVG Images
----------
-PlasmaSvg
-PlasmaFrameSvg
+----------
+Plasma makes heavy usage of SVG images. More information on this industry standard \
scalable vector format can be found here:
+ http://www.w3.org/Graphics/SVG/
+
+Free and Open Source Software tools for creating SVGs include Inkscape and Karbon13. \
Widgets may include their own SVG files in the contents/images/ directdory or may use \
SVG images that are part of the standard Plasma Desktop Theme as documented here: +
+ http://techbase.kde.org/Projects/Plasma/Theme
+
+Two classes are provide: Svg and FrameSvg. Svg allows loading and painting entire \
SVG documents or individual elements in an SVG document. FrameSvg extends Svg with \
methods to paint bordered frames from specially crafted SVG documents (see the Plasma \
Desktop Theme documentation for more information on this). +
+Svg
+ * Constructors
+ * Svg(fileName): fileName can be a file in the desktop theme or the plasmoid \
package + * object size
+ * boolean multipleImages
+ * string imagePath
+ * boolean usingRenderingCache
+ * function repaintNeeded()
+ * function pixmap(QString)
+ * function pixmap()
+ * function paint(QPainter*,QPointF,QString)
+ * function paint(QPainter*,QPointF)
+ * function paint(QPainter*,int,int,QString)
+ * function paint(QPainter*,int,int)
+ * function paint(QPainter*,QRectF,QString)
+ * function paint(QPainter*,QRectF)
+ * function paint(QPainter*,int,int,int,int,QString)
+ * function paint(QPainter*,int,int,int,int)
+ * function resize(qreal,qreal)
+ * function resize(QSizeF)
+ * function resize()
+ * function elementSize(QString)
+ * function elementRect(QString)
+ * function hasElement(QString)
+ * function elementAtPoint(QPoint)
+ * function isValid()
+
+FrameSvg
+ * Constructors
+ * FrameSvg(fileName): fileName can be a file in the desktop theme or the \
plasmoid package + * boolean multipleImages
+ * function setEnabledBorders(EnabledBorders)
+ * function enabledBorders()
+ * function resizeFrame(QSizeF)
+ * function frameSize()
+ * function marginSize(Plasma::MarginEdge)
+ * function getMargins(qreal&,qreal&,qreal&,qreal&)
+ * function contentsRect()
+ * function setElementPrefix(Plasma::Location)
+ * function setElementPrefix(QString)
+ * function hasElementPrefix(QString)
+ * function hasElementPrefix(Plasma::Location)
+ * function prefix()
+ * function mask()
+ * function setCacheAllRenderedFrames(bool)
+ * function cacheAllRenderedFrames()
+ * function framePixmap()
+ * function paintFrame(QPainter*,QRectF,QRectF)
+ * function paintFrame(QPainter*,QRectF)
+ * function paintFrame(QPainter*,QPointF)
+ * function paintFrame(QPainter*)
+
Painting on the Canvas
----------------------
-plasmoid.paintInterface = function(painter)
+
QPainter
+ * function background
+ * function backgroundMode
+ * function begin
+ * function boundingRect
+ * function brush
+ * function brushOrigin
+ * function clipPath
+ * function clipRegion
+ * function combinedMatrix
+ * function combinedTransform
+ * function compositionMode
+ * function device
+ * function deviceMatrix
+ * function deviceTransform
+ * function drawChord
+ * function drawConvexPolygon
+ * function drawArc
+ * function drawEllipse
+ * function drawImage
+ * function drawLine
+ * function drawLines
+ * function drawPath
+ * function drawPicture
+ * function drawPie
+ * function drawPixmap
+ * function drawPoint
+ * function drawPoints
+ * function drawPolygon
+ * function drawPolyline
+ * function drawRect
+ * function drawRects
+ * function drawRoundRect
+ * function drawText
+ * function drawTiledPixmap
+ * function end
+ * function eraseRect
+ * function fillPath
+ * function fillRect
+ * function font
+ * function fontInfo
+ * function fontMetrics
+ * function hasClipping
+ * function initFrom
+ * function isActive
+ * function layoutDirection
+ * function opacity
+ * function paintEngine
+ * function pen
+ * function renderHints
+ * function resetMatrix
+ * function resetTransform
+ * function restore
+ * function rotate
+ * function save
+ * function scale
+ * function setBackground
+ * function setBackgroundMode
+ * function setBrush
+ * function setBrushOrigin
+ * function setClipPath
+ * function setClipRect
+ * function setClipRegion
+ * function setClipping
+ * function setCompositionMode
+ * function setFont
+ * function setLayoutDirection
+ * function setOpacity
+ * function setPen
+ * function setRenderHint
+ * function setRenderHints
+ * function setTransform
+ * function setViewTransformEnabled
+ * function setViewport
+ * function setWindow
+ * function setWorldMatrix
+ * function setWorldMatrixEnabled
+ * function setWorldTransform
+ * function shear
+ * function strokePath
+ * function testRenderHint
+ * function toString
+ * function transform
+ * function translate
+ * function viewTransformEnabled
+ * function viewport
+ * function window
+ * function worldMatrix
+ * function worldMatrixEnabled
+ * function worldTransform
+
+QColor
+ * Constructors:
+ * QColor
+ * QColor(string colorName)
+ * QColor(number red, number green, number blue, number alpha)
+ * number red
+ * number green
+ * number blue
+ * number alpha
+ * boolean isValid
+
QFont
+ * Constructors:
+ * QFont
+ * QFont(string fontName)
+ * QFont(string fontName, number pointSize)
+ * QFont(string fontName, number pointSize, number weight)
+ * QFont(string fontName, number pointSize, number weight, boolean italic)
+ * boolean bold
+ * function defaultFamily
+ * function exactMatch
+ * string family
+ * boolean fixedPitch
+ * function fromString
+ * function handle
+ * function isCopyOf
+ * boolean italic
+ * boolean kerning
+ * string key
+ * function lastResortFamily
+ * function lastResortFont
+ * boolean overline
+ * number pixelSize
+ * number pointSize
+ * number pointSizeF
+ * boolean rawMode
+ * string rawName
+ * function resolve
+ * undefined bamily
+ * number stretch
+ * boolean strikeOut
+ * function setStyle
+ * function setStyleHint
+ * function setStyleStrategy
+ * boolean underline
+ * number weight
+ * function style
+ * function styleHint
+ * function styleStrategy
+ * function toString
+
QRectF
+ * Constructors:
+ * QRectF
+ * QRectF(number x, number y, number width, number height)
+ * function adjust
+ * object adjusted
+ * function translate
+ * function setCoords
+ * function setRect
+ * function contains
+ * function moveBottom
+ * function moveLeft
+ * function moveRight
+ * function moveTo
+ * function moveTop
+ * boolean isEmpty
+ * boolean isNull
+ * boolean isValid
+ * number left
+ * number top
+ * number bottom
+ * number right
+ * number height
+ * number width
+ * number x
+ * number y
+
QSizeF
+ * Constructors:
+ * QSizeF
+ * QSizeF(number width, number height)
+ * number height
+ * number width
+
QPoint
+ * Constructors:
+ * QPoint
+ * QPoint(number x, number y)
+ * bool isNull
+ * number manhattanLength
+ * number x
+ * number y
+
Accessing Sources of Data
=========================
dataEngine(string name)
@@ -479,6 +779,14 @@
Other Functions and Classes
===========================
print(string)
+debug(string)
GraphicsItem
Timer
Url
+
+Extensions
+==========
+Extensions to the standard API
+plasmoid.hasExtension
+
+
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic