X-Git-Url: http://git.maemo.org/git/?p=ffqwlibrary;a=blobdiff_plain;f=libffqw-n810-1.0%2Fsources%2Fffabstractwidget.h;fp=libffqw-n810-1.0%2Fsources%2Fffabstractwidget.h;h=cdc6dbfc497bafb0f0c09fcd204a656b92bd8101;hp=0000000000000000000000000000000000000000;hb=1273d1fbb03faf468b080ca8f2f78717e6949815;hpb=0cf856837e9dc2e271c8e16390758bf02107f678 diff --git a/libffqw-n810-1.0/sources/ffabstractwidget.h b/libffqw-n810-1.0/sources/ffabstractwidget.h new file mode 100644 index 0000000..cdc6dbf --- /dev/null +++ b/libffqw-n810-1.0/sources/ffabstractwidget.h @@ -0,0 +1,243 @@ +/* + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + +http://www.gnu.org/licenses/gpl-3.0.txt +*/ +/** + * @file ffabstractwidget.h + * @brief contains all required declarations and basic utilities functions + * + * @author ComArch S.A. + * @date 2009.07.31 + * @version 1.0 + */ +#ifndef FFABSTRACTWIDGET_H_ +#define FFABSTRACTWIDGET_H_ + +#include + +class FFAbstractWidget; +typedef FFAbstractWidget FF; + +/** + * Defines default title text color for button + */ +const QColor FF_TITLE_COLOR = QColor(14,221,26); +/** + * Defines default description text color for button + */ +const QColor FF_DESCRIPTION_COLOR = QColor(100,100,100); +/** + * Defines default button height + */ +const int DEFAULT_BUTTON_HEIGHT = 65; +/** + * Defines default combo button height + */ +const int DEFAULT_COMBO_HEIGHT = 65; +/** + * Defines color for legend widget used on FFChart + */ +const QColor DEFAULT_LEGEND_BACKGROUND_COLOR = QColor(26,26,26); +/** + * Defines opacity for legend widget used on FFChart + */ +const qreal DEFAULT_LEGEND_BACKGROUND_OPACITY = 0.8; + +/** + * Defines default font name for widget title + */ +const QString FONT_TITLE_DEF = "Arial"; +/** + * Defines default font name for widget description + */ +const QString FONT_TEXT_DEF = "Arial"; + +/** + * Defines title text color for scrolling label + */ +const QColor COLOR_TITLE_DEF = QColor(50, 255, 50); +/** + * Defines description text color for scrolling label + */ +const QColor COLOR_TEXT_DEF = QColor(50, 50, 255); +/** + * Defines bright background color + */ +const QColor COLOR_BRIGHT_BACKGROUND_DEF = QColor(250, 255, 250); +/** + * Defines dark background color + */ +const QColor COLOR_DARK_BACKGROUND_DEF = QColor(250, 255, 250); +/** + * Defines bright foreground color + */ +const QColor COLOR_BRIGHT_FOREGROUND_DEF = QColor(250, 255, 250); +/** + * Defines dark foreground color + */ +const QColor COLOR_DARK_FOREGROUND_DEF = QColor(250, 255, 250); + +/** + * @author ComArch S.A. + * @date 2009.07.30 + * @version 1.0 + * + * @brief A parent-class for all widgets included in FFQW Library + */ + +class FFAbstractWidget : public QWidget +{ + Q_OBJECT + +public: + FFAbstractWidget(QWidget* parent = 0); + virtual ~FFAbstractWidget(); + +/** + * describes standard FF widgets' sizes + */ +enum Size +{ + SIZE_TINY = 0x0001, + SIZE_SMALL = 0x0002, + SIZE_NORMAL = 0x0004, + SIZE_LARGE = 0x0008, + SIZE_HUGE = 0x0010 +}; + +/** + * describes standard FF widgets' fonts + */ +enum Font +{ + FONT_TITLE = 0x0020, FONT_TEXT = 0x0040 +}; + +/** + * describes standard FF widgets' colors + */ +enum Color +{ + COLOR_TITLE = 0x0080, + COLOR_TEXT = 0x0100, + COLOR_BRIGHT_BACKGROUND = 0x0200, + COLOR_DARK_BACKGROUND = 0x0400, + COLOR_BRIGHT_FOREGROUND = 0x0800, + COLOR_DARK_FOREGROUND = 0x1000 +}; + +/** + * defines standard FF widgets' alignment + */ +enum Alignment +{ + ALIGNMENT_LEFT = 0x2000, + ALIGNMENT_RIGHT = 0x4000, + ALIGNMENT_CENTER = 0x8000 +}; + +/** + * defines standard FF widgets' scrolling type + */ +enum Scroll +{ + SCROLL_SIDE_TO_SIDE = 0x0001 +}; + +}; +/** + * Mask for checking size + */ +const int SIZE_MASK = FF::SIZE_TINY | + FF::SIZE_SMALL | + FF::SIZE_NORMAL | + FF::SIZE_LARGE | + FF::SIZE_HUGE; +/** + * Mask for checking font type + */ +const int FONT_MASK = FF::FONT_TITLE | FF::FONT_TEXT; + +/** + * Mask for checking color + */ +const int COLOR_MASK = FF::COLOR_TITLE | + FF::COLOR_BRIGHT_BACKGROUND | + FF::COLOR_DARK_BACKGROUND | + FF::COLOR_BRIGHT_FOREGROUND | + FF::COLOR_DARK_FOREGROUND; +/** + * Mask for checking alignment + */ +const int ALIGNMENT_MASK = FF::ALIGNMENT_LEFT | FF::ALIGNMENT_RIGHT | FF::ALIGNMENT_CENTER; + +#endif // FFABSTRACTWIDGET_H