daily pastebin goal
17%
SHARE
TWEET

Untitled

a guest Oct 13th, 2017 58 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*!
  2. * (c) Copyright 2017, Kongsberg Geospatial Ltd.
  3. *
  4. * THIS SOFTWARE IS PROVIDED "AS IS", "WHERE IS" AND "AS AVAILABLE", WITHOUT
  5. * ANY EXPRESS OR IMPLIED WARRANTIES OR CONDITIONS OR GUARANTEES. THE USER
  6. * ASSUMES ALL RISK IN THE USE OF THIS SOFTWARE, INCLUDING COPYRIGHT
  7. * INFRINGEMENT, PATENT INFRINGEMENT, SUITABILITY, ETC.  KONGSBERG GEOSPATIAL
  8. * LTD. EXPRESSLY DISCLAIMS ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES
  9. * OR CONDITIONS, INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF
  10. * MERCHANTABILITY, MERCHANTABLE QUALITY OR FITNESS FOR A PARTICULAR PURPOSE,
  11. * OR ANY WARRANTY OF TITLE OR NON-INFRINGEMENT, OR THAT THE WORK (OR ANY
  12. * PORTION THEREOF) IS CORRECT, USEFUL, BUG-FREE OR FREE OF VIRUSES.
  13. *
  14. * User agrees to defend, indemnify and hold harmless Kongsberg Geospatial Ltd.
  15. * from and against any claims, suits, losses, damages, liabilities, costs,
  16. * and expenses (including reasonable legal or attorneys' fees) resulting from
  17. * or relating to any use of this software. EXCEPT TO THE EXTENT REQUIRED BY
  18. * APPLICABLE LAW, IN NO EVENT WILL KONGSBERG GEOSPATIAL LTD. BE LIABLE TO THE
  19. * USER UNDER ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL,
  20. * PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE OR
  21. * OTHERWISE, EVEN IF KONGSBERG GEOSPATIAL LTD. HAS BEEN ADVISED OF THE
  22. * POSSIBILITY OF SUCH DAMAGES.
  23. *
  24. * This is commercial software not to be released to the open source community.
  25. *
  26. */
  27.  
  28. import QtQuick 2.5
  29. import QtQuick.Controls 1.3
  30. import QtQuick.Layouts 1.0
  31. import QtQuick.Window 2.2
  32.  
  33.  
  34. Rectangle
  35. {
  36.     id: mainWindow
  37.     anchors.fill: parent
  38.  
  39.     Window {
  40.         width: magnifier.width;
  41.         height: magnifier.height;
  42.         id: wnd
  43.  
  44.         Rectangle {
  45.             id: newWindow
  46.             anchors.fill: parent
  47.         }
  48.  
  49.         onClosing: {
  50.             viewportItem.state = "docked"
  51.         }
  52.     }
  53.  
  54.     Viewport2DItem
  55.     {
  56.         id: viewportItem
  57.         anchors.fill: parent
  58.         clip: true
  59.         isActive: isActive
  60.         viewportId: viewportIdentifier
  61.         associatedViewportId: magnifier.viewportId
  62.         z:100
  63.         states: [
  64.             State {
  65.                 name: "undocked"
  66.                 ParentChange { target: viewportItem; parent: newWindow; x: 10; y: 10 }
  67.             },
  68.             State {
  69.                 name: "docked"
  70.                 ParentChange { target: viewportItem; parent: mainWindow; x: 10; y: 10 }
  71.  
  72.             }
  73.         ]
  74.  
  75.         MouseArea {
  76.             anchors.fill: parent
  77.             acceptedButtons: Qt.MiddleButton
  78.  
  79.             onClicked: {
  80.                 if(  viewportItem.state == "docked" )
  81.                 {
  82.                     viewportItem.state = "undocked"
  83.                     wnd.visible = true
  84.                     viewportItem.parentState = 3;
  85.                 }
  86.                 else
  87.                 {
  88.                     viewportItem.state = "docked"
  89.                     wnd.visible = false
  90.                     viewportItem.parentState = 2;
  91.                 }
  92.             }
  93.         }
  94.  
  95.         ViewSidePanel
  96.         {
  97.             id: viewSidePanel
  98.             viewportId: viewportItem.viewportId
  99.  
  100.             property bool controlsVisible: ( isActive && !editModeActive )
  101.             visible: controlsVisible
  102.  
  103.             onControlsVisibleChanged:
  104.             {
  105.                 if( contentPanel.showing && !controlsVisible )
  106.                 {
  107.                     contentPanel.showing = false
  108.                 }
  109.             }
  110.  
  111.             anchors.left: parent.left
  112.             anchors.top: parent.top
  113.             anchors.bottom: parent.bottom
  114.             z: 0
  115.         }
  116.  
  117.         SidePanel
  118.         {
  119.             id: sidePanel
  120.             anchors.fill: parent
  121.             z: 20000
  122.             viewportId: viewportItem.viewportId
  123.         }
  124.  
  125.         // This is the magnifier frame
  126.         Magnifier
  127.         {
  128.             id : magnifier
  129.             viewportId: viewportItem.viewportId + "Mag"
  130.             associatedViewportId: viewportItem.viewportId
  131.             visible: viewportItem.magnifierEnabled
  132.             isActive: viewportItem.isActive
  133.  
  134.             // define the size of the magnifier viewport
  135.             width : 400
  136.             height : 400
  137.  
  138.             // define the position of the magnifier viewport
  139.             // We place the magnifier window halfway down the right side
  140.             y: (parent.height / 2) - (height / 2)
  141.             anchors.right: parent.right
  142.  
  143.         }
  144.  
  145.     }//Viewport2DItem
  146.  
  147. }//Main Window
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top