homescreenapp/hsdomainmodel/inc/hsdomainmodeldatastructures.h
changeset 51 4785f57bf3d4
parent 46 23b5d6a29cce
child 55 03646e8da489
--- a/homescreenapp/hsdomainmodel/inc/hsdomainmodeldatastructures.h	Fri May 14 15:43:04 2010 +0300
+++ b/homescreenapp/hsdomainmodel/inc/hsdomainmodeldatastructures.h	Thu May 27 12:46:08 2010 +0300
@@ -20,6 +20,7 @@
 
 #include <QRectF>
 #include "hsdomainmodel_global.h"
+#include <HbFeedback>
 
 class HSDOMAINMODEL_EXPORT HsSceneData
 {
@@ -86,4 +87,169 @@
     int     widgetId;
 };
 
+class HSDOMAINMODEL_EXPORT HsGeneralConfiguration
+{	
+public:
+	int bounceEffect; // pixels, bounce effect reservation, half in left side and half in right side of wallpaper 		
+	int tapAndHoldDistance; // pixels
+    int widgetTapAndHoldTimeout; // ms, duration of long press before action is triggered on widget
+	int sceneTapAndHoldTimeout; // ms, duration of long press before action is triggered on background
+	int pageChangeZoneWidth; // pixels
+	int pageIndicatorSpacing; // pixels
+    int pageChangeAnimationDuration; // ms, this is how long page change animation takes
+	int pageChangeZoneAnimationDuration; // ms, this is how long crawling is done before page is actually changed
+    int pageChangeZoneReverseAnimationDuration; // ms, animation duration back to starting position when crawling ends before page is changed
+	int pageRemovedAnimationDuration; // ms
+	int newPageAddedAnimationDuration; // ms
+	int widgetDragEffectDuration; // ms
+	int widgetDropEffectDuration; // ms
+	int boundaryFeedbackEffectDistance; // pixels, when widget is moved within n pixels from first page right border or 
+                                        // n pixels from last page's left border, feedback effect is played
+};
+
+class HSDOMAINMODEL_EXPORT HsFeedbackConfiguration
+{
+public: 
+    HbFeedback::InstantEffect feedbackFromString(QString feedback)
+    {
+        if (feedback == "Basic") {
+            return HbFeedback::Basic;
+        }
+        else if (feedback == "Sensitive") {
+            return HbFeedback::Sensitive;
+        }
+        else if (feedback == "BasicButton") {
+            return HbFeedback::BasicButton;
+        }
+        else if (feedback == "SensitiveButton") {
+            return HbFeedback::SensitiveButton;
+        }
+        else if (feedback == "BasicKeypad") {
+            return HbFeedback::BasicKeypad;
+        }
+        else if (feedback == "SensitiveKeypad") {
+            return HbFeedback::SensitiveKeypad;
+        }
+        else if (feedback == "BasicSlider") {
+            return HbFeedback::BasicSlider;
+        }
+        else if (feedback == "SensitiveSlider") {
+            return HbFeedback::SensitiveSlider;
+        }
+        else if (feedback == "BasicKeypad") {
+            return HbFeedback::BasicKeypad;
+        }
+        else if (feedback == "BasicSlider") {
+            return HbFeedback::BasicSlider;
+        }
+        else if (feedback == "SensitiveSlider") {
+            return HbFeedback::SensitiveSlider;
+        }
+        else if (feedback == "BasicItem") {
+            return HbFeedback::BasicItem;
+        }
+        else if (feedback == "SensitiveItem") {
+            return HbFeedback::SensitiveItem;
+        }
+        else if (feedback == " ItemScroll") {
+            return HbFeedback::ItemScroll;
+        }
+        else if (feedback == "ItemPick") {
+            return HbFeedback::ItemPick;
+        }
+        else if (feedback == "ItemDrop") {
+            return HbFeedback::ItemDrop;
+        }
+        else if (feedback == "ItemMoveOver") {
+            return HbFeedback::ItemMoveOver;
+        }
+        else if (feedback == "BounceEffect") {
+            return HbFeedback::BounceEffect;
+        }
+        else if (feedback == "Checkbox") {
+            return HbFeedback::Checkbox;
+        }
+        else if (feedback == "MultipleCheckbox") {
+            return HbFeedback::MultipleCheckbox;
+        }
+        else if (feedback == "Editor") {
+            return HbFeedback::Editor;
+        }
+        else if (feedback == "TextSelection") {
+            return HbFeedback::TextSelection;
+        }
+        else if (feedback == "BlankSelection") {
+            return HbFeedback::BlankSelection;
+        }
+        else if (feedback == "LineSelection") {
+            return HbFeedback::LineSelection;
+        }
+        else if (feedback == "EmptyLineSelection") {
+            return HbFeedback::EmptyLineSelection;
+        }
+        else if (feedback == "PopUp") {
+            return HbFeedback::PopUp;
+        }
+        else if (feedback == "PopupOpen") {
+            return HbFeedback::PopupOpen;
+        }
+        else if (feedback == "PopupClose") {
+            return HbFeedback::PopupClose;
+        }
+        else if (feedback == "Flick") {
+            return HbFeedback::Flick;
+        }
+        else if (feedback == "StopFlick") {
+            return HbFeedback::StopFlick;
+        }
+        else if (feedback == "MultitouchActivate") {
+            return HbFeedback::MultitouchActivate;
+        }
+        else if (feedback == "RotateStep") {
+            return HbFeedback::RotateStep;
+        }
+        else if (feedback == "PositiveTacticon") {
+            return HbFeedback::PositiveTacticon;
+        }
+        else if (feedback == "NeutralTacticon") {
+            return HbFeedback::NeutralTacticon;
+        }
+        else if (feedback == "NegativeTacticon") {
+            return HbFeedback::NegativeTacticon;
+        }
+        else if (feedback == "NumberOfInstantFeedbacks") {
+            return HbFeedback::NumberOfInstantFeedbacks;
+        }
+        else if (feedback == "InstantUser") {
+            return HbFeedback::InstantUser;
+        }
+        else if (feedback == "InstantMaxUser") {
+            return HbFeedback::InstantMaxUser;
+        }
+        return HbFeedback::None;
+    }
+
+public:
+	HbFeedback::InstantEffect pageChangeFeedbackType;
+	HbFeedback::InstantEffect widgetPickFeedbackType;
+	HbFeedback::InstantEffect widgetDropFeedbackType;
+	HbFeedback::InstantEffect widgetRepositionFeedbackType;
+	HbFeedback::InstantEffect widgetOverTrashbinFeedbackType;
+	HbFeedback::InstantEffect widgetDropToTrashbinFeedbackType;
+	HbFeedback::InstantEffect shortcutWidgetTapFeedbackType;
+	HbFeedback::InstantEffect widgetMoveBlockedFeedbackType;
+	HbFeedback::InstantEffect clockWidgetTapFeedbackType;
+	HbFeedback::InstantEffect widgetSnappingFeedbackType;
+};
+
+class HSDOMAINMODEL_EXPORT HsSnapConfiguration
+{	
+public:
+	bool snappingEnabled; // variable to tell if snapping is enabled or not
+	qreal snapForce; // this is the distance at which the widget starts being attracted to the line
+	qreal snapGap; // the gap at which the objects settle into from each other when they snap
+	qreal borderGap; // (the gap from the border edges when the widget settles on the edges of the page
+	int timeout; // time in milliseconds after which the snapping line will be shown
+};
+
 #endif // HSDOMAINMODELDATASTRUCTURES_H