Re: wxAUI & wxPropertyGrid

"Werner F. Bruhin" <[email protected]>
Newsgroups gmane.comp.ide.boa-constructor.user
Message-ID <[email protected]>
Hi Stefan,

Stefan wrote:
> Hi There,
> i have two Questions:
> 
> 1. What's with support for wxAUI in BoaConstructor? Is there a way to  
> handle this?
Don't know, but it would be nice.

See also point 2 answer.
> 
> 2. How can i customize Boa to use the wxPropertyGrid which is not inlcuded  
> in wxPyton by default?
Have a look at the attached or at UserCompanions.plug-in.py and at all 
the files in companions folder.

Then try to create a plug-in file for wxPropertyGrid and/or wxAUI.

If you get it working there is a big chance that Riaan will include it 
in Boa.

Werner

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
Boa-constructor-users mailing list
Boa-constructor-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/boa-constructor-users
FlatNotebook.plug-in.py (text/plain, 3.6 KB)
import wx

import Plugins
from Utils import _

try:
    import wx.lib.flatnotebook
except ImportError:
    raise Plugins.SkipPluginSilently, _('Module %s not found')%'wx.lib.flatnotebook'

from Companions.ContainerCompanions import BookCtrlDTC
from Companions.EventCollections import *

EventCategories['FlatNotebookEvent'] = \
 ('wx.lib.flatnotebook.EVT_FLATNOTEBOOK_PAGE_CHANGED',
  'wx.lib.flatnotebook.EVT_FLATNOTEBOOK_PAGE_CHANGING',
  'wx.lib.flatnotebook.EVT_FLATNOTEBOOK_PAGE_CLOSING',
  'wx.lib.flatnotebook.EVT_FLATNOTEBOOK_PAGE_CLOSED',
  'wx.lib.flatnotebook.EVT_FLATNOTEBOOK_PAGE_CONTEXT_MENU')

commandCategories.append('FlatNotebookEvent')

class FlatNotebookDTC(BookCtrlDTC):
    bookCtrlName = 'wx.lib.flatnotebook.FlatNotebook'
    def __init__(self, name, designer, parent, ctrlClass):
        BookCtrlDTC.__init__(self, name, designer, parent, ctrlClass)
        self.windowStyles = \
            ['wx.lib.flatnotebook.FNB_VC71', 
             'wx.lib.flatnotebook.FNB_FANCY_TABS', 
             'wx.lib.flatnotebook.FNB_TABS_BORDER_SIMPLE', 
             'wx.lib.flatnotebook.FNB_NO_X_BUTTON',
             'wx.lib.flatnotebook.FNB_NO_NAV_BUTTONS', 
             'wx.lib.flatnotebook.FNB_MOUSE_MIDDLE_CLOSES_TABS',
             'wx.lib.flatnotebook.FNB_BOTTOM', 
             'wx.lib.flatnotebook.FNB_NODRAG', 
             'wx.lib.flatnotebook.FNB_VC8', 
             'wx.lib.flatnotebook.FNB_X_ON_TAB',
             'wx.lib.flatnotebook.FNB_BACKGROUND_GRADIENT', 
             'wx.lib.flatnotebook.FNB_COLORFUL_TABS',
             'wx.lib.flatnotebook.FNB_DCLICK_CLOSES_TABS'] + self.windowStyles

    def designTimeDefaults(self, position = wx.DefaultPosition, size = wx.DefaultSize):
        defs = BookCtrlDTC.designTimeDefaults(self, position = wx.DefaultPosition, size = wx.DefaultSize)
        defs['style'] |= wx.lib.flatnotebook.FNB_NO_X_BUTTON 
        defs['style'] &= ~(wx.lib.flatnotebook.FNB_X_ON_TAB|wx.lib.flatnotebook.FNB_DCLICK_CLOSES_TABS)
        return defs

    def designTimeControl(self, position, size, args = None):
        if args is not None:
            args['style'] |= wx.lib.flatnotebook.FNB_NO_X_BUTTON 
            args['style'] &= ~(wx.lib.flatnotebook.FNB_X_ON_TAB|wx.lib.flatnotebook.FNB_DCLICK_CLOSES_TABS)
        ctrl = BookCtrlDTC.designTimeControl(self, position, size, args)
        ctrl.Bind(wx.lib.flatnotebook.EVT_FLATNOTEBOOK_PAGE_CHANGED, 
              self.OnPageChanged, id=ctrl.GetId())
        ctrl.SetWindowStyleFlag = lambda s: None
        return ctrl        

    def events(self):
        return BookCtrlDTC.events(self) + ['FlatNotebookEvent']
    
    def writeImports(self):
        return '\n'.join( (BookCtrlDTC.writeImports(self), 'import wx.lib.flatnotebook'))


Plugins.registerComponent('Library', wx.lib.flatnotebook.FlatNotebook, 
      'wx.lib.flatnotebook.FlatNotebook', FlatNotebookDTC)

def getFlatNotebookData():
    return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x18\x08\x06\
\x00\x00\x00\xe0w=\xf8\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
\x00\x9bIDATH\x89cddbf\xa0%`\xa2\xa9\xe9\xf4\xb0\x80\x05\xc6\xf8\xf7\xf7\xcf\
\x7f\xbc.afa$\xc7\x02FF&f\x86\x7f\x7f\xff\xfc?~\xe48^\x85\xfb\xf6\xefc\xa8\
\xae\xad\xc6j16\xc7\xc1\x1c\xc4\x82\xa1\x03\x0f\xc0\xe6\x88\xe6\x86F\xac\x8e\
knh\xfc_\xdbP\xcf\x88\x12\x07V\xb6Vp\x1a\x99M\t@\xf1\xc1\xb1\xc3\xc7Pht\xb6\
\xa5\x8d%\x86\x01\xd8\xc4\x18\x18 A\x8aa\x01>\xe0\xe4\xe8\x845\x88\x08\x81\
\xa1\x9f\x0fF-\x18\xb5\x80r\x00\xcfh\xb0\x9cGm\xc08Z\xa3\x8dZ@1\x00\x006M0\
\x0b(3z\x16\x00\x00\x00\x00IEND\xaeB`\x82' 

Preferences.IS.registerImage('Images/Palette/wx.lib.flatnotebook.FlatNotebook.png', getFlatNotebookData())
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.