Added color setting tool to the RichTextCtrl sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -335,6 +335,7 @@ class RichTextFrame(wx.Frame):
 | 
			
		||||
 | 
			
		||||
        r = self.rtc.GetSelectionRange()
 | 
			
		||||
        fontData = wx.FontData()
 | 
			
		||||
        fontData.EnableEffects(False)
 | 
			
		||||
        attr = rt.RichTextAttr()
 | 
			
		||||
        attr.SetFlags(rt.TEXT_ATTR_FONT)
 | 
			
		||||
        if self.rtc.GetStyle(self.rtc.GetInsertionPoint(), attr):
 | 
			
		||||
@@ -351,6 +352,29 @@ class RichTextFrame(wx.Frame):
 | 
			
		||||
        dlg.Destroy()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def OnColour(self, evt):
 | 
			
		||||
        colourData = wx.ColourData()
 | 
			
		||||
        attr = rt.RichTextAttr()
 | 
			
		||||
        attr.SetFlags(rt.TEXT_ATTR_TEXT_COLOUR)
 | 
			
		||||
        if self.rtc.GetStyle(self.rtc.GetInsertionPoint(), attr):
 | 
			
		||||
            colourData.SetColour(attr.GetTextColour())
 | 
			
		||||
 | 
			
		||||
        dlg = wx.ColourDialog(self, colourData)
 | 
			
		||||
        if dlg.ShowModal() == wx.ID_OK:
 | 
			
		||||
            colourData = dlg.GetColourData()
 | 
			
		||||
            colour = colourData.GetColour()
 | 
			
		||||
            if colour:
 | 
			
		||||
                if not self.rtc.HasSelection():
 | 
			
		||||
                    self.rtc.BeginTextColour(colour)
 | 
			
		||||
                else:
 | 
			
		||||
                    r = self.rtc.GetSelectionRange()
 | 
			
		||||
                    attr.SetFlags(rt.TEXT_ATTR_TEXT_COLOUR)
 | 
			
		||||
                    attr.SetTextColour(colour)
 | 
			
		||||
                    self.rtc.SetStyle(r, attr)
 | 
			
		||||
        dlg.Destroy()
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def OnUpdateBold(self, evt):
 | 
			
		||||
        evt.Check(self.rtc.IsSelectionBold())
 | 
			
		||||
    
 | 
			
		||||
@@ -498,6 +522,8 @@ class RichTextFrame(wx.Frame):
 | 
			
		||||
        tbar.AddSeparator()
 | 
			
		||||
        doBind( tbar.AddTool(-1, images.get_rt_fontBitmap(),
 | 
			
		||||
                            shortHelpString="Font"), self.OnFont)
 | 
			
		||||
        doBind( tbar.AddTool(-1, images.get_rt_colourBitmap(),
 | 
			
		||||
                            shortHelpString="Font Colour"), self.OnColour)
 | 
			
		||||
 | 
			
		||||
        tbar.Realize()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										59
									
								
								wxPython/demo/bmp_source/rt_colour.xpm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								wxPython/demo/bmp_source/rt_colour.xpm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
/* XPM */
 | 
			
		||||
static char *rt_colour[] = {
 | 
			
		||||
/* columns rows colors chars-per-pixel */
 | 
			
		||||
"16 16 37 1",
 | 
			
		||||
"  c black",
 | 
			
		||||
". c #727D329BA5CF",
 | 
			
		||||
"X c #4CF6357BDDD0",
 | 
			
		||||
"o c #45CE2E66FA02",
 | 
			
		||||
"O c #45FF2D19FF52",
 | 
			
		||||
"+ c #45452C2FFFFF",
 | 
			
		||||
"@ c #47B22F3CFDC3",
 | 
			
		||||
"# c #45EF3E00EB43",
 | 
			
		||||
"$ c #456C3C9FF054",
 | 
			
		||||
"% c #45663A49F28D",
 | 
			
		||||
"& c #45B75BB5D2B6",
 | 
			
		||||
"* c #4B8899247615",
 | 
			
		||||
"= c #5F619039673F",
 | 
			
		||||
"- c #476EFFCA362C",
 | 
			
		||||
"; c #4747FFFF3633",
 | 
			
		||||
": c #4F3EF55734F1",
 | 
			
		||||
"> c #4899D8B04EEE",
 | 
			
		||||
", c #46F6DED055CF",
 | 
			
		||||
"< c #46EEDBB758C1",
 | 
			
		||||
"1 c #4720F01B4555",
 | 
			
		||||
"2 c #4724F1E8439E",
 | 
			
		||||
"3 c #5EEBE9D75212",
 | 
			
		||||
"4 c #46338EE4A1F3",
 | 
			
		||||
"5 c #ACF030145603",
 | 
			
		||||
"6 c #D9A917AD3776",
 | 
			
		||||
"7 c #DF82157232D4",
 | 
			
		||||
"8 c #FFD3091A193C",
 | 
			
		||||
"9 c #FFFF090A191B",
 | 
			
		||||
"0 c #FD590DB41D4A",
 | 
			
		||||
"q c #E46E13912EEF",
 | 
			
		||||
"w c #EC61108728A3",
 | 
			
		||||
"e c #C21E1CD652E5",
 | 
			
		||||
"r c #A38E1A6E8B66",
 | 
			
		||||
"t c #A37584C127AE",
 | 
			
		||||
"y c #A59D81DF2756",
 | 
			
		||||
"u c #B4A389EF830A",
 | 
			
		||||
"i c None",
 | 
			
		||||
/* pixels */
 | 
			
		||||
"iiiiiiiiiiiiiiii",
 | 
			
		||||
"iiiiii999999iiii",
 | 
			
		||||
"iiiii999w9999iii",
 | 
			
		||||
"iiii9999999999ii",
 | 
			
		||||
"iiii9999999999ii",
 | 
			
		||||
"iiii9999999999ii",
 | 
			
		||||
"iiii9999999999ii",
 | 
			
		||||
"iiiituq999909iii",
 | 
			
		||||
"iii--*=567e.++++",
 | 
			
		||||
"ii--3>-:yrXo++++",
 | 
			
		||||
"i-------2$@+++++",
 | 
			
		||||
"--------,%@+++++",
 | 
			
		||||
"--------<#++++++",
 | 
			
		||||
"--------1&++++++",
 | 
			
		||||
"---------4++++++",
 | 
			
		||||
"i--------i++++++"
 | 
			
		||||
};
 | 
			
		||||
