Commit Graph

14 Commits

Author SHA1 Message Date
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
Percy Leonhardt
615eae37ba Merged HBoxLayout and VBoxLayout into BoxLayout to avoid duplicate code.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706645
2007-08-30 23:44:08 +00:00
Aaron J. Seigo
db4a7ebe61 copyright cleanups:
* Copyright (C) -> Copyright
* add "or later" clause to files that i have the sole copyright on
* add current year (2007) to my copyrights where it was missing

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696946
2007-08-06 11:20:02 +00:00
Aaron J. Seigo
c4570130f5 tabsbegone
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692758
2007-07-26 07:25:30 +00:00
Aaron J. Seigo
28b20a150a * add hbox to build
* make hbox share the boxlayout superclass with vbox
* profit

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692756
2007-07-26 07:23:30 +00:00
Aaron J. Seigo
f82a4cfb55 separate out the stuff the hbox will need from vbox and put it into box.
sprinkle "layout" and some capital letters throughout the above if the above sounds random to you ;)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692578
2007-07-25 22:20:15 +00:00
Matias Valdenegro Toro
bef5a33ed5 - Full Doxygenization
- Ported PushButton to Plasma::Widget API
- Two new classes, Rectangle and Label.
- All Widgets should now inherit from Plasma::Widget


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691090
2007-07-22 22:16:40 +00:00
Laurent Montel
65be58f69e Remove not necessary "class classname;"
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=671233
2007-06-04 08:24:29 +00:00
Aaron J. Seigo
bbaebc6b1b move workspace/plasma/lib to workspace/lib/plasma so that we can do:
#include <plasma/foo.h>

in headers in libplasma. this is important so that they can be used post-install by third party plugins, apps, etc.

also, changed Applet::loadDataEngine to just Applet::dataEngine and make it actually return the data engine; move the applets to using it. safer and fewer LoC

svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=670850
2007-06-02 17:29:39 +00:00
Aaron J. Seigo
429d8fd708 apparently i missed this entire directory when introducing PLASMA_EXPORT. but i got 'em this time! ;)
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=669395
2007-05-29 08:02:01 +00:00
Aaron J. Seigo
c300ff48bc keep track of what layout we belong to so that we can remove ourselves from the layout when we exit; prevents crashes when items are added then deleted later. since we aren't guaranteed a QObject, we can't do the obvious thing (e.g. listen for the destroyed() signal)
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668928
2007-05-28 05:46:24 +00:00
Matias Valdenegro Toro
449a7e6d13 Add some basic apidox
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668074
2007-05-25 01:27:27 +00:00
Pino Toscano
f5230fcd1e extra ';'
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667451
2007-05-22 21:05:42 +00:00
Matias Valdenegro Toro
edaecc53af First commit of my work, added classes :
- LayoutItem
- Layout
- VBoxLayout


svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667376
2007-05-22 16:48:34 +00:00