Logo
  • Main Page
  • Related Pages
  • Modules
  • Classes
  • Files

mmswidgetclass.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2005-2007 Stefan Schwarzer, Jens Schneider,             *
00003  *                           Matthias Hardt, Guido Madaus                  *
00004  *                                                                         *
00005  *   Copyright (C) 2007-2008 BerLinux Solutions GbR                        *
00006  *                           Stefan Schwarzer & Guido Madaus               *
00007  *                                                                         *
00008  *   Copyright (C) 2009-2013 BerLinux Solutions GmbH                       *
00009  *                                                                         *
00010  *   Authors:                                                              *
00011  *      Stefan Schwarzer   <stefan.schwarzer@diskohq.org>,                 *
00012  *      Matthias Hardt     <matthias.hardt@diskohq.org>,                   *
00013  *      Jens Schneider     <jens.schneider@diskohq.org>,                   *
00014  *      Guido Madaus       <guido.madaus@diskohq.org>,                     *
00015  *      Patrick Helterhoff <patrick.helterhoff@diskohq.org>,               *
00016  *      René Bählkow       <rene.baehlkow@diskohq.org>                     *
00017  *                                                                         *
00018  *   This library is free software; you can redistribute it and/or         *
00019  *   modify it under the terms of the GNU Lesser General Public            *
00020  *   License version 2.1 as published by the Free Software Foundation.     *
00021  *                                                                         *
00022  *   This library is distributed in the hope that it will be useful,       *
00023  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00024  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00025  *   Lesser General Public License for more details.                       *
00026  *                                                                         *
00027  *   You should have received a copy of the GNU Lesser General Public      *
00028  *   License along with this library; if not, write to the                 *
00029  *   Free Software Foundation, Inc.,                                       *
00030  *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
00031  **************************************************************************/
00032 
00033 #ifndef MMSWIDGETCLASS_H_
00034 #define MMSWIDGETCLASS_H_
00035 
00036 #include "mmsgui/theme/mmsborderclass.h"
00037 
00038 //! describe attributes for MMSWidget which are additional to the MMSBorderClass
00039 namespace MMSGUI_WIDGET_ATTR {
00040 
00041     #define MMSGUI_WIDGET_ATTR_ATTRDESC \
00042     { "bgcolor", TAFF_ATTRTYPE_COLOR }, \
00043     { "bgcolor.a", TAFF_ATTRTYPE_UCHAR }, \
00044     { "bgcolor.r", TAFF_ATTRTYPE_UCHAR }, \
00045     { "bgcolor.g", TAFF_ATTRTYPE_UCHAR }, \
00046     { "bgcolor.b", TAFF_ATTRTYPE_UCHAR }, \
00047     { "selbgcolor", TAFF_ATTRTYPE_COLOR }, \
00048     { "selbgcolor.a", TAFF_ATTRTYPE_UCHAR }, \
00049     { "selbgcolor.r", TAFF_ATTRTYPE_UCHAR }, \
00050     { "selbgcolor.g", TAFF_ATTRTYPE_UCHAR }, \
00051     { "selbgcolor.b", TAFF_ATTRTYPE_UCHAR }, \
00052     { "bgcolor_p", TAFF_ATTRTYPE_COLOR }, \
00053     { "bgcolor_p.a", TAFF_ATTRTYPE_UCHAR }, \
00054     { "bgcolor_p.r", TAFF_ATTRTYPE_UCHAR }, \
00055     { "bgcolor_p.g", TAFF_ATTRTYPE_UCHAR }, \
00056     { "bgcolor_p.b", TAFF_ATTRTYPE_UCHAR }, \
00057     { "selbgcolor_p", TAFF_ATTRTYPE_COLOR }, \
00058     { "selbgcolor_p.a", TAFF_ATTRTYPE_UCHAR }, \
00059     { "selbgcolor_p.r", TAFF_ATTRTYPE_UCHAR }, \
00060     { "selbgcolor_p.g", TAFF_ATTRTYPE_UCHAR }, \
00061     { "selbgcolor_p.b", TAFF_ATTRTYPE_UCHAR }, \
00062     { "bgcolor_i", TAFF_ATTRTYPE_COLOR }, \
00063     { "bgcolor_i.a", TAFF_ATTRTYPE_UCHAR }, \
00064     { "bgcolor_i.r", TAFF_ATTRTYPE_UCHAR }, \
00065     { "bgcolor_i.g", TAFF_ATTRTYPE_UCHAR }, \
00066     { "bgcolor_i.b", TAFF_ATTRTYPE_UCHAR }, \
00067     { "selbgcolor_i", TAFF_ATTRTYPE_COLOR }, \
00068     { "selbgcolor_i.a", TAFF_ATTRTYPE_UCHAR }, \
00069     { "selbgcolor_i.r", TAFF_ATTRTYPE_UCHAR }, \
00070     { "selbgcolor_i.g", TAFF_ATTRTYPE_UCHAR }, \
00071     { "selbgcolor_i.b", TAFF_ATTRTYPE_UCHAR }, \
00072     { "bgimage", TAFF_ATTRTYPE_STRING }, \
00073     { "bgimage.path", TAFF_ATTRTYPE_STRING }, \
00074     { "bgimage.name", TAFF_ATTRTYPE_STRING }, \
00075     { "selbgimage", TAFF_ATTRTYPE_STRING }, \
00076     { "selbgimage.path", TAFF_ATTRTYPE_STRING }, \
00077     { "selbgimage.name", TAFF_ATTRTYPE_STRING }, \
00078     { "bgimage_p", TAFF_ATTRTYPE_STRING }, \
00079     { "bgimage_p.path", TAFF_ATTRTYPE_STRING }, \
00080     { "bgimage_p.name", TAFF_ATTRTYPE_STRING }, \
00081     { "selbgimage_p", TAFF_ATTRTYPE_STRING }, \
00082     { "selbgimage_p.path", TAFF_ATTRTYPE_STRING }, \
00083     { "selbgimage_p.name", TAFF_ATTRTYPE_STRING }, \
00084     { "bgimage_i", TAFF_ATTRTYPE_STRING }, \
00085     { "bgimage_i.path", TAFF_ATTRTYPE_STRING }, \
00086     { "bgimage_i.name", TAFF_ATTRTYPE_STRING }, \
00087     { "selbgimage_i", TAFF_ATTRTYPE_STRING }, \
00088     { "selbgimage_i.path", TAFF_ATTRTYPE_STRING }, \
00089     { "selbgimage_i.name", TAFF_ATTRTYPE_STRING }, \
00090     { "margin", TAFF_ATTRTYPE_UCHAR }, \
00091     { "focusable", TAFF_ATTRTYPE_BOOL }, \
00092     { "selectable", TAFF_ATTRTYPE_BOOL }, \
00093     { "up_arrow", TAFF_ATTRTYPE_STRING }, \
00094     { "down_arrow", TAFF_ATTRTYPE_STRING }, \
00095     { "left_arrow", TAFF_ATTRTYPE_STRING }, \
00096     { "right_arrow", TAFF_ATTRTYPE_STRING }, \
00097     { "data", TAFF_ATTRTYPE_STRING }, \
00098     { "navigate_up", TAFF_ATTRTYPE_STRING }, \
00099     { "navigate_down", TAFF_ATTRTYPE_STRING }, \
00100     { "navigate_left", TAFF_ATTRTYPE_STRING }, \
00101     { "navigate_right", TAFF_ATTRTYPE_STRING }, \
00102     { "vslider", TAFF_ATTRTYPE_STRING }, \
00103     { "hslider", TAFF_ATTRTYPE_STRING }, \
00104     { "imagesondemand", TAFF_ATTRTYPE_BOOL }, \
00105     { "blend", TAFF_ATTRTYPE_UCHAR }, \
00106     { "blend_factor", TAFF_ATTRTYPE_STRING }, \
00107     { "scroll_onfocus", TAFF_ATTRTYPE_BOOL }, \
00108     { "clickable", TAFF_ATTRTYPE_BOOL }, \
00109     { "return_onscroll", TAFF_ATTRTYPE_BOOL }, \
00110     { "inputmode", TAFF_ATTRTYPE_STRING }, \
00111     { "joined_widget", TAFF_ATTRTYPE_STRING }, \
00112     { "activated", TAFF_ATTRTYPE_BOOL }, \
00113     { "factoryname", TAFF_ATTRTYPE_STRING }
00114 
00115 
00116     #define MMSGUI_WIDGET_ATTR_IDS \
00117         MMSGUI_WIDGET_ATTR_IDS_bgcolor, \
00118         MMSGUI_WIDGET_ATTR_IDS_bgcolor_a, \
00119         MMSGUI_WIDGET_ATTR_IDS_bgcolor_r, \
00120         MMSGUI_WIDGET_ATTR_IDS_bgcolor_g, \
00121         MMSGUI_WIDGET_ATTR_IDS_bgcolor_b, \
00122         MMSGUI_WIDGET_ATTR_IDS_selbgcolor, \
00123         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_a, \
00124         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_r, \
00125         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_g, \
00126         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_b, \
00127         MMSGUI_WIDGET_ATTR_IDS_bgcolor_p, \
00128         MMSGUI_WIDGET_ATTR_IDS_bgcolor_p_a, \
00129         MMSGUI_WIDGET_ATTR_IDS_bgcolor_p_r, \
00130         MMSGUI_WIDGET_ATTR_IDS_bgcolor_p_g, \
00131         MMSGUI_WIDGET_ATTR_IDS_bgcolor_p_b, \
00132         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_p, \
00133         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_p_a, \
00134         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_p_r, \
00135         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_p_g, \
00136         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_p_b, \
00137         MMSGUI_WIDGET_ATTR_IDS_bgcolor_i, \
00138         MMSGUI_WIDGET_ATTR_IDS_bgcolor_i_a, \
00139         MMSGUI_WIDGET_ATTR_IDS_bgcolor_i_r, \
00140         MMSGUI_WIDGET_ATTR_IDS_bgcolor_i_g, \
00141         MMSGUI_WIDGET_ATTR_IDS_bgcolor_i_b, \
00142         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_i, \
00143         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_i_a, \
00144         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_i_r, \
00145         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_i_g, \
00146         MMSGUI_WIDGET_ATTR_IDS_selbgcolor_i_b, \
00147         MMSGUI_WIDGET_ATTR_IDS_bgimage, \
00148         MMSGUI_WIDGET_ATTR_IDS_bgimage_path, \
00149         MMSGUI_WIDGET_ATTR_IDS_bgimage_name, \
00150         MMSGUI_WIDGET_ATTR_IDS_selbgimage, \
00151         MMSGUI_WIDGET_ATTR_IDS_selbgimage_path, \
00152         MMSGUI_WIDGET_ATTR_IDS_selbgimage_name, \
00153         MMSGUI_WIDGET_ATTR_IDS_bgimage_p, \
00154         MMSGUI_WIDGET_ATTR_IDS_bgimage_p_path, \
00155         MMSGUI_WIDGET_ATTR_IDS_bgimage_p_name, \
00156         MMSGUI_WIDGET_ATTR_IDS_selbgimage_p, \
00157         MMSGUI_WIDGET_ATTR_IDS_selbgimage_p_path, \
00158         MMSGUI_WIDGET_ATTR_IDS_selbgimage_p_name, \
00159         MMSGUI_WIDGET_ATTR_IDS_bgimage_i, \
00160         MMSGUI_WIDGET_ATTR_IDS_bgimage_i_path, \
00161         MMSGUI_WIDGET_ATTR_IDS_bgimage_i_name, \
00162         MMSGUI_WIDGET_ATTR_IDS_selbgimage_i, \
00163         MMSGUI_WIDGET_ATTR_IDS_selbgimage_i_path, \
00164         MMSGUI_WIDGET_ATTR_IDS_selbgimage_i_name, \
00165         MMSGUI_WIDGET_ATTR_IDS_margin, \
00166         MMSGUI_WIDGET_ATTR_IDS_focusable, \
00167         MMSGUI_WIDGET_ATTR_IDS_selectable, \
00168         MMSGUI_WIDGET_ATTR_IDS_up_arrow, \
00169         MMSGUI_WIDGET_ATTR_IDS_down_arrow, \
00170         MMSGUI_WIDGET_ATTR_IDS_left_arrow, \
00171         MMSGUI_WIDGET_ATTR_IDS_right_arrow, \
00172         MMSGUI_WIDGET_ATTR_IDS_data, \
00173         MMSGUI_WIDGET_ATTR_IDS_navigate_up, \
00174         MMSGUI_WIDGET_ATTR_IDS_navigate_down, \
00175         MMSGUI_WIDGET_ATTR_IDS_navigate_left, \
00176         MMSGUI_WIDGET_ATTR_IDS_navigate_right, \
00177         MMSGUI_WIDGET_ATTR_IDS_vslider, \
00178         MMSGUI_WIDGET_ATTR_IDS_hslider, \
00179         MMSGUI_WIDGET_ATTR_IDS_imagesondemand, \
00180         MMSGUI_WIDGET_ATTR_IDS_blend, \
00181         MMSGUI_WIDGET_ATTR_IDS_blend_factor, \
00182         MMSGUI_WIDGET_ATTR_IDS_scroll_onfocus, \
00183         MMSGUI_WIDGET_ATTR_IDS_clickable, \
00184         MMSGUI_WIDGET_ATTR_IDS_return_onscroll, \
00185         MMSGUI_WIDGET_ATTR_IDS_inputmode, \
00186         MMSGUI_WIDGET_ATTR_IDS_joined_widget, \
00187         MMSGUI_WIDGET_ATTR_IDS_activated, \
00188         MMSGUI_WIDGET_ATTR_IDS_factoryname
00189 
00190     #define MMSGUI_WIDGET_ATTR_INIT { \
00191         MMSGUI_BASE_ATTR_ATTRDESC, \
00192         MMSGUI_BORDER_ATTR_ATTRDESC, \
00193         MMSGUI_WIDGET_ATTR_ATTRDESC, \
00194         { NULL, TAFF_ATTRTYPE_NONE } \
00195     }
00196 
00197     typedef enum {
00198         MMSGUI_BASE_ATTR_IDS,
00199         MMSGUI_BORDER_ATTR_IDS,
00200         MMSGUI_WIDGET_ATTR_IDS
00201     } ids;
00202 }
00203 
00204 
00205 
00206 //! A data access class as base for all widgets.
00207 /*!
00208 This class is the base for all widget classes.
00209 With this data store you have access to all changeable widget attributes
00210 used for all widgets.
00211 \note This class will be internally used by class MMSWidget.
00212 \author Jens Schneider
00213 */
00214 class MMSWidgetClass {
00215     private:
00216         struct {
00217             //! is bgcolor set?
00218             bool            isbgcolor;
00219 
00220             //! background color if the widget is not selected
00221             MMSFBColor      bgcolor;
00222 
00223             //! is selbgcolor set?
00224             bool            isselbgcolor;
00225 
00226             //! background color if the widget is selected
00227             MMSFBColor      selbgcolor;
00228 
00229             //! is pressed bgcolor set?
00230             bool            isbgcolor_p;
00231 
00232             //! pressed background color if the widget is not selected
00233             MMSFBColor      bgcolor_p;
00234 
00235             //! is pressed selbgcolor set?
00236             bool            isselbgcolor_p;
00237 
00238             //! pressed background color if the widget is selected
00239             MMSFBColor      selbgcolor_p;
00240 
00241             //! is inactive bgcolor set?
00242             bool            isbgcolor_i;
00243 
00244             //! inactive background color if the widget is not selected
00245             MMSFBColor      bgcolor_i;
00246 
00247             //! is inactive selbgcolor set?
00248             bool            isselbgcolor_i;
00249 
00250             //! inactive background color if the widget is selected
00251             MMSFBColor      selbgcolor_i;
00252 
00253             //! is bgimagepath set?
00254             bool            isbgimagepath;
00255 
00256             //! is bgimagename set?
00257             bool            isbgimagename;
00258 
00259             //! is selbgimagepath set?
00260             bool            isselbgimagepath;
00261 
00262             //! is selbgimagename set?
00263             bool            isselbgimagename;
00264 
00265             //! is pressed bgimagepath set?
00266             bool            isbgimagepath_p;
00267 
00268             //! is pressed bgimagename set?
00269             bool            isbgimagename_p;
00270 
00271             //! is pressed selbgimagepath set?
00272             bool            isselbgimagepath_p;
00273 
00274             //! is pressed selbgimagename set?
00275             bool            isselbgimagename_p;
00276 
00277             //! is inactive bgimagepath set?
00278             bool            isbgimagepath_i;
00279 
00280             //! is inactive bgimagename set?
00281             bool            isbgimagename_i;
00282 
00283             //! is inactive selbgimagepath set?
00284             bool            isselbgimagepath_i;
00285 
00286             //! is inactive selbgimagename set?
00287             bool            isselbgimagename_i;
00288 
00289             //! is margin set?
00290             bool            ismargin;
00291 
00292             //! margin in pixel
00293             unsigned int    margin;
00294 
00295             //! is the focusable flag set?
00296             bool            isfocusable;
00297 
00298             //! widget can get the focus true/false
00299             bool            focusable;
00300 
00301             //! is the selectable flag set?
00302             bool            isselectable;
00303 
00304             //! widget can be selected true/false
00305             bool            selectable;
00306 
00307             //! is the uparrow set?
00308             bool            isuparrow;
00309 
00310             //! is the downarrow set?
00311             bool            isdownarrow;
00312 
00313             //! is the leftarrow set?
00314             bool            isleftarrow;
00315 
00316             //! is the rightarrow set?
00317             bool            isrightarrow;
00318 
00319             //! is the data value set?
00320             bool            isdata;
00321 
00322             //! is the navigateup set?
00323             bool            isnavigateup;
00324 
00325             //! is the navigatedown set?
00326             bool            isnavigatedown;
00327 
00328             //! is the navigateleft set?
00329             bool            isnavigateleft;
00330 
00331             //! is the navigateright set?
00332             bool            isnavigateright;
00333 
00334             //! is the vslider set?
00335             bool            isvslider;
00336 
00337             //! is the hslider set?
00338             bool            ishslider;
00339 
00340             //! is images on demand flag set?
00341             bool            isimagesondemand;
00342 
00343             //! use images on demand (true/false)
00344             bool            imagesondemand;
00345 
00346             //! is blend set?
00347             bool            isblend;
00348 
00349             //! blend 0..255, default 0
00350             unsigned int    blend;
00351 
00352             //! is blend factor set?
00353             bool            isblendfactor;
00354 
00355             //! blend factor 0.0.., default 0.0
00356             double          blendfactor;
00357 
00358             //! is scroll on focus flag set?
00359             bool            isscrollonfocus;
00360 
00361             //! use scroll on focus (true/false)
00362             bool            scrollonfocus;
00363 
00364             //! is the clickable flag set?
00365             bool            isclickable;
00366 
00367             //! user can click onto widget true/false
00368             bool            clickable;
00369 
00370             //! is the returnonscroll flag set?
00371             bool            isreturnonscroll;
00372 
00373             //! emit on return callback (true/false) if user changes the selection e.g. in a menu
00374             bool            returnonscroll;
00375 
00376             //! is inputmode set?
00377             bool            isinputmode;
00378 
00379             //! is joined_widget set?
00380             bool            isjoinedwidget;
00381 
00382             //! is the activated flag set?
00383             bool            isactivated;
00384 
00385             //! widget is active / inactive
00386             bool            activated;
00387 
00388             //! widget is active / inactive
00389             bool            isfactoryname;
00390 
00391 
00392         } id;
00393 
00394         struct {
00395             //! path to the background image if the widget is not selected
00396             string          *bgimagepath;
00397 
00398             //! background image filename if the widget is not selected
00399             string          *bgimagename;
00400 
00401             //! path to the background image if the widget is selected
00402             string          *selbgimagepath;
00403 
00404             //! background image filename if the widget is selected
00405             string          *selbgimagename;
00406 
00407             //! path to the pressed background image if the widget is not selected
00408             string          *bgimagepath_p;
00409 
00410             //! pressed background image filename if the widget is not selected
00411             string          *bgimagename_p;
00412 
00413             //! path to the pressed background image if the widget is selected
00414             string          *selbgimagepath_p;
00415 
00416             //! pressed background image filename if the widget is selected
00417             string          *selbgimagename_p;
00418 
00419             //! path to the inactive background image if the widget is not selected
00420             string          *bgimagepath_i;
00421 
00422             //! inactive background image filename if the widget is not selected
00423             string          *bgimagename_i;
00424 
00425             //! path to the inactive background image if the widget is selected
00426             string          *selbgimagepath_i;
00427 
00428             //! inactive background image filename if the widget is selected
00429             string          *selbgimagename_i;
00430 
00431             //! the name of the widget which represents the scroll up arrow
00432             string          *uparrow;
00433 
00434             //! the name of the widget which represents the scroll down arrow
00435             string          *downarrow;
00436 
00437             //! the name of the widget which represents the scroll left arrow
00438             string          *leftarrow;
00439 
00440             //! the name of the widget which represents the scroll right arrow
00441             string          *rightarrow;
00442 
00443             //! any string which can store additional information (will not displayed)
00444             string          *data;
00445 
00446             //! the name of the widget to which should navigate up
00447             string          *navigateup;
00448 
00449             //! the name of the widget to which should navigate down
00450             string          *navigatedown;
00451 
00452             //! the name of the widget to which should navigate left
00453             string          *navigateleft;
00454 
00455             //! the name of the widget to which should navigate right
00456             string          *navigateright;
00457 
00458             //! the name of the widget which represents the vertical slider
00459             string          *vslider;
00460 
00461             //! the name of the widget which represents the horizontal slider
00462             string          *hslider;
00463 
00464             //! input mode
00465             string          *inputmode;
00466 
00467             //! name of widget which is joined to this widget
00468             string          *joinedwidget;
00469 
00470             //! name of widget which is joined to this widget
00471             string          *factoryname;
00472         } ed;
00473 
00474         /* init routines */
00475         void initBgColor();
00476         void initSelBgColor();
00477         void initBgColor_p();
00478         void initSelBgColor_p();
00479         void initBgColor_i();
00480         void initSelBgColor_i();
00481 
00482         void initBgImagePath();
00483         void initBgImageName();
00484         void initSelBgImagePath();
00485         void initSelBgImageName();
00486         void initBgImagePath_p();
00487         void initBgImageName_p();
00488         void initSelBgImagePath_p();
00489         void initSelBgImageName_p();
00490         void initBgImagePath_i();
00491         void initBgImageName_i();
00492         void initSelBgImagePath_i();
00493         void initSelBgImageName_i();
00494 
00495         void initMargin();
00496         void initFocusable();
00497         void initSelectable();
00498 
00499         void initUpArrow();
00500         void initDownArrow();
00501         void initLeftArrow();
00502         void initRightArrow();
00503 
00504         void initData();
00505 
00506         void initNavigateUp();
00507         void initNavigateDown();
00508         void initNavigateLeft();
00509         void initNavigateRight();
00510 
00511         void initVSlider();
00512         void initHSlider();
00513 
00514         void initImagesOnDemand();
00515 
00516         void initBlend();
00517         void initBlendFactor();
00518 
00519         void initScrollOnFocus();
00520         void initClickable();
00521         void initReturnOnScroll();
00522 
00523         void initInputMode();
00524         void initJoinedWidget();
00525 
00526         void initActivated();
00527         void initFactoryName();
00528 
00529 
00530         /* free routines */
00531         void freeBgColor();
00532         void freeSelBgColor();
00533         void freeBgColor_p();
00534         void freeSelBgColor_p();
00535         void freeBgColor_i();
00536         void freeSelBgColor_i();
00537 
00538         void freeBgImagePath();
00539         void freeBgImageName();
00540         void freeSelBgImagePath();
00541         void freeSelBgImageName();
00542         void freeBgImagePath_p();
00543         void freeBgImageName_p();
00544         void freeSelBgImagePath_p();
00545         void freeSelBgImageName_p();
00546         void freeBgImagePath_i();
00547         void freeBgImageName_i();
00548         void freeSelBgImagePath_i();
00549         void freeSelBgImageName_i();
00550 
00551         void freeMargin();
00552         void freeFocusable();
00553         void freeSelectable();
00554 
00555         void freeUpArrow();
00556         void freeDownArrow();
00557         void freeLeftArrow();
00558         void freeRightArrow();
00559 
00560         void freeData();
00561 
00562         void freeNavigateUp();
00563         void freeNavigateDown();
00564         void freeNavigateLeft();
00565         void freeNavigateRight();
00566 
00567         void freeVSlider();
00568         void freeHSlider();
00569 
00570         void freeImagesOnDemand();
00571 
00572         void freeBlend();
00573         void freeBlendFactor();
00574 
00575         void freeScrollOnFocus();
00576         void freeClickable();
00577         void freeReturnOnScroll();
00578 
00579         void freeInputMode();
00580         void freeJoinedWidget();
00581 
00582         void freeActivated();
00583         void freeFactoryName();
00584 
00585         //! Read and set all attributes from the given TAFF buffer.
00586         /*!
00587         \param tafff        pointer to the TAFF buffer
00588         \param prefix       optional, prefix to all attribute names (<prefix><attrname>=<attrvalue>)
00589         \param path         optional, path needed for empty path values from the TAFF buffer
00590         \param reset_paths  optional, should reset all path attributes?
00591         */
00592         void setAttributesFromTAFF(MMSTaffFile *tafff, string *prefix = NULL, string *path = NULL,
00593                                    bool reset_paths = false);
00594 
00595     public:
00596         //! stores base border attributes
00597         MMSBorderClass border;
00598 
00599         //! Constructor of class MMSWidgetClass.
00600         MMSWidgetClass();
00601 
00602         //! Destructor of class MMSWidgetClass.
00603         ~MMSWidgetClass();
00604 
00605         //! operator=
00606         MMSWidgetClass &operator=(const MMSWidgetClass &c);
00607 
00608         //! Mark all attributes as not set.
00609         void unsetAll();
00610 
00611         //! Check if the background color is set. This color will be used for the unselected widget.
00612         bool isBgColor();
00613 
00614         //! Mark the bgcolor as not set.
00615         void unsetBgColor();
00616 
00617         //! Set the background color which is used to draw the unselected widget.
00618         /*!
00619         \param bgcolor  color for unselected background
00620         */
00621         void setBgColor(const MMSFBColor &bgcolor);
00622 
00623         //! Get the background color which is used to draw the unselected widget.
00624         /*!
00625         \param bgcolor  background color
00626         \return true if set
00627         */
00628         bool getBgColor(MMSFBColor &bgcolor);
00629 
00630         //! Check if the background color is set. This color will be used for the selected widget.
00631         bool isSelBgColor();
00632 
00633         //! Mark the selbgcolor as not set.
00634         void unsetSelBgColor();
00635 
00636         //! Set the background color which is used to draw the selected widget.
00637         /*!
00638         \param selbgcolor  color for selected background
00639         */
00640         void setSelBgColor(const MMSFBColor &selbgcolor);
00641 
00642         //! Get the background color which is used to draw the selected widget.
00643         /*!
00644         \param selbgcolor  background color
00645         \return true if set
00646         */
00647         bool getSelBgColor(MMSFBColor &selbgcolor);
00648 
00649         //! Check if the pressed background color is set. This color will be used for the unselected widget.
00650         bool isBgColor_p();
00651 
00652         //! Mark the pressed bgcolor as not set.
00653         void unsetBgColor_p();
00654 
00655         //! Set the pressed background color which is used to draw the unselected widget.
00656         /*!
00657         \param bgcolor_p  pressed background color
00658         */
00659         void setBgColor_p(const MMSFBColor &bgcolor_p);
00660 
00661         //! Get the pressed background color which is used to draw the unselected widget.
00662         /*!
00663         \param bgcolor_p  pressed background color
00664         \return true if set
00665         */
00666         bool getBgColor_p(MMSFBColor &bgcolor_p);
00667 
00668         //! Check if the pressed background color is set. This color will be used for the selected widget.
00669         bool isSelBgColor_p();
00670 
00671         //! Mark the pressed selbgcolor as not set.
00672         void unsetSelBgColor_p();
00673 
00674         //! Set the pressed background color which is used to draw the selected widget.
00675         /*!
00676         \param selbgcolor_p  pressed color for selected background
00677         */
00678         void setSelBgColor_p(const MMSFBColor &selbgcolor_p);
00679 
00680         //! Get the pressed background color which is used to draw the selected widget.
00681         /*!
00682         \param selbgcolor_p  pressed background color
00683         \return true if set
00684         */
00685         bool getSelBgColor_p(MMSFBColor &selbgcolor_p);
00686 
00687         //! Check if the inactive background color is set. This color will be used for the unselected widget.
00688         bool isBgColor_i();
00689 
00690         //! Mark the inactive bgcolor as not set.
00691         void unsetBgColor_i();
00692 
00693         //! Set the inactive background color which is used to draw the unselected widget.
00694         /*!
00695         \param bgcolor_i  color for inactive unselected background
00696         */
00697         void setBgColor_i(const MMSFBColor &bgcolor_i);
00698 
00699         //! Get the inactive background color which is used to draw the unselected widget.
00700         /*!
00701         \param bgcolor_i  inactive background color
00702         \return true if set
00703         */
00704         bool getBgColor_i(MMSFBColor &bgcolor_i);
00705 
00706         //! Check if the inactive background color is set. This color will be used for the selected widget.
00707         bool isSelBgColor_i();
00708 
00709         //! Mark the inactive selbgcolor as not set.
00710         void unsetSelBgColor_i();
00711 
00712         //! Set the inactive background color which is used to draw the selected widget.
00713         /*!
00714         \param selbgcolor_i  color for inactive selected background
00715         */
00716         void setSelBgColor_i(const MMSFBColor &selbgcolor_i);
00717 
00718         //! Get the inactive background color which is used to draw the selected widget.
00719         /*!
00720         \param selbgcolor_i  inactive background color
00721         \return true if set
00722         */
00723         bool getSelBgColor_i(MMSFBColor &selbgcolor_i);
00724 
00725         //! Check if the imagepath for background is set. This path will be used for the unselected widget.
00726         bool isBgImagePath();
00727 
00728         //! Mark the bgimagepath as not set.
00729         void unsetBgImagePath();
00730 
00731         //! Set the imagepath for background which is used to draw the unselected widget.
00732         /*!
00733         \param bgimagepath  path to unselected background image
00734         */
00735         void setBgImagePath(const string &bgimagepath);
00736 
00737         //! Get the imagepath for background which is used to draw the unselected widget.
00738         /*!
00739         \param bgimagepath  path to unselected background image
00740         \return true if set
00741         */
00742         bool getBgImagePath(string &bgimagepath);
00743 
00744         //! Check if the imagename for background is set. This name will be used for the unselected widget.
00745         bool isBgImageName();
00746 
00747         //! Mark the bgimagename as not set.
00748         void unsetBgImageName();
00749 
00750         //! Set the imagename for background which is used to draw the unselected widget.
00751         /*!
00752         \param bgimagename  name of the unselected background image
00753         */
00754         void setBgImageName(const string &bgimagename);
00755 
00756         //! Get the imagename for background which is used to draw the unselected widget.
00757         /*!
00758         \param bgimagename  name of the unselected background image
00759         \return true if set
00760         */
00761         bool getBgImageName(string &bgimagename);
00762 
00763         //! Check if the selimagepath for background is set. This path will be used for the selected widget.
00764         bool isSelBgImagePath();
00765 
00766         //! Mark the selbgimagepath as not set.
00767         void unsetSelBgImagePath();
00768 
00769         //! Set the selimagepath for background which is used to draw the selected widget.
00770         /*!
00771         \param selbgimagepath  path to selected background image
00772         */
00773         void setSelBgImagePath(const string &selbgimagepath);
00774 
00775         //! Get the selimagepath for background which is used to draw the selected widget.
00776         /*!
00777         \param selbgimagepath  path to the selected background image
00778         \return true if set
00779         */
00780         bool getSelBgImagePath(string &selbgimagepath);
00781 
00782         //! Check if the selimagename for background is set. This name will be used for the selected widget.
00783         bool isSelBgImageName();
00784 
00785         //! Mark the selbgimagename as not set.
00786         void unsetSelBgImageName();
00787 
00788         //! Set the selimagename for background which is used to draw the selected widget.
00789         /*!
00790         \param selbgimagename  name of the selected background image
00791         */
00792         void setSelBgImageName(const string &selbgimagename);
00793 
00794         //! Get the selimagename for background which is used to draw the selected widget.
00795         /*!
00796         \param selbgimagename  name of the selected background image
00797         \return true if set
00798         */
00799         bool getSelBgImageName(string &selbgimagename);
00800 
00801 
00802         //! Check if the pressed imagepath for background is set. This path will be used for the unselected widget.
00803         bool isBgImagePath_p();
00804 
00805         //! Mark the pressed bgimagepath as not set.
00806         void unsetBgImagePath_p();
00807 
00808         //! Set the pressed imagepath for background which is used to draw the unselected widget.
00809         /*!
00810         \param bgimagepath_p  path to pressed & unselected background image
00811         */
00812         void setBgImagePath_p(const string &bgimagepath_p);
00813 
00814         //! Get the pressed imagepath for background which is used to draw the unselected widget.
00815         /*!
00816         \param bgimagepath_p  path to pressed & unselected background image
00817         \return true if set
00818         */
00819         bool getBgImagePath_p(string &bgimagepath_p);
00820 
00821         //! Check if the pressed imagename for background is set. This name will be used for the unselected widget.
00822         bool isBgImageName_p();
00823 
00824         //! Mark the pressed bgimagename as not set.
00825         void unsetBgImageName_p();
00826 
00827         //! Set the pressed imagename for background which is used to draw the unselected widget.
00828         /*!
00829         \param bgimagename_p  name of the pressed & unselected background image
00830         */
00831         void setBgImageName_p(const string &bgimagename_p);
00832 
00833         //! Get the pressed imagename for background which is used to draw the unselected widget.
00834         /*!
00835         \param bgimagename_p  name of the pressed & unselected background image
00836         \return true if set
00837         */
00838         bool getBgImageName_p(string &bgimagename_p);
00839 
00840         //! Check if the pressed selimagepath for background is set. This path will be used for the selected widget.
00841         bool isSelBgImagePath_p();
00842 
00843         //! Mark the pressed selbgimagepath as not set.
00844         void unsetSelBgImagePath_p();
00845 
00846         //! Set the pressed selimagepath for background which is used to draw the selected widget.
00847         /*!
00848         \param selbgimagepath_p  path to pressed & selected background image
00849         */
00850         void setSelBgImagePath_p(const string &selbgimagepath_p);
00851 
00852         //! Get the pressed selimagepath for background which is used to draw the selected widget.
00853         /*!
00854         \param selbgimagepath_p  path to the pressed & selected background image
00855         \return true if set
00856         */
00857         bool getSelBgImagePath_p(string &selbgimagepath_p);
00858 
00859         //! Check if the pressed selimagename for background is set. This name will be used for the selected widget.
00860         bool isSelBgImageName_p();
00861 
00862         //! Mark the pressed selbgimagename as not set.
00863         void unsetSelBgImageName_p();
00864 
00865         //! Set the pressed selimagename for background which is used to draw the selected widget.
00866         /*!
00867         \param selbgimagename_p  name of the pressed & selected background image
00868         */
00869         void setSelBgImageName_p(const string &selbgimagename_p);
00870 
00871         //! Get the pressed selimagename for background which is used to draw the selected widget.
00872         /*!
00873         \param selbgimagename_p  name of the pressed & selected background image
00874         \return true if set
00875         */
00876         bool getSelBgImageName_p(string &selbgimagename_p);
00877 
00878         //! Check if the inactive imagepath for background is set. This path will be used for the unselected widget.
00879         bool isBgImagePath_i();
00880 
00881         //! Mark the inactive bgimagepath as not set.
00882         void unsetBgImagePath_i();
00883 
00884         //! Set the imagepath for inactive background which is used to draw the unselected widget.
00885         /*!
00886         \param bgimagepath_i  path to inactive unselected background image
00887         */
00888         void setBgImagePath_i(const string &bgimagepath_i);
00889 
00890         //! Get the imagepath for inactive background which is used to draw the unselected widget.
00891         /*!
00892         \param bgimagepath_i  path to the inactive unselected background image
00893         \return true if set
00894         */
00895         bool getBgImagePath_i(string &bgimagepath_i);
00896 
00897         //! Check if the imagename for inactive background is set. This name will be used for the unselected widget.
00898         bool isBgImageName_i();
00899 
00900         //! Mark the inactive bgimagename as not set.
00901         void unsetBgImageName_i();
00902 
00903         //! Set the imagename for inactive background which is used to draw the unselected widget.
00904         /*!
00905         \param bgimagename_i  name of the inactive unselected background image
00906         */
00907         void setBgImageName_i(const string &bgimagename_i);
00908 
00909         //! Get the imagename for inactive background which is used to draw the unselected widget.
00910         /*!
00911         \param bgimagename_i  name of the inactive unselected background image
00912         \return true if set
00913         */
00914         bool getBgImageName_i(string &bgimagename_i);
00915 
00916         //! Check if the selimagepath for inactive background is set. This path will be used for the selected widget.
00917         bool isSelBgImagePath_i();
00918 
00919         //! Mark the inactive selbgimagepath as not set.
00920         void unsetSelBgImagePath_i();
00921 
00922         //! Set the selimagepath for inactive background which is used to draw the selected widget.
00923         /*!
00924         \param selbgimagepath_i  path to inactive selected background image
00925         */
00926         void setSelBgImagePath_i(const string &selbgimagepath_i);
00927 
00928         //! Get the selimagepath for inactive background which is used to draw the selected widget.
00929         /*!
00930         \param selbgimagepath_i  path to the inactive selected background image
00931         \return true if set
00932         */
00933         bool getSelBgImagePath_i(string &selbgimagepath_i);
00934 
00935         //! Check if the selimagename for inactive background is set. This name will be used for the selected widget.
00936         bool isSelBgImageName_i();
00937 
00938         //! Mark the inactive selbgimagename as not set.
00939         void unsetSelBgImageName_i();
00940 
00941         //! Set the selimagename for inactive background which is used to draw the selected widget.
00942         /*!
00943         \param selbgimagename  name of the inactive selected background image
00944         */
00945         void setSelBgImageName_i(const string &selbgimagename_i);
00946 
00947         //! Get the selimagename for inactive background which is used to draw the selected widget.
00948         /*!
00949         \param selbgimagename_i  name of the inactive selected background image
00950         \return true if set
00951         */
00952         bool getSelBgImageName_i(string &selbgimagename_i);
00953 
00954         //! Check if the margin is set.
00955         bool isMargin();
00956 
00957         //! Mark the margin as not set.
00958         void unsetMargin();
00959 
00960         //! Set the margin.
00961         /*!
00962         \param margin  margin in pixel
00963         */
00964         void setMargin(unsigned int margin);
00965 
00966         //! Get the margin.
00967         /*!
00968         \param margin  margin
00969         \return true if set
00970         */
00971         bool getMargin(unsigned int &margin);
00972 
00973         //! Check if the focusable flag is set.
00974         bool isFocusable();
00975 
00976         //! Mark the focusable flag as not set.
00977         void unsetFocusable();
00978 
00979         //! Set the focusable flag.
00980         /*!
00981         \param focusable  the widget can get the focus if set to true
00982         \note There is a difference between focused and selected. Only one widget
00983               can get the focus at the same time. The focused widget gets the keyboard input.
00984               A focused widget is also selected.
00985         */
00986         void setFocusable(bool focusable);
00987 
00988         //! Get the focusable flag.
00989         /*!
00990         \param focusable  focusable true or false
00991         \return true if set
00992         */
00993         bool getFocusable(bool &focusable);
00994 
00995         //! Check if the selectable flag is set.
00996         bool isSelectable();
00997 
00998         //! Mark the selectable flag as not set.
00999         void unsetSelectable();
01000 
01001         //! Set the selectable flag.
01002         /*!
01003         \param selectable  the widget can be selected if set to true
01004         \note There is a difference between focused and selected. Only one widget
01005               can get the focus at the same time. But all other widgets can be switched
01006               between selected and unselected independently.
01007         */
01008         void setSelectable(bool selectable);
01009 
01010         //! Get the selectable flag.
01011         /*!
01012         \param selectable  selectable true or false
01013         \return true if set
01014         */
01015         bool getSelectable(bool &selectable);
01016 
01017         //! Check if the uparrow is set.
01018         bool isUpArrow();
01019 
01020         //! Mark the uparrow as not set.
01021         void unsetUpArrow();
01022 
01023         //! Set the uparrow.
01024         /*!
01025         \param uparrow  the name of the widget which represents the scroll up arrow
01026         */
01027         void setUpArrow(const string &uparrow);
01028 
01029         //! Get the uparrow.
01030         /*!
01031         \param uparrow  name of the up arrow widget
01032         \return true if set
01033         */
01034         bool getUpArrow(string &uparrow);
01035 
01036         //! Check if the downarrow is set.
01037         bool isDownArrow();
01038 
01039         //! Mark the downarrow as not set.
01040         void unsetDownArrow();
01041 
01042         //! Set the downarrow.
01043         /*!
01044         \param downarrow  the name of the widget which represents the scroll down arrow
01045         */
01046         void setDownArrow(const string &downarrow);
01047 
01048         //! Get the downarrow.
01049         /*!
01050         \param downarrow  name of the down arrow widget
01051         \return true if set
01052         */
01053         bool getDownArrow(string &downarrow);
01054 
01055         //! Check if the leftarrow is set.
01056         bool isLeftArrow();
01057 
01058         //! Mark the leftarrow as not set.
01059         void unsetLeftArrow();
01060 
01061         //! Set the leftarrow.
01062         /*!
01063         \param leftarrow  the name of the widget which represents the scroll left arrow
01064         */
01065         void setLeftArrow(const string &leftarrow);
01066 
01067         //! Get the leftarrow.
01068         /*!
01069         \param leftarrow  name of the left arrow widget
01070         \return true if set
01071         */
01072         bool getLeftArrow(string &leftarrow);
01073 
01074         //! Check if the rightarrow is set.
01075         bool isRightArrow();
01076 
01077         //! Mark the rightarrow as not set.
01078         void unsetRightArrow();
01079 
01080         //! Set the rightarrow.
01081         /*!
01082         \param rightarrow  the name of the widget which represents the scroll right arrow
01083         */
01084         void setRightArrow(const string &rightarrow);
01085 
01086 
01087         //! Get the rightarrow.
01088         /*!
01089         \param rightarrow  name of the right arrow widget
01090         \return true if set
01091         */
01092         bool getRightArrow(string &rightarrow);
01093 
01094         //! Check if the data is set.
01095         bool isData();
01096 
01097         //! Mark the data as not set.
01098         void unsetData();
01099 
01100         //! Set the additional data value.
01101         /*!
01102         \param data  any string which can store additional information (will not displayed)
01103         */
01104         void setData(const string &data);
01105 
01106         //! Get the data.
01107         /*!
01108         \param data  additional data string
01109         \return true if set
01110         */
01111         bool getData(string &data);
01112 
01113         //! Check if the navigateup is set.
01114         bool isNavigateUp();
01115 
01116         //! Mark the navigateup as not set.
01117         void unsetNavigateUp();
01118 
01119         //! Set the navigateup widget.
01120         /*!
01121         \param navigateup  the name of the widget to which should navigate up
01122         */
01123         void setNavigateUp(const string &navigateup);
01124 
01125         //! Get the navigateup widget.
01126         /*!
01127         \param navigateup name of the navigate up widget
01128         \return true if set
01129         */
01130         bool getNavigateUp(string &navigateup);
01131 
01132         //! Check if the navigatedown is set.
01133         bool isNavigateDown();
01134 
01135         //! Mark the navigatedown as not set.
01136         void unsetNavigateDown();
01137 
01138         //! Set the navigatedown widget.
01139         /*!
01140         \param navigatedown  the name of the widget to which should navigate down
01141         */
01142         void setNavigateDown(const string &navigatedown);
01143 
01144         //! Get the navigatedown widget.
01145         /*!
01146         \param navigatedown  name of the navigate down widget
01147         \return true if set
01148         */
01149         bool getNavigateDown(string &navigatedown);
01150 
01151         //! Check if the navigateleft is set.
01152         bool isNavigateLeft();
01153 
01154         //! Mark the navigateleft as not set.
01155         void unsetNavigateLeft();
01156 
01157         //! Set the navigateleft widget.
01158         /*!
01159         \param navigateleft  the name of the widget to which should navigate left
01160         */
01161         void setNavigateLeft(const string &navigateleft);
01162 
01163         //! Get the navigateleft widget.
01164         /*!
01165         \param navigateleft  name of the navigate left widget
01166         \return true if set
01167         */
01168         bool getNavigateLeft(string &navigateleft);
01169 
01170         //! Check if the navigateright is set.
01171         bool isNavigateRight();
01172 
01173         //! Mark the navigateright as not set.
01174         void unsetNavigateRight();
01175 
01176         //! Set the navigateright.
01177         /*!
01178         \param navigateright  the name of the widget to which should navigate right
01179         */
01180         void setNavigateRight(const string &navigateright);
01181 
01182         //! Get the navigateright widget.
01183         /*!
01184         \param navigateright  name of the navigate right widget
01185         \return true if set
01186         */
01187         bool getNavigateRight(string &navigateright);
01188 
01189         //! Check if the vslider is set.
01190         bool isVSlider();
01191 
01192         //! Mark the vslider as not set.
01193         void unsetVSlider();
01194 
01195         //! Set the vslider.
01196         /*!
01197         \param vslider  the name of the widget which represents the vertical slider
01198         */
01199         void setVSlider(const string &vslider);
01200 
01201         //! Get the vslider.
01202         /*!
01203         \param vslider  name of the vslider widget
01204         \return true if set
01205         */
01206         bool getVSlider(string &vslider);
01207 
01208         //! Check if the hslider is set.
01209         bool isHSlider();
01210 
01211         //! Mark the hslider as not set.
01212         void unsetHSlider();
01213 
01214         //! Set the hslider.
01215         /*!
01216         \param hslider  the name of the widget which represents the horizontal slider
01217         */
01218         void setHSlider(const string &hslider);
01219 
01220         //! Get the hslider.
01221         /*!
01222         \param hslider  name of the hslider widget
01223         \return true if set
01224         */
01225         bool getHSlider(string &hslider);
01226 
01227         //! Check if the images on demand is set.
01228         bool isImagesOnDemand();
01229 
01230         //! Mark the images on demand flag as not set.
01231         void unsetImagesOnDemand();
01232 
01233         //! Set the images on demand flag.
01234         /*!
01235         \param imagesondemand  use imagesondemand true/false
01236         */
01237         void setImagesOnDemand(bool imagesondemand);
01238 
01239         //! Get the images on demand flag.
01240         /*!
01241         \return images on demand flag
01242         \return true if set
01243         */
01244         bool getImagesOnDemand(bool &imagesondemand);
01245 
01246         //! Check if the blend is set.
01247         bool isBlend();
01248 
01249         //! Mark the blend as not set.
01250         void unsetBlend();
01251 
01252         //! Set the blend.
01253         /*!
01254         \param blend  blend with values 0..255
01255         */
01256         void setBlend(unsigned int blend);
01257 
01258         //! Get the blend.
01259         /*!
01260         \param blend  blend
01261         \return true if set
01262         */
01263         bool getBlend(unsigned int &blend);
01264 
01265         //! Check if the blend factor is set.
01266         bool isBlendFactor();
01267 
01268         //! Mark the blend factor as not set.
01269         void unsetBlendFactor();
01270 
01271         //! Set the blend factor.
01272         /*!
01273         \param blendfactor  blend factor with values 0.0..
01274         */
01275         void setBlendFactor(double blendfactor);
01276 
01277         //! Get the blend factor.
01278         /*!
01279         \param blendfactor  blend factor
01280         \return true if set
01281         */
01282         bool getBlendFactor(double &blendfactor);
01283 
01284 
01285         //! Check if the scroll on focus is set.
01286         bool isScrollOnFocus();
01287 
01288         //! Mark the scroll on focus flag as not set.
01289         void unsetScrollOnFocus();
01290 
01291         //! Set the scroll on focus flag.
01292         /*!
01293         \param scrollonfocus  use scrollonfocus true/false
01294         */
01295         void setScrollOnFocus(bool scrollonfocus);
01296 
01297         //! Get the scroll on focus flag.
01298         /*!
01299         \return scroll on focus flag
01300         \return true if set
01301         */
01302         bool getScrollOnFocus(bool &scrollonfocus);
01303 
01304         //! Check if the clickable flag is set.
01305         bool isClickable();
01306 
01307         //! Mark the clickable flag as not set.
01308         void unsetClickable();
01309 
01310         //! Set the clickable flag.
01311         /*!
01312         \param clickable  user can click onto the widget if set to true
01313         \note Widgets which are not focusable can be clickable anyway. See for example the MMSArrowWidget.
01314         */
01315         void setClickable(bool clickable);
01316 
01317         //! Get the clickable flag.
01318         /*!
01319         \param clickable  clickable true or false
01320         \return true if set
01321         */
01322         bool getClickable(bool &clickable);
01323 
01324         //! Check if the returnonscroll flag is set.
01325         bool isReturnOnScroll();
01326 
01327         //! Mark the returnonscroll flag as not set.
01328         void unsetReturnOnScroll();
01329 
01330         //! Set the returnonscroll flag.
01331         /*!
01332         \param returnonscroll  if true emit on return callback if user changes the selection e.g. in a menu
01333         */
01334         void setReturnOnScroll(bool returnonscroll);
01335 
01336         //! Get the returnonscroll flag.
01337         /*!
01338         \param returnonscroll  returnonscroll true or false
01339         \return true if set
01340         */
01341         bool getReturnOnScroll(bool &returnonscroll);
01342 
01343 
01344         //! Check if the input mode is set.
01345         bool isInputMode();
01346 
01347         //! Mark the input mode as not set.
01348         void unsetInputMode();
01349 
01350         //! Set the input mode.
01351         /*!
01352         \param inputmode  input mode ("move" or "click")
01353         */
01354         void setInputMode(const string &inputmode);
01355 
01356         //! Get the input mode.
01357         /*!
01358         \param inputmode  input mode
01359         \return true if set
01360         */
01361         bool getInputMode(string &inputmode);
01362 
01363 
01364         //! Check if the joined widget is set.
01365         bool isJoinedWidget();
01366 
01367         //! Mark the joined widget as not set.
01368         void unsetJoinedWidget();
01369 
01370         //! Set the joined widget.
01371         /*!
01372         \param joinedwidget  name of widget which is to join
01373         */
01374         void setJoinedWidget(const string &joinedwidget);
01375 
01376         //! Get the joined widget.
01377         /*!
01378         \param joinedwidget  name of widget
01379         \return true if set
01380         */
01381         bool getJoinedWidget(string &joinedwidget);
01382 
01383 
01384         //! Check if the activated flag is set.
01385         bool isActivated();
01386 
01387         //! Mark the activated flag as not set.
01388         void unsetActivated();
01389 
01390         //! Check if the activated flag is set.
01391         bool isFactoryName();
01392 
01393         //! Mark the activated flag as not set.
01394         void unsetFactoryName();
01395 
01396         //! Set the activated flag.
01397         /*!
01398         \param activated  widget is active / inactive
01399         */
01400         void setActivated(bool activated);
01401 
01402         //! Get the activated flag.
01403         /*!
01404         \param activated  activated true or false
01405         \return true if set
01406         */
01407         bool getActivated(bool &activated);
01408 
01409         //! Set the activated flag.
01410         /*!
01411         \param activated  widget is active / inactive
01412         */
01413         void setFactoryName(string factoryname);
01414 
01415         //! Get the factoryname
01416         /*!
01417         \param name for the widget factory map
01418         \return true if set
01419         */
01420         bool getFactoryName(string &factoryname);
01421 
01422 
01423     /* friends */
01424     friend class MMSThemeManager;
01425     friend class MMSDialogManager;
01426 };
01427 
01428 #endif /*MMSWIDGETCLASS_H_*/

Generated by doxygen