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

mmsarrowwidgetclass.cpp

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 #include "mmsgui/theme/mmsarrowwidgetclass.h"
00034 #include <string.h>
00035 
00036 //store attribute descriptions here
00037 TAFF_ATTRDESC MMSGUI_ARROWWIDGET_ATTR_I[] = MMSGUI_ARROWWIDGET_ATTR_INIT;
00038 
00039 // address attribute names
00040 #define GETATTRNAME(aname) MMSGUI_ARROWWIDGET_ATTR_I[MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_##aname].name
00041 
00042 // address attribute types
00043 #define GETATTRTYPE(aname) MMSGUI_ARROWWIDGET_ATTR_I[MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_##aname].type
00044 
00045 
00046 MMSArrowWidgetClass::MMSArrowWidgetClass() {
00047     unsetAll();
00048 }
00049 
00050 void MMSArrowWidgetClass::unsetAll() {
00051     this->className = "";
00052     unsetColor();
00053     unsetSelColor();
00054     unsetDirection();
00055     unsetCheckSelected();
00056 }
00057 
00058 void MMSArrowWidgetClass::setAttributesFromTAFF(MMSTaffFile *tafff, string *prefix, string *path, bool reset_paths) {
00059     MMSFBColor color;
00060 
00061     if (!prefix) {
00062         startTAFFScan
00063         {
00064             switch (attrid) {
00065             case MMSGUI_BASE_ATTR::MMSGUI_BASE_ATTR_IDS_class:
00066                 setClassName(attrval_str);
00067                 break;
00068             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_color:
00069                 setColor(MMSFBColor((unsigned int)attrval_int));
00070                 break;
00071             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_color_a:
00072                 color.a = color.r = color.g = color.b = 0;
00073                 if (isColor()) color = getColor();
00074                 color.a = attrval_int;
00075                 setColor(color);
00076                 break;
00077             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_color_r:
00078                 color.a = color.r = color.g = color.b = 0;
00079                 if (isColor()) color = getColor();
00080                 color.r = attrval_int;
00081                 setColor(color);
00082                 break;
00083             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_color_g:
00084                 color.a = color.r = color.g = color.b = 0;
00085                 if (isColor()) color = getColor();
00086                 color.g = attrval_int;
00087                 setColor(color);
00088                 break;
00089             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_color_b:
00090                 color.a = color.r = color.g = color.b = 0;
00091                 if (isColor()) color = getColor();
00092                 color.b = attrval_int;
00093                 setColor(color);
00094                 break;
00095             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_selcolor:
00096                 setSelColor(MMSFBColor((unsigned int)attrval_int));
00097                 break;
00098             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_selcolor_a:
00099                 color.a = color.r = color.g = color.b = 0;
00100                 if (isSelColor()) color = getSelColor();
00101                 color.a = attrval_int;
00102                 setSelColor(color);
00103                 break;
00104             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_selcolor_r:
00105                 color.a = color.r = color.g = color.b = 0;
00106                 if (isSelColor()) color = getSelColor();
00107                 color.r = attrval_int;
00108                 setSelColor(color);
00109                 break;
00110             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_selcolor_g:
00111                 color.a = color.r = color.g = color.b = 0;
00112                 if (isSelColor()) color = getSelColor();
00113                 color.g = attrval_int;
00114                 setSelColor(color);
00115                 break;
00116             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_selcolor_b:
00117                 color.a = color.r = color.g = color.b = 0;
00118                 if (isSelColor()) color = getSelColor();
00119                 color.b = attrval_int;
00120                 setSelColor(color);
00121                 break;
00122             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_direction:
00123                 setDirection(getDirectionFromString(attrval_str));
00124                 break;
00125             case MMSGUI_ARROWWIDGET_ATTR::MMSGUI_ARROWWIDGET_ATTR_IDS_check_selected:
00126                 setCheckSelected((attrval_int) ? true : false);
00127                 break;
00128             }
00129         }
00130         endTAFFScan
00131     }
00132     else {
00133         unsigned int pl = strlen(prefix->c_str());
00134 
00135         startTAFFScan_WITHOUT_ID
00136         {
00137             // check if attrname has correct prefix
00138             if (pl >= strlen(attrname))
00139                 continue;
00140             if (memcmp(attrname, prefix->c_str(), pl)!=0)
00141                 continue;
00142             attrname = &attrname[pl];
00143 
00144             // special storage for macros
00145             bool attrval_str_valid;
00146             bool int_val_set;
00147             bool byte_val_set;
00148             int  *p_int_val = &attrval_int;
00149 
00150             // okay, correct prefix, check attributes now
00151             if (ISATTRNAME(color)) {
00152                 setColor(MMSFBColor((unsigned int)attrval_int));
00153             }
00154             else
00155             if (ISATTRNAME(color_a)) {
00156                 color.a = color.r = color.g = color.b = 0;
00157                 if (isColor()) color = getColor();
00158                 color.a = attrval_int;
00159                 setColor(color);
00160             }
00161             else
00162             if (ISATTRNAME(color_r)) {
00163                 color.a = color.r = color.g = color.b = 0;
00164                 if (isColor()) color = getColor();
00165                 color.r = attrval_int;
00166                 setColor(color);
00167             }
00168             else
00169             if (ISATTRNAME(color_g)) {
00170                 color.a = color.r = color.g = color.b = 0;
00171                 if (isColor()) color = getColor();
00172                 color.g = attrval_int;
00173                 setColor(color);
00174             }
00175             else
00176             if (ISATTRNAME(color_b)) {
00177                 color.a = color.r = color.g = color.b = 0;
00178                 if (isColor()) color = getColor();
00179                 color.b = attrval_int;
00180                 setColor(color);
00181             }
00182             else
00183             if (ISATTRNAME(selcolor)) {
00184                 setSelColor(MMSFBColor((unsigned int)attrval_int));
00185             }
00186             else
00187             if (ISATTRNAME(selcolor_a)) {
00188                 color.a = color.r = color.g = color.b = 0;
00189                 if (isSelColor()) color = getSelColor();
00190                 color.a = attrval_int;
00191                 setSelColor(color);
00192             }
00193             else
00194             if (ISATTRNAME(selcolor_r)) {
00195                 color.a = color.r = color.g = color.b = 0;
00196                 if (isSelColor()) color = getSelColor();
00197                 color.r = attrval_int;
00198                 setSelColor(color);
00199             }
00200             else
00201             if (ISATTRNAME(selcolor_g)) {
00202                 color.a = color.r = color.g = color.b = 0;
00203                 if (isSelColor()) color = getSelColor();
00204                 color.g = attrval_int;
00205                 setSelColor(color);
00206             }
00207             else
00208             if (ISATTRNAME(selcolor_b)) {
00209                 color.a = color.r = color.g = color.b = 0;
00210                 if (isSelColor()) color = getSelColor();
00211                 color.b = attrval_int;
00212                 setSelColor(color);
00213             }
00214             else
00215             if (ISATTRNAME(direction)) {
00216                 setDirection(getDirectionFromString(attrval_str));
00217             }
00218             else
00219             if (ISATTRNAME(check_selected)) {
00220                 setCheckSelected((attrval_int) ? true : false);
00221             }
00222         }
00223         endTAFFScan_WITHOUT_ID
00224     }
00225 }
00226 
00227 void MMSArrowWidgetClass::setClassName(string className) {
00228     this->className = className;
00229 }
00230 
00231 string MMSArrowWidgetClass::getClassName() {
00232     return this->className;
00233 }
00234 
00235 bool MMSArrowWidgetClass::isColor() {
00236     return this->iscolor;
00237 }
00238 
00239 void MMSArrowWidgetClass::setColor(MMSFBColor color) {
00240     this->color = color;
00241     this->iscolor = true;
00242 }
00243 
00244 void MMSArrowWidgetClass::unsetColor() {
00245     this->iscolor = false;
00246 }
00247 
00248 MMSFBColor MMSArrowWidgetClass::getColor() {
00249     return this->color;
00250 }
00251 
00252 bool MMSArrowWidgetClass::isSelColor() {
00253     return this->isselcolor;
00254 }
00255 
00256 void MMSArrowWidgetClass::setSelColor(MMSFBColor selcolor) {
00257     this->selcolor = selcolor;
00258     this->isselcolor = true;
00259 }
00260 
00261 void MMSArrowWidgetClass::unsetSelColor() {
00262     this->isselcolor = false;
00263 }
00264 
00265 MMSFBColor MMSArrowWidgetClass::getSelColor() {
00266     return this->selcolor;
00267 }
00268 
00269 bool MMSArrowWidgetClass::isDirection() {
00270     return this->isdirection;
00271 }
00272 
00273 void MMSArrowWidgetClass::setDirection(MMSDIRECTION direction) {
00274     this->direction = direction;
00275     this->isdirection = true;
00276 }
00277 
00278 void MMSArrowWidgetClass::unsetDirection() {
00279     this->isdirection = false;
00280 }
00281 
00282 MMSDIRECTION MMSArrowWidgetClass::getDirection() {
00283     return this->direction;
00284 }
00285 
00286 bool MMSArrowWidgetClass::isCheckSelected() {
00287     return this->ischeckselected;
00288 }
00289 
00290 void MMSArrowWidgetClass::setCheckSelected(bool checkselected) {
00291     this->checkselected = checkselected;
00292     this->ischeckselected = true;
00293 }
00294 
00295 void MMSArrowWidgetClass::unsetCheckSelected() {
00296     this->ischeckselected = false;
00297 }
00298 
00299 bool MMSArrowWidgetClass::getCheckSelected() {
00300     return this->checkselected;
00301 }
00302 

Generated by doxygen