;ò ç]ëCc@sþdkZdkZdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZdeifd„ƒYZd eifd „ƒYZ d „Z e d joOdk Z d fd„ƒYZ deifd„ƒYZedƒZeiƒndZdS(Ns DoodlePadcBsYtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z RS( NcCsÐtii||ddtiƒ||_|itiƒg|_ d|_ |_ |i dƒ|i ti|iƒ|i ti|iƒ|i ti|iƒ|i ti|iƒ|i ti|iƒdS(NiÿÿÿÿsstyleisDraw(swxsWindows__init__sselfsparents SUNKEN_BORDERslogsSetBackgroundColoursWHITEslinessxsysSetModesBinds EVT_LEFT_DOWNs OnLeftDowns EVT_LEFT_UPsOnLeftUps EVT_RIGHT_UPs OnRightUps EVT_MOTIONsOnMotions EVT_PAINTsOnPaint(sselfsparentslog((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys__init__ s   cCsJ||_|idjo|ititiƒƒn|itiƒdS(NsDraw(smodesselfs SetCursorswxs StockCursors CURSOR_PENCILsSTANDARD_CURSOR(sselfsmode((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysSetModes cCs ti|ƒ}|i|ƒdS(N(swxsPaintDCsselfsdcsDrawSavedLines(sselfseventsdc((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysOnPaint scCsf|iƒ|ititidƒƒx/|iD]$}x|D]}|i |Œq=Wq0W|i ƒdS(Ni( sdcs BeginDrawingsSetPenswxsPensBLUEsselfslinesslinescoordssDrawLines EndDrawing(sselfsdcscoordssline((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysDrawSavedLines$s  cCs{|idjo|iƒnZ|idjo/g|_|iƒ\|_|_|iƒnt i ƒ|i i dƒdS(NsDragsDrawsunknown mode! ( sselfsmodesStartDragOpperationscurLineseventsGetPositionTuplesxsys CaptureMouseswxsBellslogswrite(sselfsevent((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys OnLeftDown-s  cCs;|iƒo*|ii|iƒg|_|iƒndS(N(sselfs HasCaptureslinessappendscurLines ReleaseMouse(sselfsevent((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysOnLeftUp9s  cCsg|_|iƒdS(N(sselfslinessRefresh(sselfsevent((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys OnRightUp?s cCsÃ|iƒo|iƒo|idj o”ti|ƒ}|iƒ|i ti ti dƒƒ|i |i f|iƒ}|ii|ƒ|i|Œ|iƒ\|_ |_ |iƒndS(NsDragi(sselfs HasCaptureseventsDraggingsmodeswxsClientDCsdcs BeginDrawingsSetPensPensBLUEsxsysGetPositionTuplescoordsscurLinesappendsDrawLines EndDrawing(sselfseventscoordssdc((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysOnMotionCs+  c CsWti|idƒ}tidƒ}|i|ƒ|i ƒ} ti | i | i ƒ}tiƒ}|i|ƒ|itiƒ|iƒ|i|ƒ|itiƒti|ƒ}tiƒ}|i|ƒ|i|ƒti|ƒ}|i|ƒ|iidƒ|i ti!ƒ}|iid|ƒ|ti#jog|_|i$ƒndS(Nis DoodleLinessBegining DragDrop sDragDrop completed: %d (%scPicklesdumpssselfsliness linesdataswxsCustomDataObjectsldatasSetDatasGetSizessizes EmptyBitmapswidthsheightsbmpsMemoryDCsdcs SelectObjects SetBackgrounds WHITE_BRUSHsClearsDrawSavedLiness NullBitmapsBitmapDataObjectsbdatasDataObjectCompositesdatasAdds DropSources dropSourceslogs WriteTexts DoDragDropsDrag_AllowMovesresultsDragMovesRefresh( sselfsldatasbdatas linesdatasdcsbmpsresults dropSourcesdatassize((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysStartDragOpperationOs.           ( s__name__s __module__s__init__sSetModesOnPaintsDrawSavedLiness OnLeftDownsOnLeftUps OnRightUpsOnMotionsStartDragOpperation(((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys DoodlePads      sDoodleDropTargetcBs>tZd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCsHtii|ƒ||_||_tidƒ|_|i |iƒdS(Ns DoodleLines( swxs PyDropTargets__init__sselfslogswindowsdvsCustomDataObjectsdatas SetDataObject(sselfswindowslog((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys__init__zs   cCs%|iid|||fƒ|SdS(NsOnEnter: %d, %d, %d (sselfslogs WriteTextsxsysd(sselfsxsysd((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysOnEnter…scCs|iidƒdS(NsOnLeave (sselfslogs WriteText(sself((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysOnLeave‰scCs"|iid||fƒtSdS(NsOnDrop: %d %d (sselfslogs WriteTextsxsysTrue(sselfsxsy((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysOnDropŒscCs|SdS(N(sd(sselfsxsysd((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys OnDragOvers cCsd|iid|||fƒ|iƒo2|iiƒ}t i |ƒ}|i i |ƒn|SdS(NsOnData: %d, %d, %d (sselfslogs WriteTextsxsysdsGetDatasdatas linesdatascPicklesloadsslinessdvsSetLines(sselfsxsysds linesdataslines((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysOnDataŸs  (s__name__s __module__s__init__sOnEntersOnLeavesOnDrops OnDragOversOnData(((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysDoodleDropTargetys     s DoodleViewercBs,tZd„Zd„Zd„Zd„ZRS(NcCs‡tii||ddtiƒ||_|itiƒg|_ d|_ |_ t ||ƒ}|i|ƒ|iti|iƒdS(Niÿÿÿÿsstylei(swxsWindows__init__sselfsparents SUNKEN_BORDERslogsSetBackgroundColoursWHITEslinessxsysDoodleDropTargetsdts SetDropTargetsBinds EVT_PAINTsOnPaint(sselfsparentslogsdt((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys__init__±s   cCs||_|iƒdS(N(slinessselfsRefresh(sselfslines((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysSetLines¼s cCs ti|ƒ}|i|ƒdS(N(swxsPaintDCsselfsdcsDrawSavedLines(sselfseventsdc((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysOnPaintÀscCsf|iƒ|ititidƒƒx/|iD]$}x|D]}|i |Œq=Wq0W|i ƒdS(Ni( sdcs BeginDrawingsSetPenswxsPensREDsselfslinesslinescoordssDrawLines EndDrawing(sselfsdcscoordssline((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysDrawSavedLinesÄs  (s__name__s __module__s__init__sSetLinessOnPaintsDrawSavedLines(((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys DoodleViewer°s  sCustomDnDPanelcBstZd„Zd„ZRS(Nc CsLtii||dƒ|itidtititi t ƒƒti |ddƒ}ti |dddtiƒ}|itƒti |ddƒ}|it ƒti |ddƒ}t||ƒ|_t||ƒ} titiƒ}titiƒ}titiƒ} | i|ƒ| i|ƒ|i|dti dƒ|i| dti!ƒ|idd fƒ|i|dti dƒ|i|ƒtitiƒ} | i|id ti#ti Bd ƒ| i| d ti#ti Bd ƒ|i| d ti#ƒ|i$tƒ|i%|ƒ|i&ti'|i(|ƒ|i&ti'|i(|ƒdS( Niÿÿÿÿi sªDraw a little picture in this window then switch the mode below and drag the picture to the lower window or to another application that accepts Bitmaps as a drop target. sDrawsstylesDrags]The lower window is accepting a custom data type that is a pickled Python list of lines data.iiZii()swxsPanels__init__sselfsparentsSetFontsFontsSWISSsNORMALsBOLDsFalses StaticTextstext1s RadioButtonsRB_GROUPsrb1sSetValuesTruesrb2stext2s DoodlePadslogspads DoodleViewersviewsBoxSizers HORIZONTALssizersVERTICALsboxsrboxsAddsALLs ALIGN_CENTERsdndsizersEXPANDs SetAutoLayoutsSetSizersBindsEVT_RADIOBUTTONs OnRadioButton( sselfsparentslogsboxsrb2srb1stext2ssizerstext1srboxsviewsdndsizer((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys__init__Ðs<+         #   cCs/|i|iƒƒ}|ii|iƒƒdS(N(sselfsFindWindowByIdsevtsGetIdsrbspadsSetModesGetLabel(sselfsevtsrb((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys OnRadioButtons(s__name__s __module__s__init__s OnRadioButton(((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysCustomDnDPanelÏs 7s TestPanelcBstZd„ZRS(NcCsEtii||dƒ|itƒtitiƒ}d}ti |dddti ƒ}|itidtitititƒƒ|i|ƒ|i|ƒ\}}|iti||dƒƒ|itiƒ|i|dtitiBdƒ|iti|dƒdtiƒ|it ||ƒdtiƒ|i"|ƒdS( NiÿÿÿÿsCustom Drag-And-Dropssstyleiiii(#swxsPanels__init__sselfsparents SetAutoLayoutsTruesBoxSizersVERTICALssizersmsgs StaticTexts ALIGN_CENTREstextsSetFontsFontsSWISSsNORMALsBOLDsFalsesSetLabels GetTextExtentswshsSetSizesSizesSetForegroundColoursBLUEsAddsEXPANDsALLs StaticLinesCustomDnDPanelslogsSetSizer(sselfsparentslogssizerstextswshsmsg((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys__init__s +  "(s__name__s __module__s__init__(((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys TestPanelscCst||ƒ}|SdS(N(sCustomDnDPanelsnbslogswin(sframesnbslogswin((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysrunTest'ss__main__sDummyLogcBstZd„ZRS(NcCstii|ƒdS(N(ssyssstdoutswritestext(sselfstext((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys WriteText1s(s__name__s __module__s WriteText(((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysDummyLog0ssTestAppcBstZd„Zed„ZRS(NcCstiƒ|iƒtSdS(N(swxsInitAllImageHandlerssselfs MakeFramesTrue(sself((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysOnInit5s  cCs±titdddddfƒ}tiƒ}|iddƒ}tiƒ}|i|dƒ|i |ƒ|i ti |i|ƒt|tƒƒ}|itƒ|i|ƒdS(NiÿÿÿÿsCustom Drag and Dropssizei&isWindowsNew(swxsFramesNonesframesMenusmenusAppendsitemsMenuBarsmbs SetMenuBarsBindsEVT_MENUsselfs MakeFrames TestPanelsDummyLogspanelsShowsTrues SetTopWindow(sselfseventsmbsmenusitemsframespanel((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys MakeFrame:s!    (s__name__s __module__sOnInitsNones MakeFrame(((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pysTestApp4s isë This demo shows Drag and Drop using a custom data type and a custom data object. A type called "DoodleLines" is created and a Python Pickle of a list is actually transfered in the drag and drop opperation. A second data object is also created containing a bitmap of the image and is made available to any drop target that accepts bitmaps, such as MS Word. The two data objects are combined in a wx.DataObjectComposite and the rest is handled by the framework. (scPickleswxsWindows DoodlePads PyDropTargetsDoodleDropTargets DoodleViewersPanelsCustomDnDPanels TestPanelsrunTests__name__ssyssDummyLogsAppsTestAppsappsMainLoopsoverview( s DoodleViewerscPickles TestPanelsoverviewsappsDummyLogswxs DoodlePadsrunTestssyssTestAppsCustomDnDPanelsDoodleDropTarget((sq/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/CustomDragAndDrop.pys?s  q7@