homescreenapp/hsdomainmodel/inc/hsdomainmodeldatastructures.h
changeset 51 4785f57bf3d4
parent 46 23b5d6a29cce
child 55 03646e8da489
equal deleted inserted replaced
46:23b5d6a29cce 51:4785f57bf3d4
    18 #ifndef HSDOMAINMODELDATASTRUCTURES_H
    18 #ifndef HSDOMAINMODELDATASTRUCTURES_H
    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 
    24 
    24 class HSDOMAINMODEL_EXPORT HsSceneData
    25 class HSDOMAINMODEL_EXPORT HsSceneData
    25 {
    26 {
    26 public:
    27 public:
    27     HsSceneData() 
    28     HsSceneData() 
    84     qreal   y;
    85     qreal   y;
    85     qreal   zValue;
    86     qreal   zValue;
    86     int     widgetId;
    87     int     widgetId;
    87 };
    88 };
    88 
    89 
       
    90 class HSDOMAINMODEL_EXPORT HsGeneralConfiguration
       
    91 {	
       
    92 public:
       
    93 	int bounceEffect; // pixels, bounce effect reservation, half in left side and half in right side of wallpaper 		
       
    94 	int tapAndHoldDistance; // pixels
       
    95     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
       
    97 	int pageChangeZoneWidth; // pixels
       
    98 	int pageIndicatorSpacing; // pixels
       
    99     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
       
   101     int pageChangeZoneReverseAnimationDuration; // ms, animation duration back to starting position when crawling ends before page is changed
       
   102 	int pageRemovedAnimationDuration; // ms
       
   103 	int newPageAddedAnimationDuration; // ms
       
   104 	int widgetDragEffectDuration; // ms
       
   105 	int widgetDropEffectDuration; // ms
       
   106 	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
       
   108 };
       
   109 
       
   110 class HSDOMAINMODEL_EXPORT HsFeedbackConfiguration
       
   111 {
       
   112 public: 
       
   113     HbFeedback::InstantEffect feedbackFromString(QString feedback)
       
   114     {
       
   115         if (feedback == "Basic") {
       
   116             return HbFeedback::Basic;
       
   117         }
       
   118         else if (feedback == "Sensitive") {
       
   119             return HbFeedback::Sensitive;
       
   120         }
       
   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;
       
   230     }
       
   231 
       
   232 public:
       
   233 	HbFeedback::InstantEffect pageChangeFeedbackType;
       
   234 	HbFeedback::InstantEffect widgetPickFeedbackType;
       
   235 	HbFeedback::InstantEffect widgetDropFeedbackType;
       
   236 	HbFeedback::InstantEffect widgetRepositionFeedbackType;
       
   237 	HbFeedback::InstantEffect widgetOverTrashbinFeedbackType;
       
   238 	HbFeedback::InstantEffect widgetDropToTrashbinFeedbackType;
       
   239 	HbFeedback::InstantEffect shortcutWidgetTapFeedbackType;
       
   240 	HbFeedback::InstantEffect widgetMoveBlockedFeedbackType;
       
   241 	HbFeedback::InstantEffect clockWidgetTapFeedbackType;
       
   242 	HbFeedback::InstantEffect widgetSnappingFeedbackType;
       
   243 };
       
   244 
       
   245 class HSDOMAINMODEL_EXPORT HsSnapConfiguration
       
   246 {	
       
   247 public:
       
   248 	bool snappingEnabled; // variable to tell if snapping is enabled or not
       
   249 	qreal snapForce; // this is the distance at which the widget starts being attracted to the line
       
   250 	qreal snapGap; // the gap at which the objects settle into from each other when they snap
       
   251 	qreal borderGap; // (the gap from the border edges when the widget settles on the edges of the page
       
   252 	int timeout; // time in milliseconds after which the snapping line will be shown
       
   253 };
       
   254 
    89 #endif // HSDOMAINMODELDATASTRUCTURES_H
   255 #endif // HSDOMAINMODELDATASTRUCTURES_H