summaryrefslogtreecommitdiff
path: root/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Drag_1.html
blob: 3347f130205f258998ae84f44e74495f1ae66807 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>qooxdoo &raquo; Demo</title>
  <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
  <!--[if IE]>
  <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
  <![endif]-->
  <script type="text/javascript" src="../../script/qx.js"></script>
</head>
<body>
  <script type="text/javascript" src="../../script/layout.js"></script>

  <div id="demoDescription">
    <p>Show one way to drag a widget around the screen.</p>
  </div>

  <script type="text/javascript">
  qx.core.Init.getInstance().defineMain(function()
  {
    var d = qx.ui.core.ClientDocument.getInstance();
    
    var a1 = new qx.ui.basic.Atom("Drag Me");
    a1.set({ backgroundColor: "white", border: qx.renderer.border.BorderPresets.getInstance().groove });
    a1.setPadding(10);
    a1.setLocation(20, 48); 
    d.add(a1);

    
    a1.addEventListener("mousedown", handleMouseDown);
    a1.addEventListener("mousemove", handleMouseMove);
    a1.addEventListener("mouseup", handleMouseUp);
    
    function handleMouseDown(e)
    {
      this.setCapture(true);
      a1._offsetX = e.getPageX() - a1.getLeft();
      a1._offsetY = e.getPageY() - a1.getTop();
    }
    
    function handleMouseMove(e)
    {
      if (this.getCapture())
      {
        a1.setLeft(e.getPageX() - a1._offsetX);
        a1.setTop(e.getPageY() - a1._offsetY);
      }
    }
          
    function handleMouseUp(e)
    {
      this.setCapture(false);
    }
  });
  </script>
</body>
</html>