Re: wx textctrl font style

2007-04-02 Thread kyosohma
On Mar 31, 3:13 am, Pom [EMAIL PROTECTED] wrote:
 Hello

 I have a tuple of strings which I must show in a textctrl, each item in
 the tuple representing one line of text.

 The first three lines of text should each have another style (fontsize
 and color)

 i'm using this code to achieve this:
tmppos = self.txtInfo.GetInsertionPoint() # get the cursor pos
self.txtInfo.write(str(csr[0])+'\n')
tmppos2 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
self.txtInfo.SetStyle(tmppos, tmppos2, wx.TextAttr(BLUE,
 wx.NullColour, tmpnewfont))
self.txtInfo.write(str(csr[1])+'\n')
tmppos3 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
self.txtInfo.SetStyle(tmppos2, tmppos3, wx.TextAttr(BLUE,
 wx.NullColour, tmpnewfont2))
self.txtInfo.write(str(csr[2])+'\n')
tmppos4 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
self.txtInfo.SetStyle(tmppos3, tmppos4, wx.TextAttr(wx.Nullcolour,
 wx.NullColour, tmpnewfont3))

 Now, I was wondering if this is the right way of doing this, because I
 have the feeling this code sucks.

 Anybody has a better way of doing this?

 Thx !!!

You could experiment with the Rich Text style of the text control
(see the wxPython Demo). You might also mess with refactoring your
code a little and doing a FOR loop.

# untested code!!!
fonts = [tmpnewfont, tmpnewfont2, tmpnewfont3]
count = 0
tmppos = self.txtInfo.GetInsertionPoint()
self.txtInfo.write(str(csr[count])+'\n')
for i in range(3):
tmppos2 = self.txtInfo.GetInsertionPoint()
self.txtInfo.SetStyle(tmppos, tmppos2, wx.TextAttr(BLUE,
wx.NullColour, fonts[count]))
tmppos = tmppos2
count += 1
self.txtInfo.write(str(csr[count])+'\n')


I also noticed a FancyText widget. I've used the HtmlWindow widget for
an About screen before and I thought it was pretty cool if you know
HTML. You might also try dropping an email to the wxPython Users Group
at http://wxpython.org/maillist.php

Hope this helps!

Mike

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: wx textctrl font style

2007-04-02 Thread Pom
[EMAIL PROTECTED] wrote:
 On Mar 31, 3:13 am, Pom [EMAIL PROTECTED] wrote:
 Hello

 I have a tuple of strings which I must show in a textctrl, each item in
 the tuple representing one line of text.

 The first three lines of text should each have another style (fontsize
 and color)

 i'm using this code to achieve this:
tmppos = self.txtInfo.GetInsertionPoint() # get the cursor pos
self.txtInfo.write(str(csr[0])+'\n')
tmppos2 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
self.txtInfo.SetStyle(tmppos, tmppos2, wx.TextAttr(BLUE,
 wx.NullColour, tmpnewfont))
self.txtInfo.write(str(csr[1])+'\n')
tmppos3 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
self.txtInfo.SetStyle(tmppos2, tmppos3, wx.TextAttr(BLUE,
 wx.NullColour, tmpnewfont2))
self.txtInfo.write(str(csr[2])+'\n')
tmppos4 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
self.txtInfo.SetStyle(tmppos3, tmppos4, wx.TextAttr(wx.Nullcolour,
 wx.NullColour, tmpnewfont3))

 Now, I was wondering if this is the right way of doing this, because I
 have the feeling this code sucks.

 Anybody has a better way of doing this?

 Thx !!!
 
 You could experiment with the Rich Text style of the text control
 (see the wxPython Demo). You might also mess with refactoring your
 code a little and doing a FOR loop.
 
 # untested code!!!
 fonts = [tmpnewfont, tmpnewfont2, tmpnewfont3]
 count = 0
 tmppos = self.txtInfo.GetInsertionPoint()
 self.txtInfo.write(str(csr[count])+'\n')
 for i in range(3):
 tmppos2 = self.txtInfo.GetInsertionPoint()
 self.txtInfo.SetStyle(tmppos, tmppos2, wx.TextAttr(BLUE,
 wx.NullColour, fonts[count]))
 tmppos = tmppos2
 count += 1
 self.txtInfo.write(str(csr[count])+'\n')
 
 
 I also noticed a FancyText widget. I've used the HtmlWindow widget for
 an About screen before and I thought it was pretty cool if you know
 HTML. You might also try dropping an email to the wxPython Users Group
 at http://wxpython.org/maillist.php
 
 Hope this helps!
 
 Mike
 

Thx alot !

I know HTML, so I certainly will skip the richtext.

I did'nt see that fancytext widget, I'll take a look and decide between 
that and the htmlwindow.

I'm making a simple addressbook, which I can't find like I need it (with 
mysql db)


Kindly regards
-- 
http://mail.python.org/mailman/listinfo/python-list


wx textctrl font style

2007-03-31 Thread Pom
Hello

I have a tuple of strings which I must show in a textctrl, each item in 
the tuple representing one line of text.

The first three lines of text should each have another style (fontsize 
and color)

i'm using this code to achieve this:
   tmppos = self.txtInfo.GetInsertionPoint() # get the cursor pos
   self.txtInfo.write(str(csr[0])+'\n')
   tmppos2 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
   self.txtInfo.SetStyle(tmppos, tmppos2, wx.TextAttr(BLUE, 
wx.NullColour, tmpnewfont))
   self.txtInfo.write(str(csr[1])+'\n')
   tmppos3 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
   self.txtInfo.SetStyle(tmppos2, tmppos3, wx.TextAttr(BLUE, 
wx.NullColour, tmpnewfont2))
   self.txtInfo.write(str(csr[2])+'\n')
   tmppos4 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
   self.txtInfo.SetStyle(tmppos3, tmppos4, wx.TextAttr(wx.Nullcolour, 
wx.NullColour, tmpnewfont3))


Now, I was wondering if this is the right way of doing this, because I 
have the feeling this code sucks.

Anybody has a better way of doing this?

Thx !!!
-- 
http://mail.python.org/mailman/listinfo/python-list