@@ -73,6 +73,7 @@ command_lines = [
 | 
			
		||||
    "-a -u -n _rt_alignright bmp_source/rt_alignright.xpm images.py",
 | 
			
		||||
    "-a -u -n _rt_bold bmp_source/rt_bold.xpm images.py",
 | 
			
		||||
    "-a -u -n _rt_centre bmp_source/rt_centre.xpm images.py",
 | 
			
		||||
    "-a -u -n _rt_colour bmp_source/rt_colour.xpm images.py",
 | 
			
		||||
    "-a -u -n _rt_copy bmp_source/rt_copy.xpm images.py",
 | 
			
		||||
    "-a -u -n _rt_cut bmp_source/rt_cut.xpm images.py",
 | 
			
		||||
    "-a -u -n _rt_font bmp_source/rt_font.xpm images.py",
 | 
			
		||||
 
 | 
			
		||||
@@ -10208,6 +10208,30 @@ def get_rt_centreImage():
 | 
			
		||||
    stream = cStringIO.StringIO(get_rt_centreData())
 | 
			
		||||
    return ImageFromStream(stream)
 | 
			
		||||
 | 
			
		||||
#----------------------------------------------------------------------
 | 
			
		||||
def get_rt_colourData():
 | 
			
		||||
    return \
 | 
			
		||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
 | 
			
		||||
\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
 | 
			
		||||
\x00\x00\xf6IDAT8\x8dcddbf\xa0\x04\xb0\xe0\x92\xf8\xc7.\xf6\x1f\x9b8\xd3\xcf\
 | 
			
		||||
W\x8c(|B\x9a\xdf\xb2\xf3\xe35\x98\x11\xdd\x0b\xb8l\xc6\xe5\x12\xac. \x05\x0c\
 | 
			
		||||
B\x03\x96T\xf31lm\xc8bx\xca%\x8a\xa1\xf8\x1f\x0b$\xd2\x90c\x02%\x10\xdd\xfe\
 | 
			
		||||
\x1a\xffg````\x99\xe5\xc0 \xf2\xfd#\x83\xef\x82\xf7\x0c\xba\xcf\x1f2\xb0\xfd\
 | 
			
		||||
\xfb\xcd\xf0\x98]\x81a\x83X0\xc3\xe5_Q(\x86\xc2\r\x80i\x16\x7f%\xc3\xf0\xea\
 | 
			
		||||
\xfd\x1f\x86\xff\xea/\x188\xbe\xfdc\x08\xeb\xf9\xcc\xf0of\n\xc3J\xe9 \x86\
 | 
			
		||||
\x9f?e\x19\x18\xfe\xb1b\x1a\x00\xd3\x8c\x15|\xe2e\xf8\xe7\xbd\x96\x81\xe93/\
 | 
			
		||||
\xc3\xbf\xbf\x98A\xc6\x84W3\x03\x03\xc3\xff\xb7B\x0c\x0c\xffp\x875\xe1X\xf8\
 | 
			
		||||
\xcb\xcc\xc0\xc0\xf2\x13\xab\xedD\x19\xc0(\xfa\x96\x81A\xf69\x05.\xe0\xff\
 | 
			
		||||
\xc8\xc0h|\x1e\xb7\x05\x04\x03\x91\x81\x81a\x17\xf3YF\x17\xad?X\xd5\x00\x00\
 | 
			
		||||
\xac\x08RO\x1e0;\xef\x00\x00\x00\x00IEND\xaeB`\x82' 
 | 
			
		||||
 | 
			
		||||
def get_rt_colourBitmap():
 | 
			
		||||
    return BitmapFromImage(get_rt_colourImage())
 | 
			
		||||
 | 
			
		||||
def get_rt_colourImage():
 | 
			
		||||
    stream = cStringIO.StringIO(get_rt_colourData())
 | 
			
		||||
    return ImageFromStream(stream)
 | 
			
		||||
 | 
			
		||||
#----------------------------------------------------------------------
 | 
			
		||||
def get_rt_copyData():
 | 
			
		||||
    return \
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user