Go to file
Robert Knight a29ae57a7d This breaks the existing Plasma applet API, see the contentSize()
comments below.

* New Flow Layout.  This provides simple icon view-esque layout of items.
  Useful for icons for documents , applications or other tasks on the desktop
  for example.  Supports non-equally sized items.

  Works well when used with the LayoutAnimator class to animate insertions
  and removals.

* Re-wrote BoxLayout and removed old HBoxLayout,VBoxLayout classes which had
  a lot of code duplication.  BoxLayout class now takes a direction argument
  in the constructor, ala. QBoxLayout.  New BoxLayout class actually takes
  minimumSize() , maximumSize() of items into account.  The Qt layout code
  for box and grid layouts is surprisingly sophisticated, so the results
  from BoxLayout probably will not be as good in certain situations but
  it should do for the panel.  New BoxLayout also has support for LayoutAnimator

* Fix Plasma::HBoxLayout and Plasma::VBoxLayout to use margin() 
  rather than spacing() for the distance from the top and left
  margins respectively.

* Fix Plasma::Applet::contentSize() to return the actual content size
  rather than a size hint.  Added a new method contentSizeHint() which
  applets use to provide a hint about suitable content size.  

  Existing implementations of contentSize() in applets need to be renamed
  to contentSizeHint().  The arguments and return type are the same as before.

* Install the LayoutAnimator header so that applets can use it

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707275
2007-09-01 12:34:22 +00:00
effects Replace expf with std::exp, which does the same thing, and is available on 2007-08-28 12:56:02 +00:00
includes Add missing include file 2007-07-29 11:35:29 +00:00
servicetypes SVN_SILENT made messages (.desktop file) 2007-08-31 07:59:14 +00:00
widgets This breaks the existing Plasma applet API, see the contentSize() 2007-09-01 12:34:22 +00:00
abstractrunner.cpp improve error reporting when a plugin fails to load 2007-08-29 03:06:48 +00:00
abstractrunner.h kpluginfactory, it's all the new rage 2007-08-29 02:17:39 +00:00
animator.cpp move animator to the new plugin system 2007-08-29 02:45:20 +00:00
animator.h move animator to the new plugin system 2007-08-29 02:45:20 +00:00
applet.cpp This breaks the existing Plasma applet API, see the contentSize() 2007-09-01 12:34:22 +00:00
applet.h This breaks the existing Plasma applet API, see the contentSize() 2007-09-01 12:34:22 +00:00
CMakeLists.txt This breaks the existing Plasma applet API, see the contentSize() 2007-09-01 12:34:22 +00:00
configxml.cpp copyright cleanups: 2007-08-06 11:20:02 +00:00
configxml.h copyright cleanups: 2007-08-06 11:20:02 +00:00
corona.cpp This breaks the existing Plasma applet API, see the contentSize() 2007-09-01 12:34:22 +00:00
corona.h make Applet use the newer plugin loading mechanisms 2007-08-29 02:33:22 +00:00
datacontainer.cpp You don't need QAtomic if you're not thread-safe 2007-08-27 17:27:27 +00:00
datacontainer.h copyright cleanups: 2007-08-06 11:20:02 +00:00
dataengine.cpp * make connectSource apidox a bit clearer 2007-08-29 02:57:04 +00:00
dataengine.h * make connectSource apidox a bit clearer 2007-08-29 02:57:04 +00:00
dataenginemanager.cpp improve error reporting when a plugin fails to load 2007-08-29 03:06:48 +00:00
dataenginemanager.h copyright cleanups: 2007-08-06 11:20:02 +00:00
glapplet.cpp make paintGLInterface non-pure virtual to make it more similar to Applet 2007-08-30 04:34:09 +00:00
glapplet.h make paintGLInterface non-pure virtual to make it more similar to Applet 2007-08-30 04:34:09 +00:00
karambamanager.cpp copyright cleanups: 2007-08-06 11:20:02 +00:00
karambamanager.h copyright cleanups: 2007-08-06 11:20:02 +00:00
Mainpage.dox SVN_SILENT: 2007-07-24 18:34:37 +00:00
Messages.sh Convert the "messages" targets of kdebase into Messages.sh scripts 2006-02-22 01:47:34 +00:00
package.cpp copyright cleanups: 2007-08-06 11:20:02 +00:00
package.h copyright cleanups: 2007-08-06 11:20:02 +00:00
packagemetadata.cpp copyright cleanups: 2007-08-06 11:20:02 +00:00
packagemetadata.h copyright cleanups: 2007-08-06 11:20:02 +00:00
packages_p.h includes, include guards and typos fixed 2007-08-27 04:31:52 +00:00
packages.cpp copyright cleanups: 2007-08-06 11:20:02 +00:00
packagestructure.cpp copyright cleanups: 2007-08-06 11:20:02 +00:00
packagestructure.h copyright cleanups: 2007-08-06 11:20:02 +00:00
phase.cpp improve error reporting when a plugin fails to load 2007-08-29 03:06:48 +00:00
phase.h copyright cleanups: 2007-08-06 11:20:02 +00:00
plasma_export.h copyright cleanups: 2007-08-06 11:20:02 +00:00
plasma.cpp copyright cleanups: 2007-08-06 11:20:02 +00:00
plasma.h copyright cleanups: 2007-08-06 11:20:02 +00:00
README make it a bit more obvious was is expected of you when you commit to libplasma 2007-07-27 21:09:11 +00:00
scriptengine.cpp improve error reporting when a plugin fails to load 2007-08-29 03:06:48 +00:00
scriptengine.h * fix typo in PLASMA_EXPORT_SCRIPTENGINE name; guess nobody is using this yet? ;) 2007-08-29 03:00:00 +00:00
shadowitem_p.h include fixup 2007-08-07 14:58:00 +00:00
shadowitem.cpp copyright cleanups: 2007-08-06 11:20:02 +00:00
svg.cpp Fix elementSize() , elementRect() always returning 0 in Plasma::Svg if called before resize(). Set the size to the document's default size when the renderer is created. Makes it possible to determine the aspect ratio of the graphic. 2007-08-31 15:15:04 +00:00
svg.h copyright cleanups: 2007-08-06 11:20:02 +00:00
theme.cpp copyright cleanups: 2007-08-06 11:20:02 +00:00
theme.h copyright cleanups: 2007-08-06 11:20:02 +00:00

libplasma

Commit Rules:
* If your patch is not an obvious or trivial bug fix, have it peer reviewed
  by another Plasma developer
* All code MUST follow the kdelibs coding style, as found at:
    http://techbase.kde.org/Policies/Kdelibs_Coding_Style
* All new public API MUST have apidox written before committing

Unit tests are next to godliness. (Though as you can see, right now libplasma
is hellbound.)

This directory contains the classes making up libplasma, which provides the
core framework used by Plasma and its components. This includes applet and
extension definitions and loading, common GUI elements, etc.

Domain specific sets of functionality, e.g. for network awareness or sensors,
are not found here but in one of the Plasma Engines.

Please refer to the Plasma website (http://plasma.kde.org) and Plasma wiki
(http://techbase.kde.org/Projects/Plasma) for API documentation and design
documents regarding this library.