from wxPython.wx import *
 from wxPython.stc import *
 
+import images
+
 #----------------------------------------------------------------------
 
 debug = 1
         EVT_STC_START_DRAG(self, ID, self.OnStartDrag)
         EVT_STC_MODIFIED(self, ID, self.OnModified)
 
+        EVT_WINDOW_DESTROY(self, self.OnDestroy)
+
+    def OnDestroy(self, evt):
+        # This is how the clipboard contents can be preserved after
+        # the app has exited.
+        wxTheClipboard.Flush()
+        evt.Skip()
+
 
     def OnStartDrag(self, evt):
         self.log.write("OnStartDrag: %d, %s\n"
                        % (evt.GetDragAllowMove(), evt.GetDragText()))
 
         if debug and evt.GetPosition() < 250:
-            evt.SetDragAllowMove(false)     # you can prevent moving of text (only copy)
+            evt.SetDragAllowMove(False)     # you can prevent moving of text (only copy)
             evt.SetDragText("DRAGGED TEXT") # you can change what is dragged
             #evt.SetDragText("")             # or prevent the drag with empty text
 
         ed = p = MySTC(nb, -1, log)
 
     else:
-        p = wxPanel(nb, -1)
+        p = wxPanel(nb, -1, style=wxNO_FULL_REPAINT_ON_RESIZE)
         ed = MySTC(p, -1, log)
         s = wxBoxSizer(wxHORIZONTAL)
         s.Add(ed, 1, wxEXPAND)
         p.SetSizer(s)
-        p.SetAutoLayout(true)
+        p.SetAutoLayout(True)
+
 
+    #ed.SetBufferedDraw(False)
+    #ed.StyleClearAll()
+    #ed.SetScrollWidth(800)
+    #ed.SetWrapMode(True)
 
-##     ed.SetBufferedDraw(false)
-##     ed.StyleClearAll()
     ed.SetText(demoText)
     if wxUSE_UNICODE:
         import codecs
     # setup some markers
     ed.SetMarginType(1, wxSTC_MARGIN_SYMBOL)
     ed.MarkerDefine(0, wxSTC_MARK_ROUNDRECT, "#CCFF00", "RED")
-    ed.MarkerDefine(1, wxSTC_MARK_CIRCLE, "FOREST GREEN", "SIENNA")
+    #ed.MarkerDefine(1, wxSTC_MARK_CIRCLE, "FOREST GREEN", "SIENNA")
+    ed.MarkerDefineBitmap(1, images.getFolder1Bitmap())
     ed.MarkerDefine(2, wxSTC_MARK_SHORTARROW, "blue", "blue")
     ed.MarkerDefine(3, wxSTC_MARK_ARROW, "#00FF00", "#00FF00")
 
         ed.SetSelection(25, 35)
         print "GetSelectedText(): ", repr(ed.GetSelectedText())
         print "GetTextRange(25, 35): ", repr(ed.GetTextRange(25, 35))
-
+        print "FindText(0, max, 'indicators'): ",
+        print ed.FindText(0, ed.GetTextLength(), "indicators")
 
         ed.GotoPos(0)
 
+
     return p
 
 
 """
 
 
-
 if __name__ == '__main__':
-    import sys
-    app = wxPySimpleApp()
-    frame = wxFrame(None, -1, "Tester...", size=(640, 480))
-    win = runTest(frame, frame, sys.stdout)
-    frame.Show(true)
-    app.MainLoop()
-
+    import sys,os
+    import run
+    run.main(['', os.path.basename(sys.argv[0])])