homescreenapp/hsdomainmodel/inc/hsdomainmodeldatastructures.h
changeset 55 03646e8da489
parent 51 4785f57bf3d4
child 60 30f14686fb04
child 62 341166945d65
equal deleted inserted replaced
51:4785f57bf3d4 55:03646e8da489
    19 #define HSDOMAINMODELDATASTRUCTURES_H
    19 #define HSDOMAINMODELDATASTRUCTURES_H
    20 
    20 
    21 #include <QRectF>
    21 #include <QRectF>
    22 #include "hsdomainmodel_global.h"
    22 #include "hsdomainmodel_global.h"
    23 #include <HbFeedback>
    23 #include <HbFeedback>
       
    24 #include <QMetaEnum>
    24 
    25 
    25 class HSDOMAINMODEL_EXPORT HsSceneData
    26 class HSDOMAINMODEL_EXPORT HsSceneData
    26 {
    27 {
    27 public:
    28 public:
    28     HsSceneData() 
    29     HsSceneData() 
    29       : id(-1), defaultPageId(-1), maximumPageCount(-1),
    30       : id(-1)
    30         maximumWidgetHeight(-1.0), maximumWidgetWidth(-1.0),
       
    31         minimumWidgetHeight(-1.0), minimumWidgetWidth(-1.0)
       
    32     {}
    31     {}
    33     
    32     
    34     int     id;
    33     int     id;
    35     QString portraitWallpaper;
    34     QString portraitWallpaper;
    36     QString landscapeWallpaper;
    35     QString landscapeWallpaper;
    37     int     defaultPageId;
    36 
    38     int     maximumPageCount;
       
    39     qreal   maximumWidgetHeight;
       
    40     qreal   maximumWidgetWidth;
       
    41     qreal   minimumWidgetHeight;
       
    42     qreal   minimumWidgetWidth;
       
    43 };
    37 };
    44 
    38 
    45 class HSDOMAINMODEL_EXPORT HsPageData
    39 class HSDOMAINMODEL_EXPORT HsPageData
    46 {
    40 {
    47 public:
    41 public:
    68 
    62 
    69 class HSDOMAINMODEL_EXPORT HsWidgetPresentationData
    63 class HSDOMAINMODEL_EXPORT HsWidgetPresentationData
    70 {
    64 {
    71 public:
    65 public:
    72     HsWidgetPresentationData()
    66     HsWidgetPresentationData()
    73         : x(0), y(0), zValue(0), 
    67         : orientation(Qt::Vertical), x(0), y(0), zValue(0), 
    74           widgetId(-1)
    68           widgetId(-1)
    75     {}
    69     {}
    76 
    70 
    77     void setPos(const QPointF &pos)
    71     void setPos(const QPointF &pos)
    78     {
    72     {
    79         x = pos.x();
    73         x = pos.x();
    80         y = pos.y();
    74         y = pos.y();
    81     }
    75     }
    82 
    76 
    83     QString key;
    77     QPointF pos() const
       
    78     {
       
    79         return QPointF(x, y);
       
    80     }
       
    81 
       
    82     Qt::Orientation orientation;
    84     qreal   x;
    83     qreal   x;
    85     qreal   y;
    84     qreal   y;
    86     qreal   zValue;
    85     qreal   zValue;
    87     int     widgetId;
    86     int     widgetId;
    88 };
    87 };
    89 
    88 
    90 class HSDOMAINMODEL_EXPORT HsGeneralConfiguration
    89 class HSDOMAINMODEL_EXPORT HsGeneralConfiguration
    91 {	
    90 {	
    92 public:
    91 public:
    93 	int bounceEffect; // pixels, bounce effect reservation, half in left side and half in right side of wallpaper 		
    92 	int bounceEffect; // pixels, bounce effect reservation, half in left side and half in right side of wallpaper 		
    94 	int tapAndHoldDistance; // pixels
    93 	qreal tapAndHoldDistance; // pixels
    95     int widgetTapAndHoldTimeout; // ms, duration of long press before action is triggered on widget
    94     int widgetTapAndHoldTimeout; // ms, duration of long press before action is triggered on widget
    96 	int sceneTapAndHoldTimeout; // ms, duration of long press before action is triggered on background
    95 	int sceneTapAndHoldTimeout; // ms, duration of long press before action is triggered on background
    97 	int pageChangeZoneWidth; // pixels
    96 	qreal pageChangeZoneWidth; // pixels
    98 	int pageIndicatorSpacing; // pixels
    97 	qreal pageIndicatorSpacing; // pixels
    99     int pageChangeAnimationDuration; // ms, this is how long page change animation takes
    98     int pageChangeAnimationDuration; // ms, this is how long page change animation takes
   100 	int pageChangeZoneAnimationDuration; // ms, this is how long crawling is done before page is actually changed
    99 	int pageChangeZoneAnimationDuration; // ms, this is how long crawling is done before page is actually changed
   101     int pageChangeZoneReverseAnimationDuration; // ms, animation duration back to starting position when crawling ends before page is changed
   100     int pageChangeZoneReverseAnimationDuration; // ms, animation duration back to starting position when crawling ends before page is changed
   102 	int pageRemovedAnimationDuration; // ms
   101 	int pageRemovedAnimationDuration; // ms
   103 	int newPageAddedAnimationDuration; // ms
   102 	int newPageAddedAnimationDuration; // ms
   104 	int widgetDragEffectDuration; // ms
   103 	int widgetDragEffectDuration; // ms
   105 	int widgetDropEffectDuration; // ms
   104 	int widgetDropEffectDuration; // ms
   106 	int boundaryFeedbackEffectDistance; // pixels, when widget is moved within n pixels from first page right border or 
   105 	int boundaryFeedbackEffectDistance; // pixels, when widget is moved within n pixels from first page right border or 
   107                                         // n pixels from last page's left border, feedback effect is played
   106                                         // n pixels from last page's left border, feedback effect is played
       
   107     int defaultPageId; // id of default page (which cannot be removed)
       
   108     int maximumPageCount; // maximum number of pages
       
   109     qreal maximumWidgetHeight; // px
       
   110     qreal maximumWidgetWidth; // px
       
   111     qreal minimumWidgetHeight; // px
       
   112     qreal minimumWidgetWidth; // px
       
   113     bool shortcutLabelsVisible; // display labels under shortcut widgets
       
   114     qreal pageChangePanDistance; // un, amount of pan needed to change page
   108 };
   115 };
   109 
   116 
   110 class HSDOMAINMODEL_EXPORT HsFeedbackConfiguration
   117 class HSDOMAINMODEL_EXPORT HsFeedbackConfiguration
   111 {
   118 {
   112 public: 
   119 public: 
   113     HbFeedback::InstantEffect feedbackFromString(QString feedback)
   120     HbFeedback::InstantEffect feedbackFromString(const QString &feedback)
   114     {
   121     {
   115         if (feedback == "Basic") {
   122     int index = HbFeedback::staticMetaObject.indexOfEnumerator("InstantEffect");
   116             return HbFeedback::Basic;
   123     QMetaEnum metaEnum = HbFeedback::staticMetaObject.enumerator(index);
   117         }
   124 
   118         else if (feedback == "Sensitive") {
   125     int intFeedback = metaEnum.keysToValue(feedback.toAscii());
   119             return HbFeedback::Sensitive;
   126 
   120         }
   127     if (intFeedback < HbFeedback::None || intFeedback > HbFeedback::InstantMaxUser) {
   121         else if (feedback == "BasicButton") {
       
   122             return HbFeedback::BasicButton;
       
   123         }
       
   124         else if (feedback == "SensitiveButton") {
       
   125             return HbFeedback::SensitiveButton;
       
   126         }
       
   127         else if (feedback == "BasicKeypad") {
       
   128             return HbFeedback::BasicKeypad;
       
   129         }
       
   130         else if (feedback == "SensitiveKeypad") {
       
   131             return HbFeedback::SensitiveKeypad;
       
   132         }
       
   133         else if (feedback == "BasicSlider") {
       
   134             return HbFeedback::BasicSlider;
       
   135         }
       
   136         else if (feedback == "SensitiveSlider") {
       
   137             return HbFeedback::SensitiveSlider;
       
   138         }
       
   139         else if (feedback == "BasicKeypad") {
       
   140             return HbFeedback::BasicKeypad;
       
   141         }
       
   142         else if (feedback == "BasicSlider") {
       
   143             return HbFeedback::BasicSlider;
       
   144         }
       
   145         else if (feedback == "SensitiveSlider") {
       
   146             return HbFeedback::SensitiveSlider;
       
   147         }
       
   148         else if (feedback == "BasicItem") {
       
   149             return HbFeedback::BasicItem;
       
   150         }
       
   151         else if (feedback == "SensitiveItem") {
       
   152             return HbFeedback::SensitiveItem;
       
   153         }
       
   154         else if (feedback == " ItemScroll") {
       
   155             return HbFeedback::ItemScroll;
       
   156         }
       
   157         else if (feedback == "ItemPick") {
       
   158             return HbFeedback::ItemPick;
       
   159         }
       
   160         else if (feedback == "ItemDrop") {
       
   161             return HbFeedback::ItemDrop;
       
   162         }
       
   163         else if (feedback == "ItemMoveOver") {
       
   164             return HbFeedback::ItemMoveOver;
       
   165         }
       
   166         else if (feedback == "BounceEffect") {
       
   167             return HbFeedback::BounceEffect;
       
   168         }
       
   169         else if (feedback == "Checkbox") {
       
   170             return HbFeedback::Checkbox;
       
   171         }
       
   172         else if (feedback == "MultipleCheckbox") {
       
   173             return HbFeedback::MultipleCheckbox;
       
   174         }
       
   175         else if (feedback == "Editor") {
       
   176             return HbFeedback::Editor;
       
   177         }
       
   178         else if (feedback == "TextSelection") {
       
   179             return HbFeedback::TextSelection;
       
   180         }
       
   181         else if (feedback == "BlankSelection") {
       
   182             return HbFeedback::BlankSelection;
       
   183         }
       
   184         else if (feedback == "LineSelection") {
       
   185             return HbFeedback::LineSelection;
       
   186         }
       
   187         else if (feedback == "EmptyLineSelection") {
       
   188             return HbFeedback::EmptyLineSelection;
       
   189         }
       
   190         else if (feedback == "PopUp") {
       
   191             return HbFeedback::PopUp;
       
   192         }
       
   193         else if (feedback == "PopupOpen") {
       
   194             return HbFeedback::PopupOpen;
       
   195         }
       
   196         else if (feedback == "PopupClose") {
       
   197             return HbFeedback::PopupClose;
       
   198         }
       
   199         else if (feedback == "Flick") {
       
   200             return HbFeedback::Flick;
       
   201         }
       
   202         else if (feedback == "StopFlick") {
       
   203             return HbFeedback::StopFlick;
       
   204         }
       
   205         else if (feedback == "MultitouchActivate") {
       
   206             return HbFeedback::MultitouchActivate;
       
   207         }
       
   208         else if (feedback == "RotateStep") {
       
   209             return HbFeedback::RotateStep;
       
   210         }
       
   211         else if (feedback == "PositiveTacticon") {
       
   212             return HbFeedback::PositiveTacticon;
       
   213         }
       
   214         else if (feedback == "NeutralTacticon") {
       
   215             return HbFeedback::NeutralTacticon;
       
   216         }
       
   217         else if (feedback == "NegativeTacticon") {
       
   218             return HbFeedback::NegativeTacticon;
       
   219         }
       
   220         else if (feedback == "NumberOfInstantFeedbacks") {
       
   221             return HbFeedback::NumberOfInstantFeedbacks;
       
   222         }
       
   223         else if (feedback == "InstantUser") {
       
   224             return HbFeedback::InstantUser;
       
   225         }
       
   226         else if (feedback == "InstantMaxUser") {
       
   227             return HbFeedback::InstantMaxUser;
       
   228         }
       
   229         return HbFeedback::None;
   128         return HbFeedback::None;
       
   129     } 
       
   130 
       
   131     return static_cast<HbFeedback::InstantEffect>(intFeedback);
   230     }
   132     }
   231 
   133 
   232 public:
   134 public:
   233 	HbFeedback::InstantEffect pageChangeFeedbackType;
   135 	HbFeedback::InstantEffect pageChangeFeedbackType;
   234 	HbFeedback::InstantEffect widgetPickFeedbackType;
   136 	HbFeedback::InstantEffect widgetPickFeedbackType;