Advertisement
peter9477

Investigate issue with dynamic sheets

Jan 23rd, 2013
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. SheetTestPage.qml
  2. --------------------------------------
  3. import bb.cascades 1.0
  4.  
  5. Page {
  6.     id: page
  7.  
  8.     titleBar: TitleBar {
  9.         title: root.activeTab.title
  10.     }
  11.  
  12.     property variant theSheet
  13.  
  14.     signal signalToSheet()
  15.  
  16.     Container {
  17.         Button {
  18.             text: "Open Sheet"
  19.             onClicked: {
  20.                 theSheet = sheetDef.createObject();
  21.  
  22.                 theSheet.sheetSignal.connect(onSheetSignal);
  23.                 signalToSheet.connect(theSheet.onSignalToSheet);
  24.                 theSheet.closeSheet.connect(onCloseSheet);
  25.  
  26.                 theSheet.open();
  27.             }
  28.         }
  29.     }
  30.  
  31.     attachedObjects: [
  32.         ComponentDefinition {
  33.             id: sheetDef
  34.             source: "SheetTest.qml"
  35.         }
  36.     ]
  37.  
  38.     function onSheetSignal() {
  39.         print('got sheet signal');
  40.         signalToSheet();
  41.     }
  42.  
  43.     function onCloseSheet() {
  44.         print('got close sheet');
  45.  
  46.         theSheet.sheetSignal.disconnect(onSheetSignal);
  47.         signalToSheet.disconnect(theSheet.onSignalToSheet);
  48.         theSheet.closeSheet.disconnect(onCloseSheet);
  49.  
  50.         print('closing');
  51.         theSheet.close();
  52.  
  53.         print('destroying');
  54.         theSheet.destroy();
  55.  
  56.         print('destroyed');
  57.     }
  58. }
  59.  
  60.  
  61. SheetTest.qml
  62. ---------------
  63. import bb.cascades 1.0
  64.  
  65. Sheet {
  66.     signal sheetSignal()
  67.     signal closeSheet()
  68.  
  69.     content: Page {
  70.         Container {
  71.             Button {
  72.                 text: "Send Signal"
  73.                 onClicked: {
  74.                     sheetSignal();
  75.                 }
  76.             }
  77.  
  78.             Button {
  79.                 text: "Close Sheet"
  80.                 onClicked: {
  81.                     print('sending closeSheet');
  82.                     closeSheet();
  83.                     print('sent closeSheet');
  84.                 }
  85.             }
  86.         }
  87.     }
  88.  
  89.     function onSignalToSheet() {
  90.         print('got signal to sheet');
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement