* AppletConstraint -> FormFactor, since it may not only be applicable to applets and form factor is simply more common verbology

* add a FormFactor for MediaCenter
* ScreenEdge -> Location, as it isn't always an edge
* document enum values

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668310
This commit is contained in:
Aaron J. Seigo 2007-05-25 22:51:23 +00:00
parent a62bd49c9a
commit 87c431393a
2 changed files with 51 additions and 14 deletions

View File

@ -33,13 +33,15 @@ int uniqueId()
return ++plasmaIds; return ++plasmaIds;
} }
Direction edgeToPopupDirection(ScreenEdge edge) Direction locationToDirection(Location location)
{ {
switch (edge) switch (location)
{ {
case Floating: case Floating:
case Desktop: case Desktop:
case TopEdge: case TopEdge:
//TODO: should we be smarter for floating and planer?
// perhaps we should take a QRect and/or QPos as well?
return Down; return Down;
case BottomEdge: case BottomEdge:
return Up; return Up;
@ -48,7 +50,8 @@ Direction edgeToPopupDirection(ScreenEdge edge)
case RightEdge: case RightEdge:
return Left; return Left;
} }
return Down;
return Down;
} }
} // Plasma namespace } // Plasma namespace

View File

@ -27,22 +27,56 @@
namespace Plasma namespace Plasma
{ {
enum AppletConstraint { NoConstraint = 0, /**
Width = 1, * The FormFactor enumeration describes how a Plasma::Applet should arrange
Height = 2, * itself. The value is derived from the container managing the Applet
MaxAppletConstraint = Height }; * (e.g. in Plasma, a Corona on the desktop or on a panel).
**/
enum FormFactor { Planar = 0 /**< The applet lives in a plane and has two
degrees of freedom to grow. Optimize for
desktop, laptop or tablet usage: a high
resolution screen 1-3 feet distant from the
viewer. */,
MediaCenter /**< As with Planar, the applet lives in a plane
but the interface should be optimized for
medium-to-high resolution screens that are
5-15 feet distant from the viewer. Sometimes
referred to as a "ten foot interface".*/,
Horizontal /**< The applet is constrained vertically, but
can expand horizontally. */,
Vertical /**< The applet is contrained horizontally, but
can expand vertically. */
};
enum Direction { Down = 0, /**
Up, * The Direction enumeration describes in which direction, relative to the
Left, * Applet (and its managing container), popup menus, expanders, balloons,
Right }; * message boxes, arrows and other such visually associated widgets should
* appear in. This is usually the oposite of the Location.
**/
enum Direction { Down = 0 /**< Display downards */ ,
Up /**< Display upwards */,
Left /**< Display to the left */,
Right /**< Display to the right */
};
enum ScreenEdge { Floating = 0, Desktop, /**
TopEdge, BottomEdge, LeftEdge, RightEdge }; * The Location enumeration describes where on screen an element, such as an
* Applet or its managing container, is positioned on the screen.
**/
enum Location { Floating = 0 /**< Free floating. Neither geometry or z-ordering
is described precisely by this value. */,
Desktop /**< On the planar desktop layer, extending across
the full screen from edge to edge */,
TopEdge /**< Along the top of the screen*/,
BottomEdge /**< Along the bottom of the screen*/,
LeftEdge /**< Along the left side of the screen */,
RightEdge /**< Along the right side of the screen */
};
PLASMA_EXPORT void setMinId(int minId); PLASMA_EXPORT void setMinId(int minId);
PLASMA_EXPORT int uniqueId(); PLASMA_EXPORT int uniqueId();
PLASMA_EXPORT Direction edgeToPopupDirection(ScreenEdge edge); PLASMA_EXPORT Direction locationToDirection(Location location);
} // Plasma namespace } // Plasma namespace